shepherdjs_rails 2.0.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://Shepherd/webpack/universalModuleDefinition","webpack://Shepherd/webpack/bootstrap","webpack://Shepherd/./node_modules/lodash/isUndefined.js","webpack://Shepherd/./node_modules/lodash/isObjectLike.js","webpack://Shepherd/./node_modules/lodash/isString.js","webpack://Shepherd/./node_modules/lodash/_baseGetTag.js","webpack://Shepherd/./src/js/evented.js","webpack://Shepherd/./node_modules/lodash/isFunction.js","webpack://Shepherd/./node_modules/lodash/_overArg.js","webpack://Shepherd/./src/js/utils/modal.js","webpack://Shepherd/./src/js/step.js","webpack://Shepherd/./node_modules/lodash/isArray.js","webpack://Shepherd/./node_modules/lodash/isObject.js","webpack://Shepherd/./node_modules/lodash/isEmpty.js","webpack://Shepherd/./node_modules/lodash/forOwn.js","webpack://Shepherd/./src/js/bind.js","webpack://Shepherd/./src/js/utils.js","webpack://Shepherd/./node_modules/tippy.js/dist/tippy.all.min.js","webpack://Shepherd/(webpack)/buildin/global.js","webpack://Shepherd/./src/js/utils/dom.js","webpack://Shepherd/./src/js/shepherd.js","webpack://Shepherd/./node_modules/lodash/drop.js","webpack://Shepherd/./node_modules/lodash/_baseSlice.js","webpack://Shepherd/./node_modules/lodash/toInteger.js","webpack://Shepherd/./node_modules/lodash/_baseKeys.js","webpack://Shepherd/./node_modules/lodash/_getTag.js","webpack://Shepherd/./node_modules/lodash/isArguments.js","webpack://Shepherd/./node_modules/lodash/isArrayLike.js","webpack://Shepherd/./node_modules/lodash/isLength.js","webpack://Shepherd/./node_modules/lodash/isBuffer.js","webpack://Shepherd/./node_modules/lodash/_isPrototype.js","webpack://Shepherd/./node_modules/lodash/isTypedArray.js","webpack://Shepherd/./node_modules/lodash/isElement.js","webpack://Shepherd/./node_modules/lodash/isPlainObject.js","webpack://Shepherd/./node_modules/lodash/_getPrototype.js","webpack://Shepherd/./node_modules/lodash/_baseForOwn.js","webpack://Shepherd/./node_modules/lodash/_baseFor.js","webpack://Shepherd/./node_modules/lodash/_createBaseFor.js","webpack://Shepherd/./node_modules/lodash/keys.js","webpack://Shepherd/./node_modules/lodash/_castFunction.js","webpack://Shepherd/./node_modules/element-matches/index.js","webpack://Shepherd/./node_modules/lodash/zipObject.js","webpack://Shepherd/./node_modules/lodash/_assignValue.js","webpack://Shepherd/./node_modules/lodash/_baseAssignValue.js","webpack://Shepherd/./node_modules/lodash/_defineProperty.js","webpack://Shepherd/./node_modules/lodash/_getNative.js","webpack://Shepherd/./node_modules/lodash/eq.js","webpack://Shepherd/./node_modules/lodash/_baseZipObject.js","webpack://Shepherd/./src/js/utils/error-messages.js","webpack://Shepherd/./src/js/tour.js","webpack://Shepherd/./node_modules/lodash/debounce.js","webpack://Shepherd/./node_modules/lodash/now.js","webpack://Shepherd/./node_modules/lodash/_root.js","webpack://Shepherd/./node_modules/lodash/_freeGlobal.js","webpack://Shepherd/./node_modules/lodash/toNumber.js","webpack://Shepherd/./node_modules/lodash/isNumber.js","webpack://Shepherd/./src/js/utils/tooltip-defaults.js","webpack://Shepherd/./src/js/utils/cleanup.js","webpack://Shepherd/./node_modules/lodash/defer.js","webpack://Shepherd/./node_modules/lodash/_baseDelay.js","webpack://Shepherd/./node_modules/lodash/_baseRest.js","webpack://Shepherd/./node_modules/lodash/identity.js","webpack://Shepherd/./node_modules/lodash/_overRest.js","webpack://Shepherd/./node_modules/lodash/_apply.js","webpack://Shepherd/./node_modules/lodash/_setToString.js"],"names":["Evented","event","handler","ctx","once","arguments","length","undefined","bindings","push","on","forEach","binding","index","splice","args","context","apply","svgNS","elementIds","modalOverlay","modalOverlayMask","modalOverlayMaskOpening","classNames","isVisible","modalTarget","_createModalContainer","element","document","createElementNS","setAttributeNS","_createMaskContainer","_createMaskRect","_createMaskOpening","_createMaskConsumer","createModalOverlay","containerElement","defsElement","maskContainer","maskRect","maskOpening","maskConsumer","appendChild","positionModalOpening","targetElement","openingElement","getBoundingClientRect","SVGElement","x","y","width","height","closeModalOpening","getModalMaskOpening","modalElement","querySelector","preventModalBodyTouch","preventDefault","preventModalOverlayTouch","stopPropagation","toggleShepherdModalClass","currentElement","shepherdModal","classList","remove","add","uniqueId","id","Step","tour","options","bindMethods","call","setOptions","bindAdvance","bind","bindButtonEvents","bindCancelLink","setupTooltip","parseAttachTo","content","buttons","footer","createElement","map","cfg","button","classes","text","header","showCancelLink","link","paragraphs","HTMLElement","paragraph","innerHTML","title","_addContent","_addButtons","_addCancelLink","cancel","trigger","complete","tooltip","destroy","el","parentNode","removeChild","target","_updateStepTargetOnHide","body","removeAttribute","hide","Boolean","state","_createTooltipContent","advanceOn","scrollToHandler","scrollIntoView","when","beforeShowPromise","then","_show","beforeShowStep","setupElements","setAttribute","scrollTo","setTimeout","show","highlightClass","_setupAdvanceOnHandler","selector","isOpen","targetIsEl","targetIsSelector","matches","next","addEventListener","removeEventListener","events","action","click","page","dataset","buttonEvent","e","methods","method","createFromHTML","_parseAttachToOpts","parseShorthand","centeredStylePopperModifier","computeStyle","enabled","fn","data","styles","Object","assign","left","top","transform","defaultPopperOptions","positionFixed","html","children","opts","hasOwnProperty","positionRe","exec","obj","props","values","split","tippy","Error","missingTippy","attachToOpts","_makeTippyInstance","attachTo","returnOpts","console","error","attachToOptions","_makeCenteredTippy","tippyOptions","_makeAttachedTippyOptions","one","resultingTippyOptions","placement","popperOptions","arrow","finalPopperOptions","modifiers","elementIsHidden","offsetWidth","offsetHeight","getElementFromObject","op","getElementForStep","step","type","getElementFromString","addStepEventListeners","_onScreenChange","window","overlay","cleanupStepEventListeners","Shepherd","Tour","steps","_setTooltipDefaults","_setTourID","arg1","arg2","name","setupStep","indexOf","currentStep","confirmCancel","cancelMessage","confirmCancelMessage","stopTour","confirm","done","tourObject","cleanupModal","activeTour","_removeBodyAttrs","find","getCurrentStep","_hideModalOverlay","current","some","i","stepOptions","toString","defaultStepOptions","_setupModalForStep","_styleTargetElementForStep","key","forward","getById","_updateStateBeforeShow","shouldSkipStep","showOn","_skipStep","previous","_setupActiveTour","_initModalOverlay","_addBodyAttrs","_modalOverlayElem","_modalOverlayOpening","canClickTarget","style","pointerEvents","useModalOverlay","_styleModalOpeningForStep","_showModalOverlay","modalOverlayOpening","leading","trailing","modalClassNames","display","nextIndex","setDefaults","tooltipDefaults","isActive","tourName","uuid","defaults","arrowTransform","animation","duration","flip","animateFill","interactive","hideOnClick","multiple","cleanupSteps","stepElement"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;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;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;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,CAAe;AACxC,cAAc,mBAAO,CAAC,CAAW;AACjC,mBAAmB,mBAAO,CAAC,CAAgB;;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;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA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B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA,cAAc,mBAAO,CAAC,CAAY;;AAElC;AACA;;AAEA;;;;;;;ACLA;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;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,CAAc;AACvC,eAAe,mBAAO,CAAC,EAAY;;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA,mBAAmB,mBAAO,CAAC,CAAgB;AAC3C,oBAAoB,mBAAO,CAAC,EAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA,iBAAiB,mBAAO,CAAC,CAAe;AACxC,mBAAmB,mBAAO,CAAC,EAAiB;AAC5C,mBAAmB,mBAAO,CAAC,CAAgB;;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,cAAc,mBAAO,CAAC,CAAY;;AAElC;AACA;;AAEA;;;;;;;ACLA,cAAc,mBAAO,CAAC,EAAY;AAClC,WAAW,mBAAO,CAAC,EAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA,oBAAoB,mBAAO,CAAC,EAAkB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA,cAAc,mBAAO,CAAC,CAAY;;AAElC;AACA;;AAEA;;;;;;;ACLA;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;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA,kBAAkB,mBAAO,CAAC,EAAgB;AAC1C,oBAAoB,mBAAO,CAAC,EAAkB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA,sBAAsB,mBAAO,CAAC,EAAoB;AAClD,SAAS,mBAAO,CAAC,EAAM;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,qBAAqB,mBAAO,CAAC,EAAmB;;AAEhD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;ACxBA,gBAAgB,mBAAO,CAAC,EAAc;;AAEtC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;ACVA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACZA;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;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACtBO,IAAMhC,YAAY,WA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CAA+B,iBAA/B;AACD;;;;EA7ZuBhE,gB;;QAiajBgN,Q,GAAAA,Q;;;;;;AC/cT,eAAe,mBAAO,CAAC,EAAY;AACnC,UAAU,mBAAO,CAAC,EAAO;AACzB,eAAe,mBAAO,CAAC,EAAY;;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,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AA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BAAO,CAAC,EAAY;AACnC,eAAe,mBAAO,CAAC,EAAa;AACpC,kBAAkB,mBAAO,CAAC,EAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;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,YAAY,mBAAO,CAAC,EAAU;;AAE9B;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA","file":"js/shepherd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Shepherd\"] = factory();\n\telse\n\t\troot[\"Shepherd\"] = factory();\n})(this, function() {\nreturn "," \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 = 18);\n","/**\n * Checks if `value` is `undefined`.\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 `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nmodule.exports = isUndefined;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","/** 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","import { drop, isUndefined } from 'lodash';\n\nexport class Evented {\n on(event, handler, ctx) {\n const once = arguments.length <= 3 || arguments[3] === undefined ? false : arguments[3];\n\n if (isUndefined(this.bindings)) {\n this.bindings = {};\n }\n if (isUndefined(this.bindings[event])) {\n this.bindings[event] = [];\n }\n this.bindings[event].push({ handler, ctx, once });\n }\n\n once(event, handler, ctx) {\n this.on(event, handler, ctx, true);\n }\n\n off(event, handler) {\n if (isUndefined(this.bindings) || isUndefined(this.bindings[event])) {\n return false;\n }\n\n if (isUndefined(handler)) {\n delete this.bindings[event];\n } else {\n this.bindings[event].forEach((binding, index) => {\n if (binding.handler === handler) {\n this.bindings[event].splice(index, 1);\n }\n });\n }\n }\n\n trigger(event) {\n if (!isUndefined(this.bindings) && this.bindings[event]) {\n const args = drop(arguments);\n\n this.bindings[event].forEach((binding, index) => {\n const { ctx, handler, once } = binding;\n\n const context = ctx || this;\n\n handler.apply(context, args);\n\n if (once) {\n this.bindings[event].splice(index, 1);\n }\n });\n }\n }\n\n}\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","/**\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","const svgNS = 'http://www.w3.org/2000/svg';\n\nconst elementIds = {\n modalOverlay: 'shepherdModalOverlayContainer',\n modalOverlayMask: 'shepherdModalMask',\n modalOverlayMaskOpening: 'shepherdModalMaskOpening'\n};\n\nconst classNames = {\n isVisible: 'shepherd-modal-is-visible',\n modalTarget: 'shepherd-modal-target'\n};\n\n/**\n * <svg id=\"shepherdModalOverlayContainer\" xmlns=\"http://www.w3.org/2000/svg\">\n */\nfunction _createModalContainer() {\n const element = document.createElementNS(svgNS, 'svg');\n\n element.setAttributeNS(null, 'id', elementIds.modalOverlay);\n\n return element;\n}\n\n/**\n * <mask id=\"shepherdModalMask\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\">\n */\nfunction _createMaskContainer() {\n const element = document.createElementNS(svgNS, 'mask');\n\n element.setAttributeNS(null, 'id', elementIds.modalOverlayMask);\n element.setAttributeNS(null, 'x', '0');\n element.setAttributeNS(null, 'y', '0');\n element.setAttributeNS(null, 'width', '100%');\n element.setAttributeNS(null, 'height', '100%');\n\n return element;\n}\n\n/**\n * <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" fill=\"#FFFFFF\"/>\n */\nfunction _createMaskRect() {\n const element = document.createElementNS(svgNS, 'rect');\n\n element.setAttributeNS(null, 'x', '0');\n element.setAttributeNS(null, 'y', '0');\n element.setAttributeNS(null, 'width', '100%');\n element.setAttributeNS(null, 'height', '100%');\n element.setAttributeNS(null, 'fill', '#FFFFFF');\n\n return element;\n}\n\n/**\n * <rect id=\"shepherdModalMaskOpening\" fill=\"#000000\"/>\n */\nfunction _createMaskOpening() {\n const element = document.createElementNS(svgNS, 'rect');\n\n element.setAttributeNS(null, 'id', elementIds.modalOverlayMaskOpening);\n element.setAttributeNS(null, 'fill', '#000000');\n\n return element;\n}\n\n/**\n * <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" mask=\"url(#shepherdModalMask)\"/>\n */\nfunction _createMaskConsumer() {\n const element = document.createElementNS(svgNS, 'rect');\n\n element.setAttributeNS(null, 'x', '0');\n element.setAttributeNS(null, 'y', '0');\n element.setAttributeNS(null, 'width', '100%');\n element.setAttributeNS(null, 'height', '100%');\n element.setAttributeNS(null, 'mask', `url(#${elementIds.modalOverlayMask})`);\n\n return element;\n}\n\n/**\n * Generates an SVG with the following structure:\n * ```html\n * <svg id=\"shepherdModalOverlayContainer\" xmlns=\"http://www.w3.org/2000/svg\">\n <defs>\n <mask id=\"shepherdModalMask\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" >\n <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" fill=\"#FFFFFF\"/>\n <!-- This element will \"punch a hole\" through the mask by preventing it from rendering within the perimeter -->\n <rect id=\"shepherdModalMaskOpening\"/>\n </mask>\n </defs>\n <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" mask=\"url(#shepherdModalMask)\"/>\n </svg>\n * ```\n */\nfunction createModalOverlay() {\n const containerElement = _createModalContainer();\n const defsElement = document.createElementNS(svgNS, 'defs');\n const maskContainer = _createMaskContainer();\n const maskRect = _createMaskRect();\n const maskOpening = _createMaskOpening();\n const maskConsumer = _createMaskConsumer();\n\n maskContainer.appendChild(maskRect);\n maskContainer.appendChild(maskOpening);\n\n defsElement.appendChild(maskContainer);\n\n containerElement.appendChild(defsElement);\n containerElement.appendChild(maskConsumer);\n\n return containerElement;\n}\n\nfunction positionModalOpening(targetElement, openingElement) {\n if (targetElement.getBoundingClientRect && openingElement instanceof SVGElement) {\n const { x, y, width, height } = targetElement.getBoundingClientRect();\n\n openingElement.setAttributeNS(null, 'x', x);\n openingElement.setAttributeNS(null, 'y', y);\n openingElement.setAttributeNS(null, 'width', width);\n openingElement.setAttributeNS(null, 'height', height);\n }\n}\n\nfunction closeModalOpening(openingElement) {\n if (openingElement && openingElement instanceof SVGElement) {\n openingElement.setAttributeNS(null, 'x', '0');\n openingElement.setAttributeNS(null, 'y', '0');\n openingElement.setAttributeNS(null, 'width', '0');\n openingElement.setAttributeNS(null, 'height', '0');\n }\n}\n\nfunction getModalMaskOpening(modalElement) {\n return modalElement.querySelector(`#${elementIds.modalOverlayMaskOpening}`);\n}\n\nfunction preventModalBodyTouch(event) {\n event.preventDefault();\n}\n\nfunction preventModalOverlayTouch(event) {\n event.stopPropagation();\n}\n\n/**\n * Remove any leftover modal target classes and add the modal target class to the currentElement\n * @param {HTMLElement} currentElement The element for the current step\n */\nfunction toggleShepherdModalClass(currentElement) {\n const shepherdModal = document.querySelector(`${classNames.modalTarget}`);\n\n if (shepherdModal) {\n shepherdModal.classList.remove(classNames.modalTarget);\n }\n\n currentElement.classList.add(classNames.modalTarget);\n}\n\nexport {\n createModalOverlay,\n positionModalOpening,\n preventModalBodyTouch,\n preventModalOverlayTouch,\n closeModalOpening,\n getModalMaskOpening,\n elementIds,\n classNames,\n toggleShepherdModalClass\n};\n","import {\n forOwn,\n isElement,\n isEmpty,\n isFunction,\n isString,\n isUndefined\n} from 'lodash';\nimport { Evented } from './evented.js';\nimport 'element-matches';\nimport { bindAdvance, bindButtonEvents, bindCancelLink, bindMethods } from './bind.js';\nimport { createFromHTML, setupTooltip, parseAttachTo } from './utils.js';\n\n/**\n * Creates incremented ID for each newly created step\n *\n * @private\n * @return {Number} The unique id for the step\n */\nconst uniqueId = (function() {\n let id = 0;\n return function() {\n return ++id;\n };\n})();\n\n/**\n * Class representing steps to be added to a tour\n * @extends {Evented}\n */\nexport class Step extends Evented {\n /**\n * Create a step\n * @param {Tour} tour The tour for the step\n * @param {Object} options The options for the step\n * @param {Object|string} options.attachTo What element the step should be attached to on the page.\n * It can either be a string of the form \"element on\", or an object with those properties.\n * For example: \".some #element left\", or {element: '.some #element', on: 'left'}.\n * If you use the object syntax, element can also be a DOM element. If you don’t specify an attachTo the\n * element will appear in the middle of the screen.\n * @param {HTMLElement|string} options.attachTo.element\n * @param {string} options.attachTo.on\n * @param {Object|string} options.advanceOn An action on the page which should advance shepherd to the next step.\n * It can be of the form `\"selector event\"`, or an object with those properties.\n * For example: `\".some-element click\"`, or `{selector: '.some-element', event: 'click'}`.\n * It doesn’t have to be an event inside the tour, it can be any event fired on any element on the page.\n * You can also always manually advance the Tour by calling `myTour.next()`.\n * @param {function} options.beforeShowPromise A function that returns a promise.\n * When the promise resolves, the rest of the `show` code for the step will execute.\n * @param {Object[]} options.buttons An array of buttons to add to the step. These will be rendered in a\n * footer below the main body text.\n * @param {function} options.buttons.button.action A function executed when the button is clicked on\n * @param {string} options.buttons.button.classes Extra classes to apply to the `<a>`\n * @param {Object} options.buttons.button.events A hash of events to bind onto the button, for example\n * `{'mouseover': function(){}}`. Adding a `click` event to events when you already have an `action` specified is not supported.\n * You can use events to skip steps or navigate to specific steps, with something like:\n * ```js\n * events: {\n * click: function() {\n * return Shepherd.activeTour.show('some_step_name');\n * }\n * }\n * ```\n * @param {string} options.buttons.button.text The HTML text of the button\n * @param {string} options.classes A string of extra classes to add to the step's content element.\n * @param {string} options.highlightClass An extra class to apply to the `attachTo` element when it is\n * highlighted (that is, when its step is active). You can then target that selector in your CSS.\n * @param {Object} options.tippyOptions Extra [options to pass to tippy.js]{@link https://atomiks.github.io/tippyjs/#all-options}\n * @param {boolean} options.scrollTo Should the element be scrolled to when this step is shown?\n * @param {function} options.scrollToHandler A function that lets you override the default scrollTo behavior and\n * define a custom action to do the scrolling, and possibly other logic.\n * @param {boolean} options.showCancelLink Should a cancel “✕” be shown in the header of the step?\n * @param {function} options.showOn A function that, when it returns `true`, will show the step.\n * If it returns false, the step will be skipped.\n * @param {string} options.text The text in the body of the step. It can be one of four types:\n * ```\n * - HTML string\n * - Array of HTML strings\n * - `HTMLElement` object\n * - `Function` to be executed when the step is built. It must return one of the three options above.\n * ```\n * @param {string} options.title The step's title. It becomes an `h3` at the top of the step.\n * @param {Object} options.when You can define `show`, `hide`, etc events inside `when`. For example:\n * ```js\n * when: {\n * show: function() {\n * window.scrollTo(0, 0);\n * }\n * }\n * ```\n * @return {Step} The newly created Step instance\n */\n constructor(tour, options) {\n super(tour, options);\n this.tour = tour;\n bindMethods.call(this, [\n '_show',\n 'cancel',\n 'complete',\n 'destroy',\n 'hide',\n 'isOpen',\n 'scrollTo',\n 'setupElements',\n 'show'\n ]);\n this.setOptions(options);\n this.bindAdvance = bindAdvance.bind(this);\n this.bindButtonEvents = bindButtonEvents.bind(this);\n this.bindCancelLink = bindCancelLink.bind(this);\n this.setupTooltip = setupTooltip.bind(this);\n this.parseAttachTo = parseAttachTo.bind(this);\n\n return this;\n }\n\n /**\n * Adds buttons to the step as passed into options\n *\n * @private\n * @param {HTMLElement} content The element for the step, to append the footer with buttons to\n */\n _addButtons(content) {\n if (!isEmpty(this.options.buttons)) {\n const footer = document.createElement('footer');\n const buttons = createFromHTML('<ul class=\"shepherd-buttons\"></ul>');\n\n footer.classList.add('shepherd-footer');\n\n this.options.buttons.map((cfg) => {\n const button = createFromHTML(`<li><a class=\"shepherd-button ${cfg.classes || ''}\">${cfg.text}</a>`);\n buttons.appendChild(button);\n this.bindButtonEvents(cfg, button.querySelector('a'));\n });\n\n footer.appendChild(buttons);\n content.appendChild(footer);\n }\n }\n\n /**\n * Adds the \"x\" button to cancel the tour\n * @param {HTMLElement} element The step element\n * @param {HTMLElement} header The header element for the step\n * @private\n */\n _addCancelLink(element, header) {\n if (this.options.showCancelLink) {\n const link = createFromHTML('<a href class=\"shepherd-cancel-link\"></a>');\n header.appendChild(link);\n\n element.classList.add('shepherd-has-cancel-link');\n this.bindCancelLink(link);\n }\n }\n\n /**\n * Adds text passed in as options\n *\n * @private\n * @param {HTMLElement} content The content to append the text to\n */\n _addContent(content) {\n const text = createFromHTML('<div class=\"shepherd-text\"></div>');\n let paragraphs = this.options.text;\n\n if (isFunction(paragraphs)) {\n paragraphs = paragraphs.call(this, text);\n }\n\n if (paragraphs instanceof HTMLElement) {\n text.appendChild(paragraphs);\n } else {\n if (isString(paragraphs)) {\n paragraphs = [paragraphs];\n }\n\n paragraphs.map((paragraph) => {\n text.innerHTML += `<p>${paragraph}</p>`;\n });\n }\n\n content.appendChild(text);\n }\n\n /**\n * Creates Shepherd element for step based on options\n *\n * @private\n * @return {HTMLElement} The DOM element for the step tooltip\n */\n _createTooltipContent() {\n const content = document.createElement('div');\n const classes = this.options.classes || '';\n const element = createFromHTML(`<div class=\"${classes}\" data-shepherd-step-id=\"${this.id}\">`);\n const header = document.createElement('header');\n\n if (this.options.title) {\n const title = document.createElement('h3');\n title.classList.add('shepherd-title');\n title.innerHTML = `${this.options.title}`;\n header.appendChild(title);\n element.classList.add('shepherd-has-title');\n }\n\n content.classList.add('shepherd-content');\n header.classList.add('shepherd-header');\n element.appendChild(content);\n content.appendChild(header);\n\n if (!isUndefined(this.options.text)) {\n this._addContent(content);\n }\n\n this._addButtons(content);\n this._addCancelLink(element, header);\n\n return element;\n }\n\n /**\n * Returns the tour for the step\n * @return {Tour} The tour instance\n */\n getTour() {\n return this.tour;\n }\n\n /**\n * Cancel the tour\n * Triggers the `cancel` event\n */\n cancel() {\n this.tour.cancel();\n this.trigger('cancel');\n }\n\n /**\n * Complete the tour\n * Triggers the `complete` event\n */\n complete() {\n this.tour.complete();\n this.trigger('complete');\n }\n\n /**\n * Remove the step, delete the step's element, and destroy the tippy instance for the step\n * Triggers `destroy` event\n */\n destroy() {\n if (this.tooltip) {\n this.tooltip.destroy();\n this.tooltip = null;\n }\n\n if (isElement(this.el) && this.el.parentNode) {\n this.el.parentNode.removeChild(this.el);\n this.el = null;\n }\n\n if (this.target) {\n this._updateStepTargetOnHide();\n }\n\n this.trigger('destroy');\n }\n\n /**\n * Hide the step and destroy the tippy instance\n */\n hide() {\n this.trigger('before-hide');\n\n document.body.removeAttribute('data-shepherd-step');\n\n if (this.target) {\n this._updateStepTargetOnHide();\n }\n\n if (this.tooltip) {\n this.tooltip.hide();\n }\n\n this.trigger('hide');\n }\n\n /**\n * Check if the step is open and visible\n * @return {boolean} True if the step is open and visible\n */\n isOpen() {\n return Boolean(\n this.tooltip &&\n this.tooltip.state &&\n this.tooltip.state.isVisible\n );\n }\n\n /**\n * Create the element and set up the tippy instance\n */\n setupElements() {\n if (!isUndefined(this.el)) {\n this.destroy();\n }\n\n this.el = this._createTooltipContent();\n\n if (this.options.advanceOn) {\n this.bindAdvance();\n }\n\n this.setupTooltip();\n }\n\n /**\n * If a custom scrollToHandler is defined, call that, otherwise do the generic\n * scrollIntoView call.\n */\n scrollTo() {\n const { element } = this.parseAttachTo();\n\n if (isFunction(this.options.scrollToHandler)) {\n this.options.scrollToHandler(element);\n } else if (isElement(element)) {\n element.scrollIntoView();\n }\n }\n\n /**\n * Sets the options for the step, maps `when` to events, sets up buttons\n * @param {Object} options The options for the step\n */\n setOptions(options = {}) {\n this.options = options;\n const { when } = this.options;\n\n this.destroy();\n this.id = this.options.id || `step-${uniqueId()}`;\n\n forOwn(when, (handler, event) => {\n this.on(event, handler, this);\n });\n }\n\n /**\n * Wraps `_show` and ensures `beforeShowPromise` resolves before calling show\n * @return {*|Promise}\n */\n show() {\n if (isFunction(this.options.beforeShowPromise)) {\n const beforeShowPromise = this.options.beforeShowPromise();\n if (!isUndefined(beforeShowPromise)) {\n return beforeShowPromise.then(() => this._show());\n }\n }\n this._show();\n }\n\n /**\n * Triggers `before-show`, generates the tooltip DOM content,\n * sets up a tippy instance for the tooltip, then triggers `show`.\n * @private\n */\n _show() {\n this.tour.beforeShowStep(this);\n this.trigger('before-show');\n\n if (!this.el) {\n this.setupElements();\n }\n\n this.target.classList.add('shepherd-enabled', 'shepherd-target');\n\n document.body.setAttribute('data-shepherd-step', this.id);\n\n if (this.options.scrollTo) {\n setTimeout(() => {\n this.scrollTo();\n });\n }\n\n this.tooltip.show();\n this.trigger('show');\n }\n\n _updateStepTargetOnHide() {\n if (this.options.highlightClass) {\n this.target.classList.remove(this.options.highlightClass);\n }\n\n this.target.classList.remove('shepherd-enabled', 'shepherd-target');\n }\n}\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","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\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 `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\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 empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\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","import { parseShorthand } from './utils.js';\nimport { forOwn, isString, isUndefined } from 'lodash';\n\n/**\n * Sets up the handler to determine if we should advance the tour\n * @private\n */\nfunction _setupAdvanceOnHandler(selector) {\n return (event) => {\n if (this.isOpen()) {\n const targetIsEl = this.el && event.target === this.el;\n const targetIsSelector = !isUndefined(selector) && event.target.matches(selector);\n\n if (targetIsSelector || targetIsEl) {\n this.tour.next();\n }\n }\n };\n}\n\n/**\n * Bind the event handler for advanceOn\n */\nexport function bindAdvance() {\n // An empty selector matches the step element\n const { event, selector } = parseShorthand(this.options.advanceOn, ['selector', 'event']);\n const handler = _setupAdvanceOnHandler.call(this, selector);\n\n // TODO: this should also bind/unbind on show/hide\n const el = document.querySelector(selector);\n if (!isUndefined(selector) && el) {\n el.addEventListener(event, handler);\n } else {\n document.body.addEventListener(event, handler, true);\n }\n this.on('destroy', () => {\n return document.body.removeEventListener(event, handler, true);\n });\n}\n\n/**\n * Bind events to the buttons for next, back, etc\n * @param {Object} cfg An object containing the config options for the button\n * @param {HTMLElement} el The element for the button\n */\nexport function bindButtonEvents(cfg, el) {\n cfg.events = cfg.events || {};\n if (!isUndefined(cfg.action)) {\n // Including both a click event and an action is not supported\n cfg.events.click = cfg.action;\n }\n\n forOwn(cfg.events, (handler, event) => {\n if (isString(handler)) {\n const page = handler;\n handler = () => this.tour.show(page);\n }\n el.dataset.buttonEvent = true;\n el.addEventListener(event, handler);\n\n // Cleanup event listeners on destroy\n this.on('destroy', () => {\n el.removeAttribute('data-button-event');\n el.removeEventListener(event, handler);\n });\n });\n}\n\n/**\n * Add a click listener to the cancel link that cancels the tour\n * @param {HTMLElement} link The cancel link element\n */\nexport function bindCancelLink(link) {\n link.addEventListener('click', (e) => {\n e.preventDefault();\n this.cancel();\n });\n}\n\n/**\n * Take an array of strings and look up methods by name, then bind them to `this`\n * @param {String[]} methods The names of methods to bind\n */\nexport function bindMethods(methods) {\n methods.map((method) => {\n this[method] = this[method].bind(this);\n });\n}\n","import { isString, isObjectLike, isUndefined, zipObject } from 'lodash';\nimport tippy from 'tippy.js';\nimport { missingTippy } from './utils/error-messages';\n\nconst centeredStylePopperModifier = {\n computeStyle: {\n enabled: true,\n fn(data) {\n data.styles = Object.assign({}, data.styles, {\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)'\n });\n\n return data;\n }\n }\n};\n\n// Used to compose settings for tippyOptions.popperOptions (https://atomiks.github.io/tippyjs/#popper-options-option)\nconst defaultPopperOptions = {\n positionFixed: true\n};\n\n/**\n * TODO rewrite the way items are being added to use more performant documentFragment code\n * @param html\n * @return {HTMLElement} The element created from the passed HTML string\n */\nexport function createFromHTML(html) {\n const el = document.createElement('div');\n el.innerHTML = html;\n return el.children[0];\n}\n\n/**\n * Parse the position object or string to return the attachment and element to attach to\n * @param {Object|String} position Either a string or object denoting the selector and position for attachment\n * @return {Object} The object with `element` and `on` for the step\n * @private\n */\nexport function _parseAttachToOpts(opts) {\n if (isObjectLike(opts)) {\n if (opts.hasOwnProperty('element') && opts.hasOwnProperty('on')) {\n return opts;\n }\n return null;\n }\n\n const positionRe = /^(.+) ((auto|top|left|right|bottom)(-start|-end)?)$/;\n const matches = positionRe.exec(opts);\n\n if (!matches) {\n return null;\n }\n\n return {\n element: matches[1],\n on: matches[2]\n };\n}\n\n/**\n * @param obj\n * @param {Array} props\n * @return {*}\n */\nexport function parseShorthand(obj, props) {\n if (obj === null || isUndefined(obj)) {\n return obj;\n } else if (isObjectLike(obj)) {\n return obj;\n }\n\n const values = obj.split(' ');\n return zipObject(props, values);\n}\n\n/**\n * Determines options for the tooltip and initializes\n * `this.tooltip` as a Tippy.js instance.\n */\nexport function setupTooltip() {\n if (isUndefined(tippy)) {\n throw new Error(missingTippy);\n }\n\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n\n const attachToOpts = this.parseAttachTo();\n\n this.tooltip = _makeTippyInstance.call(this, attachToOpts);\n\n this.target = attachToOpts.element || document.body;\n\n this.el.classList.add('shepherd-element');\n}\n\n/**\n * Passes `options.attachTo` to `_parseAttachToOpts` to get the correct `attachTo` format\n * @returns {({} & {element, on}) | ({})}\n * `element` is a qualified HTML Element\n * `on` is a string position value\n */\nexport function parseAttachTo() {\n const options = _parseAttachToOpts(this.options.attachTo) || {};\n const returnOpts = Object.assign({}, options);\n\n if (isString(options.element)) {\n // Can't override the element in user opts reference because we can't\n // guarantee that the element will exist in the future.\n try {\n returnOpts.element = document.querySelector(options.element);\n } catch(e) {\n // TODO\n }\n if (!returnOpts.element) {\n console.error(`The element for this Shepherd step was not found ${options.element}`);\n }\n }\n\n return returnOpts;\n}\n\n/**\n * Generates a `Tippy` instance from a set of base `attachTo` options\n *\n * @return {tippy} The final tippy instance\n * @private\n */\nfunction _makeTippyInstance(attachToOptions) {\n if (!attachToOptions.element) {\n return _makeCenteredTippy.call(this);\n }\n\n const tippyOptions = _makeAttachedTippyOptions.call(this, attachToOptions);\n\n return tippy.one(attachToOptions.element, tippyOptions);\n}\n\n/**\n * Generates the hash of options that will be passed to `Tippy` instances\n * target an element in the DOM.\n *\n * @param {Object} attachToOptions The local `attachTo` options\n * @return {Object} The final tippy options object\n * @private\n */\nfunction _makeAttachedTippyOptions(attachToOptions) {\n const resultingTippyOptions = {\n content: this.el,\n placement: attachToOptions.on || 'right',\n ...this.options.tippyOptions\n };\n\n if (this.options.tippyOptions && this.options.tippyOptions.popperOptions) {\n Object.assign(defaultPopperOptions, this.options.tippyOptions.popperOptions);\n }\n\n resultingTippyOptions.popperOptions = defaultPopperOptions;\n\n return resultingTippyOptions;\n}\n\n/**\n * Generates a `Tippy` instance for a tooltip that doesn't have a\n * target element in the DOM -- and thus is positioned in the center\n * of the view\n *\n * @return {tippy} The final tippy instance\n * @private\n */\nfunction _makeCenteredTippy() {\n const tippyOptions = {\n content: this.el,\n placement: 'top',\n ...this.options.tippyOptions\n };\n\n tippyOptions.arrow = false;\n tippyOptions.popperOptions = tippyOptions.popperOptions || {};\n\n const finalPopperOptions = Object.assign(\n {},\n defaultPopperOptions,\n tippyOptions.popperOptions,\n {\n modifiers: Object.assign(\n centeredStylePopperModifier,\n tippyOptions.popperOptions.modifiers\n )\n }\n );\n\n tippyOptions.popperOptions = finalPopperOptions;\n\n return tippy.one(document.body, tippyOptions);\n}\n","(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.tippy=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var r=e.ownerDocument.defaultView,a=r.getComputedStyle(e,null);return t?a[t]:a}function r(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function a(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var p=t(e),o=p.overflow,i=p.overflowX,n=p.overflowY;return /(auto|scroll|overlay)/.test(o+n+i)?e:a(r(e))}function p(e){return 11===e?ke:10===e?Ee:ke||Ee}function o(e){if(!e)return document.documentElement;for(var r=p(10)?document.body:null,a=e.offsetParent||null;a===r&&e.nextElementSibling;)a=(e=e.nextElementSibling).offsetParent;var i=a&&a.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TH','TD','TABLE'].indexOf(a.nodeName)&&'static'===t(a,'position')?o(a):a:e?e.ownerDocument.documentElement:document.documentElement}function n(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||o(e.firstElementChild)===e)}function s(e){return null===e.parentNode?e:s(e.parentNode)}function l(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var r=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,a=r?e:t,p=r?t:e,i=document.createRange();i.setStart(a,0),i.setEnd(p,0);var d=i.commonAncestorContainer;if(e!==d&&t!==d||a.contains(p))return n(d)?d:o(d);var m=s(e);return m.host?l(m.host,t):l(e,s(t).host)}function d(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',r='top'===t?'scrollTop':'scrollLeft',a=e.nodeName;if('BODY'===a||'HTML'===a){var p=e.ownerDocument.documentElement,o=e.ownerDocument.scrollingElement||p;return o[r]}return e[r]}function m(e,t){var r=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2],a=d(t,'top'),p=d(t,'left'),o=r?-1:1;return e.top+=a*o,e.bottom+=a*o,e.left+=p*o,e.right+=p*o,e}function c(e,t){var r='x'===t?'Left':'Top',a='Left'===r?'Right':'Bottom';return parseFloat(e['border'+r+'Width'],10)+parseFloat(e['border'+a+'Width'],10)}function f(e,t,r,a){return ae(t['offset'+e],t['scroll'+e],r['client'+e],r['offset'+e],r['scroll'+e],p(10)?parseInt(r['offset'+e])+parseInt(a['margin'+('Height'===e?'Top':'Left')])+parseInt(a['margin'+('Height'===e?'Bottom':'Right')]):0)}function h(e){var t=e.body,r=e.documentElement,a=p(10)&&getComputedStyle(r);return{height:f('Height',t,r,a),width:f('Width',t,r,a)}}function b(e){return Te({},e,{right:e.left+e.width,bottom:e.top+e.height})}function u(e){var r={};try{if(p(10)){r=e.getBoundingClientRect();var a=d(e,'top'),o=d(e,'left');r.top+=a,r.left+=o,r.bottom+=a,r.right+=o}else r=e.getBoundingClientRect()}catch(t){}var i={left:r.left,top:r.top,width:r.right-r.left,height:r.bottom-r.top},n='HTML'===e.nodeName?h(e.ownerDocument):{},s=n.width||e.clientWidth||i.right-i.left,l=n.height||e.clientHeight||i.bottom-i.top,m=e.offsetWidth-s,f=e.offsetHeight-l;if(m||f){var y=t(e);m-=c(y,'x'),f-=c(y,'y'),i.width-=m,i.height-=f}return b(i)}function y(e,r){var o=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2],i=p(10),n='HTML'===r.nodeName,s=u(e),l=u(r),d=a(e),c=t(r),f=parseFloat(c.borderTopWidth,10),h=parseFloat(c.borderLeftWidth,10);o&&n&&(l.top=ae(l.top,0),l.left=ae(l.left,0));var y=b({top:s.top-l.top-f,left:s.left-l.left-h,width:s.width,height:s.height});if(y.marginTop=0,y.marginLeft=0,!i&&n){var g=parseFloat(c.marginTop,10),x=parseFloat(c.marginLeft,10);y.top-=f-g,y.bottom-=f-g,y.left-=h-x,y.right-=h-x,y.marginTop=g,y.marginLeft=x}return(i&&!o?r.contains(d):r===d&&'BODY'!==d.nodeName)&&(y=m(y,r)),y}function g(e){var t=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1],r=e.ownerDocument.documentElement,a=y(e,r),p=ae(r.clientWidth,window.innerWidth||0),o=ae(r.clientHeight,window.innerHeight||0),i=t?0:d(r),n=t?0:d(r,'left'),s={top:i-a.top+a.marginTop,left:n-a.left+a.marginLeft,width:p,height:o};return b(s)}function x(e){var a=e.nodeName;return'BODY'!==a&&'HTML'!==a&&('fixed'===t(e,'position')||x(r(e)))}function w(e){if(!e||!e.parentElement||p())return document.documentElement;for(var r=e.parentElement;r&&'none'===t(r,'transform');)r=r.parentElement;return r||document.documentElement}function v(e,t,p,o){var i=!!(4<arguments.length&&void 0!==arguments[4])&&arguments[4],n={top:0,left:0},s=i?w(e):l(e,t);if('viewport'===o)n=g(s,i);else{var d;'scrollParent'===o?(d=a(r(t)),'BODY'===d.nodeName&&(d=e.ownerDocument.documentElement)):'window'===o?d=e.ownerDocument.documentElement:d=o;var m=y(d,s,i);if('HTML'===d.nodeName&&!x(s)){var c=h(e.ownerDocument),f=c.height,b=c.width;n.top+=m.top-m.marginTop,n.bottom=f+m.top,n.left+=m.left-m.marginLeft,n.right=b+m.left}else n=m}p=p||0;var u='number'==typeof p;return n.left+=u?p:p.left||0,n.top+=u?p:p.top||0,n.right-=u?p:p.right||0,n.bottom-=u?p:p.bottom||0,n}function k(e){var t=e.width,r=e.height;return t*r}function E(e,t,r,a,p){var o=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf('auto'))return e;var i=v(r,a,o,p),n={top:{width:i.width,height:t.top-i.top},right:{width:i.right-t.right,height:i.height},bottom:{width:i.width,height:i.bottom-t.bottom},left:{width:t.left-i.left,height:i.height}},s=Object.keys(n).map(function(e){return Te({key:e},n[e],{area:k(n[e])})}).sort(function(e,t){return t.area-e.area}),l=s.filter(function(e){var t=e.width,a=e.height;return t>=r.clientWidth&&a>=r.clientHeight}),d=0<l.length?l[0].key:s[0].key,m=e.split('-')[1];return d+(m?'-'+m:'')}function O(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,p=a?w(t):l(t,r);return y(r,p,a)}function C(e){var t=e.ownerDocument.defaultView,r=t.getComputedStyle(e),a=parseFloat(r.marginTop||0)+parseFloat(r.marginBottom||0),p=parseFloat(r.marginLeft||0)+parseFloat(r.marginRight||0),o={width:e.offsetWidth+p,height:e.offsetHeight+a};return o}function L(e){var t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function T(e,t,r){r=r.split('-')[0];var a=C(e),p={width:a.width,height:a.height},o=-1!==['right','left'].indexOf(r),i=o?'top':'left',n=o?'left':'top',s=o?'height':'width',l=o?'width':'height';return p[i]=t[i]+t[s]/2-a[s]/2,p[n]=r===n?t[n]-a[l]:t[L(n)],p}function A(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function Y(e,t,r){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===r});var a=A(e,function(e){return e[t]===r});return e.indexOf(a)}function S(t,r,a){var p=void 0===a?t:t.slice(0,Y(t,'name',a));return p.forEach(function(t){t['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var a=t['function']||t.fn;t.enabled&&e(a)&&(r.offsets.popper=b(r.offsets.popper),r.offsets.reference=b(r.offsets.reference),r=a(r,t))}),r}function P(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=O(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=E(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=T(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=S(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function D(e,t){return e.some(function(e){var r=e.name,a=e.enabled;return a&&r===t})}function X(e){for(var t=[!1,'ms','Webkit','Moz','O'],r=e.charAt(0).toUpperCase()+e.slice(1),a=0;a<t.length;a++){var p=t[a],o=p?''+p+r:e;if('undefined'!=typeof document.body.style[o])return o}return null}function I(){return this.state.isDestroyed=!0,D(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.position='',this.popper.style.top='',this.popper.style.left='',this.popper.style.right='',this.popper.style.bottom='',this.popper.style.willChange='',this.popper.style[X('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function N(e){var t=e.ownerDocument;return t?t.defaultView:window}function H(e,t,r,p){var o='BODY'===e.nodeName,i=o?e.ownerDocument.defaultView:e;i.addEventListener(t,r,{passive:!0}),o||H(a(i.parentNode),t,r,p),p.push(i)}function R(e,t,r,p){r.updateBound=p,N(e).addEventListener('resize',r.updateBound,{passive:!0});var o=a(e);return H(o,'scroll',r.updateBound,r.scrollParents),r.scrollElement=o,r.eventsEnabled=!0,r}function W(){this.state.eventsEnabled||(this.state=R(this.reference,this.options,this.state,this.scheduleUpdate))}function B(e,t){return N(e).removeEventListener('resize',t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function M(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=B(this.reference,this.state))}function z(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function _(e,t){Object.keys(t).forEach(function(r){var a='';-1!==['width','height','top','right','bottom','left'].indexOf(r)&&z(t[r])&&(a='px'),e.style[r]=t[r]+a})}function F(e,t){Object.keys(t).forEach(function(r){var a=t[r];!1===a?e.removeAttribute(r):e.setAttribute(r,t[r])})}function U(e,t){var r=e.offsets,a=r.popper,p=r.reference,o=re,i=function(e){return e},n=o(a.width),s=o(p.width),l=-1!==['left','right'].indexOf(e.placement),d=-1!==e.placement.indexOf('-'),m=t?l||d||s%2==n%2?o:te:i,c=t?o:i;return{left:m(1==s%2&&1==n%2&&!d&&t?a.left-1:a.left),top:c(a.top),bottom:c(a.bottom),right:m(a.right)}}function V(e,t,r){var a=A(e,function(e){var r=e.name;return r===t}),p=!!a&&e.some(function(e){return e.name===r&&e.enabled&&e.order<a.order});if(!p){var o='`'+t+'`';console.warn('`'+r+'`'+' modifier is required by '+o+' modifier in order to work, be sure to include it before '+o+'!')}return p}function q(e){return'end'===e?'start':'start'===e?'end':e}function j(e){var t=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1],r=Se.indexOf(e),a=Se.slice(r+1).concat(Se.slice(0,r));return t?a.reverse():a}function K(e,t,r,a){var p=e.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/),o=+p[1],i=p[2];if(!o)return e;if(0===i.indexOf('%')){var n;switch(i){case'%p':n=r;break;case'%':case'%r':default:n=a;}var s=b(n);return s[t]/100*o}if('vh'===i||'vw'===i){var l;return l='vh'===i?ae(document.documentElement.clientHeight,window.innerHeight||0):ae(document.documentElement.clientWidth,window.innerWidth||0),l/100*o}return o}function G(e,t,r,a){var p=[0,0],o=-1!==['right','left'].indexOf(a),i=e.split(/(\\+|\\-)/).map(function(e){return e.trim()}),n=i.indexOf(A(i,function(e){return-1!==e.search(/,|\\s/)}));i[n]&&-1===i[n].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var s=/\\s*,\\s*|\\s+/,l=-1===n?[i]:[i.slice(0,n).concat([i[n].split(s)[0]]),[i[n].split(s)[1]].concat(i.slice(n+1))];return l=l.map(function(e,a){var p=(1===a?!o:o)?'height':'width',i=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,i=!0,e):i?(e[e.length-1]+=t,i=!1,e):e.concat(t)},[]).map(function(e){return K(e,p,t,r)})}),l.forEach(function(e,t){e.forEach(function(r,a){z(r)&&(p[t]+=r*('-'===e[a-1]?-1:1))})}),p}function J(e,t){var r=t.offset,a=e.placement,p=e.offsets,o=p.popper,i=p.reference,n=a.split('-')[0],s=void 0;return s=z(+r)?[+r,0]:G(r,o,i,n),'left'===n?(o.top+=s[0],o.left-=s[1]):'right'===n?(o.top+=s[0],o.left+=s[1]):'top'===n?(o.left+=s[0],o.top-=s[1]):'bottom'===n&&(o.left+=s[0],o.top+=s[1]),e.popper=o,e}function Z(){document.addEventListener('click',Yt,!0),document.addEventListener('touchstart',Lt,{passive:!0}),window.addEventListener('blur',St),window.addEventListener('resize',Pt),!ye&&(navigator.maxTouchPoints||navigator.msMaxTouchPoints)&&document.addEventListener('pointerdown',Lt)}function $(e,t){function r(){yt(function(){z=!1})}function a(){X=new MutationObserver(function(){q.popperInstance.update()}),X.observe(U,{childList:!0,subtree:!0,characterData:!0})}function p(e){var t=N=e,r=t.clientX,a=t.clientY;if(q.popperInstance){var p=xt(q.popper),o=q.popperChildren.arrow?20:5,i='top'===p||'bottom'===p,n='left'===p||'right'===p,s=i?ae(o,r):r,l=n?ae(o,a):a;i&&s>o&&(s=ee(r,window.innerWidth-o)),n&&l>o&&(l=ee(a,window.innerHeight-o));var d=q.reference.getBoundingClientRect(),m=q.props.followCursor,c='horizontal'===m,f='vertical'===m;q.popperInstance.reference={getBoundingClientRect:function(){return{width:0,height:0,top:c?d.top:l,bottom:c?d.bottom:l,left:f?d.left:s,right:f?d.right:s}},clientWidth:0,clientHeight:0},q.popperInstance.scheduleUpdate()}}function o(e){var t=pt(e.target,q.props.target);t&&!t._tippy&&($(t,ie({},q.props,{target:'',showOnInit:!0})),i(e))}function i(e){if(T(),!q.state.isVisible){if(q.props.target)return o(e);if(W=!0,q.props.wait)return q.props.wait(q,e);x()&&document.addEventListener('mousemove',p);var t=Ve(q.props.delay,0,ne.delay);t?H=setTimeout(function(){Y()},t):Y()}}function n(){if(T(),!q.state.isVisible)return s();W=!1;var e=Ve(q.props.delay,1,ne.delay);e?R=setTimeout(function(){q.state.isVisible&&S()},e):S()}function s(){document.removeEventListener('mousemove',p),N=null}function l(){document.body.removeEventListener('mouseleave',n),document.removeEventListener('mousemove',_)}function d(e){!q.state.isEnabled||y(e)||(!q.state.isVisible&&(I=e),'click'===e.type&&!1!==q.props.hideOnClick&&q.state.isVisible?n():i(e))}function m(e){var t=ot(e.target,function(e){return e._tippy}),r=pt(e.target,Xe.POPPER)===q.popper,a=t===q.reference;r||a||ut(xt(q.popper),q.popper.getBoundingClientRect(),e,q.props)&&(l(),n())}function c(e){return y(e)?void 0:q.props.interactive?(document.body.addEventListener('mouseleave',n),void document.addEventListener('mousemove',_)):void n()}function f(e){if(e.target===q.reference){if(q.props.interactive){if(!e.relatedTarget)return;if(pt(e.relatedTarget,Xe.POPPER))return}n()}}function h(e){pt(e.target,q.props.target)&&i(e)}function b(e){pt(e.target,q.props.target)&&n()}function y(e){var t=-1<e.type.indexOf('touch'),r=ye&&Ct&&q.props.touchHold&&!t,a=Ct&&!q.props.touchHold&&t;return r||a}function u(){var e=q.popperChildren.tooltip,t=q.props.popperOptions,r=Xe['round'===q.props.arrowType?'ROUND_ARROW':'ARROW'],p=e.querySelector(r),o=ie({placement:q.props.placement},t||{},{modifiers:ie({},t?t.modifiers:{},{arrow:ie({element:r},t&&t.modifiers?t.modifiers.arrow:{}),flip:ie({enabled:q.props.flip,padding:q.props.distance+5,behavior:q.props.flipBehavior},t&&t.modifiers?t.modifiers.flip:{}),offset:ie({offset:q.props.offset},t&&t.modifiers?t.modifiers.offset:{})}),onCreate:function(){e.style[xt(q.popper)]=gt(q.props.distance,ne.distance),p&&q.props.arrowTransform&&ft(p,q.props.arrowTransform)},onUpdate:function(){var t=e.style;t.top='',t.bottom='',t.left='',t.right='',t[xt(q.popper)]=gt(q.props.distance,ne.distance),p&&q.props.arrowTransform&&ft(p,q.props.arrowTransform)}});return X||a(),new De(q.reference,q.popper,o)}function g(e){q.popperInstance?!x()&&(q.popperInstance.scheduleUpdate(),q.props.livePlacement&&q.popperInstance.enableEventListeners()):(q.popperInstance=u(),(!q.props.livePlacement||x())&&q.popperInstance.disableEventListeners()),q.popperInstance.reference=q.reference;var t=q.popperChildren.arrow;if(x()){t&&(t.style.margin='0');var r=Ve(q.props.delay,0,ne.delay);I.type&&p(r&&N?N:I)}else t&&(t.style.margin='');bt(q.popperInstance,e),q.props.appendTo.contains(q.popper)||(q.props.appendTo.appendChild(q.popper),q.props.onMount(q),q.state.isMounted=!0)}function x(){return q.props.followCursor&&!Ct&&'focus'!==I.type}function w(){We([q.popper],he?0:q.props.updateDuration);(function e(){q.popperInstance&&q.popperInstance.scheduleUpdate(),q.state.isMounted?requestAnimationFrame(e):We([q.popper],0)})()}function v(e,t){E(e,function(){!q.state.isVisible&&q.props.appendTo.contains(q.popper)&&t()})}function k(e,t){E(e,t)}function E(e,t){if(0===e)return t();var r=q.popperChildren.tooltip,a=function a(p){p.target===r&&(vt(r,'remove',a),t())};vt(r,'remove',B),vt(r,'add',a),B=a}function O(e,t,r){q.reference.addEventListener(e,t),r.push({eventType:e,handler:t})}function C(){M=q.props.trigger.trim().split(' ').reduce(function(e,t){return'manual'===t?e:(q.props.target?'mouseenter'===t?(O('mouseover',h,e),O('mouseout',b,e)):'focus'===t?(O('focusin',h,e),O('focusout',b,e)):'click'===t?O(t,h,e):void 0:(O(t,d,e),q.props.touchHold&&(O('touchstart',d,e),O('touchend',c,e)),'mouseenter'===t?O('mouseleave',c,e):'focus'===t?O(he?'focusout':'blur',f,e):void 0),e)},[])}function L(){M.forEach(function(e){var t=e.eventType,r=e.handler;q.reference.removeEventListener(t,r)})}function T(){clearTimeout(H),clearTimeout(R)}function A(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};Et(e,ne);var t=q.props,r=wt(q.reference,ie({},q.props,e,{performance:!0}));r.performance=Ot(e,'performance')?e.performance:t.performance,q.props=r,(Ot(e,'trigger')||Ot(e,'touchHold'))&&(L(),C()),Ot(e,'interactiveDebounce')&&(l(),_=kt(m,e.interactiveDebounce)),Qe(q.popper,t,r),q.popperChildren=Be(q.popper),q.popperInstance&&le.some(function(t){return Ot(e,t)})&&(q.popperInstance.destroy(),q.popperInstance=u(),!q.state.isVisible&&q.popperInstance.disableEventListeners(),q.props.followCursor&&N&&p(N))}function Y(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:Ve(q.props.duration,0,ne.duration[0]);return q.state.isDestroyed||!q.state.isEnabled||Ct&&!q.props.touch?void 0:q.reference.isVirtual||document.documentElement.contains(q.reference)?q.reference.hasAttribute('disabled')?void 0:z?void(z=!1):void(!1===q.props.onShow(q)||(q.popper.style.visibility='visible',q.state.isVisible=!0,We([q.popper,q.popperChildren.tooltip,q.popperChildren.backdrop],0),g(function(){q.state.isVisible&&(!x()&&q.popperInstance.update(),We([q.popperChildren.tooltip,q.popperChildren.backdrop,q.popperChildren.content],e),q.popperChildren.backdrop&&(q.popperChildren.content.style.transitionDelay=re(e/6)+'ms'),q.props.interactive&&q.reference.classList.add('tippy-active'),q.props.sticky&&w(),ht([q.popperChildren.tooltip,q.popperChildren.backdrop,q.popperChildren.content],'visible'),k(e,function(){0===q.props.updateDuration&&q.popperChildren.tooltip.classList.add('tippy-notransition'),q.props.interactive&&-1<['focus','click'].indexOf(I.type)&&it(q.popper),q.reference.setAttribute('aria-describedby',q.popper.id),q.props.onShown(q),q.state.isShown=!0}))}))):P()}function S(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:Ve(q.props.duration,1,ne.duration[1]);q.state.isDestroyed||!q.state.isEnabled||!1===q.props.onHide(q)||(0===q.props.updateDuration&&q.popperChildren.tooltip.classList.remove('tippy-notransition'),q.props.interactive&&q.reference.classList.remove('tippy-active'),q.popper.style.visibility='hidden',q.state.isVisible=!1,q.state.isShown=!1,We([q.popperChildren.tooltip,q.popperChildren.backdrop,q.popperChildren.content],e),ht([q.popperChildren.tooltip,q.popperChildren.backdrop,q.popperChildren.content],'hidden'),q.props.interactive&&!z&&-1<['focus','click'].indexOf(I.type)&&('focus'===I.type&&(z=!0),it(q.reference)),v(e,function(){W||s(),q.reference.removeAttribute('aria-describedby'),q.popperInstance.disableEventListeners(),q.props.appendTo.removeChild(q.popper),q.state.isMounted=!1,q.props.onHidden(q)}))}function P(e){q.state.isDestroyed||(q.state.isMounted&&S(0),L(),q.reference.removeEventListener('click',r),delete q.reference._tippy,q.props.target&&e&&Ne(q.reference.querySelectorAll(q.props.target)).forEach(function(e){return e._tippy&&e._tippy.destroy()}),q.popperInstance&&q.popperInstance.destroy(),X&&X.disconnect(),q.state.isDestroyed=!0)}var D=wt(e,t);if(!D.multiple&&e._tippy)return null;var X=null,I={},N=null,H=0,R=0,W=!1,B=function(){},M=[],z=!1,_=0<D.interactiveDebounce?kt(m,D.interactiveDebounce):m,F=Dt++,U=$e(F,D);U.addEventListener('mouseenter',function(e){q.props.interactive&&q.state.isVisible&&'mouseenter'===I.type&&i(e)}),U.addEventListener('mouseleave',function(e){q.props.interactive&&'mouseenter'===I.type&&0===q.props.interactiveDebounce&&ut(xt(U),U.getBoundingClientRect(),e,q.props)&&n()});var V=Be(U),q={id:F,reference:e,popper:U,popperChildren:V,popperInstance:null,props:D,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},clearDelayTimeouts:T,set:A,setContent:function(e){A({content:e})},show:Y,hide:S,enable:function(){q.state.isEnabled=!0},disable:function(){q.state.isEnabled=!1},destroy:P};return C(),e.addEventListener('click',r),D.lazy||(q.popperInstance=u(),q.popperInstance.disableEventListeners()),D.showOnInit&&i(),!D.a11y||D.target||Re(e)||e.setAttribute('tabindex','0'),e._tippy=q,U._tippy=q,q}function Q(e,t,r){Et(t,ne),Xt||(Z(),Xt=!0);var a=ie({},ne,t);Me(e)&&rt(e);var p=Fe(e),o=p[0],i=(r&&o?[o]:p).reduce(function(e,t){var r=t&&$(t,a);return r&&e.push(r),e},[]);return{targets:e,props:a,instances:i,destroyAll:function(){this.instances.forEach(function(e){e.destroy()}),this.instances=[]}}}for(var ee=Math.min,te=Math.floor,re=Math.round,ae=Math.max,pe='.tippy-iOS{cursor:pointer!important}.tippy-notransition{transition:none!important}.tippy-popper{-webkit-perspective:700px;perspective:700px;z-index:9999;outline:0;transition-timing-function:cubic-bezier(.165,.84,.44,1);pointer-events:none;line-height:1.4;max-width:calc(100% - 10px)}.tippy-popper[x-placement^=top] .tippy-backdrop{border-radius:40% 40% 0 0}.tippy-popper[x-placement^=top] .tippy-roundarrow{bottom:-8px;-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=top] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.tippy-popper[x-placement^=top] .tippy-arrow{border-top:8px solid #333;border-right:8px solid transparent;border-left:8px solid transparent;bottom:-7px;margin:0 6px;-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=top] .tippy-backdrop{-webkit-transform-origin:0 25%;transform-origin:0 25%}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-55%);transform:scale(1) translate(-50%,-55%)}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%,-45%);transform:scale(.2) translate(-50%,-45%);opacity:0}.tippy-popper[x-placement^=top] [data-animation=shift-toward][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}.tippy-popper[x-placement^=top] [data-animation=perspective]{-webkit-transform-origin:bottom;transform-origin:bottom}.tippy-popper[x-placement^=top] [data-animation=perspective][data-state=visible]{-webkit-transform:translateY(-10px) rotateX(0);transform:translateY(-10px) rotateX(0)}.tippy-popper[x-placement^=top] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) rotateX(60deg);transform:translateY(0) rotateX(60deg)}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=visible]{-webkit-transform:translateY(-10px) scale(1);transform:translateY(-10px) scale(1)}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) scale(.5);transform:translateY(0) scale(.5)}.tippy-popper[x-placement^=bottom] .tippy-backdrop{border-radius:0 0 30% 30%}.tippy-popper[x-placement^=bottom] .tippy-roundarrow{top:-8px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.tippy-popper[x-placement^=bottom] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(0);transform:rotate(0)}.tippy-popper[x-placement^=bottom] .tippy-arrow{border-bottom:8px solid #333;border-right:8px solid transparent;border-left:8px solid transparent;top:-7px;margin:0 6px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.tippy-popper[x-placement^=bottom] .tippy-backdrop{-webkit-transform-origin:0 -50%;transform-origin:0 -50%}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-45%);transform:scale(1) translate(-50%,-45%)}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%);transform:scale(.2) translate(-50%);opacity:0}.tippy-popper[x-placement^=bottom] [data-animation=shift-toward][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}.tippy-popper[x-placement^=bottom] [data-animation=perspective]{-webkit-transform-origin:top;transform-origin:top}.tippy-popper[x-placement^=bottom] [data-animation=perspective][data-state=visible]{-webkit-transform:translateY(10px) rotateX(0);transform:translateY(10px) rotateX(0)}.tippy-popper[x-placement^=bottom] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) rotateX(-60deg);transform:translateY(0) rotateX(-60deg)}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=visible]{-webkit-transform:translateY(10px) scale(1);transform:translateY(10px) scale(1)}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) scale(.5);transform:translateY(0) scale(.5)}.tippy-popper[x-placement^=left] .tippy-backdrop{border-radius:50% 0 0 50%}.tippy-popper[x-placement^=left] .tippy-roundarrow{right:-16px;-webkit-transform-origin:33.33333333% 50%;transform-origin:33.33333333% 50%}.tippy-popper[x-placement^=left] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.tippy-popper[x-placement^=left] .tippy-arrow{border-left:8px solid #333;border-top:8px solid transparent;border-bottom:8px solid transparent;right:-7px;margin:3px 0;-webkit-transform-origin:0 50%;transform-origin:0 50%}.tippy-popper[x-placement^=left] .tippy-backdrop{-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%)}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-75%,-50%);transform:scale(.2) translate(-75%,-50%);opacity:0}.tippy-popper[x-placement^=left] [data-animation=shift-toward][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}.tippy-popper[x-placement^=left] [data-animation=perspective]{-webkit-transform-origin:right;transform-origin:right}.tippy-popper[x-placement^=left] [data-animation=perspective][data-state=visible]{-webkit-transform:translateX(-10px) rotateY(0);transform:translateX(-10px) rotateY(0)}.tippy-popper[x-placement^=left] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) rotateY(-60deg);transform:translateX(0) rotateY(-60deg)}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=visible]{-webkit-transform:translateX(-10px) scale(1);transform:translateX(-10px) scale(1)}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) scale(.5);transform:translateX(0) scale(.5)}.tippy-popper[x-placement^=right] .tippy-backdrop{border-radius:0 50% 50% 0}.tippy-popper[x-placement^=right] .tippy-roundarrow{left:-16px;-webkit-transform-origin:66.66666666% 50%;transform-origin:66.66666666% 50%}.tippy-popper[x-placement^=right] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.tippy-popper[x-placement^=right] .tippy-arrow{border-right:8px solid #333;border-top:8px solid transparent;border-bottom:8px solid transparent;left:-7px;margin:3px 0;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.tippy-popper[x-placement^=right] .tippy-backdrop{-webkit-transform-origin:-50% 0;transform-origin:-50% 0}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%)}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-25%,-50%);transform:scale(.2) translate(-25%,-50%);opacity:0}.tippy-popper[x-placement^=right] [data-animation=shift-toward][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}.tippy-popper[x-placement^=right] [data-animation=perspective]{-webkit-transform-origin:left;transform-origin:left}.tippy-popper[x-placement^=right] [data-animation=perspective][data-state=visible]{-webkit-transform:translateX(10px) rotateY(0);transform:translateX(10px) rotateY(0)}.tippy-popper[x-placement^=right] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) rotateY(60deg);transform:translateX(0) rotateY(60deg)}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=visible]{-webkit-transform:translateX(10px) scale(1);transform:translateX(10px) scale(1)}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) scale(.5);transform:translateX(0) scale(.5)}.tippy-tooltip{position:relative;color:#fff;border-radius:4px;font-size:.9rem;padding:.3rem .6rem;max-width:350px;text-align:center;will-change:transform;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#333}.tippy-tooltip[data-size=small]{padding:.2rem .4rem;font-size:.75rem}.tippy-tooltip[data-size=large]{padding:.4rem .8rem;font-size:1rem}.tippy-tooltip[data-animatefill]{overflow:hidden;background-color:transparent}.tippy-tooltip[data-interactive],.tippy-tooltip[data-interactive] path{pointer-events:auto}.tippy-tooltip[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.53,2,.36,.85)}.tippy-tooltip[data-inertia][data-state=hidden]{transition-timing-function:ease}.tippy-arrow,.tippy-roundarrow{position:absolute;width:0;height:0}.tippy-roundarrow{width:24px;height:8px;fill:#333;pointer-events:none}.tippy-backdrop{position:absolute;will-change:transform;background-color:#333;border-radius:50%;width:calc(110% + 2rem);left:50%;top:50%;z-index:-1;transition:all cubic-bezier(.46,.1,.52,.98);-webkit-backface-visibility:hidden;backface-visibility:hidden}.tippy-backdrop:after{content:\"\";float:left;padding-top:100%}.tippy-backdrop+.tippy-content{transition-property:opacity;will-change:opacity}.tippy-backdrop+.tippy-content[data-state=visible]{opacity:1}.tippy-backdrop+.tippy-content[data-state=hidden]{opacity:0}',oe='3.3.0',ie=Object.assign||function(e){for(var t,r=1;r<arguments.length;r++)for(var a in t=arguments[r],t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},ne={a11y:!0,allowHTML:!0,animateFill:!0,animation:'shift-away',appendTo:function(){return document.body},arrow:!1,arrowTransform:'',arrowType:'sharp',content:'',delay:[0,20],distance:10,duration:[325,275],flip:!0,flipBehavior:'flip',followCursor:!1,hideOnClick:!0,inertia:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,lazy:!0,livePlacement:!0,maxWidth:'',multiple:!1,offset:0,onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},performance:!1,placement:'top',popperOptions:{},shouldPopperHideOnBlur:function(){return!0},showOnInit:!1,size:'regular',sticky:!1,target:'',theme:'dark',touch:!0,touchHold:!1,trigger:'mouseenter focus',updateDuration:200,wait:null,zIndex:9999},se=function(e){ne=ie({},ne,e)},le=['arrowType','distance','flip','flipBehavior','offset','placement','popperOptions'],de='undefined'!=typeof window,me=de?navigator:{},ce=de?window:{},fe=('MutationObserver'in ce),he=/MSIE |Trident\\//.test(me.userAgent),be=/iPhone|iPad|iPod/.test(me.platform)&&!ce.MSStream,ye=('ontouchstart'in ce),ue='undefined'!=typeof window&&'undefined'!=typeof document,ge=['Edge','Trident','Firefox'],xe=0,we=0;we<ge.length;we+=1)if(ue&&0<=navigator.userAgent.indexOf(ge[we])){xe=1;break}var i=ue&&window.Promise,ve=i?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},xe))}},ke=ue&&!!(window.MSInputMethodContext&&document.documentMode),Ee=ue&&/MSIE 10/.test(navigator.userAgent),Oe=function(e,t){if(!(e instanceof t))throw new TypeError('Cannot call a class as a function')},Ce=function(){function e(e,t){for(var r,a=0;a<t.length;a++)r=t[a],r.enumerable=r.enumerable||!1,r.configurable=!0,'value'in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}return function(t,r,a){return r&&e(t.prototype,r),a&&e(t,a),t}}(),Le=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},Te=Object.assign||function(e){for(var t,r=1;r<arguments.length;r++)for(var a in t=arguments[r],t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},Ae=ue&&/Firefox/i.test(navigator.userAgent),Ye=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],Se=Ye.slice(3),Pe={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},De=function(){function t(r,a){var p=this,o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};Oe(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(p.update)},this.update=ve(this.update.bind(this)),this.options=Te({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=r&&r.jquery?r[0]:r,this.popper=a&&a.jquery?a[0]:a,this.options.modifiers={},Object.keys(Te({},t.Defaults.modifiers,o.modifiers)).forEach(function(e){p.options.modifiers[e]=Te({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return Te({name:e},p.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(t){t.enabled&&e(t.onLoad)&&t.onLoad(p.reference,p.popper,p.options,t,p.state)}),this.update();var i=this.options.eventsEnabled;i&&this.enableEventListeners(),this.state.eventsEnabled=i}return Ce(t,[{key:'update',value:function(){return P.call(this)}},{key:'destroy',value:function(){return I.call(this)}},{key:'enableEventListeners',value:function(){return W.call(this)}},{key:'disableEventListeners',value:function(){return M.call(this)}}]),t}();De.Utils=('undefined'==typeof window?global:window).PopperUtils,De.placements=Ye,De.Defaults={placement:'bottom',positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,r=t.split('-')[0],a=t.split('-')[1];if(a){var p=e.offsets,o=p.reference,i=p.popper,n=-1!==['bottom','top'].indexOf(r),s=n?'left':'top',l=n?'width':'height',d={start:Le({},s,o[s]),end:Le({},s,o[s]+o[l]-i[l])};e.offsets.popper=Te({},i,d[a])}return e}},offset:{order:200,enabled:!0,fn:J,offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var r=t.boundariesElement||o(e.instance.popper);e.instance.reference===r&&(r=o(r));var a=X('transform'),p=e.instance.popper.style,i=p.top,n=p.left,s=p[a];p.top='',p.left='',p[a]='';var l=v(e.instance.popper,e.instance.reference,t.padding,r,e.positionFixed);p.top=i,p.left=n,p[a]=s,t.boundaries=l;var d=t.priority,m=e.offsets.popper,c={primary:function(e){var r=m[e];return m[e]<l[e]&&!t.escapeWithReference&&(r=ae(m[e],l[e])),Le({},e,r)},secondary:function(e){var r='right'===e?'left':'top',a=m[r];return m[e]>l[e]&&!t.escapeWithReference&&(a=ee(m[r],l[e]-('right'===e?m.width:m.height))),Le({},r,a)}};return d.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';m=Te({},m,c[t](e))}),e.offsets.popper=m,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,r=t.popper,a=t.reference,p=e.placement.split('-')[0],o=te,i=-1!==['top','bottom'].indexOf(p),n=i?'right':'bottom',s=i?'left':'top',l=i?'width':'height';return r[n]<o(a[s])&&(e.offsets.popper[s]=o(a[s])-r[l]),r[s]>o(a[n])&&(e.offsets.popper[s]=o(a[n])),e}},arrow:{order:500,enabled:!0,fn:function(e,r){var a;if(!V(e.instance.modifiers,'arrow','keepTogether'))return e;var p=r.element;if('string'==typeof p){if(p=e.instance.popper.querySelector(p),!p)return e;}else if(!e.instance.popper.contains(p))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var o=e.placement.split('-')[0],i=e.offsets,n=i.popper,s=i.reference,l=-1!==['left','right'].indexOf(o),d=l?'height':'width',m=l?'Top':'Left',c=m.toLowerCase(),f=l?'left':'top',h=l?'bottom':'right',y=C(p)[d];s[h]-y<n[c]&&(e.offsets.popper[c]-=n[c]-(s[h]-y)),s[c]+y>n[h]&&(e.offsets.popper[c]+=s[c]+y-n[h]),e.offsets.popper=b(e.offsets.popper);var u=s[c]+s[d]/2-y/2,g=t(e.instance.popper),x=parseFloat(g['margin'+m],10),w=parseFloat(g['border'+m+'Width'],10),v=u-e.offsets.popper[c]-x-w;return v=ae(ee(n[d]-y,v),0),e.arrowElement=p,e.offsets.arrow=(a={},Le(a,c,re(v)),Le(a,f,''),a),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(D(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var r=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),a=e.placement.split('-')[0],p=L(a),o=e.placement.split('-')[1]||'',i=[];switch(t.behavior){case Pe.FLIP:i=[a,p];break;case Pe.CLOCKWISE:i=j(a);break;case Pe.COUNTERCLOCKWISE:i=j(a,!0);break;default:i=t.behavior;}return i.forEach(function(n,s){if(a!==n||i.length===s+1)return e;a=e.placement.split('-')[0],p=L(a);var l=e.offsets.popper,d=e.offsets.reference,m=te,c='left'===a&&m(l.right)>m(d.left)||'right'===a&&m(l.left)<m(d.right)||'top'===a&&m(l.bottom)>m(d.top)||'bottom'===a&&m(l.top)<m(d.bottom),f=m(l.left)<m(r.left),h=m(l.right)>m(r.right),b=m(l.top)<m(r.top),y=m(l.bottom)>m(r.bottom),u='left'===a&&f||'right'===a&&h||'top'===a&&b||'bottom'===a&&y,g=-1!==['top','bottom'].indexOf(a),x=!!t.flipVariations&&(g&&'start'===o&&f||g&&'end'===o&&h||!g&&'start'===o&&b||!g&&'end'===o&&y);(c||u||x)&&(e.flipped=!0,(c||u)&&(a=i[s+1]),x&&(o=q(o)),e.placement=a+(o?'-'+o:''),e.offsets.popper=Te({},e.offsets.popper,T(e.instance.popper,e.offsets.reference,e.placement)),e=S(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,r=t.split('-')[0],a=e.offsets,p=a.popper,o=a.reference,i=-1!==['left','right'].indexOf(r),n=-1===['top','left'].indexOf(r);return p[i?'left':'top']=o[r]-(n?p[i?'width':'height']:0),e.placement=L(t),e.offsets.popper=b(p),e}},hide:{order:800,enabled:!0,fn:function(e){if(!V(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,r=A(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottom<r.top||t.left>r.right||t.top>r.bottom||t.right<r.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var r=t.x,a=t.y,p=e.offsets.popper,i=A(e.instance.modifiers,function(e){return'applyStyle'===e.name}).gpuAcceleration;void 0!==i&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var n=void 0===i?t.gpuAcceleration:i,s=o(e.instance.popper),l=u(s),d={position:p.position},m=U(e,2>window.devicePixelRatio||!Ae),c='bottom'===r?'top':'bottom',f='right'===a?'left':'right',h=X('transform'),b=void 0,y=void 0;if(y='bottom'==c?'HTML'===s.nodeName?-s.clientHeight+m.bottom:-l.height+m.bottom:m.top,b='right'==f?'HTML'===s.nodeName?-s.clientWidth+m.right:-l.width+m.right:m.left,n&&h)d[h]='translate3d('+b+'px, '+y+'px, 0)',d[c]=0,d[f]=0,d.willChange='transform';else{var g='bottom'==c?-1:1,x='right'==f?-1:1;d[c]=y*g,d[f]=b*x,d.willChange=c+', '+f}var w={\"x-placement\":e.placement};return e.attributes=Te({},w,e.attributes),e.styles=Te({},d,e.styles),e.arrowStyles=Te({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return _(e.instance.popper,e.styles),F(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&_(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,r,a,p){var o=O(p,t,e,r.positionFixed),i=E(r.placement,o,t,e,r.modifiers.flip.boundariesElement,r.modifiers.flip.padding);return t.setAttribute('x-placement',i),_(t,{position:r.positionFixed?'fixed':'absolute'}),r},gpuAcceleration:void 0}}};var Xe={POPPER:'.tippy-popper',TOOLTIP:'.tippy-tooltip',CONTENT:'.tippy-content',BACKDROP:'.tippy-backdrop',ARROW:'.tippy-arrow',ROUND_ARROW:'.tippy-roundarrow'},Ie={x:!0},Ne=function(e){return[].slice.call(e)},He=function(e,t){t.content instanceof Element?(_e(e,''),e.appendChild(t.content)):e[t.allowHTML?'innerHTML':'textContent']=t.content},Re=function(e){return!(e instanceof Element)||at.call(e,'a[href],area[href],button,details,input,textarea,select,iframe,[tabindex]')&&!e.hasAttribute('disabled')},We=function(e,t){e.filter(Boolean).forEach(function(e){e.style.transitionDuration=t+'ms'})},Be=function(e){var t=function(t){return e.querySelector(t)};return{tooltip:t(Xe.TOOLTIP),backdrop:t(Xe.BACKDROP),content:t(Xe.CONTENT),arrow:t(Xe.ARROW)||t(Xe.ROUND_ARROW)}},Me=function(e){return'[object Object]'==={}.toString.call(e)},ze=function(){return document.createElement('div')},_e=function(e,t){e[Ie.x&&'innerHTML']=t instanceof Element?t[Ie.x&&'innerHTML']:t},Fe=function(e){if(e instanceof Element||Me(e))return[e];if(e instanceof NodeList)return Ne(e);if(Array.isArray(e))return e;try{return Ne(document.querySelectorAll(e))}catch(t){return[]}},Ue=function(e){return!isNaN(e)&&!isNaN(parseFloat(e))},Ve=function(e,t,r){if(Array.isArray(e)){var a=e[t];return null==a?r:a}return e},qe=function(e){var t=ze();return'round'===e?(t.className='tippy-roundarrow',_e(t,'<svg viewBox=\"0 0 24 8\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 8s2.021-.015 5.253-4.218C9.584 2.051 10.797 1.007 12 1c1.203-.007 2.416 1.035 3.761 2.782C19.012 8.005 21 8 21 8H3z\"/></svg>')):t.className='tippy-arrow',t},je=function(){var e=ze();return e.className='tippy-backdrop',e.setAttribute('data-state','hidden'),e},Ke=function(e,t){e.setAttribute('tabindex','-1'),t.setAttribute('data-interactive','')},Ge=function(e,t){e.removeAttribute('tabindex'),t.removeAttribute('data-interactive')},Je=function(e){e.setAttribute('data-inertia','')},Ze=function(e){e.removeAttribute('data-inertia')},$e=function(e,t){var r=ze();r.className='tippy-popper',r.setAttribute('role','tooltip'),r.id='tippy-'+e,r.style.zIndex=t.zIndex;var a=ze();a.className='tippy-tooltip',a.style.maxWidth=t.maxWidth+('number'==typeof t.maxWidth?'px':''),a.setAttribute('data-size',t.size),a.setAttribute('data-animation',t.animation),a.setAttribute('data-state','hidden'),t.theme.split(' ').forEach(function(e){a.classList.add(e+'-theme')});var p=ze();return p.className='tippy-content',p.setAttribute('data-state','hidden'),t.interactive&&Ke(r,a),t.arrow&&a.appendChild(qe(t.arrowType)),t.animateFill&&(a.appendChild(je()),a.setAttribute('data-animatefill','')),t.inertia&&a.setAttribute('data-inertia',''),He(p,t),a.appendChild(p),r.appendChild(a),r.addEventListener('focusout',function(t){t.relatedTarget&&r._tippy&&!ot(t.relatedTarget,function(e){return e===r})&&t.relatedTarget!==r._tippy.reference&&r._tippy.props.shouldPopperHideOnBlur(t)&&r._tippy.hide()}),r},Qe=function(e,t,r){var a=Be(e),p=a.tooltip,o=a.content,i=a.backdrop,n=a.arrow;e.style.zIndex=r.zIndex,p.setAttribute('data-size',r.size),p.setAttribute('data-animation',r.animation),p.style.maxWidth=r.maxWidth+('number'==typeof r.maxWidth?'px':''),t.content!==r.content&&He(o,r),!t.animateFill&&r.animateFill?(p.appendChild(je()),p.setAttribute('data-animatefill','')):t.animateFill&&!r.animateFill&&(p.removeChild(i),p.removeAttribute('data-animatefill')),!t.arrow&&r.arrow?p.appendChild(qe(r.arrowType)):t.arrow&&!r.arrow&&p.removeChild(n),t.arrow&&r.arrow&&t.arrowType!==r.arrowType&&p.replaceChild(qe(r.arrowType),n),!t.interactive&&r.interactive?Ke(e,p):t.interactive&&!r.interactive&&Ge(e,p),!t.inertia&&r.inertia?Je(p):t.inertia&&!r.inertia&&Ze(p),t.theme!==r.theme&&(t.theme.split(' ').forEach(function(e){p.classList.remove(e+'-theme')}),r.theme.split(' ').forEach(function(e){p.classList.add(e+'-theme')}))},et=function(e){Ne(document.querySelectorAll(Xe.POPPER)).forEach(function(t){var r=t._tippy;r&&!0===r.props.hideOnClick&&(!e||t!==e.popper)&&r.hide()})},tt=function(e){return Object.keys(ne).reduce(function(t,r){var a=(e.getAttribute('data-tippy-'+r)||'').trim();return a?(t[r]='content'===r?a:'true'===a||'false'!==a&&(Ue(a)?+a:'['===a[0]||'{'===a[0]?JSON.parse(a):a),t):t},{})},rt=function(e){var t={isVirtual:!0,attributes:e.attributes||{},setAttribute:function(t,r){e.attributes[t]=r},getAttribute:function(t){return e.attributes[t]},removeAttribute:function(t){delete e.attributes[t]},hasAttribute:function(t){return t in e.attributes},addEventListener:function(){},removeEventListener:function(){},classList:{classNames:{},add:function(t){e.classList.classNames[t]=!0},remove:function(t){delete e.classList.classNames[t]},contains:function(t){return t in e.classList.classNames}}};for(var r in t)e[r]=t[r];return e},at=function(){if(de){var t=Element.prototype;return t.matches||t.matchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector}}(),pt=function(e,t){return(Element.prototype.closest||function(e){for(var t=this;t;){if(at.call(t,e))return t;t=t.parentElement}}).call(e,t)},ot=function(e,t){for(;e;){if(t(e))return e;e=e.parentElement}},it=function(e){var t=window.scrollX||window.pageXOffset,r=window.scrollY||window.pageYOffset;e.focus(),scroll(t,r)},nt=function(e){void e.offsetHeight},st=function(e,t){return(t?e:{X:'Y',Y:'X'}[e])||''},lt=function(e,t,r,p){var o=t[0],i=t[1];if(!o&&!i)return'';var n={scale:function(){return i?r?o+', '+i:i+', '+o:''+o}(),translate:function(){return i?r?p?o+'px, '+-i+'px':o+'px, '+i+'px':p?-i+'px, '+o+'px':i+'px, '+o+'px':p?-o+'px':o+'px'}()};return n[e]},dt=function(e,t){var r=e.match(new RegExp(t+'([XY])'));return r?r[1]:''},mt=function(e,t){var r=e.match(t);return r?r[1].split(',').map(parseFloat):[]},ct={translate:/translateX?Y?\\(([^)]+)\\)/,scale:/scaleX?Y?\\(([^)]+)\\)/},ft=function(e,t){var r=xt(pt(e,Xe.POPPER)),a='top'===r||'bottom'===r,p='right'===r||'bottom'===r,o={translate:{axis:dt(t,'translate'),numbers:mt(t,ct.translate)},scale:{axis:dt(t,'scale'),numbers:mt(t,ct.scale)}},i=t.replace(ct.translate,'translate'+st(o.translate.axis,a)+'('+lt('translate',o.translate.numbers,a,p)+')').replace(ct.scale,'scale'+st(o.scale.axis,a)+'('+lt('scale',o.scale.numbers,a,p)+')');e.style['undefined'==typeof document.body.style.transform?'webkitTransform':'transform']=i},ht=function(e,t){e.filter(Boolean).forEach(function(e){e.setAttribute('data-state',t)})},bt=function(e,t){var r=e.popper,a=e.options,p=a.onCreate,o=a.onUpdate;a.onCreate=a.onUpdate=function(){nt(r),t(),o(),a.onCreate=p,a.onUpdate=o}},yt=function(e){setTimeout(e,1)},ut=function(e,t,r,a){if(!e)return!0;var p=r.clientX,o=r.clientY,i=a.interactiveBorder,n=a.distance,s=t.top-o>('top'===e?i+n:i),l=o-t.bottom>('bottom'===e?i+n:i),d=t.left-p>('left'===e?i+n:i),m=p-t.right>('right'===e?i+n:i);return s||l||d||m},gt=function(e,t){return-(e-t)+'px'},xt=function(e){var t=e.getAttribute('x-placement');return t?t.split('-')[0]:''},wt=function(e,t){var r=ie({},t,t.performance?{}:tt(e));return r.arrow&&(r.animateFill=!1),'function'==typeof r.appendTo&&(r.appendTo=t.appendTo(e)),'function'==typeof r.content&&(r.content=t.content(e)),r},vt=function(e,t,r){e[t+'EventListener']('transitionend',r)},kt=function(e,t){var r;return function(){var a=this,p=arguments;clearTimeout(r),r=setTimeout(function(){return e.apply(a,p)},t)}},Et=function(e,t){for(var r in e||{})if(!(r in t))throw Error('[tippy]: `'+r+'` is not a valid option')},Ot=function(e,t){return{}.hasOwnProperty.call(e,t)},Ct=!1,Lt=function(){Ct||(Ct=!0,be&&document.body.classList.add('tippy-iOS'),window.performance&&document.addEventListener('mousemove',At))},Tt=0,At=function e(){var t=performance.now();20>t-Tt&&(Ct=!1,document.removeEventListener('mousemove',e),!be&&document.body.classList.remove('tippy-iOS')),Tt=t},Yt=function(e){var t=e.target;if(!(t instanceof Element))return et();var r=pt(t,Xe.POPPER);if(!(r&&r._tippy&&r._tippy.props.interactive)){var a=ot(t,function(e){return e._tippy&&e._tippy.reference===e});if(a){var p=a._tippy,o=-1<p.props.trigger.indexOf('click');if(Ct||o)return et(p);if(!0!==p.props.hideOnClick||o)return;p.clearDelayTimeouts()}et()}},St=function(){var e=document,t=e.activeElement;t&&t.blur&&t._tippy&&t.blur()},Pt=function(){Ne(document.querySelectorAll(Xe.POPPER)).forEach(function(e){var t=e._tippy;t.props.livePlacement||t.popperInstance.scheduleUpdate()})},Dt=1,Xt=!1;Q.version=oe,Q.defaults=ne,Q.one=function(e,t){return Q(e,t,!0).instances[0]},Q.setDefaults=function(e){se(e),Q.defaults=ne},Q.disableAnimations=function(){Q.setDefaults({duration:0,updateDuration:0,animateFill:!1})},Q.hideAllPoppers=et,Q.useCapture=function(){};return de&&setTimeout(function(){Ne(document.querySelectorAll('[data-tippy]')).forEach(function(e){var t=e.getAttribute('data-tippy');t&&Q(e,{content:t})})}),function(e){if(fe){var t=document.createElement('style');t.type='text/css',t.textContent=e,document.head.insertBefore(t,document.head.firstChild)}}(pe),Q});\n//# sourceMappingURL=tippy.all.min.js.map\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","import { elementIds } from './modal';\nimport { preventModalBodyTouch, preventModalOverlayTouch } from './modal';\n\n/**\n * Helper method to check if element is hidden, since we cannot use :visible without jQuery\n * @param {HTMLElement} element The element to check for visibility\n * @returns {boolean} true if element is hidden\n * @private\n */\nfunction elementIsHidden(element) {\n return element.offsetWidth === 0 && element.offsetHeight === 0;\n}\n\n/**\n * Get the element from an option object\n *\n * @method getElementFromObject\n * @param Object attachTo\n * @returns {Element}\n * @private\n */\nfunction getElementFromObject(attachTo) {\n const op = attachTo.element;\n\n if (op instanceof HTMLElement) {\n return op;\n }\n\n return document.querySelector(op);\n}\n\n/**\n * Return the element for a step\n *\n * @method getElementForStep\n * @param step step the step to get an element for\n * @returns {Element} the element for this step\n * @private\n */\nfunction getElementForStep(step) {\n const { options: { attachTo } } = step;\n\n if (!attachTo) {\n return null;\n }\n\n const type = typeof attachTo;\n\n let element;\n\n if (type === 'string') {\n element = getElementFromString(attachTo);\n } else if (type === 'object') {\n element = getElementFromObject(attachTo);\n } else {\n /* istanbul ignore next: cannot test undefined attachTo, but it does work! */\n element = null;\n }\n return element;\n}\n\n/**\n * Get the element from an option string\n *\n * @method getElementFromString\n * @param element the string in the step configuration\n * @returns {Element} the element from the string\n * @private\n */\nfunction getElementFromString(element) {\n const [selector] = element.split(' ');\n\n return document.querySelector(selector);\n}\n\nfunction addStepEventListeners() {\n if (typeof this._onScreenChange === 'function') {\n window.removeEventListener('resize', this._onScreenChange, false);\n window.removeEventListener('scroll', this._onScreenChange, false);\n }\n\n window.addEventListener('resize', this._onScreenChange, false);\n window.addEventListener('scroll', this._onScreenChange, false);\n\n const overlay = document.querySelector(`#${elementIds.modalOverlay}`);\n // Prevents window from moving on touch.\n window.addEventListener('touchmove', preventModalBodyTouch, false);\n\n // Allows content to move on touch.\n if (overlay) {\n overlay.addEventListener('touchmove', preventModalOverlayTouch, false);\n }\n}\n\n/**\n * Remove resize and scroll event listeners\n */\nfunction cleanupStepEventListeners() {\n if (typeof this._onScreenChange === 'function') {\n window.removeEventListener('resize', this._onScreenChange, false);\n window.removeEventListener('scroll', this._onScreenChange, false);\n\n this._onScreenChange = null;\n }\n}\n\nexport {\n addStepEventListeners,\n cleanupStepEventListeners,\n elementIsHidden,\n getElementForStep\n};\n","import { Evented } from './evented.js';\nimport { Step } from './step.js';\nimport { Shepherd, Tour } from './tour.js';\n\nObject.assign(Shepherd, { Tour, Step, Evented });\n\nexport default Shepherd;\n","var baseSlice = require('./_baseSlice'),\n toInteger = require('./toInteger');\n\n/**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\nfunction drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n}\n\nmodule.exports = drop;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","/**\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 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","/** 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 * 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 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","/** 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","/**\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","/**\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","/**\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 isObjectLike = require('./isObjectLike'),\n isPlainObject = require('./isPlainObject');\n\n/**\n * Checks if `value` is likely a DOM element.\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 DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('<body>');\n * // => false\n */\nfunction isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n}\n\nmodule.exports = isElement;\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 overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\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 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","/**\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 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 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","if (!Element.prototype.matches) {\n Element.prototype.matches =\n Element.prototype.matchesSelector ||\n Element.prototype.msMatchesSelector ||\n Element.prototype.webkitMatchesSelector;\n}\n","var assignValue = require('./_assignValue'),\n baseZipObject = require('./_baseZipObject');\n\n/**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\nfunction zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n}\n\nmodule.exports = zipObject;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var 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","/**\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","/**\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","/**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\nfunction baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n}\n\nmodule.exports = baseZipObject;\n","export const missingTippy = 'Using the attachment feature of Shepherd requires the Tippy.js library';\n","import { isFunction, isNumber, isString, isUndefined, isEmpty, debounce } from 'lodash';\nimport { Evented } from './evented.js';\nimport { Step } from './step.js';\nimport { bindMethods } from './bind.js';\nimport tippy from 'tippy.js';\nimport { defaults as tooltipDefaults } from './utils/tooltip-defaults';\n\nimport {\n cleanupModal,\n cleanupSteps\n} from './utils/cleanup';\n\nimport {\n addStepEventListeners,\n cleanupStepEventListeners,\n getElementForStep\n} from './utils/dom';\n\nimport {\n getModalMaskOpening,\n createModalOverlay,\n positionModalOpening,\n closeModalOpening,\n classNames as modalClassNames,\n toggleShepherdModalClass\n} from './utils/modal';\n\n/**\n * Creates incremented ID for each newly created tour\n *\n * @private\n * @return {Number} The unique id for the tour\n */\nconst uniqueId = (function() {\n let id = 0;\n return function() {\n return ++id;\n };\n})();\n\nconst Shepherd = new Evented();\n\n/**\n * Class representing the site tour\n * @extends {Evented}\n */\nexport class Tour extends Evented {\n /**\n * @param {Object} options The options for the tour\n * @param {Object} options.defaultStepOptions Default options for Steps created through `addStep`\n * @param {Step[]} options.steps An array of Step instances to initialize the tour with\n * @param {string} options.tourName An optional \"name\" for the tour. This will be appended to the the tour's\n * dynamically generated `id` property -- which is also set on the `body` element as the `data-shepherd-active-tour` attribute\n * whenever the tour becomes active.\n * @param {boolean} options.useModalOverlay Whether or not steps should be placed above a darkened\n * modal overlay. If true, the overlay will create an opening around the target element so that it\n * can remain interactive\n * @returns {Tour}\n */\n constructor(options = {}) {\n super(options);\n bindMethods.call(this, [\n 'back',\n 'cancel',\n 'complete',\n 'next'\n ]);\n this.options = options;\n this.steps = this.options.steps || [];\n\n // Pass these events onto the global Shepherd object\n const events = ['active', 'cancel', 'complete', 'inactive', 'show', 'start'];\n events.map((event) => {\n ((e) => {\n this.on(e, (opts) => {\n opts = opts || {};\n opts.tour = this;\n Shepherd.trigger(e, opts);\n });\n })(event);\n });\n\n this._setTooltipDefaults();\n this._setTourID();\n\n return this;\n }\n\n /**\n * Adds a new step to the tour\n * @param {Object|Number|Step|String} arg1\n * When arg2 is defined, arg1 can either be a string or number, to use for the `id` for the step\n * When arg2 is undefined, arg1 is either an object containing step options or a Step instance\n * @param {Object|Step} arg2 An object containing step options or a Step instance\n * @return {Step} The newly added step\n */\n addStep(arg1, arg2) {\n let name, step;\n\n // If we just have one argument, we can assume it is an object of step options, with an id\n if (isUndefined(arg2)) {\n step = arg1;\n } else {\n name = arg1;\n step = arg2;\n }\n\n if (!(step instanceof Step)) {\n step = this.setupStep(step, name);\n } else {\n step.tour = this;\n }\n\n this.steps.push(step);\n return step;\n }\n\n /**\n * Go to the previous step in the tour\n */\n back() {\n const index = this.steps.indexOf(this.currentStep);\n this.show(index - 1, false);\n }\n\n /**\n * Calls done() triggering the 'cancel' event\n * If `confirmCancel` is true, will show a window.confirm before cancelling\n */\n cancel() {\n if (this.options.confirmCancel) {\n const cancelMessage = this.options.confirmCancelMessage || 'Are you sure you want to stop the tour?';\n const stopTour = window.confirm(cancelMessage);\n if (stopTour) {\n this.done('cancel');\n }\n } else {\n this.done('cancel');\n }\n }\n\n /**\n * Calls done() triggering the `complete` event\n */\n complete() {\n this.done('complete');\n }\n\n /**\n * Called whenever the tour is cancelled or completed, basically anytime we exit the tour\n * @param {String} event The event name to trigger\n */\n done(event) {\n if (!isEmpty(this.steps)) {\n this.steps.forEach((step) => step.destroy());\n }\n\n cleanupStepEventListeners.call(this);\n cleanupSteps(this.tourObject);\n cleanupModal.call(this);\n\n this.trigger(event);\n\n Shepherd.activeTour = null;\n this._removeBodyAttrs();\n this.trigger('inactive', { tour: this });\n }\n\n /**\n * Gets the step from a given id\n * @param {Number|String} id The id of the step to retrieve\n * @return {Step} The step corresponding to the `id`\n */\n getById(id) {\n return this.steps.find((step) => {\n return step.id === id;\n });\n }\n\n /**\n * Gets the current step\n * @returns {Step|null}\n */\n getCurrentStep() {\n return this.currentStep;\n }\n\n /**\n * Hide the current step\n */\n hide() {\n const currentStep = this.getCurrentStep();\n\n if (currentStep) {\n this._hideModalOverlay();\n return currentStep.hide();\n }\n }\n\n isActive() {\n return Shepherd.activeTour === this;\n }\n\n /**\n * Go to the next step in the tour\n * If we are at the end, call `complete`\n */\n next() {\n const index = this.steps.indexOf(this.currentStep);\n\n if (index === this.steps.length - 1) {\n this.complete();\n } else {\n this.show(index + 1, true);\n }\n }\n\n /**\n * Removes the step from the tour\n * @param {String} name The id for the step to remove\n */\n removeStep(name) {\n const current = this.getCurrentStep();\n\n // Find the step, destroy it and remove it from this.steps\n this.steps.some((step, i) => {\n if (step.id === name) {\n if (step.isOpen()) {\n step.hide();\n }\n\n step.destroy();\n this.steps.splice(i, 1);\n\n return true;\n }\n });\n\n if (current && current.id === name) {\n this.currentStep = undefined;\n\n // If we have steps left, show the first one, otherwise just cancel the tour\n this.steps.length ? this.show(0) : this.cancel();\n }\n }\n\n /**\n * Setup a new step object\n * @param {Object} stepOptions The object describing the options for the step\n * @param {String|Number} name The string or number to use as the `id` for the step\n * @return {Step} The step instance\n */\n setupStep(stepOptions, name) {\n if (isString(name) || isNumber(name)) {\n stepOptions.id = name.toString();\n }\n\n stepOptions = Object.assign({}, this.options.defaultStepOptions, stepOptions);\n\n return new Step(this, stepOptions);\n }\n\n beforeShowStep(step) {\n this._setupModalForStep(step);\n this._styleTargetElementForStep(step);\n }\n\n /**\n * Show a specific step in the tour\n * @param {Number|String} key The key to look up the step by\n * @param {Boolean} forward True if we are going forward, false if backward\n */\n show(key = 0, forward = true) {\n const step = isString(key) ? this.getById(key) : this.steps[key];\n\n if (step) {\n this._updateStateBeforeShow();\n\n const shouldSkipStep = isFunction(step.options.showOn) && !step.options.showOn();\n\n // If `showOn` returns false, we want to skip the step, otherwise, show the step like normal\n if (shouldSkipStep) {\n this._skipStep(step, forward);\n } else {\n this.trigger('show', {\n step,\n previous: this.currentStep\n });\n\n this.currentStep = step;\n step.show();\n }\n }\n }\n\n /**\n * Start the tour\n */\n start() {\n this.trigger('start');\n\n this.currentStep = null;\n this._setupActiveTour();\n this._initModalOverlay();\n addStepEventListeners.call(this);\n this.next();\n }\n\n /**\n * Make this tour \"active\"\n * @private\n */\n _setupActiveTour() {\n this._addBodyAttrs();\n this.trigger('active', { tour: this });\n\n Shepherd.activeTour = this;\n }\n\n /**\n *\n */\n _initModalOverlay() {\n if (!this._modalOverlayElem) {\n this._modalOverlayElem = createModalOverlay();\n this._modalOverlayOpening = getModalMaskOpening(this._modalOverlayElem);\n\n // don't show yet -- each step will control that\n this._hideModalOverlay();\n\n document.body.appendChild(this._modalOverlayElem);\n }\n }\n\n /**\n * Modulates the styles of the passed step's target element, based on the step's options and\n * the tour's `modal` option, to visually emphasize the element\n *\n * @param step The step object that attaches to the element\n * @private\n */\n _styleTargetElementForStep(step) {\n const targetElement = getElementForStep(step);\n\n if (!targetElement) {\n return;\n }\n\n toggleShepherdModalClass(targetElement);\n\n if (step.options.highlightClass) {\n targetElement.classList.add(step.options.highlightClass);\n }\n\n if (step.options.canClickTarget === false) {\n targetElement.style.pointerEvents = 'none';\n }\n }\n\n /**\n * If modal is enabled, setup the svg mask opening and modal overlay for the step\n * @param step\n * @private\n */\n _setupModalForStep(step) {\n if (this.options.useModalOverlay) {\n this._styleModalOpeningForStep(step);\n this._showModalOverlay();\n\n } else {\n this._hideModalOverlay();\n }\n }\n\n _styleModalOpeningForStep(step) {\n const modalOverlayOpening = this._modalOverlayOpening;\n const targetElement = getElementForStep(step);\n\n if (targetElement) {\n positionModalOpening(targetElement, modalOverlayOpening);\n\n this._onScreenChange = debounce(\n positionModalOpening.bind(this, targetElement, modalOverlayOpening),\n 0,\n { leading: false, trailing: true } // see https://lodash.com/docs/#debounce\n );\n\n addStepEventListeners.call(this);\n\n } else {\n closeModalOpening(this._modalOverlayOpening);\n }\n }\n\n /**\n * Show the modal overlay\n * @private\n */\n _showModalOverlay() {\n document.body.classList.add(modalClassNames.isVisible);\n\n if (this._modalOverlayElem) {\n this._modalOverlayElem.style.display = 'block';\n }\n }\n\n /**\n * Hide the modal overlay\n * @private\n */\n _hideModalOverlay() {\n document.body.classList.remove(modalClassNames.isVisible);\n\n if (this._modalOverlayElem) {\n this._modalOverlayElem.style.display = 'none';\n }\n }\n\n /**\n * Called when `showOn` evaluates to false, to skip the step\n * @param {Step} step The step to skip\n * @param {Boolean} forward True if we are going forward, false if backward\n * @private\n */\n _skipStep(step, forward) {\n const index = this.steps.indexOf(step);\n const nextIndex = forward ? index + 1 : index - 1;\n this.show(nextIndex, forward);\n }\n\n _setTooltipDefaults() {\n tippy.setDefaults(tooltipDefaults);\n }\n\n _updateStateBeforeShow() {\n if (this.currentStep) {\n this.currentStep.hide();\n }\n\n if (!this.isActive()) {\n this._setupActiveTour();\n }\n }\n\n _setTourID() {\n const tourName = this.options.tourName || 'tour';\n const uuid = uniqueId();\n\n this.id = `${tourName}--${uuid}`;\n }\n\n _addBodyAttrs() {\n document.body.setAttribute('data-shepherd-active-tour', this.id);\n document.body.classList.add('shepherd-active');\n }\n\n _removeBodyAttrs() {\n document.body.removeAttribute('data-shepherd-active-tour');\n document.body.classList.remove('shepherd-active');\n }\n\n}\n\nexport { Shepherd };\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","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 freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/**\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 baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","export const defaults = {\n trigger: 'manual',\n arrow: true,\n arrowTransform: 'scale(2)',\n animation: 'fade',\n duration: 420,\n flip: true,\n animateFill: false, // https://atomiks.github.io/tippyjs/#animate-fill-option\n interactive: true, // https://atomiks.github.io/tippyjs/#interactive-option\n hideOnClick: 'toggle', // https://atomiks.github.io/tippyjs/#hide-on-click-option\n multiple: true // https://atomiks.github.io/tippyjs/#multiple-option\n};\n","import { defer } from 'lodash';\nimport { classNames as modalClassNames, preventModalBodyTouch } from './modal';\nimport { getElementForStep } from './dom';\n\n/**\n * Removes svg mask from modal overlay and removes classes for modal being visible\n */\nexport function cleanupModal() {\n defer(() => {\n const element = this._modalOverlayElem;\n\n if (element && element instanceof SVGElement) {\n element.parentNode.removeChild(element);\n }\n\n this._modalOverlayElem = null;\n document.body.classList.remove(modalClassNames.isVisible);\n });\n}\n\n/**\n * Cleanup the steps and set pointerEvents back to 'auto'\n * @param tour The tour object\n */\nexport function cleanupSteps(tour) {\n if (tour) {\n const { steps } = tour;\n\n steps.forEach((step) => {\n if (step.options && step.options.canClickTarget === false && step.options.attachTo) {\n const stepElement = getElementForStep(step);\n\n if (stepElement instanceof HTMLElement) {\n stepElement.style.pointerEvents = 'auto';\n }\n }\n });\n }\n}\n\n/**\n * Remove resize and scroll event listeners\n */\nexport function cleanupStepEventListeners() {\n if (typeof this._onScreenChange === 'function') {\n window.removeEventListener('resize', this._onScreenChange, false);\n window.removeEventListener('scroll', this._onScreenChange, false);\n window.removeEventListener('touchmove', preventModalBodyTouch, false);\n\n this._onScreenChange = null;\n }\n}\n","var baseDelay = require('./_baseDelay'),\n baseRest = require('./_baseRest');\n\n/**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\nvar defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n});\n\nmodule.exports = defer;\n","/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\nfunction baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n}\n\nmodule.exports = baseDelay;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","/**\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 apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * 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"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://Shepherd/webpack/universalModuleDefinition","webpack://Shepherd/webpack/bootstrap","webpack://Shepherd/./node_modules/lodash/isUndefined.js","webpack://Shepherd/./node_modules/lodash/isObjectLike.js","webpack://Shepherd/./node_modules/lodash/isString.js","webpack://Shepherd/./node_modules/lodash/_baseGetTag.js","webpack://Shepherd/./src/js/utils/modal.js","webpack://Shepherd/./src/js/evented.js","webpack://Shepherd/./node_modules/lodash/isFunction.js","webpack://Shepherd/./node_modules/lodash/_overArg.js","webpack://Shepherd/./src/js/utils/dom.js","webpack://Shepherd/./src/js/step.js","webpack://Shepherd/./node_modules/lodash/isArray.js","webpack://Shepherd/./node_modules/lodash/isObject.js","webpack://Shepherd/./node_modules/lodash/isEmpty.js","webpack://Shepherd/./node_modules/lodash/forOwn.js","webpack://Shepherd/./src/js/bind.js","webpack://Shepherd/./src/js/utils.js","webpack://Shepherd/./node_modules/tippy.js/dist/tippy.all.min.js","webpack://Shepherd/(webpack)/buildin/global.js","webpack://Shepherd/./src/js/shepherd.js","webpack://Shepherd/./node_modules/lodash/drop.js","webpack://Shepherd/./node_modules/lodash/_baseSlice.js","webpack://Shepherd/./node_modules/lodash/toInteger.js","webpack://Shepherd/./node_modules/lodash/_baseKeys.js","webpack://Shepherd/./node_modules/lodash/_getTag.js","webpack://Shepherd/./node_modules/lodash/isArguments.js","webpack://Shepherd/./node_modules/lodash/isArrayLike.js","webpack://Shepherd/./node_modules/lodash/isLength.js","webpack://Shepherd/./node_modules/lodash/isBuffer.js","webpack://Shepherd/./node_modules/lodash/_isPrototype.js","webpack://Shepherd/./node_modules/lodash/isTypedArray.js","webpack://Shepherd/./node_modules/lodash/isElement.js","webpack://Shepherd/./node_modules/lodash/isPlainObject.js","webpack://Shepherd/./node_modules/lodash/_getPrototype.js","webpack://Shepherd/./node_modules/lodash/_baseForOwn.js","webpack://Shepherd/./node_modules/lodash/_baseFor.js","webpack://Shepherd/./node_modules/lodash/_createBaseFor.js","webpack://Shepherd/./node_modules/lodash/keys.js","webpack://Shepherd/./node_modules/lodash/_castFunction.js","webpack://Shepherd/./node_modules/element-matches/index.js","webpack://Shepherd/./node_modules/lodash/zipObject.js","webpack://Shepherd/./node_modules/lodash/_assignValue.js","webpack://Shepherd/./node_modules/lodash/_baseAssignValue.js","webpack://Shepherd/./node_modules/lodash/_defineProperty.js","webpack://Shepherd/./node_modules/lodash/_getNative.js","webpack://Shepherd/./node_modules/lodash/eq.js","webpack://Shepherd/./node_modules/lodash/_baseZipObject.js","webpack://Shepherd/./src/js/utils/error-messages.js","webpack://Shepherd/./src/js/tour.js","webpack://Shepherd/./node_modules/lodash/isNumber.js","webpack://Shepherd/./src/js/modal.js","webpack://Shepherd/./node_modules/lodash/defer.js","webpack://Shepherd/./node_modules/lodash/_baseDelay.js","webpack://Shepherd/./node_modules/lodash/_baseRest.js","webpack://Shepherd/./node_modules/lodash/identity.js","webpack://Shepherd/./node_modules/lodash/_overRest.js","webpack://Shepherd/./node_modules/lodash/_apply.js","webpack://Shepherd/./node_modules/lodash/_setToString.js","webpack://Shepherd/./node_modules/lodash/debounce.js","webpack://Shepherd/./node_modules/lodash/now.js","webpack://Shepherd/./node_modules/lodash/_root.js","webpack://Shepherd/./node_modules/lodash/_freeGlobal.js","webpack://Shepherd/./node_modules/lodash/toNumber.js","webpack://Shepherd/./src/js/utils/tooltip-defaults.js","webpack://Shepherd/./src/js/utils/cleanup.js"],"names":["svgNS","elementIds","modalOverlay","modalOverlayMask","modalOverlayMaskOpening","classNames","isVisible","modalTarget","_createModalContainer","element","document","createElementNS","setAttributeNS","_createMaskContainer","_createMaskRect","_createMaskOpening","_createMaskConsumer","createModalOverlay","containerElement","defsElement","maskContainer","maskRect","maskOpening","maskConsumer","appendChild","positionModalOpening","targetElement","openingElement","getBoundingClientRect","SVGElement","x","y","width","height","closeModalOpening","getModalMaskOpening","modalElement","querySelector","preventModalBodyTouch","event","preventDefault","preventModalOverlayTouch","stopPropagation","toggleShepherdModalClass","currentElement","shepherdModal","classList","remove","add","Evented","handler","ctx","once","arguments","length","undefined","bindings","push","on","forEach","binding","index","splice","args","context","apply","elementIsHidden","offsetWidth","offsetHeight","getElementFromObject","attachTo","op","HTMLElement","getElementForStep","step","options","type","getElementFromString","split","selector","addStepEventListeners","_onScreenChange","window","removeEventListener","addEventListener","overlay","passive","cleanupStepEventListeners","uniqueId","id","Step","tour","bindMethods","call","setOptions","bindAdvance","bind","bindButtonEvents","bindCancelLink","setupTooltip","parseAttachTo","content","buttons","footer","createElement","map","cfg","button","classes","text","header","showCancelLink","link","paragraphs","paragraph","innerHTML","title","_addContent","_addButtons","_addCancelLink","cancel","trigger","complete","tooltip","destroy","el","parentNode","removeChild","target","_updateStepTargetOnHide","modal","hide","body","removeAttribute","Boolean","state","_createTooltipContent","advanceOn","scrollToHandler","scrollIntoView","when","beforeShowPromise","then","_show","beforeShowStep","setupElements","setAttribute","scrollTo","setTimeout","show","highlightClass","_setupAdvanceOnHandler","isOpen","targetIsEl","targetIsSelector","matches","next","events","action","click","page","dataset","buttonEvent","e","methods","method","createFromHTML","_parseAttachToOpts","parseShorthand","centeredStylePopperModifier","computeStyle","enabled","fn","data","styles","Object","assign","left","top","transform","defaultPopperOptions","positionFixed","html","children","opts","hasOwnProperty","positionRe","exec","obj","props","values","tippy","Error","missingTippy","attachToOpts","_makeTippyInstance","returnOpts","console","error","attachToOptions","_makeCenteredTippy","tippyOptions","_makeAttachedTippyOptions","one","resultingTippyOptions","placement","popperOptions","arrow","finalPopperOptions","modifiers","Shepherd","Tour","steps","Modal","_setTooltipDefaults","_setTourID","arg1","arg2","name","setupStep","indexOf","currentStep","confirmCancel","cancelMessage","confirmCancelMessage","stopTour","confirm","done","tourObject","cleanup","activeTour","_removeBodyAttrs","find","getCurrentStep","current","some","i","stepOptions","toString","defaultStepOptions","setupForStep","_styleTargetElementForStep","key","forward","getById","_updateStateBeforeShow","shouldSkipStep","showOn","_skipStep","previous","_setupActiveTour","_addBodyAttrs","canClickTarget","style","pointerEvents","nextIndex","setDefaults","tooltipDefaults","isActive","tourName","uuid","_modalOverlayElem","_modalOverlayOpening","modalClassNames","display","useModalOverlay","_styleForStep","modalOverlayOpening","leading","trailing","defaults","arrowTransform","animation","duration","flip","animateFill","interactive","hideOnClick","multiple","cleanupSteps","stepElement"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;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;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;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,CAAe;AACxC,cAAc,mBAAO,CAAC,EAAW;AACjC,mBAAmB,mBAAO,CAAC,CAAgB;;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;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA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ACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA,cAAc,mBAAO,CAAC,CAAY;;AAElC;AACA;;AAEA;;;;;;;ACLA;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;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,CAAc;AACvC,eAAe,mBAAO,CAAC,EAAY;;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACjBA,mBAAmB,mBAAO,CAAC,CAAgB;AAC3C,oBAAoB,mBAAO,CAAC,EAAiB;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA,iBAAiB,mBAAO,CAAC,CAAe;AACxC,mBAAmB,mBAAO,CAAC,EAAiB;AAC5C,mBAAmB,mBAAO,CAAC,CAAgB;;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,cAAc,mBAAO,CAAC,CAAY;;AAElC;AACA;;AAEA;;;;;;;ACLA,cAAc,mBAAO,CAAC,EAAY;AAClC,WAAW,mBAAO,CAAC,EAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACfA,oBAAoB,mBAAO,CAAC,EAAkB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;;AAEA;;;;;;;ACfA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA,cAAc,mBAAO,CAAC,CAAY;;AAElC;AACA;;AAEA;;;;;;;ACLA;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;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA,kBAAkB,mBAAO,CAAC,EAAgB;AAC1C,oBAAoB,mBAAO,CAAC,EAAkB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA,sBAAsB,mBAAO,CAAC,EAAoB;AAClD,SAAS,mBAAO,CAAC,EAAM;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,qBAAqB,mBAAO,CAAC,EAAmB;;AAEhD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;ACxBA,gBAAgB,mBAAO,CAAC,EAAc;;AAEtC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;ACVA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;ACZA;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;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA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E;AAC/D;;AAEA;;;;;;;ACpBA,eAAe,mBAAO,CAAC,EAAY;AACnC,eAAe,mBAAO,CAAC,EAAa;AACpC,kBAAkB,mBAAO,CAAC,EAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;;;;;;;AChBA;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,YAAY,mBAAO,CAAC,EAAU;;AAE9B;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;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,eAAe,mBAAO,CAAC,EAAY;AACnC,UAAU,mBAAO,CAAC,EAAO;AACzB,eAAe,mBAAO,CAAC,EAAY;;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,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;ACRA;AACA;;AAEA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACpBO,IAAMQ,QAAQ,WAARA,QAAQ,GAAG;AACtBrJ,SAAO,EAAE,QADa;AAEtBsF,OAAK,EAAE,IAFe;AAGtBgE,gBAAc,EAAE,UAHM;AAItBC,WAAS,EAAE,MAJW;AAKtBC,UAAQ,EAAE,GALY;AAMtBC,MAAI,EAAE,IANgB;AAOtBC,aAAW,EAAE,KAPS;AAOF;AACpBC,aAAW,EAAE,IARS;AAQF;AACpBC,aAAW,EAAE,QATS;AASC;AACvBC,UAAQ,EAAE,IAVY,CAUN;;AAVM,CAAjB,C;;;;;;;;;;;;QCOSC,Y,GAAAA,Y;QAmBAhM,yB,GAAAA,yB;;AA1BhB;;AACA;;AAEA;;;;AAIO,SAASgM,YAAT,CAAsB5L,IAAtB,EAA4B;AACjC,MAAIA,IAAJ,EAAU;AAAA,QACAyH,KADA,GACUzH,IADV,CACAyH,KADA;AAGRA,SAAK,CAACzJ,OAAN,CAAc,UAACe,IAAD,EAAU;AACtB,UAAIA,IAAI,CAACC,OAAL,IAAgBD,IAAI,CAACC,OAAL,CAAaiL,cAAb,KAAgC,KAAhD,IAAyDlL,IAAI,CAACC,OAAL,CAAaL,QAA1E,EAAoF;AAClF,YAAMkN,WAAW,GAAG,4BAAkB9M,IAAlB,CAApB;;AAEA,YAAI8M,WAAW,YAAYhN,WAA3B,EAAwC;AACtCgN,qBAAW,CAAC3B,KAAZ,CAAkBC,aAAlB,GAAkC,MAAlC;AACD;AACF;AACF,KARD;AASD;AACF;AAED;;;;;AAGO,SAASvK,yBAAT,GAAqC;AAC1C,MAAI,OAAO,KAAKN,eAAZ,KAAgC,UAApC,EAAgD;AAC9CC,UAAM,CAACC,mBAAP,CAA2B,QAA3B,EAAqC,KAAKF,eAA1C,EAA2D,KAA3D;AACAC,UAAM,CAACC,mBAAP,CAA2B,QAA3B,EAAqC,KAAKF,eAA1C,EAA2D,KAA3D;AACAC,UAAM,CAACC,mBAAP,CAA2B,WAA3B,EAAwC7C,4BAAxC,EAA+D,KAA/D;AAEA,SAAK2C,eAAL,GAAuB,IAAvB;AACD;AACF,C","file":"js/shepherd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Shepherd\"] = factory();\n\telse\n\t\troot[\"Shepherd\"] = factory();\n})(this, function() {\nreturn "," \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 = 18);\n","/**\n * Checks if `value` is `undefined`.\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 `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nmodule.exports = isUndefined;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","/** 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","const svgNS = 'http://www.w3.org/2000/svg';\n\nconst elementIds = {\n modalOverlay: 'shepherdModalOverlayContainer',\n modalOverlayMask: 'shepherdModalMask',\n modalOverlayMaskOpening: 'shepherdModalMaskOpening'\n};\n\nconst classNames = {\n isVisible: 'shepherd-modal-is-visible',\n modalTarget: 'shepherd-modal-target'\n};\n\n/**\n * <svg id=\"shepherdModalOverlayContainer\" xmlns=\"http://www.w3.org/2000/svg\">\n */\nfunction _createModalContainer() {\n const element = document.createElementNS(svgNS, 'svg');\n\n element.setAttributeNS(null, 'id', elementIds.modalOverlay);\n\n return element;\n}\n\n/**\n * <mask id=\"shepherdModalMask\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\">\n */\nfunction _createMaskContainer() {\n const element = document.createElementNS(svgNS, 'mask');\n\n element.setAttributeNS(null, 'id', elementIds.modalOverlayMask);\n element.setAttributeNS(null, 'x', '0');\n element.setAttributeNS(null, 'y', '0');\n element.setAttributeNS(null, 'width', '100%');\n element.setAttributeNS(null, 'height', '100%');\n\n return element;\n}\n\n/**\n * <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" fill=\"#FFFFFF\"/>\n */\nfunction _createMaskRect() {\n const element = document.createElementNS(svgNS, 'rect');\n\n element.setAttributeNS(null, 'x', '0');\n element.setAttributeNS(null, 'y', '0');\n element.setAttributeNS(null, 'width', '100%');\n element.setAttributeNS(null, 'height', '100%');\n element.setAttributeNS(null, 'fill', '#FFFFFF');\n\n return element;\n}\n\n/**\n * <rect id=\"shepherdModalMaskOpening\" fill=\"#000000\"/>\n */\nfunction _createMaskOpening() {\n const element = document.createElementNS(svgNS, 'rect');\n\n element.setAttributeNS(null, 'id', elementIds.modalOverlayMaskOpening);\n element.setAttributeNS(null, 'fill', '#000000');\n\n return element;\n}\n\n/**\n * <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" mask=\"url(#shepherdModalMask)\"/>\n */\nfunction _createMaskConsumer() {\n const element = document.createElementNS(svgNS, 'rect');\n\n element.setAttributeNS(null, 'x', '0');\n element.setAttributeNS(null, 'y', '0');\n element.setAttributeNS(null, 'width', '100%');\n element.setAttributeNS(null, 'height', '100%');\n element.setAttributeNS(null, 'mask', `url(#${elementIds.modalOverlayMask})`);\n\n return element;\n}\n\n/**\n * Generates an SVG with the following structure:\n * ```html\n * <svg id=\"shepherdModalOverlayContainer\" xmlns=\"http://www.w3.org/2000/svg\">\n <defs>\n <mask id=\"shepherdModalMask\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" >\n <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" fill=\"#FFFFFF\"/>\n <!-- This element will \"punch a hole\" through the mask by preventing it from rendering within the perimeter -->\n <rect id=\"shepherdModalMaskOpening\"/>\n </mask>\n </defs>\n <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" mask=\"url(#shepherdModalMask)\"/>\n </svg>\n * ```\n */\nfunction createModalOverlay() {\n const containerElement = _createModalContainer();\n const defsElement = document.createElementNS(svgNS, 'defs');\n const maskContainer = _createMaskContainer();\n const maskRect = _createMaskRect();\n const maskOpening = _createMaskOpening();\n const maskConsumer = _createMaskConsumer();\n\n maskContainer.appendChild(maskRect);\n maskContainer.appendChild(maskOpening);\n\n defsElement.appendChild(maskContainer);\n\n containerElement.appendChild(defsElement);\n containerElement.appendChild(maskConsumer);\n\n return containerElement;\n}\n\nfunction positionModalOpening(targetElement, openingElement) {\n if (targetElement.getBoundingClientRect && openingElement instanceof SVGElement) {\n const { x, y, width, height } = targetElement.getBoundingClientRect();\n\n openingElement.setAttributeNS(null, 'x', x);\n openingElement.setAttributeNS(null, 'y', y);\n openingElement.setAttributeNS(null, 'width', width);\n openingElement.setAttributeNS(null, 'height', height);\n }\n}\n\nfunction closeModalOpening(openingElement) {\n if (openingElement && openingElement instanceof SVGElement) {\n openingElement.setAttributeNS(null, 'x', '0');\n openingElement.setAttributeNS(null, 'y', '0');\n openingElement.setAttributeNS(null, 'width', '0');\n openingElement.setAttributeNS(null, 'height', '0');\n }\n}\n\nfunction getModalMaskOpening(modalElement) {\n return modalElement.querySelector(`#${elementIds.modalOverlayMaskOpening}`);\n}\n\nfunction preventModalBodyTouch(event) {\n event.preventDefault();\n}\n\nfunction preventModalOverlayTouch(event) {\n event.stopPropagation();\n}\n\n/**\n * Remove any leftover modal target classes and add the modal target class to the currentElement\n * @param {HTMLElement} currentElement The element for the current step\n */\nfunction toggleShepherdModalClass(currentElement) {\n const shepherdModal = document.querySelector(`${classNames.modalTarget}`);\n\n if (shepherdModal) {\n shepherdModal.classList.remove(classNames.modalTarget);\n }\n\n currentElement.classList.add(classNames.modalTarget);\n}\n\nexport {\n createModalOverlay,\n positionModalOpening,\n preventModalBodyTouch,\n preventModalOverlayTouch,\n closeModalOpening,\n getModalMaskOpening,\n elementIds,\n classNames,\n toggleShepherdModalClass\n};\n","import { drop, isUndefined } from 'lodash';\n\nexport class Evented {\n on(event, handler, ctx) {\n const once = arguments.length <= 3 || arguments[3] === undefined ? false : arguments[3];\n\n if (isUndefined(this.bindings)) {\n this.bindings = {};\n }\n if (isUndefined(this.bindings[event])) {\n this.bindings[event] = [];\n }\n this.bindings[event].push({ handler, ctx, once });\n }\n\n once(event, handler, ctx) {\n this.on(event, handler, ctx, true);\n }\n\n off(event, handler) {\n if (isUndefined(this.bindings) || isUndefined(this.bindings[event])) {\n return false;\n }\n\n if (isUndefined(handler)) {\n delete this.bindings[event];\n } else {\n this.bindings[event].forEach((binding, index) => {\n if (binding.handler === handler) {\n this.bindings[event].splice(index, 1);\n }\n });\n }\n }\n\n trigger(event) {\n if (!isUndefined(this.bindings) && this.bindings[event]) {\n const args = drop(arguments);\n\n this.bindings[event].forEach((binding, index) => {\n const { ctx, handler, once } = binding;\n\n const context = ctx || this;\n\n handler.apply(context, args);\n\n if (once) {\n this.bindings[event].splice(index, 1);\n }\n });\n }\n }\n\n}\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","/**\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","import { elementIds } from './modal';\nimport { preventModalBodyTouch, preventModalOverlayTouch } from './modal';\n\n/**\n * Helper method to check if element is hidden, since we cannot use :visible without jQuery\n * @param {HTMLElement} element The element to check for visibility\n * @returns {boolean} true if element is hidden\n * @private\n */\nfunction elementIsHidden(element) {\n return element.offsetWidth === 0 && element.offsetHeight === 0;\n}\n\n/**\n * Get the element from an option object\n *\n * @method getElementFromObject\n * @param Object attachTo\n * @returns {Element}\n * @private\n */\nfunction getElementFromObject(attachTo) {\n const op = attachTo.element;\n\n if (op instanceof HTMLElement) {\n return op;\n }\n\n return document.querySelector(op);\n}\n\n/**\n * Return the element for a step\n *\n * @method getElementForStep\n * @param step step the step to get an element for\n * @returns {Element} the element for this step\n * @private\n */\nfunction getElementForStep(step) {\n const { options: { attachTo } } = step;\n\n if (!attachTo) {\n return null;\n }\n\n const type = typeof attachTo;\n\n let element;\n\n if (type === 'string') {\n element = getElementFromString(attachTo);\n } else if (type === 'object') {\n element = getElementFromObject(attachTo);\n } else {\n /* istanbul ignore next: cannot test undefined attachTo, but it does work! */\n element = null;\n }\n return element;\n}\n\n/**\n * Get the element from an option string\n *\n * @method getElementFromString\n * @param element the string in the step configuration\n * @returns {Element} the element from the string\n * @private\n */\nfunction getElementFromString(element) {\n const [selector] = element.split(' ');\n\n return document.querySelector(selector);\n}\n\nfunction addStepEventListeners() {\n if (typeof this._onScreenChange === 'function') {\n window.removeEventListener('resize', this._onScreenChange, false);\n window.removeEventListener('scroll', this._onScreenChange, false);\n }\n\n window.addEventListener('resize', this._onScreenChange, false);\n window.addEventListener('scroll', this._onScreenChange, false);\n\n const overlay = document.querySelector(`#${elementIds.modalOverlay}`);\n // Prevents window from moving on touch.\n window.addEventListener('touchmove', preventModalBodyTouch, { passive: false });\n\n // Allows content to move on touch.\n if (overlay) {\n overlay.addEventListener('touchmove', preventModalOverlayTouch, false);\n }\n}\n\n/**\n * Remove resize and scroll event listeners\n */\nfunction cleanupStepEventListeners() {\n if (typeof this._onScreenChange === 'function') {\n window.removeEventListener('resize', this._onScreenChange, false);\n window.removeEventListener('scroll', this._onScreenChange, false);\n\n this._onScreenChange = null;\n }\n}\n\nexport {\n addStepEventListeners,\n cleanupStepEventListeners,\n elementIsHidden,\n getElementForStep\n};\n","import {\n forOwn,\n isElement,\n isEmpty,\n isFunction,\n isString,\n isUndefined\n} from 'lodash';\nimport { Evented } from './evented.js';\nimport 'element-matches';\nimport { bindAdvance, bindButtonEvents, bindCancelLink, bindMethods } from './bind.js';\nimport { createFromHTML, setupTooltip, parseAttachTo } from './utils.js';\n\n/**\n * Creates incremented ID for each newly created step\n *\n * @private\n * @return {Number} The unique id for the step\n */\nconst uniqueId = (function() {\n let id = 0;\n return function() {\n return ++id;\n };\n})();\n\n/**\n * Class representing steps to be added to a tour\n * @extends {Evented}\n */\nexport class Step extends Evented {\n /**\n * Create a step\n * @param {Tour} tour The tour for the step\n * @param {Object} options The options for the step\n * @param {Object|string} options.attachTo What element the step should be attached to on the page.\n * It can either be a string of the form \"element on\", or an object with those properties.\n * For example: \".some #element left\", or {element: '.some #element', on: 'left'}.\n * If you use the object syntax, element can also be a DOM element. If you don’t specify an attachTo the\n * element will appear in the middle of the screen.\n * @param {HTMLElement|string} options.attachTo.element\n * @param {string} options.attachTo.on\n * @param {Object|string} options.advanceOn An action on the page which should advance shepherd to the next step.\n * It can be of the form `\"selector event\"`, or an object with those properties.\n * For example: `\".some-element click\"`, or `{selector: '.some-element', event: 'click'}`.\n * It doesn’t have to be an event inside the tour, it can be any event fired on any element on the page.\n * You can also always manually advance the Tour by calling `myTour.next()`.\n * @param {function} options.beforeShowPromise A function that returns a promise.\n * When the promise resolves, the rest of the `show` code for the step will execute.\n * @param {Object[]} options.buttons An array of buttons to add to the step. These will be rendered in a\n * footer below the main body text.\n * @param {function} options.buttons.button.action A function executed when the button is clicked on\n * @param {string} options.buttons.button.classes Extra classes to apply to the `<a>`\n * @param {Object} options.buttons.button.events A hash of events to bind onto the button, for example\n * `{'mouseover': function(){}}`. Adding a `click` event to events when you already have an `action` specified is not supported.\n * You can use events to skip steps or navigate to specific steps, with something like:\n * ```js\n * events: {\n * click: function() {\n * return Shepherd.activeTour.show('some_step_name');\n * }\n * }\n * ```\n * @param {string} options.buttons.button.text The HTML text of the button\n * @param {string} options.classes A string of extra classes to add to the step's content element.\n * @param {string} options.highlightClass An extra class to apply to the `attachTo` element when it is\n * highlighted (that is, when its step is active). You can then target that selector in your CSS.\n * @param {Object} options.tippyOptions Extra [options to pass to tippy.js]{@link https://atomiks.github.io/tippyjs/#all-options}\n * @param {boolean} options.scrollTo Should the element be scrolled to when this step is shown?\n * @param {function} options.scrollToHandler A function that lets you override the default scrollTo behavior and\n * define a custom action to do the scrolling, and possibly other logic.\n * @param {boolean} options.showCancelLink Should a cancel “✕” be shown in the header of the step?\n * @param {function} options.showOn A function that, when it returns `true`, will show the step.\n * If it returns false, the step will be skipped.\n * @param {string} options.text The text in the body of the step. It can be one of four types:\n * ```\n * - HTML string\n * - Array of HTML strings\n * - `HTMLElement` object\n * - `Function` to be executed when the step is built. It must return one of the three options above.\n * ```\n * @param {string} options.title The step's title. It becomes an `h3` at the top of the step.\n * @param {Object} options.when You can define `show`, `hide`, etc events inside `when`. For example:\n * ```js\n * when: {\n * show: function() {\n * window.scrollTo(0, 0);\n * }\n * }\n * ```\n * @return {Step} The newly created Step instance\n */\n constructor(tour, options) {\n super(tour, options);\n this.tour = tour;\n bindMethods.call(this, [\n '_show',\n 'cancel',\n 'complete',\n 'destroy',\n 'hide',\n 'isOpen',\n 'scrollTo',\n 'setupElements',\n 'show'\n ]);\n this.setOptions(options);\n this.bindAdvance = bindAdvance.bind(this);\n this.bindButtonEvents = bindButtonEvents.bind(this);\n this.bindCancelLink = bindCancelLink.bind(this);\n this.setupTooltip = setupTooltip.bind(this);\n this.parseAttachTo = parseAttachTo.bind(this);\n\n return this;\n }\n\n /**\n * Adds buttons to the step as passed into options\n *\n * @private\n * @param {HTMLElement} content The element for the step, to append the footer with buttons to\n */\n _addButtons(content) {\n if (!isEmpty(this.options.buttons)) {\n const footer = document.createElement('footer');\n const buttons = createFromHTML('<ul class=\"shepherd-buttons\"></ul>');\n\n footer.classList.add('shepherd-footer');\n\n this.options.buttons.map((cfg) => {\n const button = createFromHTML(`<li><a class=\"shepherd-button ${cfg.classes || ''}\">${cfg.text}</a>`);\n buttons.appendChild(button);\n this.bindButtonEvents(cfg, button.querySelector('a'));\n });\n\n footer.appendChild(buttons);\n content.appendChild(footer);\n }\n }\n\n /**\n * Adds the \"x\" button to cancel the tour\n * @param {HTMLElement} element The step element\n * @param {HTMLElement} header The header element for the step\n * @private\n */\n _addCancelLink(element, header) {\n if (this.options.showCancelLink) {\n const link = createFromHTML('<a href class=\"shepherd-cancel-link\"></a>');\n header.appendChild(link);\n\n element.classList.add('shepherd-has-cancel-link');\n this.bindCancelLink(link);\n }\n }\n\n /**\n * Adds text passed in as options\n *\n * @private\n * @param {HTMLElement} content The content to append the text to\n */\n _addContent(content) {\n const text = createFromHTML('<div class=\"shepherd-text\"></div>');\n let paragraphs = this.options.text;\n\n if (isFunction(paragraphs)) {\n paragraphs = paragraphs.call(this, text);\n }\n\n if (paragraphs instanceof HTMLElement) {\n text.appendChild(paragraphs);\n } else {\n if (isString(paragraphs)) {\n paragraphs = [paragraphs];\n }\n\n paragraphs.map((paragraph) => {\n text.innerHTML += `<p>${paragraph}</p>`;\n });\n }\n\n content.appendChild(text);\n }\n\n /**\n * Creates Shepherd element for step based on options\n *\n * @private\n * @return {HTMLElement} The DOM element for the step tooltip\n */\n _createTooltipContent() {\n const content = document.createElement('div');\n const classes = this.options.classes || '';\n const element = createFromHTML(`<div class=\"${classes}\" data-shepherd-step-id=\"${this.id}\">`);\n const header = document.createElement('header');\n\n if (this.options.title) {\n const title = document.createElement('h3');\n title.classList.add('shepherd-title');\n title.innerHTML = `${this.options.title}`;\n header.appendChild(title);\n element.classList.add('shepherd-has-title');\n }\n\n content.classList.add('shepherd-content');\n header.classList.add('shepherd-header');\n element.appendChild(content);\n content.appendChild(header);\n\n if (!isUndefined(this.options.text)) {\n this._addContent(content);\n }\n\n this._addButtons(content);\n this._addCancelLink(element, header);\n\n return element;\n }\n\n /**\n * Returns the tour for the step\n * @return {Tour} The tour instance\n */\n getTour() {\n return this.tour;\n }\n\n /**\n * Cancel the tour\n * Triggers the `cancel` event\n */\n cancel() {\n this.tour.cancel();\n this.trigger('cancel');\n }\n\n /**\n * Complete the tour\n * Triggers the `complete` event\n */\n complete() {\n this.tour.complete();\n this.trigger('complete');\n }\n\n /**\n * Remove the step, delete the step's element, and destroy the tippy instance for the step\n * Triggers `destroy` event\n */\n destroy() {\n if (this.tooltip) {\n this.tooltip.destroy();\n this.tooltip = null;\n }\n\n if (isElement(this.el) && this.el.parentNode) {\n this.el.parentNode.removeChild(this.el);\n this.el = null;\n }\n\n if (this.target) {\n this._updateStepTargetOnHide();\n }\n\n this.trigger('destroy');\n }\n\n /**\n * Hide the step and destroy the tippy instance\n */\n hide() {\n this.tour.modal.hide();\n\n this.trigger('before-hide');\n\n document.body.removeAttribute('data-shepherd-step');\n\n if (this.target) {\n this._updateStepTargetOnHide();\n }\n\n if (this.tooltip) {\n this.tooltip.hide();\n }\n\n this.trigger('hide');\n }\n\n /**\n * Check if the step is open and visible\n * @return {boolean} True if the step is open and visible\n */\n isOpen() {\n return Boolean(\n this.tooltip &&\n this.tooltip.state &&\n this.tooltip.state.isVisible\n );\n }\n\n /**\n * Create the element and set up the tippy instance\n */\n setupElements() {\n if (!isUndefined(this.el)) {\n this.destroy();\n }\n\n this.el = this._createTooltipContent();\n\n if (this.options.advanceOn) {\n this.bindAdvance();\n }\n\n this.setupTooltip();\n }\n\n /**\n * If a custom scrollToHandler is defined, call that, otherwise do the generic\n * scrollIntoView call.\n */\n scrollTo() {\n const { element } = this.parseAttachTo();\n\n if (isFunction(this.options.scrollToHandler)) {\n this.options.scrollToHandler(element);\n } else if (isElement(element)) {\n element.scrollIntoView();\n }\n }\n\n /**\n * Sets the options for the step, maps `when` to events, sets up buttons\n * @param {Object} options The options for the step\n */\n setOptions(options = {}) {\n this.options = options;\n const { when } = this.options;\n\n this.destroy();\n this.id = this.options.id || `step-${uniqueId()}`;\n\n forOwn(when, (handler, event) => {\n this.on(event, handler, this);\n });\n }\n\n /**\n * Wraps `_show` and ensures `beforeShowPromise` resolves before calling show\n * @return {*|Promise}\n */\n show() {\n if (isFunction(this.options.beforeShowPromise)) {\n const beforeShowPromise = this.options.beforeShowPromise();\n if (!isUndefined(beforeShowPromise)) {\n return beforeShowPromise.then(() => this._show());\n }\n }\n this._show();\n }\n\n /**\n * Triggers `before-show`, generates the tooltip DOM content,\n * sets up a tippy instance for the tooltip, then triggers `show`.\n * @private\n */\n _show() {\n this.tour.beforeShowStep(this);\n this.trigger('before-show');\n\n if (!this.el) {\n this.setupElements();\n }\n\n this.target.classList.add('shepherd-enabled', 'shepherd-target');\n\n document.body.setAttribute('data-shepherd-step', this.id);\n\n if (this.options.scrollTo) {\n setTimeout(() => {\n this.scrollTo();\n });\n }\n\n this.tooltip.show();\n this.trigger('show');\n }\n\n _updateStepTargetOnHide() {\n if (this.options.highlightClass) {\n this.target.classList.remove(this.options.highlightClass);\n }\n\n this.target.classList.remove('shepherd-enabled', 'shepherd-target');\n }\n}\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","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\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 `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\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 empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\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","import { parseShorthand } from './utils.js';\nimport { forOwn, isString, isUndefined } from 'lodash';\n\n/**\n * Sets up the handler to determine if we should advance the tour\n * @private\n */\nfunction _setupAdvanceOnHandler(selector) {\n return (event) => {\n if (this.isOpen()) {\n const targetIsEl = this.el && event.target === this.el;\n const targetIsSelector = !isUndefined(selector) && event.target.matches(selector);\n\n if (targetIsSelector || targetIsEl) {\n this.tour.next();\n }\n }\n };\n}\n\n/**\n * Bind the event handler for advanceOn\n */\nexport function bindAdvance() {\n // An empty selector matches the step element\n const { event, selector } = parseShorthand(this.options.advanceOn, ['selector', 'event']);\n const handler = _setupAdvanceOnHandler.call(this, selector);\n\n // TODO: this should also bind/unbind on show/hide\n const el = document.querySelector(selector);\n if (!isUndefined(selector) && el) {\n el.addEventListener(event, handler);\n } else {\n document.body.addEventListener(event, handler, true);\n }\n this.on('destroy', () => {\n return document.body.removeEventListener(event, handler, true);\n });\n}\n\n/**\n * Bind events to the buttons for next, back, etc\n * @param {Object} cfg An object containing the config options for the button\n * @param {HTMLElement} el The element for the button\n */\nexport function bindButtonEvents(cfg, el) {\n cfg.events = cfg.events || {};\n if (!isUndefined(cfg.action)) {\n // Including both a click event and an action is not supported\n cfg.events.click = cfg.action;\n }\n\n forOwn(cfg.events, (handler, event) => {\n if (isString(handler)) {\n const page = handler;\n handler = () => this.tour.show(page);\n }\n el.dataset.buttonEvent = true;\n el.addEventListener(event, handler);\n\n // Cleanup event listeners on destroy\n this.on('destroy', () => {\n el.removeAttribute('data-button-event');\n el.removeEventListener(event, handler);\n });\n });\n}\n\n/**\n * Add a click listener to the cancel link that cancels the tour\n * @param {HTMLElement} link The cancel link element\n */\nexport function bindCancelLink(link) {\n link.addEventListener('click', (e) => {\n e.preventDefault();\n this.cancel();\n });\n}\n\n/**\n * Take an array of strings and look up methods by name, then bind them to `this`\n * @param {String[]} methods The names of methods to bind\n */\nexport function bindMethods(methods) {\n methods.map((method) => {\n this[method] = this[method].bind(this);\n });\n}\n","import { isString, isObjectLike, isUndefined, zipObject } from 'lodash';\nimport tippy from 'tippy.js';\nimport { missingTippy } from './utils/error-messages';\n\nconst centeredStylePopperModifier = {\n computeStyle: {\n enabled: true,\n fn(data) {\n data.styles = Object.assign({}, data.styles, {\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)'\n });\n\n return data;\n }\n }\n};\n\n// Used to compose settings for tippyOptions.popperOptions (https://atomiks.github.io/tippyjs/#popper-options-option)\nconst defaultPopperOptions = {\n positionFixed: true\n};\n\n/**\n * TODO rewrite the way items are being added to use more performant documentFragment code\n * @param html\n * @return {HTMLElement} The element created from the passed HTML string\n */\nexport function createFromHTML(html) {\n const el = document.createElement('div');\n el.innerHTML = html;\n return el.children[0];\n}\n\n/**\n * Parse the position object or string to return the attachment and element to attach to\n * @param {Object|String} position Either a string or object denoting the selector and position for attachment\n * @return {Object} The object with `element` and `on` for the step\n * @private\n */\nexport function _parseAttachToOpts(opts) {\n if (isObjectLike(opts)) {\n if (opts.hasOwnProperty('element') && opts.hasOwnProperty('on')) {\n return opts;\n }\n return null;\n }\n\n const positionRe = /^(.+) ((auto|top|left|right|bottom)(-start|-end)?)$/;\n const matches = positionRe.exec(opts);\n\n if (!matches) {\n return null;\n }\n\n return {\n element: matches[1],\n on: matches[2]\n };\n}\n\n/**\n * @param obj\n * @param {Array} props\n * @return {*}\n */\nexport function parseShorthand(obj, props) {\n if (obj === null || isUndefined(obj)) {\n return obj;\n } else if (isObjectLike(obj)) {\n return obj;\n }\n\n const values = obj.split(' ');\n return zipObject(props, values);\n}\n\n/**\n * Determines options for the tooltip and initializes\n * `this.tooltip` as a Tippy.js instance.\n */\nexport function setupTooltip() {\n if (isUndefined(tippy)) {\n throw new Error(missingTippy);\n }\n\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n\n const attachToOpts = this.parseAttachTo();\n\n this.tooltip = _makeTippyInstance.call(this, attachToOpts);\n\n this.target = attachToOpts.element || document.body;\n\n this.el.classList.add('shepherd-element');\n}\n\n/**\n * Passes `options.attachTo` to `_parseAttachToOpts` to get the correct `attachTo` format\n * @returns {({} & {element, on}) | ({})}\n * `element` is a qualified HTML Element\n * `on` is a string position value\n */\nexport function parseAttachTo() {\n const options = _parseAttachToOpts(this.options.attachTo) || {};\n const returnOpts = Object.assign({}, options);\n\n if (isString(options.element)) {\n // Can't override the element in user opts reference because we can't\n // guarantee that the element will exist in the future.\n try {\n returnOpts.element = document.querySelector(options.element);\n } catch(e) {\n // TODO\n }\n if (!returnOpts.element) {\n console.error(`The element for this Shepherd step was not found ${options.element}`);\n }\n }\n\n return returnOpts;\n}\n\n/**\n * Generates a `Tippy` instance from a set of base `attachTo` options\n *\n * @return {tippy} The final tippy instance\n * @private\n */\nfunction _makeTippyInstance(attachToOptions) {\n if (!attachToOptions.element) {\n return _makeCenteredTippy.call(this);\n }\n\n const tippyOptions = _makeAttachedTippyOptions.call(this, attachToOptions);\n\n return tippy.one(attachToOptions.element, tippyOptions);\n}\n\n/**\n * Generates the hash of options that will be passed to `Tippy` instances\n * target an element in the DOM.\n *\n * @param {Object} attachToOptions The local `attachTo` options\n * @return {Object} The final tippy options object\n * @private\n */\nfunction _makeAttachedTippyOptions(attachToOptions) {\n const resultingTippyOptions = {\n content: this.el,\n placement: attachToOptions.on || 'right',\n ...this.options.tippyOptions\n };\n\n if (this.options.tippyOptions && this.options.tippyOptions.popperOptions) {\n Object.assign(defaultPopperOptions, this.options.tippyOptions.popperOptions);\n }\n\n resultingTippyOptions.popperOptions = defaultPopperOptions;\n\n return resultingTippyOptions;\n}\n\n/**\n * Generates a `Tippy` instance for a tooltip that doesn't have a\n * target element in the DOM -- and thus is positioned in the center\n * of the view\n *\n * @return {tippy} The final tippy instance\n * @private\n */\nfunction _makeCenteredTippy() {\n const tippyOptions = {\n content: this.el,\n placement: 'top',\n ...this.options.tippyOptions\n };\n\n tippyOptions.arrow = false;\n tippyOptions.popperOptions = tippyOptions.popperOptions || {};\n\n const finalPopperOptions = Object.assign(\n {},\n defaultPopperOptions,\n tippyOptions.popperOptions,\n {\n modifiers: Object.assign(\n centeredStylePopperModifier,\n tippyOptions.popperOptions.modifiers\n )\n }\n );\n\n tippyOptions.popperOptions = finalPopperOptions;\n\n return tippy.one(document.body, tippyOptions);\n}\n","(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.tippy=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var r=e.ownerDocument.defaultView,a=r.getComputedStyle(e,null);return t?a[t]:a}function r(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function a(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var p=t(e),o=p.overflow,i=p.overflowX,n=p.overflowY;return /(auto|scroll|overlay)/.test(o+n+i)?e:a(r(e))}function p(e){return 11===e?ke:10===e?Ee:ke||Ee}function o(e){if(!e)return document.documentElement;for(var r=p(10)?document.body:null,a=e.offsetParent||null;a===r&&e.nextElementSibling;)a=(e=e.nextElementSibling).offsetParent;var i=a&&a.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TH','TD','TABLE'].indexOf(a.nodeName)&&'static'===t(a,'position')?o(a):a:e?e.ownerDocument.documentElement:document.documentElement}function n(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||o(e.firstElementChild)===e)}function s(e){return null===e.parentNode?e:s(e.parentNode)}function l(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var r=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,a=r?e:t,p=r?t:e,i=document.createRange();i.setStart(a,0),i.setEnd(p,0);var d=i.commonAncestorContainer;if(e!==d&&t!==d||a.contains(p))return n(d)?d:o(d);var m=s(e);return m.host?l(m.host,t):l(e,s(t).host)}function d(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',r='top'===t?'scrollTop':'scrollLeft',a=e.nodeName;if('BODY'===a||'HTML'===a){var p=e.ownerDocument.documentElement,o=e.ownerDocument.scrollingElement||p;return o[r]}return e[r]}function m(e,t){var r=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2],a=d(t,'top'),p=d(t,'left'),o=r?-1:1;return e.top+=a*o,e.bottom+=a*o,e.left+=p*o,e.right+=p*o,e}function c(e,t){var r='x'===t?'Left':'Top',a='Left'===r?'Right':'Bottom';return parseFloat(e['border'+r+'Width'],10)+parseFloat(e['border'+a+'Width'],10)}function f(e,t,r,a){return ae(t['offset'+e],t['scroll'+e],r['client'+e],r['offset'+e],r['scroll'+e],p(10)?parseInt(r['offset'+e])+parseInt(a['margin'+('Height'===e?'Top':'Left')])+parseInt(a['margin'+('Height'===e?'Bottom':'Right')]):0)}function h(e){var t=e.body,r=e.documentElement,a=p(10)&&getComputedStyle(r);return{height:f('Height',t,r,a),width:f('Width',t,r,a)}}function b(e){return Te({},e,{right:e.left+e.width,bottom:e.top+e.height})}function u(e){var r={};try{if(p(10)){r=e.getBoundingClientRect();var a=d(e,'top'),o=d(e,'left');r.top+=a,r.left+=o,r.bottom+=a,r.right+=o}else r=e.getBoundingClientRect()}catch(t){}var i={left:r.left,top:r.top,width:r.right-r.left,height:r.bottom-r.top},n='HTML'===e.nodeName?h(e.ownerDocument):{},s=n.width||e.clientWidth||i.right-i.left,l=n.height||e.clientHeight||i.bottom-i.top,m=e.offsetWidth-s,f=e.offsetHeight-l;if(m||f){var y=t(e);m-=c(y,'x'),f-=c(y,'y'),i.width-=m,i.height-=f}return b(i)}function y(e,r){var o=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2],i=p(10),n='HTML'===r.nodeName,s=u(e),l=u(r),d=a(e),c=t(r),f=parseFloat(c.borderTopWidth,10),h=parseFloat(c.borderLeftWidth,10);o&&n&&(l.top=ae(l.top,0),l.left=ae(l.left,0));var y=b({top:s.top-l.top-f,left:s.left-l.left-h,width:s.width,height:s.height});if(y.marginTop=0,y.marginLeft=0,!i&&n){var g=parseFloat(c.marginTop,10),x=parseFloat(c.marginLeft,10);y.top-=f-g,y.bottom-=f-g,y.left-=h-x,y.right-=h-x,y.marginTop=g,y.marginLeft=x}return(i&&!o?r.contains(d):r===d&&'BODY'!==d.nodeName)&&(y=m(y,r)),y}function g(e){var t=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1],r=e.ownerDocument.documentElement,a=y(e,r),p=ae(r.clientWidth,window.innerWidth||0),o=ae(r.clientHeight,window.innerHeight||0),i=t?0:d(r),n=t?0:d(r,'left'),s={top:i-a.top+a.marginTop,left:n-a.left+a.marginLeft,width:p,height:o};return b(s)}function x(e){var a=e.nodeName;return'BODY'!==a&&'HTML'!==a&&('fixed'===t(e,'position')||x(r(e)))}function w(e){if(!e||!e.parentElement||p())return document.documentElement;for(var r=e.parentElement;r&&'none'===t(r,'transform');)r=r.parentElement;return r||document.documentElement}function v(e,t,p,o){var i=!!(4<arguments.length&&void 0!==arguments[4])&&arguments[4],n={top:0,left:0},s=i?w(e):l(e,t);if('viewport'===o)n=g(s,i);else{var d;'scrollParent'===o?(d=a(r(t)),'BODY'===d.nodeName&&(d=e.ownerDocument.documentElement)):'window'===o?d=e.ownerDocument.documentElement:d=o;var m=y(d,s,i);if('HTML'===d.nodeName&&!x(s)){var c=h(e.ownerDocument),f=c.height,b=c.width;n.top+=m.top-m.marginTop,n.bottom=f+m.top,n.left+=m.left-m.marginLeft,n.right=b+m.left}else n=m}p=p||0;var u='number'==typeof p;return n.left+=u?p:p.left||0,n.top+=u?p:p.top||0,n.right-=u?p:p.right||0,n.bottom-=u?p:p.bottom||0,n}function k(e){var t=e.width,r=e.height;return t*r}function E(e,t,r,a,p){var o=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf('auto'))return e;var i=v(r,a,o,p),n={top:{width:i.width,height:t.top-i.top},right:{width:i.right-t.right,height:i.height},bottom:{width:i.width,height:i.bottom-t.bottom},left:{width:t.left-i.left,height:i.height}},s=Object.keys(n).map(function(e){return Te({key:e},n[e],{area:k(n[e])})}).sort(function(e,t){return t.area-e.area}),l=s.filter(function(e){var t=e.width,a=e.height;return t>=r.clientWidth&&a>=r.clientHeight}),d=0<l.length?l[0].key:s[0].key,m=e.split('-')[1];return d+(m?'-'+m:'')}function O(e,t,r){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,p=a?w(t):l(t,r);return y(r,p,a)}function C(e){var t=e.ownerDocument.defaultView,r=t.getComputedStyle(e),a=parseFloat(r.marginTop||0)+parseFloat(r.marginBottom||0),p=parseFloat(r.marginLeft||0)+parseFloat(r.marginRight||0),o={width:e.offsetWidth+p,height:e.offsetHeight+a};return o}function L(e){var t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function T(e,t,r){r=r.split('-')[0];var a=C(e),p={width:a.width,height:a.height},o=-1!==['right','left'].indexOf(r),i=o?'top':'left',n=o?'left':'top',s=o?'height':'width',l=o?'width':'height';return p[i]=t[i]+t[s]/2-a[s]/2,p[n]=r===n?t[n]-a[l]:t[L(n)],p}function A(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function Y(e,t,r){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===r});var a=A(e,function(e){return e[t]===r});return e.indexOf(a)}function S(t,r,a){var p=void 0===a?t:t.slice(0,Y(t,'name',a));return p.forEach(function(t){t['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var a=t['function']||t.fn;t.enabled&&e(a)&&(r.offsets.popper=b(r.offsets.popper),r.offsets.reference=b(r.offsets.reference),r=a(r,t))}),r}function P(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=O(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=E(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=T(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=S(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function D(e,t){return e.some(function(e){var r=e.name,a=e.enabled;return a&&r===t})}function X(e){for(var t=[!1,'ms','Webkit','Moz','O'],r=e.charAt(0).toUpperCase()+e.slice(1),a=0;a<t.length;a++){var p=t[a],o=p?''+p+r:e;if('undefined'!=typeof document.body.style[o])return o}return null}function I(){return this.state.isDestroyed=!0,D(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.position='',this.popper.style.top='',this.popper.style.left='',this.popper.style.right='',this.popper.style.bottom='',this.popper.style.willChange='',this.popper.style[X('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function N(e){var t=e.ownerDocument;return t?t.defaultView:window}function H(e,t,r,p){var o='BODY'===e.nodeName,i=o?e.ownerDocument.defaultView:e;i.addEventListener(t,r,{passive:!0}),o||H(a(i.parentNode),t,r,p),p.push(i)}function R(e,t,r,p){r.updateBound=p,N(e).addEventListener('resize',r.updateBound,{passive:!0});var o=a(e);return H(o,'scroll',r.updateBound,r.scrollParents),r.scrollElement=o,r.eventsEnabled=!0,r}function W(){this.state.eventsEnabled||(this.state=R(this.reference,this.options,this.state,this.scheduleUpdate))}function B(e,t){return N(e).removeEventListener('resize',t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function M(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=B(this.reference,this.state))}function z(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function _(e,t){Object.keys(t).forEach(function(r){var a='';-1!==['width','height','top','right','bottom','left'].indexOf(r)&&z(t[r])&&(a='px'),e.style[r]=t[r]+a})}function F(e,t){Object.keys(t).forEach(function(r){var a=t[r];!1===a?e.removeAttribute(r):e.setAttribute(r,t[r])})}function U(e,t){var r=e.offsets,a=r.popper,p=r.reference,o=re,i=function(e){return e},n=o(a.width),s=o(p.width),l=-1!==['left','right'].indexOf(e.placement),d=-1!==e.placement.indexOf('-'),m=t?l||d||s%2==n%2?o:te:i,c=t?o:i;return{left:m(1==s%2&&1==n%2&&!d&&t?a.left-1:a.left),top:c(a.top),bottom:c(a.bottom),right:m(a.right)}}function V(e,t,r){var a=A(e,function(e){var r=e.name;return r===t}),p=!!a&&e.some(function(e){return e.name===r&&e.enabled&&e.order<a.order});if(!p){var o='`'+t+'`';console.warn('`'+r+'`'+' modifier is required by '+o+' modifier in order to work, be sure to include it before '+o+'!')}return p}function q(e){return'end'===e?'start':'start'===e?'end':e}function j(e){var t=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1],r=Se.indexOf(e),a=Se.slice(r+1).concat(Se.slice(0,r));return t?a.reverse():a}function K(e,t,r,a){var p=e.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/),o=+p[1],i=p[2];if(!o)return e;if(0===i.indexOf('%')){var n;switch(i){case'%p':n=r;break;case'%':case'%r':default:n=a;}var s=b(n);return s[t]/100*o}if('vh'===i||'vw'===i){var l;return l='vh'===i?ae(document.documentElement.clientHeight,window.innerHeight||0):ae(document.documentElement.clientWidth,window.innerWidth||0),l/100*o}return o}function G(e,t,r,a){var p=[0,0],o=-1!==['right','left'].indexOf(a),i=e.split(/(\\+|\\-)/).map(function(e){return e.trim()}),n=i.indexOf(A(i,function(e){return-1!==e.search(/,|\\s/)}));i[n]&&-1===i[n].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var s=/\\s*,\\s*|\\s+/,l=-1===n?[i]:[i.slice(0,n).concat([i[n].split(s)[0]]),[i[n].split(s)[1]].concat(i.slice(n+1))];return l=l.map(function(e,a){var p=(1===a?!o:o)?'height':'width',i=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,i=!0,e):i?(e[e.length-1]+=t,i=!1,e):e.concat(t)},[]).map(function(e){return K(e,p,t,r)})}),l.forEach(function(e,t){e.forEach(function(r,a){z(r)&&(p[t]+=r*('-'===e[a-1]?-1:1))})}),p}function J(e,t){var r=t.offset,a=e.placement,p=e.offsets,o=p.popper,i=p.reference,n=a.split('-')[0],s=void 0;return s=z(+r)?[+r,0]:G(r,o,i,n),'left'===n?(o.top+=s[0],o.left-=s[1]):'right'===n?(o.top+=s[0],o.left+=s[1]):'top'===n?(o.left+=s[0],o.top-=s[1]):'bottom'===n&&(o.left+=s[0],o.top+=s[1]),e.popper=o,e}function Z(){document.addEventListener('click',Yt,!0),document.addEventListener('touchstart',Lt,{passive:!0}),window.addEventListener('blur',St),window.addEventListener('resize',Pt),!ye&&(navigator.maxTouchPoints||navigator.msMaxTouchPoints)&&document.addEventListener('pointerdown',Lt)}function $(e,t){function r(){yt(function(){z=!1})}function a(){X=new MutationObserver(function(){q.popperInstance.update()}),X.observe(U,{childList:!0,subtree:!0,characterData:!0})}function p(e){var t=N=e,r=t.clientX,a=t.clientY;if(q.popperInstance){var p=xt(q.popper),o=q.popperChildren.arrow?20:5,i='top'===p||'bottom'===p,n='left'===p||'right'===p,s=i?ae(o,r):r,l=n?ae(o,a):a;i&&s>o&&(s=ee(r,window.innerWidth-o)),n&&l>o&&(l=ee(a,window.innerHeight-o));var d=q.reference.getBoundingClientRect(),m=q.props.followCursor,c='horizontal'===m,f='vertical'===m;q.popperInstance.reference={getBoundingClientRect:function(){return{width:0,height:0,top:c?d.top:l,bottom:c?d.bottom:l,left:f?d.left:s,right:f?d.right:s}},clientWidth:0,clientHeight:0},q.popperInstance.scheduleUpdate()}}function o(e){var t=pt(e.target,q.props.target);t&&!t._tippy&&($(t,ie({},q.props,{target:'',showOnInit:!0})),i(e))}function i(e){if(T(),!q.state.isVisible){if(q.props.target)return o(e);if(W=!0,q.props.wait)return q.props.wait(q,e);x()&&document.addEventListener('mousemove',p);var t=Ve(q.props.delay,0,ne.delay);t?H=setTimeout(function(){Y()},t):Y()}}function n(){if(T(),!q.state.isVisible)return s();W=!1;var e=Ve(q.props.delay,1,ne.delay);e?R=setTimeout(function(){q.state.isVisible&&S()},e):S()}function s(){document.removeEventListener('mousemove',p),N=null}function l(){document.body.removeEventListener('mouseleave',n),document.removeEventListener('mousemove',_)}function d(e){!q.state.isEnabled||y(e)||(!q.state.isVisible&&(I=e),'click'===e.type&&!1!==q.props.hideOnClick&&q.state.isVisible?n():i(e))}function m(e){var t=ot(e.target,function(e){return e._tippy}),r=pt(e.target,Xe.POPPER)===q.popper,a=t===q.reference;r||a||ut(xt(q.popper),q.popper.getBoundingClientRect(),e,q.props)&&(l(),n())}function c(e){return y(e)?void 0:q.props.interactive?(document.body.addEventListener('mouseleave',n),void document.addEventListener('mousemove',_)):void n()}function f(e){if(e.target===q.reference){if(q.props.interactive){if(!e.relatedTarget)return;if(pt(e.relatedTarget,Xe.POPPER))return}n()}}function h(e){pt(e.target,q.props.target)&&i(e)}function b(e){pt(e.target,q.props.target)&&n()}function y(e){var t=-1<e.type.indexOf('touch'),r=ye&&Ct&&q.props.touchHold&&!t,a=Ct&&!q.props.touchHold&&t;return r||a}function u(){var e=q.popperChildren.tooltip,t=q.props.popperOptions,r=Xe['round'===q.props.arrowType?'ROUND_ARROW':'ARROW'],p=e.querySelector(r),o=ie({placement:q.props.placement},t||{},{modifiers:ie({},t?t.modifiers:{},{arrow:ie({element:r},t&&t.modifiers?t.modifiers.arrow:{}),flip:ie({enabled:q.props.flip,padding:q.props.distance+5,behavior:q.props.flipBehavior},t&&t.modifiers?t.modifiers.flip:{}),offset:ie({offset:q.props.offset},t&&t.modifiers?t.modifiers.offset:{})}),onCreate:function(){e.style[xt(q.popper)]=gt(q.props.distance,ne.distance),p&&q.props.arrowTransform&&ft(p,q.props.arrowTransform)},onUpdate:function(){var t=e.style;t.top='',t.bottom='',t.left='',t.right='',t[xt(q.popper)]=gt(q.props.distance,ne.distance),p&&q.props.arrowTransform&&ft(p,q.props.arrowTransform)}});return X||a(),new De(q.reference,q.popper,o)}function g(e){q.popperInstance?!x()&&(q.popperInstance.scheduleUpdate(),q.props.livePlacement&&q.popperInstance.enableEventListeners()):(q.popperInstance=u(),(!q.props.livePlacement||x())&&q.popperInstance.disableEventListeners()),q.popperInstance.reference=q.reference;var t=q.popperChildren.arrow;if(x()){t&&(t.style.margin='0');var r=Ve(q.props.delay,0,ne.delay);I.type&&p(r&&N?N:I)}else t&&(t.style.margin='');bt(q.popperInstance,e),q.props.appendTo.contains(q.popper)||(q.props.appendTo.appendChild(q.popper),q.props.onMount(q),q.state.isMounted=!0)}function x(){return q.props.followCursor&&!Ct&&'focus'!==I.type}function w(){We([q.popper],he?0:q.props.updateDuration);(function e(){q.popperInstance&&q.popperInstance.scheduleUpdate(),q.state.isMounted?requestAnimationFrame(e):We([q.popper],0)})()}function v(e,t){E(e,function(){!q.state.isVisible&&q.props.appendTo.contains(q.popper)&&t()})}function k(e,t){E(e,t)}function E(e,t){if(0===e)return t();var r=q.popperChildren.tooltip,a=function a(p){p.target===r&&(vt(r,'remove',a),t())};vt(r,'remove',B),vt(r,'add',a),B=a}function O(e,t,r){q.reference.addEventListener(e,t),r.push({eventType:e,handler:t})}function C(){M=q.props.trigger.trim().split(' ').reduce(function(e,t){return'manual'===t?e:(q.props.target?'mouseenter'===t?(O('mouseover',h,e),O('mouseout',b,e)):'focus'===t?(O('focusin',h,e),O('focusout',b,e)):'click'===t?O(t,h,e):void 0:(O(t,d,e),q.props.touchHold&&(O('touchstart',d,e),O('touchend',c,e)),'mouseenter'===t?O('mouseleave',c,e):'focus'===t?O(he?'focusout':'blur',f,e):void 0),e)},[])}function L(){M.forEach(function(e){var t=e.eventType,r=e.handler;q.reference.removeEventListener(t,r)})}function T(){clearTimeout(H),clearTimeout(R)}function A(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};Et(e,ne);var t=q.props,r=wt(q.reference,ie({},q.props,e,{performance:!0}));r.performance=Ot(e,'performance')?e.performance:t.performance,q.props=r,(Ot(e,'trigger')||Ot(e,'touchHold'))&&(L(),C()),Ot(e,'interactiveDebounce')&&(l(),_=kt(m,e.interactiveDebounce)),Qe(q.popper,t,r),q.popperChildren=Be(q.popper),q.popperInstance&&le.some(function(t){return Ot(e,t)})&&(q.popperInstance.destroy(),q.popperInstance=u(),!q.state.isVisible&&q.popperInstance.disableEventListeners(),q.props.followCursor&&N&&p(N))}function Y(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:Ve(q.props.duration,0,ne.duration[0]);return q.state.isDestroyed||!q.state.isEnabled||Ct&&!q.props.touch?void 0:q.reference.isVirtual||document.documentElement.contains(q.reference)?q.reference.hasAttribute('disabled')?void 0:z?void(z=!1):void(!1===q.props.onShow(q)||(q.popper.style.visibility='visible',q.state.isVisible=!0,We([q.popper,q.popperChildren.tooltip,q.popperChildren.backdrop],0),g(function(){q.state.isVisible&&(!x()&&q.popperInstance.update(),We([q.popperChildren.tooltip,q.popperChildren.backdrop,q.popperChildren.content],e),q.popperChildren.backdrop&&(q.popperChildren.content.style.transitionDelay=re(e/6)+'ms'),q.props.interactive&&q.reference.classList.add('tippy-active'),q.props.sticky&&w(),ht([q.popperChildren.tooltip,q.popperChildren.backdrop,q.popperChildren.content],'visible'),k(e,function(){0===q.props.updateDuration&&q.popperChildren.tooltip.classList.add('tippy-notransition'),q.props.interactive&&-1<['focus','click'].indexOf(I.type)&&it(q.popper),q.reference.setAttribute('aria-describedby',q.popper.id),q.props.onShown(q),q.state.isShown=!0}))}))):P()}function S(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:Ve(q.props.duration,1,ne.duration[1]);q.state.isDestroyed||!q.state.isEnabled||!1===q.props.onHide(q)||(0===q.props.updateDuration&&q.popperChildren.tooltip.classList.remove('tippy-notransition'),q.props.interactive&&q.reference.classList.remove('tippy-active'),q.popper.style.visibility='hidden',q.state.isVisible=!1,q.state.isShown=!1,We([q.popperChildren.tooltip,q.popperChildren.backdrop,q.popperChildren.content],e),ht([q.popperChildren.tooltip,q.popperChildren.backdrop,q.popperChildren.content],'hidden'),q.props.interactive&&!z&&-1<['focus','click'].indexOf(I.type)&&('focus'===I.type&&(z=!0),it(q.reference)),v(e,function(){W||s(),q.reference.removeAttribute('aria-describedby'),q.popperInstance.disableEventListeners(),q.props.appendTo.removeChild(q.popper),q.state.isMounted=!1,q.props.onHidden(q)}))}function P(e){q.state.isDestroyed||(q.state.isMounted&&S(0),L(),q.reference.removeEventListener('click',r),delete q.reference._tippy,q.props.target&&e&&Ne(q.reference.querySelectorAll(q.props.target)).forEach(function(e){return e._tippy&&e._tippy.destroy()}),q.popperInstance&&q.popperInstance.destroy(),X&&X.disconnect(),q.state.isDestroyed=!0)}var D=wt(e,t);if(!D.multiple&&e._tippy)return null;var X=null,I={},N=null,H=0,R=0,W=!1,B=function(){},M=[],z=!1,_=0<D.interactiveDebounce?kt(m,D.interactiveDebounce):m,F=Dt++,U=$e(F,D);U.addEventListener('mouseenter',function(e){q.props.interactive&&q.state.isVisible&&'mouseenter'===I.type&&i(e)}),U.addEventListener('mouseleave',function(e){q.props.interactive&&'mouseenter'===I.type&&0===q.props.interactiveDebounce&&ut(xt(U),U.getBoundingClientRect(),e,q.props)&&n()});var V=Be(U),q={id:F,reference:e,popper:U,popperChildren:V,popperInstance:null,props:D,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},clearDelayTimeouts:T,set:A,setContent:function(e){A({content:e})},show:Y,hide:S,enable:function(){q.state.isEnabled=!0},disable:function(){q.state.isEnabled=!1},destroy:P};return C(),e.addEventListener('click',r),D.lazy||(q.popperInstance=u(),q.popperInstance.disableEventListeners()),D.showOnInit&&i(),!D.a11y||D.target||Re(e)||e.setAttribute('tabindex','0'),e._tippy=q,U._tippy=q,q}function Q(e,t,r){Et(t,ne),Xt||(Z(),Xt=!0);var a=ie({},ne,t);Me(e)&&rt(e);var p=Fe(e),o=p[0],i=(r&&o?[o]:p).reduce(function(e,t){var r=t&&$(t,a);return r&&e.push(r),e},[]);return{targets:e,props:a,instances:i,destroyAll:function(){this.instances.forEach(function(e){e.destroy()}),this.instances=[]}}}for(var ee=Math.min,te=Math.floor,re=Math.round,ae=Math.max,pe='.tippy-iOS{cursor:pointer!important}.tippy-notransition{transition:none!important}.tippy-popper{-webkit-perspective:700px;perspective:700px;z-index:9999;outline:0;transition-timing-function:cubic-bezier(.165,.84,.44,1);pointer-events:none;line-height:1.4;max-width:calc(100% - 10px)}.tippy-popper[x-placement^=top] .tippy-backdrop{border-radius:40% 40% 0 0}.tippy-popper[x-placement^=top] .tippy-roundarrow{bottom:-8px;-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=top] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.tippy-popper[x-placement^=top] .tippy-arrow{border-top:8px solid #333;border-right:8px solid transparent;border-left:8px solid transparent;bottom:-7px;margin:0 6px;-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=top] .tippy-backdrop{-webkit-transform-origin:0 25%;transform-origin:0 25%}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-55%);transform:scale(1) translate(-50%,-55%)}.tippy-popper[x-placement^=top] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%,-45%);transform:scale(.2) translate(-50%,-45%);opacity:0}.tippy-popper[x-placement^=top] [data-animation=shift-toward][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}.tippy-popper[x-placement^=top] [data-animation=perspective]{-webkit-transform-origin:bottom;transform-origin:bottom}.tippy-popper[x-placement^=top] [data-animation=perspective][data-state=visible]{-webkit-transform:translateY(-10px) rotateX(0);transform:translateY(-10px) rotateX(0)}.tippy-popper[x-placement^=top] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) rotateX(60deg);transform:translateY(0) rotateX(60deg)}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.tippy-popper[x-placement^=top] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=visible]{-webkit-transform:translateY(-10px) scale(1);transform:translateY(-10px) scale(1)}.tippy-popper[x-placement^=top] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) scale(.5);transform:translateY(0) scale(.5)}.tippy-popper[x-placement^=bottom] .tippy-backdrop{border-radius:0 0 30% 30%}.tippy-popper[x-placement^=bottom] .tippy-roundarrow{top:-8px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.tippy-popper[x-placement^=bottom] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(0);transform:rotate(0)}.tippy-popper[x-placement^=bottom] .tippy-arrow{border-bottom:8px solid #333;border-right:8px solid transparent;border-left:8px solid transparent;top:-7px;margin:0 6px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.tippy-popper[x-placement^=bottom] .tippy-backdrop{-webkit-transform-origin:0 -50%;transform-origin:0 -50%}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-45%);transform:scale(1) translate(-50%,-45%)}.tippy-popper[x-placement^=bottom] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-50%);transform:scale(.2) translate(-50%);opacity:0}.tippy-popper[x-placement^=bottom] [data-animation=shift-toward][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}.tippy-popper[x-placement^=bottom] [data-animation=perspective]{-webkit-transform-origin:top;transform-origin:top}.tippy-popper[x-placement^=bottom] [data-animation=perspective][data-state=visible]{-webkit-transform:translateY(10px) rotateX(0);transform:translateY(10px) rotateX(0)}.tippy-popper[x-placement^=bottom] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) rotateX(-60deg);transform:translateY(0) rotateX(-60deg)}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateY(10px);transform:translateY(10px)}.tippy-popper[x-placement^=bottom] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateY(0);transform:translateY(0)}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=visible]{-webkit-transform:translateY(10px) scale(1);transform:translateY(10px) scale(1)}.tippy-popper[x-placement^=bottom] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateY(0) scale(.5);transform:translateY(0) scale(.5)}.tippy-popper[x-placement^=left] .tippy-backdrop{border-radius:50% 0 0 50%}.tippy-popper[x-placement^=left] .tippy-roundarrow{right:-16px;-webkit-transform-origin:33.33333333% 50%;transform-origin:33.33333333% 50%}.tippy-popper[x-placement^=left] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.tippy-popper[x-placement^=left] .tippy-arrow{border-left:8px solid #333;border-top:8px solid transparent;border-bottom:8px solid transparent;right:-7px;margin:3px 0;-webkit-transform-origin:0 50%;transform-origin:0 50%}.tippy-popper[x-placement^=left] .tippy-backdrop{-webkit-transform-origin:50% 0;transform-origin:50% 0}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%)}.tippy-popper[x-placement^=left] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-75%,-50%);transform:scale(.2) translate(-75%,-50%);opacity:0}.tippy-popper[x-placement^=left] [data-animation=shift-toward][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}.tippy-popper[x-placement^=left] [data-animation=perspective]{-webkit-transform-origin:right;transform-origin:right}.tippy-popper[x-placement^=left] [data-animation=perspective][data-state=visible]{-webkit-transform:translateX(-10px) rotateY(0);transform:translateX(-10px) rotateY(0)}.tippy-popper[x-placement^=left] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) rotateY(-60deg);transform:translateX(0) rotateY(-60deg)}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateX(-10px);transform:translateX(-10px)}.tippy-popper[x-placement^=left] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=visible]{-webkit-transform:translateX(-10px) scale(1);transform:translateX(-10px) scale(1)}.tippy-popper[x-placement^=left] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) scale(.5);transform:translateX(0) scale(.5)}.tippy-popper[x-placement^=right] .tippy-backdrop{border-radius:0 50% 50% 0}.tippy-popper[x-placement^=right] .tippy-roundarrow{left:-16px;-webkit-transform-origin:66.66666666% 50%;transform-origin:66.66666666% 50%}.tippy-popper[x-placement^=right] .tippy-roundarrow svg{position:absolute;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.tippy-popper[x-placement^=right] .tippy-arrow{border-right:8px solid #333;border-top:8px solid transparent;border-bottom:8px solid transparent;left:-7px;margin:3px 0;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.tippy-popper[x-placement^=right] .tippy-backdrop{-webkit-transform-origin:-50% 0;transform-origin:-50% 0}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=visible]{-webkit-transform:scale(1) translate(-50%,-50%);transform:scale(1) translate(-50%,-50%)}.tippy-popper[x-placement^=right] .tippy-backdrop[data-state=hidden]{-webkit-transform:scale(.2) translate(-25%,-50%);transform:scale(.2) translate(-25%,-50%);opacity:0}.tippy-popper[x-placement^=right] [data-animation=shift-toward][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-toward][data-state=hidden]{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}.tippy-popper[x-placement^=right] [data-animation=perspective]{-webkit-transform-origin:left;transform-origin:left}.tippy-popper[x-placement^=right] [data-animation=perspective][data-state=visible]{-webkit-transform:translateX(10px) rotateY(0);transform:translateX(10px) rotateY(0)}.tippy-popper[x-placement^=right] [data-animation=perspective][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) rotateY(60deg);transform:translateX(0) rotateY(60deg)}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=fade][data-state=hidden]{opacity:0;-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=visible]{-webkit-transform:translateX(10px);transform:translateX(10px)}.tippy-popper[x-placement^=right] [data-animation=shift-away][data-state=hidden]{opacity:0;-webkit-transform:translateX(0);transform:translateX(0)}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=visible]{-webkit-transform:translateX(10px) scale(1);transform:translateX(10px) scale(1)}.tippy-popper[x-placement^=right] [data-animation=scale][data-state=hidden]{opacity:0;-webkit-transform:translateX(0) scale(.5);transform:translateX(0) scale(.5)}.tippy-tooltip{position:relative;color:#fff;border-radius:4px;font-size:.9rem;padding:.3rem .6rem;max-width:350px;text-align:center;will-change:transform;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#333}.tippy-tooltip[data-size=small]{padding:.2rem .4rem;font-size:.75rem}.tippy-tooltip[data-size=large]{padding:.4rem .8rem;font-size:1rem}.tippy-tooltip[data-animatefill]{overflow:hidden;background-color:transparent}.tippy-tooltip[data-interactive],.tippy-tooltip[data-interactive] path{pointer-events:auto}.tippy-tooltip[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.53,2,.36,.85)}.tippy-tooltip[data-inertia][data-state=hidden]{transition-timing-function:ease}.tippy-arrow,.tippy-roundarrow{position:absolute;width:0;height:0}.tippy-roundarrow{width:24px;height:8px;fill:#333;pointer-events:none}.tippy-backdrop{position:absolute;will-change:transform;background-color:#333;border-radius:50%;width:calc(110% + 2rem);left:50%;top:50%;z-index:-1;transition:all cubic-bezier(.46,.1,.52,.98);-webkit-backface-visibility:hidden;backface-visibility:hidden}.tippy-backdrop:after{content:\"\";float:left;padding-top:100%}.tippy-backdrop+.tippy-content{transition-property:opacity;will-change:opacity}.tippy-backdrop+.tippy-content[data-state=visible]{opacity:1}.tippy-backdrop+.tippy-content[data-state=hidden]{opacity:0}',oe='3.3.0',ie=Object.assign||function(e){for(var t,r=1;r<arguments.length;r++)for(var a in t=arguments[r],t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},ne={a11y:!0,allowHTML:!0,animateFill:!0,animation:'shift-away',appendTo:function(){return document.body},arrow:!1,arrowTransform:'',arrowType:'sharp',content:'',delay:[0,20],distance:10,duration:[325,275],flip:!0,flipBehavior:'flip',followCursor:!1,hideOnClick:!0,inertia:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,lazy:!0,livePlacement:!0,maxWidth:'',multiple:!1,offset:0,onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},performance:!1,placement:'top',popperOptions:{},shouldPopperHideOnBlur:function(){return!0},showOnInit:!1,size:'regular',sticky:!1,target:'',theme:'dark',touch:!0,touchHold:!1,trigger:'mouseenter focus',updateDuration:200,wait:null,zIndex:9999},se=function(e){ne=ie({},ne,e)},le=['arrowType','distance','flip','flipBehavior','offset','placement','popperOptions'],de='undefined'!=typeof window,me=de?navigator:{},ce=de?window:{},fe=('MutationObserver'in ce),he=/MSIE |Trident\\//.test(me.userAgent),be=/iPhone|iPad|iPod/.test(me.platform)&&!ce.MSStream,ye=('ontouchstart'in ce),ue='undefined'!=typeof window&&'undefined'!=typeof document,ge=['Edge','Trident','Firefox'],xe=0,we=0;we<ge.length;we+=1)if(ue&&0<=navigator.userAgent.indexOf(ge[we])){xe=1;break}var i=ue&&window.Promise,ve=i?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},xe))}},ke=ue&&!!(window.MSInputMethodContext&&document.documentMode),Ee=ue&&/MSIE 10/.test(navigator.userAgent),Oe=function(e,t){if(!(e instanceof t))throw new TypeError('Cannot call a class as a function')},Ce=function(){function e(e,t){for(var r,a=0;a<t.length;a++)r=t[a],r.enumerable=r.enumerable||!1,r.configurable=!0,'value'in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}return function(t,r,a){return r&&e(t.prototype,r),a&&e(t,a),t}}(),Le=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},Te=Object.assign||function(e){for(var t,r=1;r<arguments.length;r++)for(var a in t=arguments[r],t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},Ae=ue&&/Firefox/i.test(navigator.userAgent),Ye=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],Se=Ye.slice(3),Pe={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},De=function(){function t(r,a){var p=this,o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};Oe(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(p.update)},this.update=ve(this.update.bind(this)),this.options=Te({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=r&&r.jquery?r[0]:r,this.popper=a&&a.jquery?a[0]:a,this.options.modifiers={},Object.keys(Te({},t.Defaults.modifiers,o.modifiers)).forEach(function(e){p.options.modifiers[e]=Te({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return Te({name:e},p.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(t){t.enabled&&e(t.onLoad)&&t.onLoad(p.reference,p.popper,p.options,t,p.state)}),this.update();var i=this.options.eventsEnabled;i&&this.enableEventListeners(),this.state.eventsEnabled=i}return Ce(t,[{key:'update',value:function(){return P.call(this)}},{key:'destroy',value:function(){return I.call(this)}},{key:'enableEventListeners',value:function(){return W.call(this)}},{key:'disableEventListeners',value:function(){return M.call(this)}}]),t}();De.Utils=('undefined'==typeof window?global:window).PopperUtils,De.placements=Ye,De.Defaults={placement:'bottom',positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,r=t.split('-')[0],a=t.split('-')[1];if(a){var p=e.offsets,o=p.reference,i=p.popper,n=-1!==['bottom','top'].indexOf(r),s=n?'left':'top',l=n?'width':'height',d={start:Le({},s,o[s]),end:Le({},s,o[s]+o[l]-i[l])};e.offsets.popper=Te({},i,d[a])}return e}},offset:{order:200,enabled:!0,fn:J,offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var r=t.boundariesElement||o(e.instance.popper);e.instance.reference===r&&(r=o(r));var a=X('transform'),p=e.instance.popper.style,i=p.top,n=p.left,s=p[a];p.top='',p.left='',p[a]='';var l=v(e.instance.popper,e.instance.reference,t.padding,r,e.positionFixed);p.top=i,p.left=n,p[a]=s,t.boundaries=l;var d=t.priority,m=e.offsets.popper,c={primary:function(e){var r=m[e];return m[e]<l[e]&&!t.escapeWithReference&&(r=ae(m[e],l[e])),Le({},e,r)},secondary:function(e){var r='right'===e?'left':'top',a=m[r];return m[e]>l[e]&&!t.escapeWithReference&&(a=ee(m[r],l[e]-('right'===e?m.width:m.height))),Le({},r,a)}};return d.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';m=Te({},m,c[t](e))}),e.offsets.popper=m,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,r=t.popper,a=t.reference,p=e.placement.split('-')[0],o=te,i=-1!==['top','bottom'].indexOf(p),n=i?'right':'bottom',s=i?'left':'top',l=i?'width':'height';return r[n]<o(a[s])&&(e.offsets.popper[s]=o(a[s])-r[l]),r[s]>o(a[n])&&(e.offsets.popper[s]=o(a[n])),e}},arrow:{order:500,enabled:!0,fn:function(e,r){var a;if(!V(e.instance.modifiers,'arrow','keepTogether'))return e;var p=r.element;if('string'==typeof p){if(p=e.instance.popper.querySelector(p),!p)return e;}else if(!e.instance.popper.contains(p))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var o=e.placement.split('-')[0],i=e.offsets,n=i.popper,s=i.reference,l=-1!==['left','right'].indexOf(o),d=l?'height':'width',m=l?'Top':'Left',c=m.toLowerCase(),f=l?'left':'top',h=l?'bottom':'right',y=C(p)[d];s[h]-y<n[c]&&(e.offsets.popper[c]-=n[c]-(s[h]-y)),s[c]+y>n[h]&&(e.offsets.popper[c]+=s[c]+y-n[h]),e.offsets.popper=b(e.offsets.popper);var u=s[c]+s[d]/2-y/2,g=t(e.instance.popper),x=parseFloat(g['margin'+m],10),w=parseFloat(g['border'+m+'Width'],10),v=u-e.offsets.popper[c]-x-w;return v=ae(ee(n[d]-y,v),0),e.arrowElement=p,e.offsets.arrow=(a={},Le(a,c,re(v)),Le(a,f,''),a),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(D(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var r=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),a=e.placement.split('-')[0],p=L(a),o=e.placement.split('-')[1]||'',i=[];switch(t.behavior){case Pe.FLIP:i=[a,p];break;case Pe.CLOCKWISE:i=j(a);break;case Pe.COUNTERCLOCKWISE:i=j(a,!0);break;default:i=t.behavior;}return i.forEach(function(n,s){if(a!==n||i.length===s+1)return e;a=e.placement.split('-')[0],p=L(a);var l=e.offsets.popper,d=e.offsets.reference,m=te,c='left'===a&&m(l.right)>m(d.left)||'right'===a&&m(l.left)<m(d.right)||'top'===a&&m(l.bottom)>m(d.top)||'bottom'===a&&m(l.top)<m(d.bottom),f=m(l.left)<m(r.left),h=m(l.right)>m(r.right),b=m(l.top)<m(r.top),y=m(l.bottom)>m(r.bottom),u='left'===a&&f||'right'===a&&h||'top'===a&&b||'bottom'===a&&y,g=-1!==['top','bottom'].indexOf(a),x=!!t.flipVariations&&(g&&'start'===o&&f||g&&'end'===o&&h||!g&&'start'===o&&b||!g&&'end'===o&&y);(c||u||x)&&(e.flipped=!0,(c||u)&&(a=i[s+1]),x&&(o=q(o)),e.placement=a+(o?'-'+o:''),e.offsets.popper=Te({},e.offsets.popper,T(e.instance.popper,e.offsets.reference,e.placement)),e=S(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,r=t.split('-')[0],a=e.offsets,p=a.popper,o=a.reference,i=-1!==['left','right'].indexOf(r),n=-1===['top','left'].indexOf(r);return p[i?'left':'top']=o[r]-(n?p[i?'width':'height']:0),e.placement=L(t),e.offsets.popper=b(p),e}},hide:{order:800,enabled:!0,fn:function(e){if(!V(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,r=A(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottom<r.top||t.left>r.right||t.top>r.bottom||t.right<r.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var r=t.x,a=t.y,p=e.offsets.popper,i=A(e.instance.modifiers,function(e){return'applyStyle'===e.name}).gpuAcceleration;void 0!==i&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var n=void 0===i?t.gpuAcceleration:i,s=o(e.instance.popper),l=u(s),d={position:p.position},m=U(e,2>window.devicePixelRatio||!Ae),c='bottom'===r?'top':'bottom',f='right'===a?'left':'right',h=X('transform'),b=void 0,y=void 0;if(y='bottom'==c?'HTML'===s.nodeName?-s.clientHeight+m.bottom:-l.height+m.bottom:m.top,b='right'==f?'HTML'===s.nodeName?-s.clientWidth+m.right:-l.width+m.right:m.left,n&&h)d[h]='translate3d('+b+'px, '+y+'px, 0)',d[c]=0,d[f]=0,d.willChange='transform';else{var g='bottom'==c?-1:1,x='right'==f?-1:1;d[c]=y*g,d[f]=b*x,d.willChange=c+', '+f}var w={\"x-placement\":e.placement};return e.attributes=Te({},w,e.attributes),e.styles=Te({},d,e.styles),e.arrowStyles=Te({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return _(e.instance.popper,e.styles),F(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&_(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,r,a,p){var o=O(p,t,e,r.positionFixed),i=E(r.placement,o,t,e,r.modifiers.flip.boundariesElement,r.modifiers.flip.padding);return t.setAttribute('x-placement',i),_(t,{position:r.positionFixed?'fixed':'absolute'}),r},gpuAcceleration:void 0}}};var Xe={POPPER:'.tippy-popper',TOOLTIP:'.tippy-tooltip',CONTENT:'.tippy-content',BACKDROP:'.tippy-backdrop',ARROW:'.tippy-arrow',ROUND_ARROW:'.tippy-roundarrow'},Ie={x:!0},Ne=function(e){return[].slice.call(e)},He=function(e,t){t.content instanceof Element?(_e(e,''),e.appendChild(t.content)):e[t.allowHTML?'innerHTML':'textContent']=t.content},Re=function(e){return!(e instanceof Element)||at.call(e,'a[href],area[href],button,details,input,textarea,select,iframe,[tabindex]')&&!e.hasAttribute('disabled')},We=function(e,t){e.filter(Boolean).forEach(function(e){e.style.transitionDuration=t+'ms'})},Be=function(e){var t=function(t){return e.querySelector(t)};return{tooltip:t(Xe.TOOLTIP),backdrop:t(Xe.BACKDROP),content:t(Xe.CONTENT),arrow:t(Xe.ARROW)||t(Xe.ROUND_ARROW)}},Me=function(e){return'[object Object]'==={}.toString.call(e)},ze=function(){return document.createElement('div')},_e=function(e,t){e[Ie.x&&'innerHTML']=t instanceof Element?t[Ie.x&&'innerHTML']:t},Fe=function(e){if(e instanceof Element||Me(e))return[e];if(e instanceof NodeList)return Ne(e);if(Array.isArray(e))return e;try{return Ne(document.querySelectorAll(e))}catch(t){return[]}},Ue=function(e){return!isNaN(e)&&!isNaN(parseFloat(e))},Ve=function(e,t,r){if(Array.isArray(e)){var a=e[t];return null==a?r:a}return e},qe=function(e){var t=ze();return'round'===e?(t.className='tippy-roundarrow',_e(t,'<svg viewBox=\"0 0 24 8\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 8s2.021-.015 5.253-4.218C9.584 2.051 10.797 1.007 12 1c1.203-.007 2.416 1.035 3.761 2.782C19.012 8.005 21 8 21 8H3z\"/></svg>')):t.className='tippy-arrow',t},je=function(){var e=ze();return e.className='tippy-backdrop',e.setAttribute('data-state','hidden'),e},Ke=function(e,t){e.setAttribute('tabindex','-1'),t.setAttribute('data-interactive','')},Ge=function(e,t){e.removeAttribute('tabindex'),t.removeAttribute('data-interactive')},Je=function(e){e.setAttribute('data-inertia','')},Ze=function(e){e.removeAttribute('data-inertia')},$e=function(e,t){var r=ze();r.className='tippy-popper',r.setAttribute('role','tooltip'),r.id='tippy-'+e,r.style.zIndex=t.zIndex;var a=ze();a.className='tippy-tooltip',a.style.maxWidth=t.maxWidth+('number'==typeof t.maxWidth?'px':''),a.setAttribute('data-size',t.size),a.setAttribute('data-animation',t.animation),a.setAttribute('data-state','hidden'),t.theme.split(' ').forEach(function(e){a.classList.add(e+'-theme')});var p=ze();return p.className='tippy-content',p.setAttribute('data-state','hidden'),t.interactive&&Ke(r,a),t.arrow&&a.appendChild(qe(t.arrowType)),t.animateFill&&(a.appendChild(je()),a.setAttribute('data-animatefill','')),t.inertia&&a.setAttribute('data-inertia',''),He(p,t),a.appendChild(p),r.appendChild(a),r.addEventListener('focusout',function(t){t.relatedTarget&&r._tippy&&!ot(t.relatedTarget,function(e){return e===r})&&t.relatedTarget!==r._tippy.reference&&r._tippy.props.shouldPopperHideOnBlur(t)&&r._tippy.hide()}),r},Qe=function(e,t,r){var a=Be(e),p=a.tooltip,o=a.content,i=a.backdrop,n=a.arrow;e.style.zIndex=r.zIndex,p.setAttribute('data-size',r.size),p.setAttribute('data-animation',r.animation),p.style.maxWidth=r.maxWidth+('number'==typeof r.maxWidth?'px':''),t.content!==r.content&&He(o,r),!t.animateFill&&r.animateFill?(p.appendChild(je()),p.setAttribute('data-animatefill','')):t.animateFill&&!r.animateFill&&(p.removeChild(i),p.removeAttribute('data-animatefill')),!t.arrow&&r.arrow?p.appendChild(qe(r.arrowType)):t.arrow&&!r.arrow&&p.removeChild(n),t.arrow&&r.arrow&&t.arrowType!==r.arrowType&&p.replaceChild(qe(r.arrowType),n),!t.interactive&&r.interactive?Ke(e,p):t.interactive&&!r.interactive&&Ge(e,p),!t.inertia&&r.inertia?Je(p):t.inertia&&!r.inertia&&Ze(p),t.theme!==r.theme&&(t.theme.split(' ').forEach(function(e){p.classList.remove(e+'-theme')}),r.theme.split(' ').forEach(function(e){p.classList.add(e+'-theme')}))},et=function(e){Ne(document.querySelectorAll(Xe.POPPER)).forEach(function(t){var r=t._tippy;r&&!0===r.props.hideOnClick&&(!e||t!==e.popper)&&r.hide()})},tt=function(e){return Object.keys(ne).reduce(function(t,r){var a=(e.getAttribute('data-tippy-'+r)||'').trim();return a?(t[r]='content'===r?a:'true'===a||'false'!==a&&(Ue(a)?+a:'['===a[0]||'{'===a[0]?JSON.parse(a):a),t):t},{})},rt=function(e){var t={isVirtual:!0,attributes:e.attributes||{},setAttribute:function(t,r){e.attributes[t]=r},getAttribute:function(t){return e.attributes[t]},removeAttribute:function(t){delete e.attributes[t]},hasAttribute:function(t){return t in e.attributes},addEventListener:function(){},removeEventListener:function(){},classList:{classNames:{},add:function(t){e.classList.classNames[t]=!0},remove:function(t){delete e.classList.classNames[t]},contains:function(t){return t in e.classList.classNames}}};for(var r in t)e[r]=t[r];return e},at=function(){if(de){var t=Element.prototype;return t.matches||t.matchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector}}(),pt=function(e,t){return(Element.prototype.closest||function(e){for(var t=this;t;){if(at.call(t,e))return t;t=t.parentElement}}).call(e,t)},ot=function(e,t){for(;e;){if(t(e))return e;e=e.parentElement}},it=function(e){var t=window.scrollX||window.pageXOffset,r=window.scrollY||window.pageYOffset;e.focus(),scroll(t,r)},nt=function(e){void e.offsetHeight},st=function(e,t){return(t?e:{X:'Y',Y:'X'}[e])||''},lt=function(e,t,r,p){var o=t[0],i=t[1];if(!o&&!i)return'';var n={scale:function(){return i?r?o+', '+i:i+', '+o:''+o}(),translate:function(){return i?r?p?o+'px, '+-i+'px':o+'px, '+i+'px':p?-i+'px, '+o+'px':i+'px, '+o+'px':p?-o+'px':o+'px'}()};return n[e]},dt=function(e,t){var r=e.match(new RegExp(t+'([XY])'));return r?r[1]:''},mt=function(e,t){var r=e.match(t);return r?r[1].split(',').map(parseFloat):[]},ct={translate:/translateX?Y?\\(([^)]+)\\)/,scale:/scaleX?Y?\\(([^)]+)\\)/},ft=function(e,t){var r=xt(pt(e,Xe.POPPER)),a='top'===r||'bottom'===r,p='right'===r||'bottom'===r,o={translate:{axis:dt(t,'translate'),numbers:mt(t,ct.translate)},scale:{axis:dt(t,'scale'),numbers:mt(t,ct.scale)}},i=t.replace(ct.translate,'translate'+st(o.translate.axis,a)+'('+lt('translate',o.translate.numbers,a,p)+')').replace(ct.scale,'scale'+st(o.scale.axis,a)+'('+lt('scale',o.scale.numbers,a,p)+')');e.style['undefined'==typeof document.body.style.transform?'webkitTransform':'transform']=i},ht=function(e,t){e.filter(Boolean).forEach(function(e){e.setAttribute('data-state',t)})},bt=function(e,t){var r=e.popper,a=e.options,p=a.onCreate,o=a.onUpdate;a.onCreate=a.onUpdate=function(){nt(r),t(),o(),a.onCreate=p,a.onUpdate=o}},yt=function(e){setTimeout(e,1)},ut=function(e,t,r,a){if(!e)return!0;var p=r.clientX,o=r.clientY,i=a.interactiveBorder,n=a.distance,s=t.top-o>('top'===e?i+n:i),l=o-t.bottom>('bottom'===e?i+n:i),d=t.left-p>('left'===e?i+n:i),m=p-t.right>('right'===e?i+n:i);return s||l||d||m},gt=function(e,t){return-(e-t)+'px'},xt=function(e){var t=e.getAttribute('x-placement');return t?t.split('-')[0]:''},wt=function(e,t){var r=ie({},t,t.performance?{}:tt(e));return r.arrow&&(r.animateFill=!1),'function'==typeof r.appendTo&&(r.appendTo=t.appendTo(e)),'function'==typeof r.content&&(r.content=t.content(e)),r},vt=function(e,t,r){e[t+'EventListener']('transitionend',r)},kt=function(e,t){var r;return function(){var a=this,p=arguments;clearTimeout(r),r=setTimeout(function(){return e.apply(a,p)},t)}},Et=function(e,t){for(var r in e||{})if(!(r in t))throw Error('[tippy]: `'+r+'` is not a valid option')},Ot=function(e,t){return{}.hasOwnProperty.call(e,t)},Ct=!1,Lt=function(){Ct||(Ct=!0,be&&document.body.classList.add('tippy-iOS'),window.performance&&document.addEventListener('mousemove',At))},Tt=0,At=function e(){var t=performance.now();20>t-Tt&&(Ct=!1,document.removeEventListener('mousemove',e),!be&&document.body.classList.remove('tippy-iOS')),Tt=t},Yt=function(e){var t=e.target;if(!(t instanceof Element))return et();var r=pt(t,Xe.POPPER);if(!(r&&r._tippy&&r._tippy.props.interactive)){var a=ot(t,function(e){return e._tippy&&e._tippy.reference===e});if(a){var p=a._tippy,o=-1<p.props.trigger.indexOf('click');if(Ct||o)return et(p);if(!0!==p.props.hideOnClick||o)return;p.clearDelayTimeouts()}et()}},St=function(){var e=document,t=e.activeElement;t&&t.blur&&t._tippy&&t.blur()},Pt=function(){Ne(document.querySelectorAll(Xe.POPPER)).forEach(function(e){var t=e._tippy;t.props.livePlacement||t.popperInstance.scheduleUpdate()})},Dt=1,Xt=!1;Q.version=oe,Q.defaults=ne,Q.one=function(e,t){return Q(e,t,!0).instances[0]},Q.setDefaults=function(e){se(e),Q.defaults=ne},Q.disableAnimations=function(){Q.setDefaults({duration:0,updateDuration:0,animateFill:!1})},Q.hideAllPoppers=et,Q.useCapture=function(){};return de&&setTimeout(function(){Ne(document.querySelectorAll('[data-tippy]')).forEach(function(e){var t=e.getAttribute('data-tippy');t&&Q(e,{content:t})})}),function(e){if(fe){var t=document.createElement('style');t.type='text/css',t.textContent=e,document.head.insertBefore(t,document.head.firstChild)}}(pe),Q});\n//# sourceMappingURL=tippy.all.min.js.map\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","import { Evented } from './evented.js';\nimport { Step } from './step.js';\nimport { Shepherd, Tour } from './tour.js';\n\nObject.assign(Shepherd, { Tour, Step, Evented });\n\nexport default Shepherd;\n","var baseSlice = require('./_baseSlice'),\n toInteger = require('./toInteger');\n\n/**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\nfunction drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n}\n\nmodule.exports = drop;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","/**\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 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","/** 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 * 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 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","/** 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","/**\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","/**\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","/**\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 isObjectLike = require('./isObjectLike'),\n isPlainObject = require('./isPlainObject');\n\n/**\n * Checks if `value` is likely a DOM element.\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 DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('<body>');\n * // => false\n */\nfunction isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n}\n\nmodule.exports = isElement;\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 overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\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 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","/**\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 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 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","if (!Element.prototype.matches) {\n Element.prototype.matches =\n Element.prototype.matchesSelector ||\n Element.prototype.msMatchesSelector ||\n Element.prototype.webkitMatchesSelector;\n}\n","var assignValue = require('./_assignValue'),\n baseZipObject = require('./_baseZipObject');\n\n/**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\nfunction zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n}\n\nmodule.exports = zipObject;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var 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","/**\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","/**\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","/**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\nfunction baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n}\n\nmodule.exports = baseZipObject;\n","export const missingTippy = 'Using the attachment feature of Shepherd requires the Tippy.js library';\n","import { isFunction, isNumber, isString, isUndefined, isEmpty } from 'lodash';\nimport { Evented } from './evented.js';\nimport { Modal } from './modal.js';\nimport { Step } from './step.js';\nimport { bindMethods } from './bind.js';\nimport tippy from 'tippy.js';\nimport { defaults as tooltipDefaults } from './utils/tooltip-defaults';\n\nimport {\n cleanupSteps\n} from './utils/cleanup';\n\nimport {\n addStepEventListeners,\n cleanupStepEventListeners,\n getElementForStep\n} from './utils/dom';\n\nimport {\n toggleShepherdModalClass\n} from './utils/modal';\n\n/**\n * Creates incremented ID for each newly created tour\n *\n * @private\n * @return {Number} The unique id for the tour\n */\nconst uniqueId = (function() {\n let id = 0;\n return function() {\n return ++id;\n };\n})();\n\nconst Shepherd = new Evented();\n\n/**\n * Class representing the site tour\n * @extends {Evented}\n */\nexport class Tour extends Evented {\n /**\n * @param {Object} options The options for the tour\n * @param {Object} options.defaultStepOptions Default options for Steps created through `addStep`\n * @param {Step[]} options.steps An array of Step instances to initialize the tour with\n * @param {string} options.tourName An optional \"name\" for the tour. This will be appended to the the tour's\n * dynamically generated `id` property -- which is also set on the `body` element as the `data-shepherd-active-tour` attribute\n * whenever the tour becomes active.\n * @param {boolean} options.useModalOverlay Whether or not steps should be placed above a darkened\n * modal overlay. If true, the overlay will create an opening around the target element so that it\n * can remain interactive\n * @returns {Tour}\n */\n constructor(options = {}) {\n super(options);\n bindMethods.call(this, [\n 'back',\n 'cancel',\n 'complete',\n 'next'\n ]);\n this.options = options;\n this.steps = this.options.steps || [];\n\n // Pass these events onto the global Shepherd object\n const events = ['active', 'cancel', 'complete', 'inactive', 'show', 'start'];\n events.map((event) => {\n ((e) => {\n this.on(e, (opts) => {\n opts = opts || {};\n opts.tour = this;\n Shepherd.trigger(e, opts);\n });\n })(event);\n });\n\n this.modal = new Modal(options);\n\n this._setTooltipDefaults();\n this._setTourID();\n\n return this;\n }\n\n /**\n * Adds a new step to the tour\n * @param {Object|Number|Step|String} arg1\n * When arg2 is defined, arg1 can either be a string or number, to use for the `id` for the step\n * When arg2 is undefined, arg1 is either an object containing step options or a Step instance\n * @param {Object|Step} arg2 An object containing step options or a Step instance\n * @return {Step} The newly added step\n */\n addStep(arg1, arg2) {\n let name, step;\n\n // If we just have one argument, we can assume it is an object of step options, with an id\n if (isUndefined(arg2)) {\n step = arg1;\n } else {\n name = arg1;\n step = arg2;\n }\n\n if (!(step instanceof Step)) {\n step = this.setupStep(step, name);\n } else {\n step.tour = this;\n }\n\n this.steps.push(step);\n return step;\n }\n\n /**\n * Go to the previous step in the tour\n */\n back() {\n const index = this.steps.indexOf(this.currentStep);\n this.show(index - 1, false);\n }\n\n /**\n * Calls done() triggering the 'cancel' event\n * If `confirmCancel` is true, will show a window.confirm before cancelling\n */\n cancel() {\n if (this.options.confirmCancel) {\n const cancelMessage = this.options.confirmCancelMessage || 'Are you sure you want to stop the tour?';\n const stopTour = window.confirm(cancelMessage);\n if (stopTour) {\n this.done('cancel');\n }\n } else {\n this.done('cancel');\n }\n }\n\n /**\n * Calls done() triggering the `complete` event\n */\n complete() {\n this.done('complete');\n }\n\n /**\n * Called whenever the tour is cancelled or completed, basically anytime we exit the tour\n * @param {String} event The event name to trigger\n */\n done(event) {\n if (!isEmpty(this.steps)) {\n this.steps.forEach((step) => step.destroy());\n }\n\n cleanupStepEventListeners.call(this);\n cleanupSteps(this.tourObject);\n this.modal.cleanup();\n\n this.trigger(event);\n\n Shepherd.activeTour = null;\n this._removeBodyAttrs();\n this.trigger('inactive', { tour: this });\n }\n\n /**\n * Gets the step from a given id\n * @param {Number|String} id The id of the step to retrieve\n * @return {Step} The step corresponding to the `id`\n */\n getById(id) {\n return this.steps.find((step) => {\n return step.id === id;\n });\n }\n\n /**\n * Gets the current step\n * @returns {Step|null}\n */\n getCurrentStep() {\n return this.currentStep;\n }\n\n /**\n * Hide the current step\n */\n hide() {\n const currentStep = this.getCurrentStep();\n\n if (currentStep) {\n return currentStep.hide();\n }\n }\n\n isActive() {\n return Shepherd.activeTour === this;\n }\n\n /**\n * Go to the next step in the tour\n * If we are at the end, call `complete`\n */\n next() {\n const index = this.steps.indexOf(this.currentStep);\n\n if (index === this.steps.length - 1) {\n this.complete();\n } else {\n this.show(index + 1, true);\n }\n }\n\n /**\n * Removes the step from the tour\n * @param {String} name The id for the step to remove\n */\n removeStep(name) {\n const current = this.getCurrentStep();\n\n // Find the step, destroy it and remove it from this.steps\n this.steps.some((step, i) => {\n if (step.id === name) {\n if (step.isOpen()) {\n step.hide();\n }\n\n step.destroy();\n this.steps.splice(i, 1);\n\n return true;\n }\n });\n\n if (current && current.id === name) {\n this.currentStep = undefined;\n\n // If we have steps left, show the first one, otherwise just cancel the tour\n this.steps.length ? this.show(0) : this.cancel();\n }\n }\n\n /**\n * Setup a new step object\n * @param {Object} stepOptions The object describing the options for the step\n * @param {String|Number} name The string or number to use as the `id` for the step\n * @return {Step} The step instance\n */\n setupStep(stepOptions, name) {\n if (isString(name) || isNumber(name)) {\n stepOptions.id = name.toString();\n }\n\n stepOptions = Object.assign({}, this.options.defaultStepOptions, stepOptions);\n\n return new Step(this, stepOptions);\n }\n\n beforeShowStep(step) {\n this.modal.setupForStep(step);\n this._styleTargetElementForStep(step);\n }\n\n /**\n * Show a specific step in the tour\n * @param {Number|String} key The key to look up the step by\n * @param {Boolean} forward True if we are going forward, false if backward\n */\n show(key = 0, forward = true) {\n const step = isString(key) ? this.getById(key) : this.steps[key];\n\n if (step) {\n this._updateStateBeforeShow();\n\n const shouldSkipStep = isFunction(step.options.showOn) && !step.options.showOn();\n\n // If `showOn` returns false, we want to skip the step, otherwise, show the step like normal\n if (shouldSkipStep) {\n this._skipStep(step, forward);\n } else {\n this.trigger('show', {\n step,\n previous: this.currentStep\n });\n\n this.currentStep = step;\n step.show();\n }\n }\n }\n\n /**\n * Start the tour\n */\n start() {\n this.trigger('start');\n\n this.currentStep = null;\n this._setupActiveTour();\n addStepEventListeners.call(this);\n this.next();\n }\n\n /**\n * Make this tour \"active\"\n * @private\n */\n _setupActiveTour() {\n this._addBodyAttrs();\n this.trigger('active', { tour: this });\n\n Shepherd.activeTour = this;\n }\n\n /**\n * Modulates the styles of the passed step's target element, based on the step's options and\n * the tour's `modal` option, to visually emphasize the element\n *\n * @param step The step object that attaches to the element\n * @private\n */\n _styleTargetElementForStep(step) {\n const targetElement = getElementForStep(step);\n\n if (!targetElement) {\n return;\n }\n\n toggleShepherdModalClass(targetElement);\n\n if (step.options.highlightClass) {\n targetElement.classList.add(step.options.highlightClass);\n }\n\n if (step.options.canClickTarget === false) {\n targetElement.style.pointerEvents = 'none';\n }\n }\n\n /**\n * Called when `showOn` evaluates to false, to skip the step\n * @param {Step} step The step to skip\n * @param {Boolean} forward True if we are going forward, false if backward\n * @private\n */\n _skipStep(step, forward) {\n const index = this.steps.indexOf(step);\n const nextIndex = forward ? index + 1 : index - 1;\n this.show(nextIndex, forward);\n }\n\n _setTooltipDefaults() {\n tippy.setDefaults(tooltipDefaults);\n }\n\n _updateStateBeforeShow() {\n if (this.currentStep) {\n this.currentStep.hide();\n }\n\n if (!this.isActive()) {\n this._setupActiveTour();\n }\n }\n\n _setTourID() {\n const tourName = this.options.tourName || 'tour';\n const uuid = uniqueId();\n\n this.id = `${tourName}--${uuid}`;\n }\n\n _addBodyAttrs() {\n document.body.setAttribute('data-shepherd-active-tour', this.id);\n document.body.classList.add('shepherd-active');\n }\n\n _removeBodyAttrs() {\n document.body.removeAttribute('data-shepherd-active-tour');\n document.body.classList.remove('shepherd-active');\n }\n\n}\n\nexport { Shepherd };\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","import {\n getModalMaskOpening,\n createModalOverlay,\n positionModalOpening,\n closeModalOpening,\n classNames as modalClassNames\n} from './utils/modal';\nimport { addStepEventListeners, getElementForStep } from './utils/dom';\nimport { debounce, defer } from 'lodash';\n\nexport class Modal {\n constructor(options) {\n if (!this._modalOverlayElem) {\n this._modalOverlayElem = createModalOverlay();\n this._modalOverlayOpening = getModalMaskOpening(this._modalOverlayElem);\n\n // don't show yet -- each step will control that\n this.hide();\n\n document.body.appendChild(this._modalOverlayElem);\n }\n\n this.options = options;\n\n return this;\n }\n\n /**\n * Removes svg mask from modal overlay and removes classes for modal being visible\n */\n cleanup() {\n defer(() => {\n const element = this._modalOverlayElem;\n\n if (element && element instanceof SVGElement) {\n element.parentNode.removeChild(element);\n }\n\n this._modalOverlayElem = null;\n document.body.classList.remove(modalClassNames.isVisible);\n });\n }\n\n /**\n * Hide the modal overlay\n */\n hide() {\n document.body.classList.remove(modalClassNames.isVisible);\n\n if (this._modalOverlayElem) {\n this._modalOverlayElem.style.display = 'none';\n }\n }\n\n /**\n * If modal is enabled, setup the svg mask opening and modal overlay for the step\n * @param step\n */\n setupForStep(step) {\n if (this.options.useModalOverlay) {\n this._styleForStep(step);\n this.show();\n\n } else {\n this.hide();\n }\n }\n\n /**\n * Show the modal overlay\n */\n show() {\n document.body.classList.add(modalClassNames.isVisible);\n\n if (this._modalOverlayElem) {\n this._modalOverlayElem.style.display = 'block';\n }\n }\n\n /**\n * Style the modal for the step\n * @param {Step} step The step to style the opening for\n * @private\n */\n _styleForStep(step) {\n const modalOverlayOpening = this._modalOverlayOpening;\n const targetElement = getElementForStep(step);\n\n if (targetElement) {\n positionModalOpening(targetElement, modalOverlayOpening);\n\n this._onScreenChange = debounce(\n positionModalOpening.bind(this, targetElement, modalOverlayOpening),\n 0,\n { leading: false, trailing: true } // see https://lodash.com/docs/#debounce\n );\n\n addStepEventListeners.call(this);\n\n } else {\n closeModalOpening(this._modalOverlayOpening);\n }\n }\n}","var baseDelay = require('./_baseDelay'),\n baseRest = require('./_baseRest');\n\n/**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\nvar defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n});\n\nmodule.exports = defer;\n","/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\nfunction baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n}\n\nmodule.exports = baseDelay;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","/**\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 apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * 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 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","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 freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/**\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","export const defaults = {\n trigger: 'manual',\n arrow: true,\n arrowTransform: 'scale(2)',\n animation: 'fade',\n duration: 420,\n flip: true,\n animateFill: false, // https://atomiks.github.io/tippyjs/#animate-fill-option\n interactive: true, // https://atomiks.github.io/tippyjs/#interactive-option\n hideOnClick: 'toggle', // https://atomiks.github.io/tippyjs/#hide-on-click-option\n multiple: true // https://atomiks.github.io/tippyjs/#multiple-option\n};\n","import { preventModalBodyTouch } from './modal';\nimport { getElementForStep } from './dom';\n\n/**\n * Cleanup the steps and set pointerEvents back to 'auto'\n * @param tour The tour object\n */\nexport function cleanupSteps(tour) {\n if (tour) {\n const { steps } = tour;\n\n steps.forEach((step) => {\n if (step.options && step.options.canClickTarget === false && step.options.attachTo) {\n const stepElement = getElementForStep(step);\n\n if (stepElement instanceof HTMLElement) {\n stepElement.style.pointerEvents = 'auto';\n }\n }\n });\n }\n}\n\n/**\n * Remove resize and scroll event listeners\n */\nexport function cleanupStepEventListeners() {\n if (typeof this._onScreenChange === 'function') {\n window.removeEventListener('resize', this._onScreenChange, false);\n window.removeEventListener('scroll', this._onScreenChange, false);\n window.removeEventListener('touchmove', preventModalBodyTouch, false);\n\n this._onScreenChange = null;\n }\n}\n"],"sourceRoot":""}