{"version":3,"sources":["webpack:///scripts/core--b4c5ed488dc3467ca17a.js","webpack:///./node_modules/ally.js/src/map/keycode.js","webpack:///./node_modules/ally.js/src/util/compare-position.js","webpack:///./node_modules/ally.js/src/util/node-array.js","webpack:///./node_modules/ally.js/src/when/key.binding.js","webpack:///./node_modules/ally.js/src/when/key.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./node_modules/ms/index.js","webpack:///./node_modules/process/browser.js","webpack:///(webpack)/buildin/module.js","webpack:///./project/client/src/core/components/ajax-submit/index--split.js","webpack:///./project/client/src/core/components/alert-bar/dismiss.js","webpack:///./project/client/src/core/components/alert-bar/index.js","webpack:///./project/client/src/core/components/anchor-margin/anchor-margin.js","webpack:///./project/client/src/core/components/anchor-margin/index.js","webpack:///./project/client/src/core/components/app-install-prompt/app-install-prompt.js","webpack:///./project/client/src/core/components/app-install-prompt/index.js","webpack:///./project/client/src/core/components/avanser/index.js","webpack:///./project/client/src/core/components/block-slider/index.js","webpack:///./project/client/src/core/components/choose-form/index--split.js","webpack:///./project/client/src/core/components/date-input-set/index--split.js","webpack:///./project/client/src/core/components/epi-blocks/index.js","webpack:///./project/client/src/core/components/epi-blocks/quote-cta/index--split.js","webpack:///./project/client/src/core/components/epi-forms/epiform-element-validated/index--split.js","webpack:///./project/client/src/core/components/epi-forms/epiform-submission-progress/index--split.js","webpack:///./project/client/src/core/components/epi-forms/index.js","webpack:///./project/client/src/core/components/forms/address-autocomplete/index--split.js","webpack:///./project/client/src/core/components/forms/amount-frequency-field/index--split.js","webpack:///./project/client/src/core/components/forms/dollar-value-field/index--split.js","webpack:///./project/client/src/core/components/forms/dynamic-hidden-field/index--split.js","webpack:///./project/client/src/core/components/forms/equifax-address-lookup/index--split.js","webpack:///./project/client/src/core/components/forms/equifax-email-lookup/index--split.js","webpack:///./project/client/src/core/components/forms/equifax-phone-lookup/index--split.js","webpack:///./project/client/src/core/components/forms/field-tally/index--split.js","webpack:///./project/client/src/core/components/forms/hidden-dependee/index--split.js","webpack:///./project/client/src/core/components/forms/index.js","webpack:///./project/client/src/core/components/forms/input-currency/index--split.js","webpack:///./project/client/src/core/components/forms/input-file.js","webpack:///./project/client/src/core/components/forms/input-range/index--split.js","webpack:///./project/client/src/core/components/forms/years-months-field/index--split.js","webpack:///./project/client/src/core/components/index.js","webpack:///./project/client/src/core/components/modal/index--split.js","webpack:///./project/client/src/core/components/more-less/index--available.js","webpack:///./project/client/src/core/components/persist-param/index.js","webpack:///./project/client/src/core/components/persist-param/persist-param.js","webpack:///./project/client/src/core/components/pop-window/index--split.js","webpack:///./project/client/src/core/components/quote-form/index--split.js","webpack:///./project/client/src/core/components/required-field/index--split.js","webpack:///./project/client/src/core/components/required-field/required-field.js","webpack:///./project/client/src/core/components/selector/index--split.js","webpack:///./project/client/src/core/components/site-header/index.js","webpack:///./project/client/src/core/components/site-header/site-header-controller.js","webpack:///./project/client/src/core/components/tabs/index.js","webpack:///./project/client/src/core/components/tabs/tabs-controller.js","webpack:///./project/client/src/core/components/voting-card/index--available.js","webpack:///./project/client/src/core/index.js","webpack:///./project/client/src/core/plugins/index.js","webpack:///./project/client/src/core/plugins/jquery__collapsible/plugin--split.js","webpack:///./project/client/src/core/plugins/jquery__focus/index.js","webpack:///./project/client/src/core/plugins/jquery__form-loading/form-loading.js","webpack:///./project/client/src/core/plugins/jquery__form-loading/plugin--bundled.js","webpack:///./project/client/src/core/plugins/jquery__mega-link/mega-link.js","webpack:///./project/client/src/core/plugins/jquery__mega-link/plugin--bundled.js","webpack:///./project/client/src/core/plugins/jquery__trigger-event/index.js","webpack:///./project/client/src/core/plugins/lib/fn.js","webpack:///./project/client/src/core/plugins/lib/index.js","webpack:///./project/client/src/core/plugins/lib/objects.js","webpack:///./project/client/src/core/plugins/lib/selectors.js","webpack:///./project/client/src/core/plugins/lib/strings.js","webpack:///./project/client/src/core/utilities/inert.js","webpack:///external \"jQuery\""],"names":["webpackJsonp","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/map/keycode.js","module","exports","__webpack_require__","Object","defineProperty","value","keycode","tab","left","up","right","down","pageUp","page-up","pageDown","page-down","end","home","enter","escape","space","shift","capsLock","caps-lock","ctrl","alt","meta","pause","insert","delete","backspace","_alias","91","n","code","numCode","String","fromCharCode","toLowerCase","default","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/util/compare-position.js","getParentComparator","_ref","arguments","length","undefined","parent","element","includeSelf","node","Boolean","compareDocumentPosition","Node","DOCUMENT_POSITION_CONTAINED_BY","TypeError","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/util/node-array.js","input","Array","isArray","nodeType","document","querySelectorAll","slice","call","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/when/key.binding.js","createExpectedModifiers","ignoreModifiers","altKey","ctrlKey","metaKey","shiftKey","resolveModifiers","modifiers","indexOf","expected","forEach","token","operator","propertyName","modifier","resolveKey","key","parseInt","isNaN","concat","matchModifiers","event","modifierSequence","some","prop","text","split","map","_text","tokens","_modifiers","keyCodes","bind","_keycode","_keycode2","obj","__esModule","keys","name","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/when/key.js","_interopRequireDefault","bindings","context","_nodeArray2","documentElement","filter","mapKeys","registerBinding","push","addCallback","callback","_key2","handleKeyDown","defaultPrevented","isParentOfElement","_comparePosition","target","keyCode","which","_event","disengage","addEventListener","removeEventListener","_key","_nodeArray","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js","process","useColors","window","type","navigator","userAgent","match","style","WebkitAppearance","console","firebug","exception","table","RegExp","$1","formatArgs","args","this","namespace","humanize","diff","c","color","splice","index","lastC","replace","log","_typeof","Function","prototype","apply","save","namespaces","storage","removeItem","debug","e","load","r","env","DEBUG","Symbol","iterator","constructor","chrome","local","localStorage","colors","formatters","j","v","JSON","stringify","err","message","enable","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/debug.js","selectColor","i","hash","charCodeAt","Math","abs","createDebug","enabled","self","curr","Date","ms","prevTime","prev","coerce","unshift","format","formatter","val","destroy","init","instances","names","skips","len","substr","instance","disable","test","Error","stack","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ms/index.js","parse","str","exec","parseFloat","y","d","h","m","s","fmtShort","round","fmtLong","plural","floor","ceil","options","long","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/process/browser.js","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","setTimeout","runClearTimeout","marker","cachedClearTimeout","clearTimeout","cleanUpNextTick","draining","currentQueue","queue","queueIndex","drainQueue","timeout","run","Item","array","noop","nextTick","title","browser","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/webpack/buildin/module.js","webpackPolyfill","deprecate","paths","children","enumerable","get","l","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/ajax-submit/index--split.js","_lib","_lib2","elements","from","then","$","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/alert-bar/dismiss.js","_jquery","_jquery2","_debug","_debug2","ALERT_SELECTOR","ALERT_BUTTON_SELECTOR","hidePanel","alertToHide","hide","removeClass","dismissAlert","alertApi","alertId","id","alertElements","each","dataset","alertButton","find","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/alert-bar/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/anchor-margin/anchor-margin.js","_classCallCheck","Constructor","_createClass","defineProperties","props","descriptor","configurable","writable","protoProps","staticProps","_fn","fn","newObj","hasOwnProperty","AnchorMargin","stickyHeader","querySelector","calculateStickyHeightOffset","watch","debounce","onResize","stickyHeaderHeight","getBoundingClientRect","height","offset","body","setProperty","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/anchor-margin/index.js","_anchorMargin","_anchorMargin2","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/app-install-prompt/app-install-prompt.js","AppInstallPrompt","installButton","dismissButton","deferredPrompt","onPromptAvailable","requestPrompt","dismissInvite","preventDefault","displayInvite","hidden","callCookieApi","_this","prompt","userChoice","choice","cookieId","encodeURIComponent","cookieRequest","Request","cookieApi","fetch","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/app-install-prompt/index.js","_appInstallPrompt","_appInstallPrompt2","appInstallPromptInstallButtonSelector","appInstallPromptDismissButtonSelector","appInstallPromptCookieApi","appInstallPromptCookieId","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/avanser/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/block-slider/index.js","PLUGIN_NAME","ELEMENT_SELECTOR","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/choose-form/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/date-input-set/index--split.js","extendValueBind","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-blocks/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-blocks/quote-cta/index--split.js","ready","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-forms/epiform-element-validated/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-forms/epiform-submission-progress/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-forms/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/address-autocomplete/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/amount-frequency-field/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/dollar-value-field/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/dynamic-hidden-field/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/equifax-address-lookup/index--split.js","registerValidator","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/equifax-email-lookup/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/equifax-phone-lookup/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/field-tally/index--split.js","fieldTallies","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/hidden-dependee/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-currency/index--split.js","currencyInputs","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-file.js","updateFileSelection","$label","labelVal","fileName","files","getAttribute","pop","html","next","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-range/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/years-months-field/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/more-less/index--available.js","_selectors","onAvailable","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/persist-param/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/persist-param/persist-param.js","_toConsumableArray","arr","arr2","getOptions","metaKeyElementSelector","metaDomainElementSelector","metaKeyElement","metaDomainElement","persistParamKeys","persistDomains","storeCurrentParams","getLocationParams","storeParam","applyStoredParams","params","getStoredParams","getDomainLinks","applyParams","_ref2","host","URL","href","hostname","linkElement","url","urlSearch","URLSearchParams","search","param","set","_ref3","location","entries","isPersistParam","hasValue","_ref4","getStoredParamValue","includes","sessionStorage","setItem","getItem","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/pop-window/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/quote-form/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/required-field/index--split.js","Promise","resolve","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/required-field/required-field.js","getJSONValue","stringValue","error","validators","at_least_one_checked","inputs","checked","RequiredField","isFieldset","nodeName","inputSet","errorElementSelectorScope","errorSelector","errorElement","showErrors","attributeObserver","MutationObserver","onAttributeChange","updateValue","observe","attributes","validity","valid","validator","rule","setCustomValidity","isValid","updateFieldsetValidity","updateErrorMessage","mutationList","observer","mutation","attributeName","componentErrorAttribute","onShowErrorsChange","DEFAULTS","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/selector/index--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/site-header/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/site-header/site-header-controller.js","truthy","uniqueOnly","getOverlaySelector","opener","findElement","selector","_inert","HeaderController","$element","collapsibles","collapsibleSelector","overlays","escapeHandle","$target","openModalEvent","closeAllCollapsibles","childOpenedEvent","handleCollapsibleOpening","childClosedEvent","handleCollapsibleClosing","closeAllEvent","bindOverlay","item","collapseStateAttr","closeModal","closeOtherCollapsibles","openModal","setAttribute","displayOverlay","inertOutside","isNotMyOverlay","removeAttribute","hideOverlays","unInertOutside","overlay","hideOtherOverlays","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/tabs/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/tabs/tabs-controller.js","TabsController","tabs","selectors","selectTarget","tabsSelector","closeOtherTabs","openingTab","collapsibleOpen","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/voting-card/index--available.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__collapsible/plugin--split.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__focus/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__form-loading/form-loading.js","FormLoading","applyLoadingState","dataKey","dataValue","submitButton","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__form-loading/plugin--bundled.js","_formLoading","_formLoading2","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__mega-link/mega-link.js","MegaLink","scopes","contentSelectorIsId","contentSelector","contentSelectorScope","link","linkSelector","button","buttonSelector","content","collapseWith","collapsedClass","toggleMethod","toggleWithClass","toggleWithHidden","bindDocumentEvents","closeWithDocumentClick","bindDocumentClick","unbindDocumentEvents","unbindDocumentClick","doCollapse","open","isCollapsed","handleUnmodifiedClick","toggle","classList","add","remove","selfClosing","close","megaLinkOpen","openedEvent","CustomEvent","onUncollapse","bubbles","cancelable","dispatchEvent","closedEvent","onCollapse","onDocumentClick","clickTarget","contains","startsWith","onOpenChanged","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__mega-link/plugin--bundled.js","_megaLink","_megaLink2","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__trigger-event/index.js","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/fn.js","func","wait","immediate","later","callNow","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js","_interopRequireWildcard","plugin","pluginName","klass","shortHand","formattedPluginName","_strings","toCamelCase","dataName","$bus","subscribe","publish","data","trigger","$util","objects","strings","inViewport","elm","rect","viewHeight","max","clientHeight","innerHeight","bottom","top","option","$this","overrides","elementOptions","reduce","result","path","extend","$utils","addClass","jquery","defaults","_objects","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/objects.js","elementAttrtibutesToObject","filterFn","transformFn","output","attrs","ZERO","attribute","objectPath","delimiter","final","part","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js","selectorPattern","_len","directives","join","isClosestAncestoral","SELECTOR_PATTERNS","isAllAncestoral","parents","isRetargeted","isAllDescendants","isGenerational","here","isSiblings","siblings","isSelfish","$newElement","newSelector","closest","onChange","WebKitMutationObserver","childList","subtree","OnAvailable","root","check","listnersSelectorsArray","listener","listnersSelectors","matchingElements","substring","hasAttribute","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/strings.js","preserveCamelCase","isLastCharLower","isLastCharUpper","isLastLastCharUpper","toUpperCase","x","trim","p1","tmpl","$tmpl","templateString","attr","mustache","template","invert","ctx","render","inverted","childCode","depth","assign","","z","raw","comment","isRaw","partial","Option","innerHTML","booleanify","lower","/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/utilities/inert.js","updateInert","isMakeInert","elementFilterFn","noopDefaultFilter","HTMLElement","getNonRelatives","sibling","inert","ancestors","getAncestors","el","getSiblings","flat","parentNode","child","/tool/project/client/src/core/vendor/index.js","external \"jQuery\"","jQuery","multi /tool/project/client/src/core/index.js"],"mappings":"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","file":"scripts/core--b4c5ed488dc3467ca17a.js","sourcesContent":["webpackJsonp([\"core\"],{\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/map/keycode.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n// codes mostly cloned from https://github.com/keithamus/jwerty/blob/master/jwerty.js\n// deliberately not exposing characters like <,.-#* because they vary *wildly*\n// across keyboard layouts and may cause various problems\n// (e.g. \"*\" is \"Shift +\" on a German Mac keyboard)\n// (e.g. \"@\" is \"Alt L\" on a German Mac keyboard)\n\nvar keycode = {\n // Element Focus\n tab: 9,\n\n // Navigation\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n pageUp: 33,\n 'page-up': 33,\n pageDown: 34,\n 'page-down': 34,\n end: 35,\n home: 36,\n\n // Action\n enter: 13,\n escape: 27,\n space: 32,\n\n // Modifier\n shift: 16,\n capsLock: 20,\n 'caps-lock': 20,\n ctrl: 17,\n alt: 18,\n meta: 91,\n // in firefox: 224\n // on mac (chrome): meta-left=91, meta-right=93\n // on win (IE11): meta-left=91, meta-right=92\n pause: 19,\n\n // Content Manipulation\n insert: 45,\n 'delete': 46,\n backspace: 8,\n\n // the same logical key may be identified through different keyCodes\n _alias: {\n 91: [92, 93, 224]\n }\n};\n\n// Function keys (112 - 137)\n// NOTE: not every keyboard knows F13+\nfor (var n = 1; n < 26; n++) {\n keycode['f' + n] = n + 111;\n}\n\n// Number keys (48-57, numpad 96-105)\n// NOTE: not every keyboard knows num-0+\nfor (var _n = 0; _n < 10; _n++) {\n var code = _n + 48;\n var numCode = _n + 96;\n keycode[_n] = code;\n keycode['num-' + _n] = numCode;\n keycode._alias[code] = [numCode];\n}\n\n// Latin characters (65 - 90)\nfor (var _n2 = 0; _n2 < 26; _n2++) {\n var _code = _n2 + 65;\n var name = String.fromCharCode(_code).toLowerCase();\n keycode[name] = _code;\n}\n\nexports.default = keycode;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/util/compare-position.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getParentComparator = getParentComparator;\n\n// Node.compareDocumentPosition is available since IE9\n// see https://developer.mozilla.org/en-US/docs/Web/API/Node.compareDocumentPosition\n\n// callback returns true when element is contained by parent or is the parent suited for use with Array.some()\n/*\n USAGE:\n var isChildOf = getParentComparator({parent: someNode});\n listOfElements.some(isChildOf)\n*/\n\nfunction getParentComparator() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n parent = _ref.parent,\n element = _ref.element,\n includeSelf = _ref.includeSelf;\n\n if (parent) {\n return function isChildOf(node) {\n return Boolean(includeSelf && node === parent || parent.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n } else if (element) {\n return function isParentOf(node) {\n return Boolean(includeSelf && element === node || node.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n }\n\n throw new TypeError('util/compare-position#getParentComparator required either options.parent or options.element');\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/util/node-array.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (input) {\n if (!input) {\n return [];\n }\n\n if (Array.isArray(input)) {\n return input;\n }\n\n // instanceof Node - does not work with iframes\n if (input.nodeType !== undefined) {\n return [input];\n }\n\n if (typeof input === 'string') {\n input = document.querySelectorAll(input);\n }\n\n if (input.length !== undefined) {\n return [].slice.call(input, 0);\n }\n\n throw new TypeError('unexpected input ' + String(input));\n};\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/when/key.binding.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (text) {\n return text.split(/\\s+/).map(function (_text) {\n var tokens = _text.split('+');\n var _modifiers = resolveModifiers(tokens.slice(0, -1));\n var _keyCodes = resolveKey(tokens.slice(-1));\n return {\n keyCodes: _keyCodes,\n modifiers: _modifiers,\n matchModifiers: matchModifiers.bind(null, _modifiers)\n };\n });\n};\n\nvar _keycode = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/map/keycode.js\");\n\nvar _keycode2 = _interopRequireDefault(_keycode);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar modifier = {\n alt: 'altKey',\n ctrl: 'ctrlKey',\n meta: 'metaKey',\n shift: 'shiftKey'\n};\n/*\n decodes a key binding token to a JavaScript structure\n\n returns an array of objects:\n {\n // key name translated to keyCode (possibly more than one)\n keyCodes: [],\n // translated modifiers\n modifiers: {\n altKey: null, // ignore\n ctrKey: false, // expect not pressed\n metaKey: true, // expect pressed\n shiftKey: true, // expect pressed\n },\n // callback that returns true if event's\n // modifier keys match the expected state\n matchModifiers: function(event){},\n }\n*/\n\nvar modifierSequence = Object.keys(modifier).map(function (name) {\n return modifier[name];\n});\n\nfunction createExpectedModifiers(ignoreModifiers) {\n var value = ignoreModifiers ? null : false;\n return {\n altKey: value,\n ctrlKey: value,\n metaKey: value,\n shiftKey: value\n };\n}\n\nfunction resolveModifiers(modifiers) {\n var ignoreModifiers = modifiers.indexOf('*') !== -1;\n var expected = createExpectedModifiers(ignoreModifiers);\n\n modifiers.forEach(function (token) {\n if (token === '*') {\n // we've already covered the all-in operator\n return;\n }\n\n // we want the modifier pressed\n var value = true;\n var operator = token.slice(0, 1);\n if (operator === '?') {\n // we don't care if the modifier is pressed\n value = null;\n } else if (operator === '!') {\n // we do not want the modifier pressed\n value = false;\n }\n\n if (value !== true) {\n // compensate for the modifier's operator\n token = token.slice(1);\n }\n\n var propertyName = modifier[token];\n if (!propertyName) {\n throw new TypeError('Unknown modifier \"' + token + '\"');\n }\n\n expected[propertyName] = value;\n });\n\n return expected;\n}\n\nfunction resolveKey(key) {\n var code = _keycode2.default[key] || parseInt(key, 10);\n if (!code || typeof code !== 'number' || isNaN(code)) {\n throw new TypeError('Unknown key \"' + key + '\"');\n }\n\n return [code].concat(_keycode2.default._alias[code] || []);\n}\n\nfunction matchModifiers(expected, event) {\n // returns true on match\n return !modifierSequence.some(function (prop) {\n // returns true on mismatch\n return typeof expected[prop] === 'boolean' && Boolean(event[prop]) !== expected[prop];\n });\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/when/key.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n var map = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var bindings = {};\n\n var context = (0, _nodeArray2.default)(map.context)[0] || document.documentElement;\n delete map.context;\n var filter = (0, _nodeArray2.default)(map.filter);\n delete map.filter;\n\n var mapKeys = Object.keys(map);\n if (!mapKeys.length) {\n throw new TypeError('when/key requires at least one option key');\n }\n\n var registerBinding = function registerBinding(event) {\n event.keyCodes.forEach(function (code) {\n if (!bindings[code]) {\n bindings[code] = [];\n }\n\n bindings[code].push(event);\n });\n };\n\n mapKeys.forEach(function (text) {\n if (typeof map[text] !== 'function') {\n throw new TypeError('when/key requires option[\"' + text + '\"] to be a function');\n }\n\n var addCallback = function addCallback(event) {\n event.callback = map[text];\n return event;\n };\n\n (0, _key2.default)(text).map(addCallback).forEach(registerBinding);\n });\n\n var handleKeyDown = function handleKeyDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n\n if (filter.length) {\n // ignore elements within the exempted sub-trees\n var isParentOfElement = (0, _comparePosition.getParentComparator)({ element: event.target, includeSelf: true });\n if (filter.some(isParentOfElement)) {\n return;\n }\n }\n\n var key = event.keyCode || event.which;\n if (!bindings[key]) {\n return;\n }\n\n bindings[key].forEach(function (_event) {\n if (!_event.matchModifiers(event)) {\n return;\n }\n\n _event.callback.call(context, event, disengage);\n });\n };\n\n context.addEventListener('keydown', handleKeyDown, false);\n\n var disengage = function disengage() {\n context.removeEventListener('keydown', handleKeyDown, false);\n };\n\n return { disengage: disengage };\n};\n\nvar _key = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/when/key.binding.js\");\n\nvar _key2 = _interopRequireDefault(_key);\n\nvar _nodeArray = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/util/node-array.js\");\n\nvar _nodeArray2 = _interopRequireDefault(_nodeArray);\n\nvar _comparePosition = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/util/compare-position.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/debug.js\");\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome && 'undefined' != typeof chrome.storage ? chrome.storage.local : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31 ||\n // double check webkit in userAgent just in case we are in a worker\n typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/);\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function (v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '') + this.namespace + (useColors ? ' %c' : ' ') + args[0] + (useColors ? '%c ' : ' ') + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit');\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function (match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === (typeof console === 'undefined' ? 'undefined' : _typeof(console)) && console.log && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch (e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch (e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/process/browser.js\")))\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/debug.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ms/index.js\");\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0,\n i;\n\n for (i in namespace) {\n hash = (hash << 5) - hash + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy() {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ms/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val === 'undefined' ? 'undefined' : _typeof(val);\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val));\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str);\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') || plural(ms, h, 'hour') || plural(ms, m, 'minute') || plural(ms, s, 'second') || ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/process/browser.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while (len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function () {\n return 0;\n};\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/webpack/buildin/module.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function () {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function get() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function get() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/ajax-submit/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PLUGIN_NAME = 'ajaxSubmit';\nvar ELEMENT_SELECTOR = \"[data-ajax-submit]\";\nvar elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (elements.length) {\n\t__webpack_require__.e/* import() */(\"ajax-submit\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/ajax-submit/ajax-submit.js\")).then(function (module) {\n\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t$(elements)[PLUGIN_NAME]();\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/alert-bar/dismiss.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\r\n * Dismiss\r\n * Alerts\r\n * @author Oliver Boermans\r\n */\n\nvar log = (0, _debug2.default)(\"alerts\");\n\n//\n// Config\n// ===========\nvar ALERT_SELECTOR = \"[data-alert]\";\nvar ALERT_BUTTON_SELECTOR = 'button';\n\nvar hidePanel = function hidePanel(alertToHide) {\n\t(0, _jquery2.default)(alertToHide).hide();\n\t(0, _jquery2.default)('body').removeClass('has-alert');\n};\n\nvar dismissAlert = function dismissAlert(instance) {\n\tvar element = instance.element,\n\t alertApi = instance.alertApi,\n\t alertId = instance.alertId;\n\n\t_jquery2.default.get(alertApi, {\n\t\tid: alertId\n\t});\n\thidePanel(element);\n};\n\nfunction init() {\n\tvar alertElements = (0, _jquery2.default)(ALERT_SELECTOR);\n\tlog(alertElements);\n\talertElements.each(function (index, element) {\n\t\tvar alertApi = element.dataset.alertApi;\n\t\tvar alertId = element.id;\n\t\tvar alertButton = (0, _jquery2.default)(element).find(ALERT_BUTTON_SELECTOR);\n\n\t\tif (alertButton.length) {\n\t\t\talertButton.on('click', dismissAlert.bind(null, { element: element, alertApi: alertApi, alertId: alertId }));\n\t\t} else {\n\t\t\tlog(\"No site alert button found.\");\n\t\t}\n\t});\n};\n\ninit();\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/alert-bar/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/alert-bar/dismiss.js\");\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/anchor-margin/anchor-margin.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _fn = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/fn.js\");\n\nvar fn = _interopRequireWildcard(_fn);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar AnchorMargin = function () {\n\tfunction AnchorMargin() {\n\t\t_classCallCheck(this, AnchorMargin);\n\n\t\tthis.stickyHeader = document.querySelector(\".banner-cta-block\");\n\t\tthis.init();\n\t}\n\n\t_createClass(AnchorMargin, [{\n\t\tkey: \"init\",\n\t\tvalue: function init() {\n\t\t\t// abort if nothing to offset for\n\t\t\tif (!this.stickyHeader) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.calculateStickyHeightOffset();\n\t\t\tthis.watch();\n\t\t}\n\t}, {\n\t\tkey: \"watch\",\n\t\tvalue: function watch() {\n\t\t\twindow.addEventListener(\"resize\", fn.debounce(this.onResize.bind(this), 100));\n\t\t}\n\t}, {\n\t\tkey: \"onResize\",\n\t\tvalue: function onResize() {\n\t\t\tthis.calculateStickyHeightOffset();\n\t\t}\n\t}, {\n\t\tkey: \"calculateStickyHeightOffset\",\n\t\tvalue: function calculateStickyHeightOffset() {\n\t\t\t// expected to return 0 when sticky header is hidden\n\t\t\tvar stickyHeaderHeight = this.stickyHeader.getBoundingClientRect().height;\n\t\t\tvar offset = Math.round(stickyHeaderHeight);\n\n\t\t\t// update the css variable for sticky offset\n\t\t\tdocument.body.style.setProperty(\"--sticky-offset\", offset + \"px\");\n\t\t\treturn offset;\n\t\t}\n\t}]);\n\n\treturn AnchorMargin;\n}();\n\nexports.default = AnchorMargin;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/anchor-margin/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _anchorMargin = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/anchor-margin/anchor-margin.js\");\n\nvar _anchorMargin2 = _interopRequireDefault(_anchorMargin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar anchorMargin = new _anchorMargin2.default();\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/app-install-prompt/app-install-prompt.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// manually trigger the prompt display in js console:\n// window.dispatchEvent(new CustomEvent(\"beforeinstallprompt\"))\n\nvar AppInstallPrompt = function () {\n\tfunction AppInstallPrompt(element, options) {\n\t\t_classCallCheck(this, AppInstallPrompt);\n\n\t\tthis.element = element;\n\t\tthis.options = options;\n\n\t\t// get references to required elements\n\t\tthis.installButton = this.options.installButton;\n\t\tthis.dismissButton = this.options.dismissButton;\n\n\t\tthis.deferredPrompt = null;\n\n\t\tthis.watch();\n\t}\n\n\t_createClass(AppInstallPrompt, [{\n\t\tkey: \"watch\",\n\t\tvalue: function watch() {\n\t\t\twindow.addEventListener(\"beforeinstallprompt\", this.onPromptAvailable.bind(this));\n\t\t\tthis.installButton.addEventListener(\"click\", this.requestPrompt.bind(this));\n\t\t\tthis.dismissButton.addEventListener(\"click\", this.dismissInvite.bind(this));\n\t\t}\n\t}, {\n\t\tkey: \"onPromptAvailable\",\n\t\tvalue: function onPromptAvailable(event) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.deferredPrompt = event;\n\t\t\tthis.displayInvite();\n\t\t}\n\t}, {\n\t\tkey: \"displayInvite\",\n\t\tvalue: function displayInvite() {\n\t\t\tthis.element.hidden = false;\n\t\t}\n\t}, {\n\t\tkey: \"dismissInvite\",\n\t\tvalue: function dismissInvite() {\n\t\t\tthis.element.hidden = true;\n\t\t\tthis.callCookieApi();\n\t\t}\n\t}, {\n\t\tkey: \"requestPrompt\",\n\t\tvalue: function requestPrompt() {\n\t\t\tvar _this = this;\n\n\t\t\tthis.deferredPrompt.prompt();\n\t\t\tthis.deferredPrompt.userChoice.then(function (choice) {\n\t\t\t\t_this.deferredPrompt = null;\n\t\t\t\t_this.dismissInvite();\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: \"callCookieApi\",\n\t\tvalue: function callCookieApi() {\n\t\t\tvar cookieId = encodeURIComponent(this.options.cookieId);\n\t\t\tvar cookieRequest = new Request(this.options.cookieApi + \"?id=\" + cookieId);\n\t\t\tfetch(cookieRequest);\n\t\t}\n\t}]);\n\n\treturn AppInstallPrompt;\n}();\n\nexports.default = AppInstallPrompt;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/app-install-prompt/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _appInstallPrompt = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/app-install-prompt/app-install-prompt.js\");\n\nvar _appInstallPrompt2 = _interopRequireDefault(_appInstallPrompt);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar element = document.querySelector(\"[data-app-install-prompt]\");\n\nif (element) {\n\tvar options = {\n\t\tinstallButton: element.querySelector(element.dataset.appInstallPromptInstallButtonSelector),\n\t\tdismissButton: element.querySelector(element.dataset.appInstallPromptDismissButtonSelector),\n\t\tcookieApi: element.dataset.appInstallPromptCookieApi,\n\t\tcookieId: element.dataset.appInstallPromptCookieId\n\t};\n\tvar instance = new _appInstallPrompt2.default(element, options);\n\telement.instance = instance;\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/avanser/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\n// Loads 3rd party iframe when hook css class is present\n\nvar avanserInvoked = document.querySelector('.AVANSERnumber') != null;\n\nif (avanserInvoked) {\n\t__webpack_require__.e/* import() */(\"avanser-iframe\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/avanser/avanser.js\")).then(module.default);\n}\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/webpack/buildin/module.js\")(module)))\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/block-slider/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\t\tvalue: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-block-slider]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'blockSlider';\n\n(0, _jquery2.default)(function () {\n\t\t(0, _jquery2.default)(ELEMENT_SELECTOR).each(function () {\n\t\t\t\tvar element = this;\n\t\t\t\t__webpack_require__.e/* import() */(\"block-slider\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/block-slider/block-slider.js\")).then(function (module) {\n\t\t\t\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t\t\t});\n\t\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/choose-form/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-choose-form]';\nvar PLUGIN_NAME = 'chooseForm';\n\n(0, _jquery2.default)(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR).each(function () {\n\t\tvar element = this;\n\t\t__webpack_require__.e/* import() */(\"choose-form\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/choose-form/choose-form.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/date-input-set/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = \"[data-date-input-set]\";\nvar PLUGIN_NAME = \"dateInputSet\";\nvar elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (elements.length) {\n\t__webpack_require__.e/* import() */(\"date-input-set\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/date-input-set/date-input-set.js\")).then(function (module) {\n\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t(0, _jquery2.default)(elements)[PLUGIN_NAME]();\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-blocks/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-blocks/quote-cta/index--split.js\");\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-blocks/quote-cta/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-quote-cta-controller]';\nvar PLUGIN_NAME = 'quoteCtaController';\n\n(0, _jquery2.default)(document).ready(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR).each(function () {\n\t\tvar element = this;\n\t\t__webpack_require__.e/* import() */(\"quote-cta\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-blocks/quote-cta/quote-cta.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-forms/epiform-element-validated/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar ELEMENT_SELECTOR = '[data-epiform-element-validated]';\nvar element = document.querySelector(ELEMENT_SELECTOR);\n\n// Event binding is to epiform in the page if an element in the page has this data attr\n\nif (element) {\n\t__webpack_require__.e/* import() */(\"epiform-element-validated\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-forms/epiform-element-validated/epiform-element-validated.js\")).then(function (module) {\n\t\tmodule.default();\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-forms/epiform-submission-progress/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar ELEMENT_SELECTOR = '[data-epiform-submission-progress]';\nvar elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\n// Event binding is to epiform in the page if an element in the page has this data attr\n\nif (elements.length) {\n\t__webpack_require__.e/* import() */(\"epiform-submission-progress\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-forms/epiform-submission-progress/epiform-submission-progress.js\")).then(function (module) {\n\t\tmodule.default(elements);\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-forms/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-forms/epiform-element-validated/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-forms/epiform-submission-progress/index--split.js\");\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/address-autocomplete/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-address-autocomplete]';\nvar PLUGIN_NAME = \"addressAutocomplete\";\n\nvar elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (elements.length) {\n\t__webpack_require__.e/* import() */(\"address-autocomplete\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/address-autocomplete/address-autocomplete.js\")).then(function (module) {\n\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t(0, _jquery2.default)(elements)[PLUGIN_NAME]();\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/amount-frequency-field/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-amount-frequency-field]';\nvar PLUGIN_NAME = \"amountFrequencyField\";\nvar elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (elements.length) {\n\t__webpack_require__.e/* import() */(\"amount-frequency-field\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/amount-frequency-field/amount-frequency-field.js\")).then(function (module) {\n\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t(0, _jquery2.default)(elements)[PLUGIN_NAME]();\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/dollar-value-field/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar ELEMENT_SELECTOR = '[data-dollar-value-field]';\nvar elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (elements.length) {\n\t__webpack_require__.e/* import() */(\"dollar-value-field\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/dollar-value-field/dollar-value-field.js\")).then(function (module) {\n\t\t// module.default(elements);\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/dynamic-hidden-field/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar ELEMENT_SELECTOR = '[data-dynamic-hidden-field]';\nvar elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (elements.length) {\n\t__webpack_require__.e/* import() */(\"dynamic-hidden-field\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/dynamic-hidden-field/dynamic-hidden-field.js\")).then(function (module) {\n\t\t// module.default(elements);\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/equifax-address-lookup/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-equifax-address-lookup]';\nvar PLUGIN_NAME = \"EquifaxAddressLookup\";\nvar VALIDATOR = \"Fusion.Cms.Core.Business.Forms.Validation.EquifaxAddressValidator\";\n\nvar elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (elements.length) {\n\t__webpack_require__.e/* import() */(\"equifax-address-lookup\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/equifax-address-lookup/equifax-address-lookup.js\")).then(function (module) {\n\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t(0, _jquery2.default)(elements)[PLUGIN_NAME]();\n\t\tmodule.registerValidator(VALIDATOR);\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/equifax-email-lookup/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-equifax-email-lookup]';\nvar PLUGIN_NAME = \"EquifaxEmailLookup\";\nvar VALIDATOR = \"Fusion.Cms.Core.Business.Forms.Validation.EquifaxEmailValidator\";\n\nvar elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (elements.length) {\n\t__webpack_require__.e/* import() */(\"equifax-email-lookup\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/equifax-email-lookup/equifax-email-lookup.js\")).then(function (module) {\n\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t(0, _jquery2.default)(elements)[PLUGIN_NAME]();\n\t\tmodule.registerValidator(VALIDATOR);\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/equifax-phone-lookup/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-equifax-phone-lookup]';\nvar PLUGIN_NAME = \"EquifaxPhoneLookup\";\nvar VALIDATOR = \"Fusion.Cms.Core.Business.Forms.Validation.EquifaxPhoneValidator\";\n\nvar elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (elements.length) {\n\t__webpack_require__.e/* import() */(\"equifax-phone-lookup\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/equifax-phone-lookup/equifax-phone-lookup.js\")).then(function (module) {\n\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t(0, _jquery2.default)(elements)[PLUGIN_NAME]();\n\t\tmodule.registerValidator(VALIDATOR);\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/field-tally/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-field-tally]';\nvar PLUGIN_NAME = \"FieldTally\";\nvar fieldTallies = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (fieldTallies.length) {\n\t__webpack_require__.e/* import() */(\"field-tally\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/field-tally/field-tally.js\")).then(function (module) {\n\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t(0, _jquery2.default)(fieldTallies)[PLUGIN_NAME]();\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/hidden-dependee/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-hidden-dependee]';\nvar PLUGIN_NAME = \"HiddenDependee\";\n\nvar elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (elements.length) {\n\t__webpack_require__.e/* import() */(\"hidden-dependee\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/hidden-dependee/hidden-dependee.js\")).then(function (module) {\n\t\t// plugin(PLUGIN_NAME, module.default);\n\t\t// $(elements)[PLUGIN_NAME]();\n\t\tmodule.default(elements);\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-file.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-range/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-currency/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/dollar-value-field/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/amount-frequency-field/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/years-months-field/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/field-tally/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/equifax-email-lookup/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/equifax-phone-lookup/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/equifax-address-lookup/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/address-autocomplete/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/hidden-dependee/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/dynamic-hidden-field/index--split.js\");\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-currency/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-input-currency]';\nvar PLUGIN_NAME = \"InputCurrency\";\nvar currencyInputs = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (currencyInputs.length) {\n\t__webpack_require__.e/* import() */(\"input-currency\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-currency/input-currency.js\")).then(function (module) {\n\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t(0, _jquery2.default)(currencyInputs)[PLUGIN_NAME]();\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-file.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*\r\n\tBased on code By Osvaldas Valutis, www.osvaldas.info\r\n\tAvailable for use under the MIT License\r\n*/\n\nfunction updateFileSelection(_ref) {\n var input = _ref.input,\n $label = _ref.$label,\n labelVal = _ref.labelVal;\n\n var fileName = '';\n if (input.files && input.files.length > 1) {\n fileName = (input.getAttribute('data-multiple-caption') || '').replace('{count}', input.files.length);\n } else if (input.value) {\n fileName = input.value.split('\\\\').pop();\n }\n\n if (fileName) {\n $label.find('[data-selected-file-name]').html(fileName);\n } else {\n $label.html(labelVal);\n }\n}\n\n(0, _jquery2.default)('.field-input-file').each(function () {\n var instance = {\n input: this,\n $label: (0, _jquery2.default)(this).next('label'),\n labelVal: (0, _jquery2.default)(this).next('label').html()\n };\n\n (0, _jquery2.default)(instance.input).on('change', function (e) {\n updateFileSelection(instance);\n });\n\n updateFileSelection(instance);\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-range/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar ELEMENT_SELECTOR = '[data-input-range]';\nvar elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (elements.length) {\n\t__webpack_require__.e/* import() */(\"input-range\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/input-range/input-range.js\")).then(function (module) {\n\t\tmodule.default(elements);\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/years-months-field/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-years-months-field]';\nvar PLUGIN_NAME = \"YearsMonthsField\";\nvar elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\n\nif (elements.length) {\n\t__webpack_require__.e/* import() */(\"years-months-field\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/years-months-field/years-months-field.js\")).then(function (module) {\n\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t(0, _jquery2.default)(elements)[PLUGIN_NAME]();\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\n\t});\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/avanser/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-forms/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/forms/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/quote-form/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/choose-form/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/selector/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/required-field/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/date-input-set/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/site-header/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/epi-blocks/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/alert-bar/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/app-install-prompt/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/tabs/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/block-slider/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/anchor-margin/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/ajax-submit/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/voting-card/index--available.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/more-less/index--available.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/pop-window/index--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/persist-param/index.js\");\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-modal]';\n\n(0, _jquery2.default)(function () {\n\tif ((0, _jquery2.default)(ELEMENT_SELECTOR).length) {\n\n\t\t__webpack_require__.e/* import() */(\"modal-bundle\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/modal/modal-bundle.js\")).then(function (module) {\n\t\t\tmodule.default();\n\t\t});\n\t}\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/more-less/index--available.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-more-less]';\nvar PLUGIN_NAME = 'MoreLess';\n\n$(function () {\n\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t__webpack_require__.e/* import() */(\"more-less\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/more-less/more-less.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t$(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/persist-param/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/persist-param/persist-param.js\");\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/persist-param/persist-param.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\ninit();\n\nfunction init() {\n\tvar options = getOptions({\n\t\tmetaKeyElementSelector: \"meta[name=persist-param-keys]\",\n\t\tmetaDomainElementSelector: \"meta[name=persist-param-domains]\"\n\t});\n\n\tstoreCurrentParams(options);\n\tapplyStoredParams(options);\n}\n\nfunction getOptions(_ref) {\n\tvar metaKeyElementSelector = _ref.metaKeyElementSelector,\n\t metaDomainElementSelector = _ref.metaDomainElementSelector;\n\n\tvar metaKeyElement = document.querySelector(metaKeyElementSelector);\n\tvar metaDomainElement = document.querySelector(metaDomainElementSelector);\n\n\treturn {\n\t\tpersistParamKeys: metaKeyElement.getAttribute(\"content\").split(\",\"),\n\t\tpersistDomains: metaDomainElement.getAttribute(\"content\").split(\",\")\n\t};\n}\n\nfunction storeCurrentParams(options) {\n\tgetLocationParams(options).forEach(storeParam);\n}\n\nfunction applyStoredParams(options) {\n\tvar params = getStoredParams(options);\n\n\tif (!params.length) return false;\n\n\tgetDomainLinks(options).forEach(applyParams.bind(null, params));\n}\n\nfunction getDomainLinks(_ref2) {\n\tvar persistDomains = _ref2.persistDomains;\n\n\treturn [].concat(_toConsumableArray(document.querySelectorAll(\"a[href]\"))).filter(function (element) {\n\t\treturn persistDomains.find(function (host) {\n\t\t\treturn host === new URL(element.href).hostname;\n\t\t});\n\t});\n}\n\nfunction applyParams(params, linkElement) {\n\tvar url = new URL(linkElement.href);\n\tvar urlSearch = new URLSearchParams(url.search);\n\n\tparams.forEach(function (param) {\n\t\t// Preserving existing link params\n\t\turlSearch.set(param.key, urlSearch.get(param.key) || param.value);\n\t});\n\n\tlinkElement.search = urlSearch;\n}\n\nfunction getLocationParams(_ref3) {\n\tvar persistParamKeys = _ref3.persistParamKeys;\n\n\tvar search = window.location.search;\n\tvar locationParams = search ? [].concat(_toConsumableArray(new URLSearchParams(search).entries())).map(function (param) {\n\t\treturn { key: param[0], value: param[1] };\n\t}) : [];\n\n\treturn locationParams.filter(isPersistParam.bind(null, persistParamKeys)).filter(hasValue);\n}\n\nfunction getStoredParams(_ref4) {\n\tvar persistParamKeys = _ref4.persistParamKeys;\n\n\treturn persistParamKeys.map(function (key) {\n\t\treturn {\n\t\t\tkey: key,\n\t\t\tvalue: getStoredParamValue(key)\n\t\t};\n\t}).filter(hasValue);\n}\n\nfunction isPersistParam(persistParamKeys, param) {\n\treturn persistParamKeys.includes(param.key);\n}\n\nfunction storeParam(param) {\n\twindow.sessionStorage.setItem([\"persistparam=\" + param.key], param.value);\n}\n\nfunction getStoredParamValue(key) {\n\treturn window.sessionStorage.getItem(\"persistparam=\" + key) || \"\";\n}\n\nfunction hasValue(param) {\n\treturn param.value;\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/pop-window/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-pop-window]';\nvar PLUGIN_NAME = 'PopWindow';\n\n(0, _jquery2.default)(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR).each(function () {\n\t\tvar element = this;\n\t\t__webpack_require__.e/* import() */(\"pop-window\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/pop-window/pop-window.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/quote-form/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-quote-form]';\nvar PLUGIN_NAME = 'quoteForm';\n\n(0, _jquery2.default)(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR).each(function () {\n\t\tvar element = this;\n\t\t__webpack_require__.e/* import() */(\"quote-form\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/quote-form/quote-form.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/required-field/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/required-field/required-field.js\");\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = \"[data-required-field]\";\nvar PLUGIN_NAME = \"requiredField\";\n\n(0, _jquery2.default)(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR).each(function () {\n\t\tvar element = this;\n\t\tnew Promise(function(resolve) { resolve(); }).then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/required-field/required-field.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t(0, _jquery2.default)(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/required-field/required-field.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar log = (0, _debug2.default)(\"required-field\");\n\nfunction getJSONValue(stringValue) {\n\ttry {\n\t\treturn JSON.parse(stringValue);\n\t} catch (error) {\n\t\treturn stringValue;\n\t}\n}\n\nvar validators = {\n\t'at_least_one_checked': function at_least_one_checked(inputs) {\n\t\treturn inputs.filter(function (input) {\n\t\t\treturn input.checked;\n\t\t}).length > 0 ? '' : 'check at least one';\n\t}\n};\n\nvar RequiredField = function () {\n\tfunction RequiredField(element, options) {\n\t\t_classCallCheck(this, RequiredField);\n\n\t\tlog(\"element\", element);\n\t\tlog(\"options\", options);\n\n\t\tthis.options = options;\n\t\tthis.element = element;\n\n\t\tthis.isFieldset = this.element.nodeName === 'FIELDSET';\n\n\t\tthis.inputSet = [].concat(_toConsumableArray(this.element.querySelectorAll(\"[name=\\\"\" + this.options.inputSet + \"\\\"]\")));\n\n\t\tthis.input = this.element.querySelector(\"[name=\\\"\" + this.options.name + \"\\\"]\");\n\n\t\tthis.errorElementSelectorScope = this.options.errorSelector[0] === \"#\" ? document : this.element;\n\n\t\tthis.errorElement = this.errorElementSelectorScope.querySelector(this.options.errorSelector);\n\n\t\tthis.showErrors = getJSONValue(this.element.dataset.showErrors);\n\n\t\tthis.attributeObserver = new MutationObserver(this.onAttributeChange.bind(this));\n\n\t\tif (!this.input && !this.isFieldset) {\n\t\t\tlog('Provide either a fieldset with inputs or an input. Aborting');\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.init();\n\t\tthis.watch();\n\n\t\tlog(\"ready\", this, this.element);\n\t}\n\n\t_createClass(RequiredField, [{\n\t\tkey: \"init\",\n\t\tvalue: function init() {\n\t\t\tthis.updateValue();\n\t\t}\n\t}, {\n\t\tkey: \"watch\",\n\t\tvalue: function watch() {\n\t\t\tlog(\"watching\");\n\t\t\tthis.element.addEventListener(\"change\", this.updateValue.bind(this));\n\t\t\tthis.attributeObserver.observe(this.element, { attributes: true });\n\t\t}\n\t}, {\n\t\tkey: \"isValid\",\n\t\tvalue: function isValid() {\n\t\t\t// Presuming this.element is a fieldset\n\t\t\tvar elementToValidate = this.input || this.element;\n\t\t\treturn elementToValidate.validity.valid;\n\t\t}\n\t}, {\n\t\tkey: \"updateFieldsetValidity\",\n\t\tvalue: function updateFieldsetValidity() {\n\t\t\tvar validator = validators[this.options.rule];\n\t\t\tif (!this.isFieldset || !validator) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.element.setCustomValidity(validator(this.inputSet));\n\t\t}\n\t}, {\n\t\tkey: \"updateErrorMessage\",\n\t\tvalue: function updateErrorMessage() {\n\t\t\tthis.errorElement.hidden = this.isValid();\n\t\t}\n\t}, {\n\t\tkey: \"updateValue\",\n\t\tvalue: function updateValue() {\n\t\t\tthis.updateFieldsetValidity();\n\n\t\t\tif (this.showErrors) {\n\t\t\t\tthis.updateErrorMessage();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"onAttributeChange\",\n\t\tvalue: function onAttributeChange(mutationList, observer) {\n\t\t\tmutationList.filter(function (mutation) {\n\t\t\t\treturn mutation.type === \"attributes\" && mutation.attributeName === this.options.componentErrorAttribute;\n\t\t\t}.bind(this)).forEach(this.onShowErrorsChange.bind(this));\n\t\t}\n\t}, {\n\t\tkey: \"onShowErrorsChange\",\n\t\tvalue: function onShowErrorsChange(mutation) {\n\t\t\tthis.showErrors = getJSONValue(this.element.dataset.showErrors);\n\t\t\tthis.updateErrorMessage();\n\t\t}\n\t}]);\n\n\treturn RequiredField;\n}();\n\nRequiredField.DEFAULTS = {\n\tcomponentErrorAttribute: \"data-show-errors\"\n};\n\nexports.default = RequiredField;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/selector/index--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n$(function () {\n\t$(\"[data-selector]\").each(function () {\n\t\tvar element = this;\n\t\t__webpack_require__.e/* import() */(\"selector\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/selector/index.js\"));\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/site-header/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/site-header/site-header-controller.js\");\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/site-header/site-header-controller.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _inert = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/utilities/inert.js\");\n\nvar _key = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/ally.js/src/when/key.js\");\n\nvar _key2 = _interopRequireDefault(_key);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ELEMENT_SELECTOR = \"[data-header-controller]\";\nvar PLUGIN_NAME = \"headerController\";\n\nvar log = (0, _debug2.default)(\"site-header/header-controller:header\");\n\nfunction truthy(value) {\n\treturn value;\n}\n\nfunction uniqueOnly(value, index, self) {\n\treturn self.indexOf(value) === index;\n}\n\nfunction getOverlaySelector(opener) {\n\treturn opener.dataset[\"headerController-UseOverlay\"];\n}\n\nfunction findElement(selector) {\n\treturn document.querySelector(selector);\n}\n\nvar HeaderController = function () {\n\tfunction HeaderController(element, options) {\n\t\t_classCallCheck(this, HeaderController);\n\n\t\tlog(\"element\", element);\n\t\tlog(\"options\", options);\n\n\t\tthis.options = options;\n\t\tthis.element = element;\n\t\tthis.$element = (0, _jquery2.default)(element);\n\n\t\tthis.collapsibles = [].concat(_toConsumableArray(this.element.querySelectorAll(this.options.collapsibleSelector)));\n\t\tthis.overlays = this.collapsibles.map(getOverlaySelector).filter(uniqueOnly).filter(truthy).map(findElement);\n\n\t\t// Ally library persistent object (between open and close)\n\t\tthis.escapeHandle = null;\n\n\t\tthis.watch();\n\n\t\tlog(\"ready\", this, this.$target);\n\t}\n\n\t_createClass(HeaderController, [{\n\t\tkey: \"watch\",\n\t\tvalue: function watch() {\n\t\t\tlog(\"watching\");\n\n\t\t\tthis.element.addEventListener(this.options.openModalEvent, this.closeAllCollapsibles.bind(this));\n\n\t\t\tthis.element.addEventListener(this.options.childOpenedEvent, this.handleCollapsibleOpening.bind(this));\n\t\t\tthis.element.addEventListener(this.options.childClosedEvent, this.handleCollapsibleClosing.bind(this));\n\t\t\tthis.element.addEventListener(this.options.closeAllEvent, this.closeAllCollapsibles.bind(this));\n\n\t\t\tthis.overlays.forEach(this.bindOverlay.bind(this));\n\t\t}\n\t}, {\n\t\tkey: \"bindOverlay\",\n\t\tvalue: function bindOverlay(element) {\n\t\t\telement.addEventListener(\"click\", this.closeAllCollapsibles.bind(this));\n\t\t}\n\t}, {\n\t\tkey: \"closeAllCollapsibles\",\n\t\tvalue: function closeAllCollapsibles() {\n\t\t\tthis.collapsibles.forEach(function (item) {\n\t\t\t\tvar collapseStateAttr = item.dataset[\"headerController-Collapsible\"];\n\t\t\t\titem.dataset[collapseStateAttr] = false;\n\t\t\t});\n\t\t\tthis.closeModal();\n\t\t}\n\t}, {\n\t\tkey: \"closeOtherCollapsibles\",\n\t\tvalue: function closeOtherCollapsibles(opener) {\n\t\t\tvar toCollapse = this.collapsibles.filter(function (item) {\n\t\t\t\treturn item !== opener;\n\t\t\t});\n\n\t\t\ttoCollapse.forEach(function (item) {\n\t\t\t\tvar collapseStateAttr = item.dataset[\"headerController-Collapsible\"];\n\t\t\t\titem.dataset[collapseStateAttr] = false;\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: \"handleCollapsibleOpening\",\n\t\tvalue: function handleCollapsibleOpening(event) {\n\t\t\tvar opener = event.target;\n\n\t\t\t// Only respond to specified collapsibles\n\t\t\tif (!this.collapsibles.includes(opener)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.closeOtherCollapsibles(opener);\n\t\t\tthis.openModal(opener);\n\t\t}\n\n\t\t// Presumes the closing event is called only when the collapsible closes itself\n\t\t//\tNot when it is closed externally\n\n\t}, {\n\t\tkey: \"handleCollapsibleClosing\",\n\t\tvalue: function handleCollapsibleClosing(event) {\n\n\t\t\t// Only respond to specified collapsibles\n\t\t\tif (!this.collapsibles.includes(event.target)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.closeModal();\n\t\t}\n\t}, {\n\t\tkey: \"openModal\",\n\t\tvalue: function openModal(opener) {\n\t\t\tthis.element.setAttribute(\"aria-modal\", \"true\");\n\t\t\tthis.displayOverlay(opener);\n\n\t\t\t(0, _inert.inertOutside)(this.element, this.isNotMyOverlay.bind(this, opener));\n\n\t\t\tthis.escapeHandle = (0, _key2.default)({\n\t\t\t\tescape: this.closeAllCollapsibles.bind(this)\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: \"closeModal\",\n\t\tvalue: function closeModal() {\n\t\t\tthis.element.removeAttribute(\"aria-modal\");\n\t\t\tthis.hideOverlays();\n\t\t\t(0, _inert.unInertOutside)(this.element);\n\t\t\tthis.escapeHandle.disengage();\n\t\t}\n\t}, {\n\t\tkey: \"isNotMyOverlay\",\n\t\tvalue: function isNotMyOverlay(opener, element) {\n\t\t\tvar selector = getOverlaySelector(opener);\n\t\t\tvar overlay = document.querySelector(selector);\n\t\t\treturn element !== overlay;\n\t\t}\n\n\t\t// display specified overlay\n\n\t}, {\n\t\tkey: \"displayOverlay\",\n\t\tvalue: function displayOverlay(opener) {\n\t\t\tvar selector = getOverlaySelector(opener);\n\t\t\tvar overlay = document.querySelector(selector);\n\n\t\t\tif (overlay) {\n\t\t\t\toverlay.hidden = false;\n\t\t\t\tthis.hideOtherOverlays(overlay);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"hideOtherOverlays\",\n\t\tvalue: function hideOtherOverlays(overlay) {\n\t\t\tvar overlaysToHide = this.overlays.filter(function (element) {\n\t\t\t\treturn element !== overlay;\n\t\t\t});\n\t\t\toverlaysToHide.forEach(function (element) {\n\t\t\t\treturn element.hidden = true;\n\t\t\t});\n\t\t}\n\n\t\t// Hide all overlays\n\n\t}, {\n\t\tkey: \"hideOverlays\",\n\t\tvalue: function hideOverlays() {\n\t\t\tthis.overlays.forEach(function (element) {\n\t\t\t\treturn element.hidden = true;\n\t\t\t});\n\t\t}\n\t}]);\n\n\treturn HeaderController;\n}();\n\nHeaderController.DEFAULTS = {\n\tchildOpenedEvent: 'collapsibleOpened',\n\tchildClosedEvent: 'collapsibleClosed',\n\tcloseAllEvent: 'closeCollapibles',\n\topenModalEvent: \"open modal\"\n};\n\n(0, _lib2.default)(PLUGIN_NAME, HeaderController);\n\n(0, _jquery2.default)(document).ready(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR)[PLUGIN_NAME]();\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/tabs/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/tabs/tabs-controller.js\");\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/tabs/tabs-controller.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ELEMENT_SELECTOR = '[data-tabs-controller]';\nvar PLUGIN_NAME = 'tabsController';\n\nvar log = (0, _debug2.default)('tabs-controller');\n\nvar TabsController = function () {\n\tfunction TabsController(element, options) {\n\t\t_classCallCheck(this, TabsController);\n\n\t\tlog('element', element);\n\t\tlog('options', options);\n\n\t\tthis.options = options;\n\t\tthis.element = element;\n\t\tthis.$element = (0, _jquery2.default)(element);\n\n\t\tthis.tabs = this.selectors.selectTarget(this.options.tabsSelector, this.$element);\n\n\t\tthis.watch();\n\n\t\tlog('ready', this, this.$target);\n\t}\n\n\t_createClass(TabsController, [{\n\t\tkey: 'watch',\n\t\tvalue: function watch() {\n\t\t\tlog('watching');\n\t\t\tthis.$element.on('closeothers', this.closeOtherTabs.bind(this));\n\t\t}\n\t}, {\n\t\tkey: 'closeOtherTabs',\n\t\tvalue: function closeOtherTabs(event) {\n\t\t\tvar openingTab = event.target;\n\n\t\t\tvar tabsToClose = this.tabs.filter(function (index, tab) {\n\t\t\t\treturn tab !== openingTab;\n\t\t\t});\n\n\t\t\ttabsToClose.each(function (index, tab) {\n\t\t\t\ttab.dataset.collapsibleOpen = false;\n\t\t\t});\n\t\t}\n\t}]);\n\n\treturn TabsController;\n}();\n\nTabsController.DEFAULTS = {};\n\n(0, _lib2.default)(PLUGIN_NAME, TabsController);\n\n(0, _jquery2.default)(document).ready(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR)[PLUGIN_NAME]();\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/voting-card/index--available.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-voting-card]';\nvar PLUGIN_NAME = 'VotingCard';\n\n$(function () {\n\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t__webpack_require__.e/* import() */(\"voting-card\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/voting-card/voting-card.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t$(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/components/index.js\");\n\n__webpack_require__(\"/tool/project/client/src/core/vendor/index.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar log = (0, _debug2.default)('fusion-core');\n\n// See polyfills bundle - this should not be needed here too\n// import \"./polyfills\";\n\n\n(0, _jquery2.default)(function () {\n\tlog('ready');\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__collapsible/plugin--split.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__mega-link/plugin--bundled.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__form-loading/plugin--bundled.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__focus/index.js\");\n\n__webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__trigger-event/index.js\");\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__collapsible/plugin--split.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-collapsible]';\nvar PLUGIN_NAME = 'Collapsible';\n\n$(function () {\n\t_selectors.onAvailable.ready(ELEMENT_SELECTOR, function (element) {\n\t\t__webpack_require__.e/* import() */(\"plugin--collapsible\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__collapsible/collapsible.js\")).then(function (module) {\n\t\t\t(0, _lib2.default)(PLUGIN_NAME, module.default);\n\t\t\t$(element)[PLUGIN_NAME]();\n\t\t});\n\t});\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__focus/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-focus-element]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'FocusElement';\n\n(0, _jquery2.default)(document).ready(function () {\n (0, _jquery2.default)(ELEMENT_SELECTOR).each(function () {\n var element = this;\n __webpack_require__.e/* import() */(\"plugin--focus-element\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__focus/plugin.js\")).then(function () {\n (0, _jquery2.default)(element)[PLUGIN_NAME]();\n });\n });\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__form-loading/form-loading.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar FormLoading = function () {\n\tfunction FormLoading(element, options) {\n\t\t_classCallCheck(this, FormLoading);\n\n\t\tthis.element = element;\n\t\tthis.options = options;\n\t\tthis.watch();\n\t}\n\n\t_createClass(FormLoading, [{\n\t\tkey: \"watch\",\n\t\tvalue: function watch() {\n\t\t\tthis.element.addEventListener(\"submit\", this.applyLoadingState.bind(this));\n\t\t}\n\t}, {\n\t\tkey: \"applyLoadingState\",\n\t\tvalue: function applyLoadingState() {\n\t\t\tthis.element.dataset[this.options.dataKey] = this.options.dataValue;\n\t\t\tvar submitButton = this.element.querySelector(\"button[type=submit]\");\n\t\t\tif (submitButton != null) {\n\t\t\t\tsubmitButton.setAttribute(\"aria-label\", this.options.dataValue);\n\t\t\t}\n\t\t}\n\t}]);\n\n\treturn FormLoading;\n}();\n\nFormLoading.DEFAULTS = {\n\tdataKey: 'state',\n\tdataValue: 'loading'\n};\nexports.default = FormLoading;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__form-loading/plugin--bundled.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _formLoading = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__form-loading/form-loading.js\");\n\nvar _formLoading2 = _interopRequireDefault(_formLoading);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-form-loading]';\nvar PLUGIN_NAME = 'FormLoading';\n\n(0, _lib2.default)(PLUGIN_NAME, _formLoading2.default);\n\n(0, _jquery2.default)(document).ready(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR)[PLUGIN_NAME]();\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__mega-link/mega-link.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar log = (0, _debug2.default)(\"mega-link\");\n\nfunction getJSONValue(stringValue) {\n\ttry {\n\t\treturn JSON.parse(stringValue);\n\t} catch (error) {\n\t\treturn stringValue;\n\t}\n}\n\nvar MegaLink = function () {\n\tfunction MegaLink(element, options) {\n\t\t_classCallCheck(this, MegaLink);\n\n\t\tthis.element = element; // li\n\t\tthis.options = options;\n\n\t\tvar scopes = {\n\t\t\tdocument: document,\n\t\t\telement: this.element\n\t\t};\n\n\t\t//\tLook for the content element within this element or elsewhere\n\t\tvar contentSelectorIsId = this.options.contentSelector && this.options.contentSelector[0] === \"#\";\n\n\t\tif (contentSelectorIsId) {\n\t\t\tthis.contentSelectorScope = scopes[\"document\"];\n\t\t} else {\n\t\t\tthis.contentSelectorScope = scopes[this.options.contentSelectorScope] ? scopes[this.options.contentSelectorScope] : scopes[\"element\"];\n\t\t}\n\n\t\tthis.link = this.element.querySelector(this.options.linkSelector);\n\t\tthis.button = this.element.querySelector(this.options.buttonSelector);\n\n\t\tthis.content = this.contentSelectorScope.querySelector(this.options.contentSelector);\n\t\tthis.collapseWith = this.options.collapsedClass ? \"class\" : \"hidden\";\n\t\tthis.collapsedClass = this.options.collapsedClass;\n\n\t\tthis.toggleMethod = this.collapseWith === \"class\" ? this.toggleWithClass : this.toggleWithHidden;\n\n\t\tthis.attributeObserver = new MutationObserver(this.onAttributeChange.bind(this));\n\n\t\tthis.bindDocumentEvents = this.options.closeWithDocumentClick ? this.bindDocumentClick : function () {};\n\n\t\tthis.unbindDocumentEvents = this.options.closeWithDocumentClick ? this.unbindDocumentClick : function () {};\n\n\t\tthis.init();\n\t\tthis.watch();\n\t}\n\n\t_createClass(MegaLink, [{\n\t\tkey: \"init\",\n\t\tvalue: function init() {\n\t\t\t// component enabled - switch link role\n\t\t\tthis.link.setAttribute('role', 'button');\n\n\t\t\t// Determine initial collapse state\n\t\t\t//\tif set open option determines init state\n\t\t\tvar doCollapse = this.options.open !== undefined ? !this.options.open : true;\n\n\t\t\tthis.toggleMethod(doCollapse);\n\t\t\tthis.isCollapsed = doCollapse;\n\t\t}\n\t}, {\n\t\tkey: \"watch\",\n\t\tvalue: function watch() {\n\t\t\tthis.link.addEventListener(\"click\", this.handleUnmodifiedClick.bind(this));\n\t\t\tthis.link.addEventListener('keydown', this.handleKeyDown.bind(this));\n\t\t\tthis.button.addEventListener(\"click\", this.toggle.bind(this));\n\t\t\tthis.attributeObserver.observe(this.element, { attributes: true });\n\t\t}\n\n\t\t// Respond to space key\n\n\t}, {\n\t\tkey: \"handleKeyDown\",\n\t\tvalue: function handleKeyDown(event) {\n\t\t\tif (event.keyCode === 32) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.toggle();\n\t\t\t}\n\t\t}\n\n\t\t// Only respond to click without key modifier\n\n\t}, {\n\t\tkey: \"handleUnmodifiedClick\",\n\t\tvalue: function handleUnmodifiedClick(event) {\n\t\t\tif (!event.ctrlKey && !event.altKey && !event.metaKey) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.toggle();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"toggleWithHidden\",\n\t\tvalue: function toggleWithHidden(doCollapse) {\n\t\t\tthis.link.setAttribute(\"aria-expanded\", !doCollapse);\n\n\t\t\tif (!this.content) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.content.hidden = doCollapse;\n\t\t}\n\t}, {\n\t\tkey: \"toggleWithClass\",\n\t\tvalue: function toggleWithClass(doCollapse) {\n\t\t\tthis.link.setAttribute(\"aria-expanded\", !doCollapse);\n\n\t\t\tif (!this.content) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (doCollapse) {\n\t\t\t\tthis.content.classList.add(this.collapsedClass);\n\t\t\t} else {\n\t\t\t\tthis.content.classList.remove(this.collapsedClass);\n\t\t\t}\n\t\t}\n\n\t\t// button click handler\n\n\t}, {\n\t\tkey: \"toggle\",\n\t\tvalue: function toggle() {\n\t\t\tif (!this.options.selfClosing && !this.isCollapsed) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tvar handler = this.isCollapsed ? this.open.bind(this) : this.close.bind(this);\n\t\t\thandler();\n\t\t}\n\t}, {\n\t\tkey: \"open\",\n\t\tvalue: function open() {\n\t\t\tthis.toggleMethod(false);\n\t\t\tthis.isCollapsed = false;\n\t\t\tthis.element.dataset.megaLinkOpen = true;\n\t\t\tthis.bindDocumentEvents();\n\n\t\t\tvar openedEvent = new CustomEvent(this.options.onUncollapse, {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true\n\t\t\t\t// detail: {}\n\t\t\t});\n\n\t\t\tthis.element.dispatchEvent(openedEvent);\n\t\t}\n\t}, {\n\t\tkey: \"close\",\n\t\tvalue: function close() {\n\t\t\tthis.toggleMethod(true);\n\t\t\tthis.isCollapsed = true;\n\t\t\tthis.element.dataset.megaLinkOpen = false;\n\t\t\tthis.unbindDocumentEvents();\n\n\t\t\tvar closedEvent = new CustomEvent(this.options.onCollapse, {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: true\n\t\t\t});\n\n\t\t\tthis.element.dispatchEvent(closedEvent);\n\t\t}\n\t}, {\n\t\tkey: \"bindDocumentClick\",\n\t\tvalue: function bindDocumentClick() {\n\t\t\tdocument.addEventListener(\"click\", this.onDocumentClick.bind(this));\n\t\t}\n\t}, {\n\t\tkey: \"unbindDocumentClick\",\n\t\tvalue: function unbindDocumentClick() {\n\t\t\tdocument.removeEventListener(\"click\", this.onDocumentClick);\n\t\t}\n\t}, {\n\t\tkey: \"onDocumentClick\",\n\t\tvalue: function onDocumentClick(event) {\n\t\t\tvar clickTarget = event.target;\n\n\t\t\t// clicked within element (li)\n\t\t\tif (clickTarget === this.element || this.element.contains(clickTarget)) {\n\t\t\t\tlog(\"clicked within element\");\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// clicked this.button\n\t\t\tif (clickTarget === this.button || this.button.contains(clickTarget)) {\n\t\t\t\tlog(\"clicked button\");\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// clicked this.link\n\t\t\tif (clickTarget === this.link || this.link.contains(clickTarget)) {\n\t\t\t\tlog(\"clicked link\");\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis.close();\n\t\t}\n\t}, {\n\t\tkey: \"onAttributeChange\",\n\t\tvalue: function onAttributeChange(mutationList, observer) {\n\t\t\tmutationList.filter(function (mutation) {\n\t\t\t\treturn mutation.type === \"attributes\" && mutation.attributeName.startsWith(\"data-mega-link-open\");\n\t\t\t}).forEach(this.onOpenChanged.bind(this));\n\t\t}\n\t}, {\n\t\tkey: \"onOpenChanged\",\n\t\tvalue: function onOpenChanged(mutation) {\n\t\t\tvar doCollapse = !getJSONValue(this.element.dataset.megaLinkOpen);\n\t\t\tif (this.isCollapsed !== doCollapse) {\n\t\t\t\tthis.toggleMethod(doCollapse);\n\t\t\t\tthis.isCollapsed = doCollapse;\n\t\t\t}\n\t\t}\n\t}]);\n\n\treturn MegaLink;\n}();\n\nMegaLink.DEFAULTS = {\n\tselfClosing: true,\n\tonCollapse: 'collapsibleClosed',\n\tonUncollapse: 'collapsibleOpened'\n};\n\nexports.default = MegaLink;\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__mega-link/plugin--bundled.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _lib = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\");\n\nvar _lib2 = _interopRequireDefault(_lib);\n\nvar _megaLink = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__mega-link/mega-link.js\");\n\nvar _megaLink2 = _interopRequireDefault(_megaLink);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = '[data-mega-link]';\nvar PLUGIN_NAME = 'MegaLink';\n\n(0, _lib2.default)(PLUGIN_NAME, _megaLink2.default);\n\n(0, _jquery2.default)(document).ready(function () {\n\t(0, _jquery2.default)(ELEMENT_SELECTOR)[PLUGIN_NAME]();\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__trigger-event/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PLUGIN_NAME = exports.ELEMENT_SELECTOR = undefined;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ELEMENT_SELECTOR = exports.ELEMENT_SELECTOR = '[data-trigger-event]';\nvar PLUGIN_NAME = exports.PLUGIN_NAME = 'triggerEvent';\n\n(0, _jquery2.default)(document).ready(function () {\n (0, _jquery2.default)(ELEMENT_SELECTOR).each(function () {\n var element = this;\n __webpack_require__.e/* import() */(\"plugin--trigger-event\").then(__webpack_require__.bind(null, \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/jquery__trigger-event/plugin.js\")).then(function () {\n (0, _jquery2.default)(element)[PLUGIN_NAME]();\n });\n });\n});\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/fn.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.debounce = debounce;\n// Returns a function, that, as long as it continues to be invoked, will not\n// be triggered. The function will be called after it stops being called for\n// N milliseconds. If `immediate` is passed, trigger the function on the\n// leading edge, instead of the trailing.\nfunction debounce(func, wait, immediate) {\n var timeout;\n return function () {\n var context = this,\n args = arguments;\n var later = function later() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n};\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /*\r\n jQuery plugin\r\n \r\n \r\n ```\r\n import debug from 'debug';\r\n import plugin from '@core/plugins/lib';\r\n \r\n const ELEMENT_SELECTOR = '[data-my-plugin]';\r\n const PLUGIN_NAME = 'MyPlugin';\r\n const MODULE_NAME = 'plugins/my-plugin';\r\n const log = debug(MODULE_NAME);\r\n \r\n class PluginKlass {\r\n constructor(element, options) {\r\n log('new instance', element, options);\r\n \r\n this.element = element;\r\n this.options = options;\r\n this.$element = $(element);\r\n \r\n log('ready', this.$element);\r\n \r\n this.init();\r\n }\r\n }\r\n \r\n PluginKlass.DEFAULTS = {\r\n someCamelCasedProperty: `${PLUGIN_NAME}:something`,\r\n };\r\n \r\n plugin(PLUGIN_NAME, PluginKlass);\r\n \r\n $(document).ready(() => {\r\n $(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n });\r\n ```\r\n \r\n Then using it in html:\r\n ```\r\n
\r\n ```\r\n \r\n Styelguide Core.Global.Javascript.JqueryPlugin\r\n */\n\n// import * as events from './events';\n\nexports.default = plugin;\nexports.jquery = jquery;\nexports.defaults = defaults;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nvar _fn = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/fn.js\");\n\nvar fn = _interopRequireWildcard(_fn);\n\nvar _strings = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/strings.js\");\n\nvar strings = _interopRequireWildcard(_strings);\n\nvar _objects = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/objects.js\");\n\nvar objects = _interopRequireWildcard(_objects);\n\nvar _selectors = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\");\n\nvar selectors = _interopRequireWildcard(_selectors);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar log = (0, _debug2.default)('core/plugins/lib');\n\nfunction plugin(pluginName, klass) {\n var shortHand = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var formattedPluginName = (0, _strings.toCamelCase)(pluginName);\n var dataName = '__' + formattedPluginName;\n var old = _jquery2.default.fn[formattedPluginName];\n var ZERO = 0;\n\n klass.$bus = {\n subscribe: function subscribe(event, fn) {\n (0, _jquery2.default)(this).bind(event, fn);\n },\n publish: function publish(event, data) {\n (0, _jquery2.default)(this).trigger(event, [data]);\n }\n };\n\n klass.$util = {\n fn: fn,\n objects: objects,\n strings: strings,\n selectors: selectors\n };\n\n klass.prototype.selectors = selectors;\n klass.prototype.strings = strings;\n klass.prototype.objects = objects;\n klass.prototype.fn = fn;\n klass.prototype.inViewport = function (elm) {\n var rect = elm.getBoundingClientRect();\n var viewHeight = Math.max(document.documentElement.clientHeight, window.innerHeight);\n return !(rect.bottom < 0 || rect.top - viewHeight >= 0);\n };\n\n _jquery2.default.fn[pluginName] = function PluginFactory(option) {\n return this.each(function PluginInstanceFactory() {\n var $this = (0, _jquery2.default)(this);\n var data = $this.data();\n var overrides = (typeof option === 'undefined' ? 'undefined' : _typeof(option)) === 'object' && option;\n var elementOptions = Object.keys(data).filter(function (key) {\n return (0, _strings.toCamelCase)(key).indexOf(formattedPluginName) >= ZERO;\n }).reduce(function (result, path) {\n var data = path && $this.data(path);\n var key = (0, _strings.toCamelCase)(path.replace(new RegExp(formattedPluginName + '-?'), ''));\n log(path, key, $this.data(path));\n\n if (key && data !== undefined) {\n result[key] = data;\n }\n return result;\n }, {});\n log(pluginName, { elementOptions: elementOptions });\n var instance = $this.data(dataName);\n var options = _jquery2.default.extend({}, klass.DEFAULTS, elementOptions, overrides);\n\n // store reference to instance\n if (!instance) {\n instance = new klass(this, options);\n instance.$utils = klass.$util;\n $this.data(dataName, instance);\n $this.addClass('u-' + pluginName);\n }\n\n // execute instance method\n if (typeof option === 'string') {\n instance[option]();\n }\n });\n };\n\n // - Short hand\n if (shortHand) {\n _jquery2.default[formattedPluginName] = function (options) {\n return (0, _jquery2.default)({})[formattedPluginName](options);\n };\n }\n\n // - No conflict\n // $.fn[formattedPluginName].noConflict = function noConflict () {\n // $.fn[formattedPluginName] = old;\n // };\n}\n\nfunction jquery(name) {\n return function decorate(target) {\n plugin(name, target);\n };\n}\n\nfunction defaults(options) {\n return function decorate(target) {\n target.DEFAULTS = options;\n };\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/objects.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.elementAttrtibutesToObject = elementAttrtibutesToObject;\nexports.objectPath = objectPath;\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nvar _strings = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/strings.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar MODULE_NAME = 'app.core/lib/objects';\nvar log = (0, _debug2.default)(MODULE_NAME);\n\nvar ZERO = 0;\n\n/**\r\n * Convert an elements attributes to an object, optionally filtering based on some predicate.\r\n * @param {DOMElement} element [description]\r\n * @param {Function} filterFn filtering function. return false to omit attribute.\r\n * @param {Function} transformFn transform attribute name function. returns camelCase by default\r\n * @return {[type]} [description]\r\n */\nfunction elementAttrtibutesToObject(element) {\n var filterFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {\n return true;\n };\n var transformFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (name) {\n return (0, _strings.toCamelCase)(name);\n };\n\n var output = {};\n var attrs = Array.from($(element).get(ZERO).attributes);\n\n if (!attrs) {\n return output;\n }\n\n log('converting element attributes to object', attrs);\n\n return attrs.reduce(function (result, attribute) {\n if (filterFn(attribute)) {\n var name = transformFn(attribute.name);\n var value = attribute.value;\n\n if (value === 'false' || value === 'true') {\n value = Boolean(value);\n }\n result[name] = attribute.value;\n }\n\n return result;\n }, output);\n}\n\n/**\r\n * Object.prop()\r\n *\r\n * Allows dot-notation access to object properties for both getting and setting.\r\n *\r\n * @param {Object} obj The object we're getting from or setting\r\n * @param {string} prop The dot-notated string defining the property location\r\n * @param {mixed} val For setting only; the value to set\r\n */\n\nfunction objectPath(obj, path, val) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { delimiter: '.' };\n\n var props = path.split(options.delimiter);\n var final = props.pop();\n var part = void 0;\n\n for (var index = 0; index < props.length; index++) {\n part = props[index];\n if (typeof obj[part] === 'undefined') {\n // If we're setting\n if (typeof val !== 'undefined' && index != props.length) {\n // If we're not at the end of the props, keep adding new empty objects\n obj[part] = {};\n } else {\n return undefined;\n }\n }\n obj = obj[part];\n }\n return typeof val !== \"undefined\" ? obj[final] = val : obj[final];\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/selectors.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.onAvailable = exports.SELECTOR_PATTERNS = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.selectorPattern = selectorPattern;\nexports.selectTarget = selectTarget;\nexports.onChange = onChange;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar log = (0, _debug2.default)('core/plugins/lib/selectors');\n\nfunction selectorPattern() {\n\tfor (var _len = arguments.length, directives = Array(_len), _key = 0; _key < _len; _key++) {\n\t\tdirectives[_key] = arguments[_key];\n\t}\n\n\treturn new RegExp('\\\\((' + directives.join('|') + ')(.*)\\\\)\\\\s?(.*)');\n}\n\nvar SELECTOR_PATTERNS = exports.SELECTOR_PATTERNS = {\n\n\t// .find\n\t\"children\": selectorPattern('children'),\n\n\t// .closest\n\t\"parent\": selectorPattern('parent'),\n\t\"from\": selectorPattern('from'),\n\t\"parents\": selectorPattern('parents'),\n\t\"siblings\": selectorPattern('siblings'),\n\t\"here\": selectorPattern('here'),\n\t\"self\": selectorPattern('self')\n};\n\nfunction selectTarget(selector, $element) {\n\tvar $target = void 0;\n\n\tvar isClosestAncestoral = selector.match(SELECTOR_PATTERNS.parent);\n\tvar isAllAncestoral = selector.match(SELECTOR_PATTERNS.parents);\n\tvar isRetargeted = selector.match(SELECTOR_PATTERNS.from);\n\tvar isAllDescendants = selector.match(SELECTOR_PATTERNS.children);\n\tvar isGenerational = selector.match(SELECTOR_PATTERNS.here);\n\tvar isSiblings = selector.match(SELECTOR_PATTERNS.siblings);\n\tvar isSelfish = selector.match(SELECTOR_PATTERNS.self);\n\n\t// special retargeting root\n\tif (isRetargeted) {\n\t\tlog('isRetargeted', isRetargeted[2], isRetargeted[3]);\n\t\tvar $newElement = selectTarget(isRetargeted[2], $element);\n\t\tvar newSelector = '(children) ' + isRetargeted[3];\n\t\tlog('isRetargeted.newElement', $newElement);\n\t\tlog('isRetargeted.newSelector', newSelector);\n\t\t$target = selectTarget(newSelector, $newElement);\n\t\tlog('isRetargeted.target', $target);\n\t}\n\n\t// target is all ancestors\n\telse if (isAllAncestoral) {\n\t\t\tlog('isAllAncestoral', isAllAncestoral);\n\t\t\t$target = $element.parents(isAllAncestoral[isAllAncestoral.length - 1]);\n\t\t}\n\t\t// target is closest ancestor\n\t\telse if (isClosestAncestoral) {\n\t\t\t\tlog('isClosestAncestoral', isClosestAncestoral);\n\t\t\t\t$target = $element.closest(isClosestAncestoral[isClosestAncestoral.length - 1]);\n\t\t\t}\n\t\t\t// target is somewhere under current parent\n\t\t\telse if (isGenerational) {\n\t\t\t\t\tlog('isGenerational', isGenerational);\n\t\t\t\t\t$target = $element.parent().find(isGenerational[isGenerational.length - 1]);\n\t\t\t\t}\n\t\t\t\t// target is only under self\n\t\t\t\telse if (isAllDescendants) {\n\t\t\t\t\t\tlog('isAllDescendants', isAllDescendants);\n\t\t\t\t\t\t$target = $element.find(isAllDescendants[isAllDescendants.length - 1]);\n\t\t\t\t\t}\n\t\t\t\t\t// target is somewhere in siblings only\n\t\t\t\t\telse if (isSiblings) {\n\t\t\t\t\t\t\tlog('isSiblings', isSiblings);\n\t\t\t\t\t\t\t$target = $element.siblings(isSiblings[isSiblings.length - 1]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// target is source\n\t\t\t\t\t\telse if (!selector || isSelfish) {\n\t\t\t\t\t\t\t\tlog('isSelfish', isSelfish);\n\t\t\t\t\t\t\t\tvar selector = isSelfish[isSelfish.length - 1] || '*';\n\t\t\t\t\t\t\t\t$target = $element.filter(selector);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// target could be anywhere\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlog('global', selector);\n\t\t\t\t\t\t\t\t\t$target = (0, _jquery2.default)(selector);\n\t\t\t\t\t\t\t\t}\n\treturn $target;\n}\n\nvar OnAvailable = function () {\n\tfunction OnAvailable(root) {\n\t\t_classCallCheck(this, OnAvailable);\n\n\t\tthis.root = root || window.document.documentElement;\n\t\tthis.listeners = [];\n\t\tthis.observer;\n\t}\n\n\t_createClass(OnAvailable, [{\n\t\tkey: 'ready',\n\t\tvalue: function ready(selector, fn) {\n\t\t\t// Store the selector and callback to be monitored\n\t\t\tthis.listeners.push({\n\t\t\t\tselector: selector,\n\t\t\t\tfn: fn\n\t\t\t});\n\n\t\t\tif (!this.observer) {\n\t\t\t\t// Watch for changes in the document\n\t\t\t\tthis.observer = onChange(this.root, this.check.bind(this), {\n\t\t\t\t\tchildList: true,\n\t\t\t\t\tsubtree: true\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Check if the element is currently in the DOM\n\t\t\tthis.check();\n\t\t}\n\t}, {\n\t\tkey: 'check',\n\t\tvalue: function check() {\n\t\t\tvar _this = this;\n\n\t\t\tvar listnersSelectorsArray = [];\n\t\t\tArray.from(this.listeners).forEach(function (listener) {\n\t\t\t\tlistnersSelectorsArray.push(listener.selector);\n\t\t\t});\n\t\t\tvar listnersSelectors = listnersSelectorsArray.join(\",\");\n\t\t\tvar matchingElements = this.root.querySelectorAll(listnersSelectors);\n\t\t\t// Check the DOM for elements matching a stored selector\n\n\t\t\tArray.from(matchingElements).forEach(function (element) {\n\n\t\t\t\tArray.from(_this.listeners).forEach(function (listener) {\n\t\t\t\t\tvar attributeName = listener.selector.substring(1, listener.selector.length - 1);\n\t\t\t\t\tif (element.hasAttribute(attributeName) && !element[attributeName]) {\n\t\t\t\t\t\tlistener.fn.call(element, element);\n\t\t\t\t\t\telement[attributeName] = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}]);\n\n\treturn OnAvailable;\n}();\n\nvar onAvailable = exports.onAvailable = new OnAvailable(window.document.documentElement);\n\nfunction onChange(element, fn, options) {\n\tvar MutationObserver = window.MutationObserver || window.WebKitMutationObserver;\n\tvar observer = new MutationObserver(fn);\n\tobserver.observe(element, options || {\n\t\tattributes: true,\n\t\tchildList: true,\n\t\tsubtree: true\n\t});\n\treturn observer;\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/plugins/lib/strings.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.toCamelCase = toCamelCase;\nexports.tmpl = tmpl;\nexports.$tmpl = $tmpl;\nexports.mustache = mustache;\nexports.booleanify = booleanify;\n\nvar _jquery = __webpack_require__(\"external \\\"jQuery\\\"\");\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar log = (0, _debug2.default)('core/jquery_plugin/strings');\n\nfunction preserveCamelCase(str) {\n var isLastCharLower = false;\n var isLastCharUpper = false;\n var isLastLastCharUpper = false;\n\n for (var i = 0; i < str.length; i++) {\n var c = str[i];\n\n if (isLastCharLower && /[a-zA-Z]/.test(c) && c.toUpperCase() === c) {\n str = str.substr(0, i) + '-' + str.substr(i);\n isLastCharLower = false;\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = true;\n i++;\n } else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(c) && c.toLowerCase() === c) {\n str = str.substr(0, i - 1) + '-' + str.substr(i - 1);\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = false;\n isLastCharLower = true;\n } else {\n isLastCharLower = c.toLowerCase() === c;\n isLastLastCharUpper = isLastCharUpper;\n isLastCharUpper = c.toUpperCase() === c;\n }\n }\n\n return str;\n}\n\nfunction toCamelCase(str) {\n if (arguments.length > 1) {\n str = Array.from(arguments).map(function (x) {\n return x.trim();\n }).filter(function (x) {\n return x.length;\n }).join('-');\n } else {\n str = str.trim();\n }\n\n if (str.length === 0) {\n return '';\n }\n\n if (str.length === 1) {\n return str.toLowerCase();\n }\n\n if (/^[a-z0-9]+$/.test(str)) {\n return str;\n }\n\n var hasUpperCase = str !== str.toLowerCase();\n\n if (hasUpperCase) {\n str = preserveCamelCase(str);\n }\n\n return str.replace(/^[_.\\- ]+/, '').toLowerCase().replace(/[_.\\- ]+(\\w|$)/g, function (m, p1) {\n return p1.toUpperCase();\n });\n};\n\nfunction tmpl(str, context) {\n var result = str;\n\n if (result) {\n\n Object.keys(context).forEach(function (item) {\n result = result.replace('{{' + item + '}}', context[item]);\n });\n }\n\n return result;\n}\n\nfunction $tmpl(element, context) {\n var $target = (0, _jquery2.default)(element);\n var templateString = $target.attr('data-text-template');\n var result = tmpl(templateString, context);\n\n $target.text(result);\n}\n\n/**\r\n * https://github.com/aishikaty/tiny-mustache\r\n * https://mustache.github.io/\r\n * @param {String} template [description]\r\n * @param {[type]} self [description]\r\n * @param {[type]} parent [description]\r\n * @param {[type]} invert [description]\r\n * @return {[type]} [description]\r\n */\nfunction mustache(template, self, parent, invert) {\n var render = mustache;\n var output = \"\";\n var i;\n\n log('mustache', { template: template, self: self, parent: parent, invert: invert });\n\n function get(ctx, path) {\n path = path.pop ? path : path.split(\".\");\n ctx = ctx[path.shift()] || \"\";\n return 0 in path ? get(ctx, path) : ctx;\n }\n\n self = Array.isArray(self) ? self : self ? [self] : [];\n self = invert ? 0 in self ? [] : [1] : self;\n\n for (i = 0; i < self.length; i++) {\n var childCode = '';\n var depth = 0;\n var inverted;\n var ctx = _typeof(self[i]) == \"object\" ? self[i] : {};\n ctx = Object.assign({}, parent, ctx);\n ctx[\"\"] = { \"\": self[i] };\n\n template.replace(/([\\s\\S]*?)({{((\\/)|(\\^)|#)(.*?)}}|$)/g, function (match, code, y, z, close, invert, name) {\n\n if (!depth) {\n output += code.replace(/{{{(.*?)}}}|{{(!?)(&?)(>?)(.*?)}}/g, function (match, raw, comment, isRaw, partial, name) {\n return raw ? get(ctx, raw) : isRaw ? get(ctx, name) : partial ? render(get(ctx, name), ctx) : !comment ? new Option(get(ctx, name)).innerHTML : \"\";\n });\n inverted = invert;\n } else {\n childCode += depth && !close || depth > 1 ? match : code;\n }\n\n if (close) {\n if (! --depth) {\n name = get(ctx, name);\n if (/^f/.test(typeof name === 'undefined' ? 'undefined' : _typeof(name))) {\n output += name.call(ctx, childCode, function (template) {\n return render(template, ctx);\n });\n } else {\n output += render(childCode, name, ctx, inverted);\n }\n childCode = \"\";\n }\n } else {\n ++depth;\n }\n log('mustache.output.' + depth, { output: output });\n });\n }\n log('mustache.output', { output: output });\n return output;\n}\n\nfunction booleanify(value) {\n var lower = value.toLowerCase();\n if (lower === 'false' || lower === '0') {\n return false;\n }\n return new Boolean(value);\n}\n\n/***/ }),\n\n/***/ \"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/utilities/inert.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.unInertOutside = exports.inertOutside = undefined;\n\nvar _debug = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/node_modules/debug/src/browser.js\");\n\nvar _debug2 = _interopRequireDefault(_debug);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar log = (0, _debug2.default)(\"inert\");\n\nvar noopDefaultFilter = function noopDefaultFilter(item) {\n\treturn item;\n};\n\nvar inertOutside = exports.inertOutside = updateInert.bind(null, true);\nvar unInertOutside = exports.unInertOutside = updateInert.bind(null, false);\n\nfunction updateInert(isMakeInert, element) {\n\tvar elementFilterFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : noopDefaultFilter;\n\n\t// Stop right here if inert is unsupported\n\tif (!HTMLElement.prototype.hasOwnProperty(\"inert\")) {\n\t\treturn false;\n\t}\n\tvar outsideElements = getNonRelatives(element).filter(elementFilterFn);\n\toutsideElements.forEach(function (sibling) {\n\t\tsibling.inert = isMakeInert;\n\t});\n}\n\nfunction getNonRelatives(element) {\n\tvar ancestors = getAncestors(element);\n\n\tlog('element', element);\n\tlog('ancestors', ancestors);\n\n\tvar result = [element].concat(ancestors).map(function (el) {\n\t\treturn getSiblings(el);\n\t});\n\n\treturn result.flat();\n}\n\nfunction getSiblings(element) {\n\treturn Array.from(element.parentNode.children).filter(function (child) {\n\t\treturn child != element;\n\t});\n}\n\nfunction getAncestors(element) {\n\tvar ancestors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n\tif (element.parentNode === document.body) {\n\t\treturn ancestors;\n\t}\n\treturn getAncestors(element.parentNode, ancestors.concat(element.parentNode));\n}\n\n/***/ }),\n\n/***/ \"/tool/project/client/src/core/vendor/index.js\":\n/***/ (function(module, exports) {\n\n// Note vendor js loaded with System in components directly\r\n\n\n/***/ }),\n\n/***/ \"external \\\"jQuery\\\"\":\n/***/ (function(module, exports) {\n\nmodule.exports = jQuery;\n\n/***/ }),\n\n/***/ \"multi /tool/project/client/src/core/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"/tool/node_modules/babel-loader/lib/index.js??ref--11-0!/tool/node_modules/eslint-loader/index.js!/tool/project/client/src/core/index.js\");\n\n\n/***/ })\n\n},[\"multi /tool/project/client/src/core/index.js\"]);\n\n\n// WEBPACK FOOTER //\n// scripts/core--b4c5ed488dc3467ca17a.js","\n// codes mostly cloned from https://github.com/keithamus/jwerty/blob/master/jwerty.js\n// deliberately not exposing characters like <,.-#* because they vary *wildly*\n// across keyboard layouts and may cause various problems\n// (e.g. \"*\" is \"Shift +\" on a German Mac keyboard)\n// (e.g. \"@\" is \"Alt L\" on a German Mac keyboard)\n\nconst keycode = {\n // Element Focus\n tab: 9,\n\n // Navigation\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n pageUp: 33,\n 'page-up': 33,\n pageDown: 34,\n 'page-down': 34,\n end: 35,\n home: 36,\n\n // Action\n enter: 13,\n escape: 27,\n space: 32,\n\n // Modifier\n shift: 16,\n capsLock: 20,\n 'caps-lock': 20,\n ctrl: 17,\n alt: 18,\n meta: 91,\n // in firefox: 224\n // on mac (chrome): meta-left=91, meta-right=93\n // on win (IE11): meta-left=91, meta-right=92\n pause: 19,\n\n // Content Manipulation\n insert: 45,\n 'delete': 46,\n backspace: 8,\n\n // the same logical key may be identified through different keyCodes\n _alias: {\n 91: [92, 93, 224],\n },\n};\n\n// Function keys (112 - 137)\n// NOTE: not every keyboard knows F13+\nfor (let n = 1; n < 26; n++) {\n keycode['f' + n] = n + 111;\n}\n\n// Number keys (48-57, numpad 96-105)\n// NOTE: not every keyboard knows num-0+\nfor (let n = 0; n < 10; n++) {\n const code = n + 48;\n const numCode = n + 96;\n keycode[n] = code;\n keycode['num-' + n] = numCode;\n keycode._alias[code] = [numCode];\n}\n\n// Latin characters (65 - 90)\nfor (let n = 0; n < 26; n++) {\n const code = n + 65;\n const name = String.fromCharCode(code).toLowerCase();\n keycode[name] = code;\n}\n\nexport default keycode;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/ally.js/src/map/keycode.js","\n// Node.compareDocumentPosition is available since IE9\n// see https://developer.mozilla.org/en-US/docs/Web/API/Node.compareDocumentPosition\n\n// callback returns true when element is contained by parent or is the parent suited for use with Array.some()\n/*\n USAGE:\n var isChildOf = getParentComparator({parent: someNode});\n listOfElements.some(isChildOf)\n*/\n\nexport function getParentComparator({parent, element, includeSelf} = {}) {\n if (parent) {\n return function isChildOf(node) {\n return Boolean(\n includeSelf && node === parent\n || parent.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY\n );\n };\n } else if (element) {\n return function isParentOf(node) {\n return Boolean(\n includeSelf && element === node\n || node.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_CONTAINED_BY\n );\n };\n }\n\n throw new TypeError('util/compare-position#getParentComparator required either options.parent or options.element');\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/ally.js/src/util/compare-position.js","\n// input may be undefined, selector-tring, Node, NodeList, HTMLCollection, array of Nodes\n// yes, to some extent this is a bad replica of jQuery's constructor function\nexport default function(input) {\n if (!input) {\n return [];\n }\n\n if (Array.isArray(input)) {\n return input;\n }\n\n // instanceof Node - does not work with iframes\n if (input.nodeType !== undefined) {\n return [input];\n }\n\n if (typeof input === 'string') {\n input = document.querySelectorAll(input);\n }\n\n if (input.length !== undefined) {\n return [].slice.call(input, 0);\n }\n\n throw new TypeError('unexpected input ' + String(input));\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/ally.js/src/util/node-array.js","\n/*\n decodes a key binding token to a JavaScript structure\n\n returns an array of objects:\n {\n // key name translated to keyCode (possibly more than one)\n keyCodes: [],\n // translated modifiers\n modifiers: {\n altKey: null, // ignore\n ctrKey: false, // expect not pressed\n metaKey: true, // expect pressed\n shiftKey: true, // expect pressed\n },\n // callback that returns true if event's\n // modifier keys match the expected state\n matchModifiers: function(event){},\n }\n*/\n\nimport keycode from '../map/keycode';\n\nconst modifier = {\n alt: 'altKey',\n ctrl: 'ctrlKey',\n meta: 'metaKey',\n shift: 'shiftKey',\n};\n\nconst modifierSequence = Object.keys(modifier).map(name => modifier[name]);\n\nfunction createExpectedModifiers(ignoreModifiers) {\n const value = ignoreModifiers ? null : false;\n return {\n altKey: value,\n ctrlKey: value,\n metaKey: value,\n shiftKey: value,\n };\n}\n\nfunction resolveModifiers(modifiers) {\n const ignoreModifiers = modifiers.indexOf('*') !== -1;\n const expected = createExpectedModifiers(ignoreModifiers);\n\n modifiers.forEach(function(token) {\n if (token === '*') {\n // we've already covered the all-in operator\n return;\n }\n\n // we want the modifier pressed\n let value = true;\n const operator = token.slice(0, 1);\n if (operator === '?') {\n // we don't care if the modifier is pressed\n value = null;\n } else if (operator === '!') {\n // we do not want the modifier pressed\n value = false;\n }\n\n if (value !== true) {\n // compensate for the modifier's operator\n token = token.slice(1);\n }\n\n const propertyName = modifier[token];\n if (!propertyName) {\n throw new TypeError('Unknown modifier \"' + token + '\"');\n }\n\n expected[propertyName] = value;\n });\n\n return expected;\n}\n\nfunction resolveKey(key) {\n const code = keycode[key] || parseInt(key, 10);\n if (!code || typeof code !== 'number' || isNaN(code)) {\n throw new TypeError('Unknown key \"' + key + '\"');\n }\n\n return [code].concat(keycode._alias[code] || []);\n}\n\nfunction matchModifiers(expected, event) {\n // returns true on match\n return !modifierSequence.some(function(prop) {\n // returns true on mismatch\n return typeof expected[prop] === 'boolean' && Boolean(event[prop]) !== expected[prop];\n });\n}\n\nexport default function(text) {\n return text.split(/\\s+/).map(function(_text) {\n const tokens = _text.split('+');\n const _modifiers = resolveModifiers(tokens.slice(0, -1));\n const _keyCodes = resolveKey(tokens.slice(-1));\n return {\n keyCodes: _keyCodes,\n modifiers: _modifiers,\n matchModifiers: matchModifiers.bind(null, _modifiers),\n };\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/ally.js/src/when/key.binding.js","\nimport keyBinding from './key.binding';\nimport nodeArray from '../util/node-array';\nimport {getParentComparator} from '../util/compare-position';\n\n// Bug 286933 - Key events in the autocomplete popup should be hidden from page scripts\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=286933\n\nexport default function(map = {}) {\n const bindings = {};\n\n const context = nodeArray(map.context)[0] || document.documentElement;\n delete map.context;\n const filter = nodeArray(map.filter);\n delete map.filter;\n\n const mapKeys = Object.keys(map);\n if (!mapKeys.length) {\n throw new TypeError('when/key requires at least one option key');\n }\n\n const registerBinding = function(event) {\n event.keyCodes.forEach(function(code) {\n if (!bindings[code]) {\n bindings[code] = [];\n }\n\n bindings[code].push(event);\n });\n };\n\n mapKeys.forEach(function(text) {\n if (typeof map[text] !== 'function') {\n throw new TypeError('when/key requires option[\"' + text + '\"] to be a function');\n }\n\n const addCallback = function(event) {\n event.callback = map[text];\n return event;\n };\n\n keyBinding(text)\n .map(addCallback)\n .forEach(registerBinding);\n });\n\n const handleKeyDown = function(event) {\n if (event.defaultPrevented) {\n return;\n }\n\n if (filter.length) {\n // ignore elements within the exempted sub-trees\n const isParentOfElement = getParentComparator({element: event.target, includeSelf: true});\n if (filter.some(isParentOfElement)) {\n return;\n }\n }\n\n const key = event.keyCode || event.which;\n if (!bindings[key]) {\n return;\n }\n\n bindings[key].forEach(function(_event) {\n if (!_event.matchModifiers(event)) {\n return;\n }\n\n _event.callback.call(context, event, disengage);\n });\n };\n\n context.addEventListener('keydown', handleKeyDown, false);\n\n const disengage = function() {\n context.removeEventListener('keydown', handleKeyDown, false);\n };\n\n return { disengage };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/ally.js/src/when/key.js","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/debug/src/browser.js","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/debug/src/debug.js","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/ms/index.js","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/process/browser.js","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// (webpack)/buildin/module.js","import plugin from '@core/plugins/lib';\r\nconst PLUGIN_NAME = 'ajaxSubmit';\r\nconst ELEMENT_SELECTOR = \"[data-ajax-submit]\";\r\nconst elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (elements.length) {\r\n\tSystem.import(/* webpackChunkName: \"ajax-submit\" */ \"./ajax-submit\").then(\r\n\t\t(module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(elements)[PLUGIN_NAME]();\r\n\t\t}\r\n\t);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/ajax-submit/index--split.js","/**\r\n * Dismiss\r\n * Alerts\r\n * @author Oliver Boermans\r\n */\r\n\r\nimport $ from \"jquery\";\r\nimport debug from \"debug\";\r\nconst log = debug(\"alerts\");\r\n\r\n//\r\n// Config\r\n// ===========\r\nconst ALERT_SELECTOR = \"[data-alert]\";\r\nconst ALERT_BUTTON_SELECTOR = 'button';\r\n\r\nconst hidePanel = function (alertToHide) {\r\n\t$(alertToHide).hide();\r\n\t$('body').removeClass('has-alert');\r\n};\r\n\r\nconst dismissAlert = function (instance) {\r\n\tconst {element, alertApi, alertId} = instance;\r\n\t$.get(alertApi, {\r\n\t\tid: alertId\r\n\t});\r\n\thidePanel(element);\r\n};\r\n\r\nfunction init (){\r\n\tconst alertElements = $(ALERT_SELECTOR);\r\n\tlog(alertElements);\r\n\talertElements.each(function(index, element){\r\n\t\tconst alertApi = element.dataset.alertApi;\r\n\t\tconst alertId = element.id;\r\n\t\tconst alertButton = $(element).find(ALERT_BUTTON_SELECTOR);\r\n\r\n\t\tif (alertButton.length) {\r\n\t\t\talertButton.on('click', dismissAlert.bind(null, {element, alertApi, alertId}));\r\n\t\t} else {\r\n\t\t\tlog(\"No site alert button found.\");\r\n\t\t}\r\n\t});\r\n\r\n};\r\n\r\ninit();\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/alert-bar/dismiss.js","import './dismiss';\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/alert-bar/index.js","import * as fn from \"@core/plugins/lib/fn\";\r\n\r\nclass AnchorMargin {\r\n\tconstructor() {\r\n\t\tthis.stickyHeader = document.querySelector(\".banner-cta-block\");\r\n\t\tthis.init();\r\n\t}\r\n\r\n\tinit() {\r\n\t\t// abort if nothing to offset for\r\n\t\tif (!this.stickyHeader) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis.calculateStickyHeightOffset();\r\n\t\tthis.watch();\r\n\t}\r\n\r\n\twatch() {\r\n\t\twindow.addEventListener(\r\n\t\t\t\"resize\",\r\n\t\t\tfn.debounce(this.onResize.bind(this), 100)\r\n\t\t);\r\n\t}\r\n\r\n\tonResize() {\r\n\t\tthis.calculateStickyHeightOffset();\r\n\t}\r\n\tcalculateStickyHeightOffset() {\r\n\t\t// expected to return 0 when sticky header is hidden\r\n\t\tconst stickyHeaderHeight = this.stickyHeader.getBoundingClientRect().height;\r\n\t\tconst offset = Math.round(stickyHeaderHeight);\r\n\r\n\t\t// update the css variable for sticky offset\r\n\t\tdocument.body.style.setProperty(\"--sticky-offset\", offset + \"px\");\r\n\t\treturn offset;\r\n\t}\r\n}\r\n\r\nexport default AnchorMargin;\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/anchor-margin/anchor-margin.js","import AnchorMargin from './anchor-margin';\r\nconst anchorMargin = new AnchorMargin();\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/anchor-margin/index.js","// manually trigger the prompt display in js console:\r\n// window.dispatchEvent(new CustomEvent(\"beforeinstallprompt\"))\r\n\r\nexport default class AppInstallPrompt {\r\n\tconstructor(element, options) {\r\n\t\tthis.element = element;\r\n\t\tthis.options = options;\r\n\r\n\t\t// get references to required elements\r\n\t\tthis.installButton = this.options.installButton;\r\n\t\tthis.dismissButton = this.options.dismissButton;\r\n\r\n\t\tthis.deferredPrompt = null;\r\n\r\n\t\tthis.watch();\r\n\t}\r\n\twatch() {\r\n\t\twindow.addEventListener(\r\n\t\t\t\"beforeinstallprompt\",\r\n\t\t\tthis.onPromptAvailable.bind(this)\r\n\t\t);\r\n\t\tthis.installButton.addEventListener(\r\n\t\t\t\"click\",\r\n\t\t\tthis.requestPrompt.bind(this)\r\n\t\t);\r\n\t\tthis.dismissButton.addEventListener(\r\n\t\t\t\"click\",\r\n\t\t\tthis.dismissInvite.bind(this)\r\n\t\t);\r\n\t}\r\n\r\n\tonPromptAvailable(event) {\r\n\t\tevent.preventDefault();\r\n\t\tthis.deferredPrompt = event;\r\n\t\tthis.displayInvite();\r\n\t}\r\n\r\n\tdisplayInvite() {\r\n\t\tthis.element.hidden = false;\r\n\t}\r\n\r\n\tdismissInvite() {\r\n\t\tthis.element.hidden = true;\r\n\t\tthis.callCookieApi();\r\n\t}\r\n\r\n\trequestPrompt() {\r\n\t\tthis.deferredPrompt.prompt();\r\n\t\tthis.deferredPrompt.userChoice.then((choice) => {\r\n\t\t\tthis.deferredPrompt = null;\r\n\t\t\tthis.dismissInvite();\r\n\t\t});\r\n\t}\r\n\r\n\tcallCookieApi() {\r\n\t\tconst cookieId = encodeURIComponent(this.options.cookieId);\r\n\t\tconst cookieRequest = new Request(\r\n\t\t\t`${this.options.cookieApi}?id=${cookieId}`\r\n\t\t);\r\n\t\tfetch(cookieRequest);\r\n\t}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/app-install-prompt/app-install-prompt.js","import AppInstallPrompt from \"./app-install-prompt\";\r\n\r\nconst element = document.querySelector(\"[data-app-install-prompt]\");\r\n\r\nif (element) {\r\n\tconst options = {\r\n\t\tinstallButton: element.querySelector(element.dataset.appInstallPromptInstallButtonSelector),\r\n\t\tdismissButton: element.querySelector(element.dataset.appInstallPromptDismissButtonSelector),\r\n\t\tcookieApi: element.dataset.appInstallPromptCookieApi,\r\n\t\tcookieId: element.dataset.appInstallPromptCookieId\r\n\t};\r\n\tconst instance = new AppInstallPrompt(element, options);\r\n\telement.instance = instance;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/app-install-prompt/index.js","// Loads 3rd party iframe when hook css class is present\r\n\r\nconst avanserInvoked = document.querySelector('.AVANSERnumber') != null;\r\n\r\nif (avanserInvoked) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"avanser-iframe\" */ './avanser'\r\n\t).then(module.default);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/avanser/index.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nexport const ELEMENT_SELECTOR = '[data-block-slider]';\r\nexport const PLUGIN_NAME = 'blockSlider';\r\n\r\n$(() => {\r\n $(ELEMENT_SELECTOR).each(function () {\r\n\tconst element = this;\r\n\tSystem.import(/* webpackChunkName: \"block-slider\" */ './block-slider').then((module) => {\r\n\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t$(element)[PLUGIN_NAME]();\r\n });\r\n });\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/block-slider/index.js","import $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-choose-form]';\r\nconst PLUGIN_NAME = 'chooseForm';\r\n\r\n$(() => {\r\n\t$(ELEMENT_SELECTOR).each(function() {\r\n\t\tconst element = this;\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"choose-form\" */ './choose-form'\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/choose-form/index--split.js","import $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = \"[data-date-input-set]\";\r\nconst PLUGIN_NAME = \"dateInputSet\";\r\nconst elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (elements.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"date-input-set\" */ \"./date-input-set\"\r\n\t).then((module) => {\r\n\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t$(elements)[PLUGIN_NAME]();\r\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/date-input-set/index--split.js","import './quote-cta/index--split';\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/epi-blocks/index.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\n\r\nconst ELEMENT_SELECTOR = '[data-quote-cta-controller]';\r\nconst PLUGIN_NAME = 'quoteCtaController';\r\n\r\n$(document).ready(() => {\r\n\t$(ELEMENT_SELECTOR).each(function() {\r\n\t\tconst element = this;\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"quote-cta\" */ './quote-cta'\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/epi-blocks/quote-cta/index--split.js","const ELEMENT_SELECTOR = '[data-epiform-element-validated]';\r\nconst element = document.querySelector(ELEMENT_SELECTOR);\r\n\r\n// Event binding is to epiform in the page if an element in the page has this data attr\r\n\r\nif (element) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"epiform-element-validated\" */ './epiform-element-validated'\r\n\t).then((module) => {\r\n\t\tmodule.default();\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/epi-forms/epiform-element-validated/index--split.js","const ELEMENT_SELECTOR = '[data-epiform-submission-progress]';\r\nconst elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\n// Event binding is to epiform in the page if an element in the page has this data attr\r\n\r\nif (elements.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"epiform-submission-progress\" */ './epiform-submission-progress'\r\n\t).then((module) => {\r\n\t\tmodule.default(elements);\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/epi-forms/epiform-submission-progress/index--split.js","import \"./epiform-element-validated/index--split\";\r\n\r\n// Toggle is-submitting class on submitting epiform\r\nimport \"./epiform-submission-progress/index--split\";\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/epi-forms/index.js","import $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-address-autocomplete]';\r\nconst PLUGIN_NAME = \"addressAutocomplete\";\r\n\r\nconst elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (elements.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"address-autocomplete\" */ './address-autocomplete'\r\n\t).then((module) => {\r\n\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t$(elements)[PLUGIN_NAME]();\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/address-autocomplete/index--split.js","\r\n\r\nimport $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-amount-frequency-field]';\r\nconst PLUGIN_NAME = \"amountFrequencyField\";\r\nconst elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (elements.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"amount-frequency-field\" */ \"./amount-frequency-field\"\r\n\t).then((module) => {\r\n\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t$(elements)[PLUGIN_NAME]();\r\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/amount-frequency-field/index--split.js","const ELEMENT_SELECTOR = '[data-dollar-value-field]';\r\nconst elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (elements.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"dollar-value-field\" */ \"./dollar-value-field\"\r\n\t).then((module) => {\r\n\t\t// module.default(elements);\r\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/dollar-value-field/index--split.js","const ELEMENT_SELECTOR = '[data-dynamic-hidden-field]';\r\nconst elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (elements.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"dynamic-hidden-field\" */ \"./dynamic-hidden-field\"\r\n\t).then((module) => {\r\n\t\t// module.default(elements);\r\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/dynamic-hidden-field/index--split.js","import $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-equifax-address-lookup]';\r\nconst PLUGIN_NAME = \"EquifaxAddressLookup\";\r\nconst VALIDATOR = \"Fusion.Cms.Core.Business.Forms.Validation.EquifaxAddressValidator\";\r\n\r\nconst elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (elements.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"equifax-address-lookup\" */ './equifax-address-lookup'\r\n\t).then((module) => {\r\n\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t$(elements)[PLUGIN_NAME]();\r\n\t\tmodule.registerValidator(VALIDATOR);\r\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/equifax-address-lookup/index--split.js","import $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-equifax-email-lookup]';\r\nconst PLUGIN_NAME = \"EquifaxEmailLookup\";\r\nconst VALIDATOR = \"Fusion.Cms.Core.Business.Forms.Validation.EquifaxEmailValidator\";\r\n\r\nconst elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (elements.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"equifax-email-lookup\" */ './equifax-email-lookup'\r\n\t).then((module) => {\r\n\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t$(elements)[PLUGIN_NAME]();\r\n\t\tmodule.registerValidator(VALIDATOR);\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/equifax-email-lookup/index--split.js","import $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-equifax-phone-lookup]';\r\nconst PLUGIN_NAME = \"EquifaxPhoneLookup\";\r\nconst VALIDATOR = \"Fusion.Cms.Core.Business.Forms.Validation.EquifaxPhoneValidator\";\r\n\r\nconst elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (elements.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"equifax-phone-lookup\" */ './equifax-phone-lookup'\r\n\t).then((module) => {\r\n\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t$(elements)[PLUGIN_NAME]();\r\n\t\tmodule.registerValidator(VALIDATOR);\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/equifax-phone-lookup/index--split.js","import $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-field-tally]';\r\nconst PLUGIN_NAME = \"FieldTally\";\r\nconst fieldTallies = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (fieldTallies.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"field-tally\" */ './field-tally'\r\n\t).then((module) => {\r\n\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t$(fieldTallies)[PLUGIN_NAME]();\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/field-tally/index--split.js","import $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-hidden-dependee]';\r\nconst PLUGIN_NAME = \"HiddenDependee\";\r\n\r\nconst elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (elements.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"hidden-dependee\" */ './hidden-dependee'\r\n\t).then((module) => {\r\n\t\t// plugin(PLUGIN_NAME, module.default);\r\n\t\t// $(elements)[PLUGIN_NAME]();\r\n\t\tmodule.default(elements);\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/hidden-dependee/index--split.js","import \"./input-file\";\r\nimport \"./input-range/index--split\";\r\nimport \"./input-currency/index--split\";\r\nimport \"./dollar-value-field/index--split\";\r\nimport \"./amount-frequency-field/index--split\";\r\nimport \"./years-months-field/index--split\";\r\nimport \"./field-tally/index--split\";\r\nimport \"./equifax-email-lookup/index--split\";\r\nimport \"./equifax-phone-lookup/index--split\";\r\nimport \"./equifax-address-lookup/index--split\";\r\nimport \"./address-autocomplete/index--split\";\r\nimport \"./hidden-dependee/index--split\";\r\nimport \"./dynamic-hidden-field/index--split\";\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/index.js","import $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-input-currency]';\r\nconst PLUGIN_NAME = \"InputCurrency\";\r\nconst currencyInputs = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (currencyInputs.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"input-currency\" */ './input-currency'\r\n\t).then((module) => {\r\n\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t$(currencyInputs)[PLUGIN_NAME]();\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/input-currency/index--split.js","import $ from 'jquery';\r\n\r\n/*\r\n\tBased on code By Osvaldas Valutis, www.osvaldas.info\r\n\tAvailable for use under the MIT License\r\n*/\r\n\r\nfunction updateFileSelection({ input, $label, labelVal }) {\r\n let fileName = '';\r\n if (input.files && input.files.length > 1) {\r\n fileName = (input.getAttribute('data-multiple-caption') || '').replace(\r\n '{count}',\r\n input.files.length\r\n );\r\n } else if (input.value) {\r\n fileName = input.value.split('\\\\').pop();\r\n }\r\n\r\n if (fileName) {\r\n $label.find('[data-selected-file-name]').html(fileName);\r\n } else {\r\n $label.html(labelVal);\r\n }\r\n}\r\n\r\n$('.field-input-file').each(function () {\r\n const instance = {\r\n input: this,\r\n $label: $(this).next('label'),\r\n labelVal: $(this).next('label').html(),\r\n };\r\n\r\n $(instance.input).on('change', function (e) {\r\n updateFileSelection(instance);\r\n });\r\n\r\n updateFileSelection(instance);\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/input-file.js","const ELEMENT_SELECTOR = '[data-input-range]';\r\nconst elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (elements.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"input-range\" */ './input-range'\r\n\t).then((module) => {\r\n\t\tmodule.default(elements);\r\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/input-range/index--split.js","import $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-years-months-field]';\r\nconst PLUGIN_NAME = \"YearsMonthsField\";\r\nconst elements = Array.from(document.querySelectorAll(ELEMENT_SELECTOR));\r\n\r\nif (elements.length) {\r\n\tSystem.import(\r\n\t\t/* webpackChunkName: \"years-months-field\" */ './years-months-field'\r\n\t).then((module) => {\r\n\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t$(elements)[PLUGIN_NAME]();\r\n\t\tmodule.extendValueBind(ELEMENT_SELECTOR);\r\n\t});\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/forms/years-months-field/index--split.js","import './avanser';\r\nimport './epi-forms/index';\r\nimport \"./forms/index\";\r\nimport \"./quote-form/index--split\";\r\nimport \"./choose-form/index--split\";\r\nimport \"./selector/index--split\";\r\nimport \"./required-field/index--split\";\r\n// import \"./date-field/index--split\";\r\nimport \"./date-input-set/index--split\";\r\nimport \"./site-header\";\r\nimport './epi-blocks';\r\nimport './alert-bar';\r\nimport './app-install-prompt';\r\n// import './wysiwyg/index';\r\nimport './tabs/index';\r\nimport './block-slider/index';\r\nimport './anchor-margin/index';\r\nimport \"./modal/index--split\";\r\nimport \"./ajax-submit/index--split\";\r\nimport \"./voting-card/index--available\";\r\nimport \"./more-less/index--available\";\r\nimport \"./pop-window/index--split\";\r\nimport \"./persist-param/index\";\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/index.js","import $ from 'jquery';\r\n\r\nconst ELEMENT_SELECTOR = '[data-modal]';\r\n\r\n$(() => {\r\n\tif ($(ELEMENT_SELECTOR).length) {\r\n\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"modal-bundle\" */ './modal-bundle'\r\n\t\t).then((module) => {\r\n\t\t\tmodule.default();\r\n\t\t});\r\n\t}\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/modal/index--split.js","import plugin from '@core/plugins/lib';\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-more-less]';\r\nconst PLUGIN_NAME = 'MoreLess';\r\n\r\n$(() => {\r\n\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"more-less\" */ \"./more-less.js\"\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/more-less/index--available.js","import \"./persist-param.js\";\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/persist-param/index.js","init();\r\n\r\nfunction init() {\r\n\tconst options = getOptions({\r\n\t\tmetaKeyElementSelector: \"meta[name=persist-param-keys]\",\r\n\t\tmetaDomainElementSelector: \"meta[name=persist-param-domains]\",\r\n\t});\r\n\r\n\tstoreCurrentParams(options);\r\n\tapplyStoredParams(options);\r\n}\r\n\r\nfunction getOptions({ metaKeyElementSelector, metaDomainElementSelector }) {\r\n\tconst metaKeyElement = document.querySelector(metaKeyElementSelector);\r\n\tconst metaDomainElement = document.querySelector(metaDomainElementSelector);\r\n\r\n\treturn {\r\n\t\tpersistParamKeys: metaKeyElement.getAttribute(\"content\").split(\",\"),\r\n\t\tpersistDomains: metaDomainElement.getAttribute(\"content\").split(\",\"),\r\n\t};\r\n}\r\n\r\nfunction storeCurrentParams(options) {\r\n\tgetLocationParams(options)\r\n\t\t.forEach(storeParam);\r\n}\r\n\r\nfunction applyStoredParams(options) {\r\n\tconst params = getStoredParams(options);\r\n\r\n\tif(!params.length) return false;\r\n\r\n\tgetDomainLinks(options)\r\n\t\t.forEach(applyParams.bind(null, params));\r\n}\r\n\r\nfunction getDomainLinks({ persistDomains }) {\r\n\treturn [...document.querySelectorAll(\"a[href]\")].filter((element) => {\r\n\t\treturn persistDomains.find((host) => {\r\n\t\t\treturn host === new URL(element.href).hostname;\r\n\t\t});\r\n\t});\r\n}\r\n\r\nfunction applyParams(params, linkElement) {\r\n\tconst url = new URL(linkElement.href);\r\n\tconst urlSearch = new URLSearchParams(url.search);\r\n\r\n\tparams.forEach((param) => {\r\n\t\t// Preserving existing link params\r\n\t\turlSearch.set(param.key, urlSearch.get(param.key) || param.value);\r\n\t});\r\n\r\n\tlinkElement.search = urlSearch;\r\n}\r\n\r\nfunction getLocationParams({ persistParamKeys }) {\r\n\tconst search = window.location.search;\r\n\tconst locationParams = search\r\n\t\t? [...new URLSearchParams(search).entries()].map((param) => {\r\n\t\t\t\treturn { key: param[0], value: param[1] };\r\n\t\t })\r\n\t\t: [];\r\n\r\n\treturn locationParams\r\n\t\t.filter(isPersistParam.bind(null, persistParamKeys))\r\n\t\t.filter(hasValue);\r\n}\r\n\r\nfunction getStoredParams({ persistParamKeys }) {\r\n\treturn persistParamKeys\r\n\t\t.map((key) => {\r\n\t\t\treturn {\r\n\t\t\t\tkey,\r\n\t\t\t\tvalue: getStoredParamValue(key),\r\n\t\t\t};\r\n\t\t})\r\n\t\t.filter(hasValue);\r\n}\r\n\r\nfunction isPersistParam(persistParamKeys, param) {\r\n\treturn persistParamKeys.includes(param.key);\r\n}\r\n\r\nfunction storeParam(param) {\r\n\twindow.sessionStorage.setItem([`persistparam=${param.key}`], param.value);\r\n}\r\n\r\nfunction getStoredParamValue(key) {\r\n\treturn window.sessionStorage.getItem(`persistparam=${key}`) || \"\";\r\n}\r\n\r\nfunction hasValue(param) {\r\n\treturn param.value;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/persist-param/persist-param.js","import $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-pop-window]';\r\nconst PLUGIN_NAME = 'PopWindow';\r\n\r\n$(() => {\r\n\t$(ELEMENT_SELECTOR).each(function() {\r\n\t\tconst element = this;\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"pop-window\" */ \"./pop-window\"\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/pop-window/index--split.js","import $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-quote-form]';\r\nconst PLUGIN_NAME = 'quoteForm';\r\n\r\n$(() => {\r\n\t$(ELEMENT_SELECTOR).each(function() {\r\n\t\tconst element = this;\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"quote-form\" */ \"./quote-form\"\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/quote-form/index--split.js","import './required-field';\r\n\r\nimport $ from \"jquery\";\r\nimport plugin from \"@core/plugins/lib\";\r\n\r\nconst ELEMENT_SELECTOR = \"[data-required-field]\";\r\nconst PLUGIN_NAME = \"requiredField\";\r\n\r\n$(() => {\r\n\t$(ELEMENT_SELECTOR).each(function() {\r\n\t\tconst element = this;\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"required-field\" */ \"./required-field\"\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/required-field/index--split.js","import debug from \"debug\";\r\n\r\nconst log = debug(\"required-field\");\r\n\r\nfunction getJSONValue(stringValue) {\r\n\ttry {\r\n\t\treturn JSON.parse(stringValue);\r\n\t} catch (error) {\r\n\t\treturn stringValue;\r\n\t}\r\n}\r\n\r\nconst validators = {\r\n\t'at_least_one_checked': (inputs) => {\r\n\t\treturn inputs.filter((input) => {\r\n\t\t\treturn input.checked;\r\n\t\t}).length > 0 ? '' : 'check at least one';\r\n\t}\r\n};\r\n\r\nclass RequiredField {\r\n\tconstructor(element, options) {\r\n\t\tlog(\"element\", element);\r\n\t\tlog(\"options\", options);\r\n\r\n\t\tthis.options = options;\r\n\t\tthis.element = element;\r\n\r\n\t\tthis.isFieldset = this.element.nodeName === 'FIELDSET';\r\n\r\n\t\tthis.inputSet = [...this.element.querySelectorAll(\r\n\t\t\t`[name=\"${this.options.inputSet}\"]`\r\n\t\t)];\r\n\r\n\t\tthis.input = this.element.querySelector(\r\n\t\t\t`[name=\"${this.options.name}\"]`\r\n\t\t);\r\n\r\n\t\tthis.errorElementSelectorScope =\r\n\t\t\tthis.options.errorSelector[0] === \"#\" ? document : this.element;\r\n\r\n\t\tthis.errorElement = this.errorElementSelectorScope.querySelector(\r\n\t\t\tthis.options.errorSelector\r\n\t\t);\r\n\r\n\t\tthis.showErrors = getJSONValue(this.element.dataset.showErrors);\r\n\r\n\t\tthis.attributeObserver = new MutationObserver(\r\n\t\t\tthis.onAttributeChange.bind(this)\r\n\t\t);\r\n\r\n\t\tif (!this.input && !this.isFieldset) {\r\n\t\t\tlog('Provide either a fieldset with inputs or an input. Aborting');\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis.init();\r\n\t\tthis.watch();\r\n\r\n\t\tlog(\"ready\", this, this.element);\r\n\t}\r\n\r\n\tinit() {\r\n\t\tthis.updateValue();\r\n\t}\r\n\r\n\twatch() {\r\n\t\tlog(\"watching\");\r\n\t\tthis.element.addEventListener(\"change\", this.updateValue.bind(this));\r\n\t\tthis.attributeObserver.observe(this.element, { attributes: true });\r\n\t}\r\n\r\n\tisValid() {\r\n\t\t// Presuming this.element is a fieldset\r\n\t\tconst elementToValidate = this.input || this.element;\r\n\t\treturn elementToValidate.validity.valid;\r\n\t}\r\n\r\n\tupdateFieldsetValidity() {\r\n\t\tconst validator = validators[this.options.rule];\r\n\t\tif (!this.isFieldset || !validator) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis.element.setCustomValidity(validator(this.inputSet));\r\n\t}\r\n\r\n\tupdateErrorMessage() {\r\n\t\tthis.errorElement.hidden = this.isValid();\r\n\t}\r\n\r\n\tupdateValue() {\r\n\t\tthis.updateFieldsetValidity();\r\n\r\n\t\tif (this.showErrors) {\r\n\t\t\tthis.updateErrorMessage();\r\n\t\t}\r\n\t}\r\n\r\n\tonAttributeChange(mutationList, observer) {\r\n\t\tmutationList\r\n\t\t\t.filter(\r\n\t\t\t\tfunction(mutation) {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\tmutation.type === \"attributes\" &&\r\n\t\t\t\t\t\tmutation.attributeName ===\r\n\t\t\t\t\t\t\tthis.options.componentErrorAttribute\r\n\t\t\t\t\t);\r\n\t\t\t\t}.bind(this)\r\n\t\t\t)\r\n\t\t\t.forEach(this.onShowErrorsChange.bind(this));\r\n\t}\r\n\r\n\tonShowErrorsChange(mutation) {\r\n\t\tthis.showErrors = getJSONValue(this.element.dataset.showErrors);\r\n\t\tthis.updateErrorMessage();\r\n\t}\r\n}\r\n\r\nRequiredField.DEFAULTS = {\r\n\tcomponentErrorAttribute: \"data-show-errors\"\r\n};\r\n\r\nexport default RequiredField;\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/required-field/required-field.js","$(() => {\r\n\t$(\"[data-selector]\").each(function() {\r\n\t\tconst element = this;\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"selector\" */ \"./index\"\r\n\t\t);\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/selector/index--split.js","import \"./site-header-controller\";\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/site-header/index.js","import $ from \"jquery\";\r\nimport debug from \"debug\";\r\nimport plugin from \"@core/plugins/lib\";\r\nimport { inertOutside, unInertOutside} from \"@core/utilities/inert\";\r\nimport whenKey from 'ally.js/src/when/key';\r\n\r\nconst ELEMENT_SELECTOR = \"[data-header-controller]\";\r\nconst PLUGIN_NAME = \"headerController\";\r\n\r\nconst log = debug(\"site-header/header-controller:header\");\r\n\r\nfunction truthy(value) {\r\n\treturn value;\r\n}\r\n\r\nfunction uniqueOnly(value, index, self) {\r\n\treturn self.indexOf(value) === index;\r\n}\r\n\r\nfunction getOverlaySelector(opener) {\r\n\treturn opener.dataset[\"headerController-UseOverlay\"];\r\n}\r\n\r\nfunction findElement(selector) {\r\n\treturn document.querySelector(selector);\r\n}\r\n\r\nclass HeaderController {\r\n\tconstructor(element, options) {\r\n\t\tlog(\"element\", element);\r\n\t\tlog(\"options\", options);\r\n\r\n\t\tthis.options = options;\r\n\t\tthis.element = element;\r\n\t\tthis.$element = $(element);\r\n\r\n\t\tthis.collapsibles = [\r\n\t\t\t...this.element.querySelectorAll(this.options.collapsibleSelector),\r\n\t\t];\r\n\t\tthis.overlays = this.collapsibles\r\n\t\t\t.map(getOverlaySelector)\r\n\t\t\t.filter(uniqueOnly)\r\n\t\t\t.filter(truthy)\r\n\t\t\t.map(findElement);\r\n\r\n\t\t// Ally library persistent object (between open and close)\r\n\t\tthis.escapeHandle = null;\r\n\r\n\t\tthis.watch();\r\n\r\n\t\tlog(\"ready\", this, this.$target);\r\n\t}\r\n\r\n\twatch() {\r\n\t\tlog(\"watching\");\r\n\r\n\t\tthis.element.addEventListener(\r\n\t\t\tthis.options.openModalEvent,\r\n\t\t\tthis.closeAllCollapsibles.bind(this)\r\n\t\t);\r\n\r\n\t\tthis.element.addEventListener(\r\n\t\t\tthis.options.childOpenedEvent,\r\n\t\t\tthis.handleCollapsibleOpening.bind(this)\r\n\t\t);\r\n\t\tthis.element.addEventListener(\r\n\t\t\tthis.options.childClosedEvent,\r\n\t\t\tthis.handleCollapsibleClosing.bind(this)\r\n\t\t);\r\n\t\tthis.element.addEventListener(\r\n\t\t\tthis.options.closeAllEvent,\r\n\t\t\tthis.closeAllCollapsibles.bind(this)\r\n\t\t);\r\n\r\n\t\tthis.overlays.forEach(this.bindOverlay.bind(this));\r\n\t}\r\n\r\n\tbindOverlay(element) {\r\n\t\telement.addEventListener(\"click\", this.closeAllCollapsibles.bind(this));\r\n\t}\r\n\r\n\tcloseAllCollapsibles() {\r\n\t\tthis.collapsibles.forEach((item) => {\r\n\t\t\tconst collapseStateAttr =\r\n\t\t\t\titem.dataset[\"headerController-Collapsible\"];\r\n\t\t\titem.dataset[collapseStateAttr] = false;\r\n\t\t});\r\n\t\tthis.closeModal();\r\n\t}\r\n\r\n\tcloseOtherCollapsibles(opener) {\r\n\t\tconst toCollapse = this.collapsibles.filter(function (item) {\r\n\t\t\treturn item !== opener;\r\n\t\t});\r\n\r\n\t\ttoCollapse.forEach((item) => {\r\n\t\t\tconst collapseStateAttr =\r\n\t\t\t\titem.dataset[\"headerController-Collapsible\"];\r\n\t\t\titem.dataset[collapseStateAttr] = false;\r\n\t\t});\r\n\t}\r\n\r\n\thandleCollapsibleOpening(event) {\r\n\t\tconst opener = event.target;\r\n\r\n\t\t// Only respond to specified collapsibles\r\n\t\tif (!this.collapsibles.includes(opener)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tthis.closeOtherCollapsibles(opener);\r\n\t\tthis.openModal(opener);\r\n\t}\r\n\r\n\t// Presumes the closing event is called only when the collapsible closes itself\r\n\t//\tNot when it is closed externally\r\n\thandleCollapsibleClosing(event) {\r\n\r\n\t\t// Only respond to specified collapsibles\r\n\t\tif (!this.collapsibles.includes(event.target)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tthis.closeModal();\r\n\t}\r\n\r\n\topenModal(opener) {\r\n\t\tthis.element.setAttribute(\"aria-modal\", \"true\");\r\n\t\tthis.displayOverlay(opener);\r\n\r\n\t\tinertOutside(this.element, this.isNotMyOverlay.bind(this, opener));\r\n\r\n\t\tthis.escapeHandle = whenKey({\r\n\t\t\tescape: this.closeAllCollapsibles.bind(this)\r\n\t\t});\r\n\t}\r\n\r\n\tcloseModal() {\r\n\t\tthis.element.removeAttribute(\"aria-modal\");\r\n\t\tthis.hideOverlays();\r\n\t\tunInertOutside(this.element);\r\n\t\tthis.escapeHandle.disengage();\r\n\t}\r\n\r\n\tisNotMyOverlay(opener, element) {\r\n\t\tconst selector = getOverlaySelector(opener);\r\n\t\tconst overlay = document.querySelector(selector);\r\n\t\treturn element !== overlay;\r\n\t}\r\n\r\n\t// display specified overlay\r\n\tdisplayOverlay(opener) {\r\n\t\tconst selector = getOverlaySelector(opener);\r\n\t\tconst overlay = document.querySelector(selector);\r\n\r\n\t\tif (overlay) {\r\n\t\t\toverlay.hidden = false;\r\n\t\t\tthis.hideOtherOverlays(overlay);\r\n\t\t}\r\n\t}\r\n\r\n\thideOtherOverlays(overlay) {\r\n\t\tconst overlaysToHide = this.overlays.filter((element) => (element !== overlay));\r\n\t\toverlaysToHide.forEach((element) => (element.hidden = true));\r\n\t}\r\n\r\n\t// Hide all overlays\r\n\thideOverlays() {\r\n\t\tthis.overlays.forEach((element) => (element.hidden = true));\r\n\t}\r\n}\r\n\r\nHeaderController.DEFAULTS = {\r\n\tchildOpenedEvent: 'collapsibleOpened',\r\n\tchildClosedEvent: 'collapsibleClosed',\r\n\tcloseAllEvent: 'closeCollapibles',\r\n\topenModalEvent: \"open modal\"\r\n};\r\n\r\nplugin(PLUGIN_NAME, HeaderController);\r\n\r\n$(document).ready(() => {\r\n\t$(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/site-header/site-header-controller.js","import './tabs-controller';\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/tabs/index.js","import $ from 'jquery';\r\nimport debug from 'debug';\r\nimport plugin from '@core/plugins/lib';\r\n\r\nconst ELEMENT_SELECTOR = '[data-tabs-controller]';\r\nconst PLUGIN_NAME = 'tabsController';\r\n\r\nconst log = debug('tabs-controller');\r\n\r\nclass TabsController {\r\n\tconstructor(element, options) {\r\n\t\tlog('element', element);\r\n\t\tlog('options', options);\r\n\r\n\t\tthis.options = options;\r\n\t\tthis.element = element;\r\n\t\tthis.$element = $(element);\r\n\r\n\t\tthis.tabs = this.selectors.selectTarget(\r\n\t\t\tthis.options.tabsSelector,\r\n\t\t\tthis.$element\r\n\t\t);\r\n\r\n\t\tthis.watch();\r\n\r\n\t\tlog('ready', this, this.$target);\r\n\t}\r\n\r\n\twatch() {\r\n\t\tlog('watching');\r\n\t\tthis.$element.on('closeothers', this.closeOtherTabs.bind(this));\r\n\t}\r\n\r\n\tcloseOtherTabs(event){\r\n\t\tconst openingTab = event.target;\r\n\r\n\t\tconst tabsToClose = this.tabs.filter(function(index, tab) {\r\n\t\t\treturn tab !== openingTab;\r\n\t\t});\r\n\r\n\t\ttabsToClose.each((index, tab) => {\r\n\t\t\ttab.dataset.collapsibleOpen = false;\r\n\t\t});\r\n\r\n\t}\r\n}\r\n\r\nTabsController.DEFAULTS = {};\r\n\r\nplugin(PLUGIN_NAME, TabsController);\r\n\r\n$(document).ready(() => {\r\n\t$(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n});\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/tabs/tabs-controller.js","import plugin from '@core/plugins/lib';\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-voting-card]';\r\nconst PLUGIN_NAME = 'VotingCard';\r\n\r\n$(() => {\r\n\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"voting-card\" */ \"./voting-card.js\"\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/components/voting-card/index--available.js","import $ from 'jquery';\r\nimport debug from \"debug\";\r\n\r\n// See polyfills bundle - this should not be needed here too\r\n// import \"./polyfills\";\r\nimport \"./plugins\";\r\nimport \"./components\";\r\nimport \"./vendor\";\r\n\r\nconst log = debug('fusion-core');\r\n\r\n$(()=>{\r\n\tlog('ready');\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/index.js","/*\r\nJquery Plugins\r\n\r\nThese jquery plugins aim to be used on several levels:\r\n\r\n1. firstly with data attributes in your html\r\n2. secondly as html instance methods once instantiated\r\n3. thirdly via event bus\r\n\r\nSee `Core.Global.Javascript.JqueryPlugin`\r\n\r\n```\r\nTodo\r\n\r\n[.*]--emit-before=\"\"\r\n[.*]--emit-after=\"\"\r\n[.*]--emit-success=\"\"\r\n[.*]--emit-error=\"\"\r\n\r\ndata-navigate\r\ndata-navigate--on=\"click\"\r\ndata-navigate--if=\"\"\r\ndata-navigate--url=\"/some/thing\"\r\n\r\n```\r\n\r\nStyleguide Global.Javascript\r\n*/\r\n\r\nimport \"./jquery__collapsible/plugin--split\";\r\nimport \"./jquery__mega-link/plugin--bundled\";\r\nimport \"./jquery__form-loading/plugin--bundled\";\r\nimport \"./jquery__focus\";\r\nimport \"./jquery__trigger-event\";\r\n\r\n// import \"./jquery__radio-selection/plugin--bundled\";\r\n// import \"./jquery__sync-theme/plugin--bundled\";\r\n// import \"./jquery__toggle-element-classes\";\r\n// import \"./jquery__remove-element-classes\";\r\n// import \"./jquery__add-element-classes\";\r\n// import \"./jquery__focus-within\";\r\n// import \"./jquery__emit-on-dirty\";\r\n// import \"./jquery__element-transitions\";\r\n// import \"./jquery__anchor-element\";\r\n// import \"./jquery__broadcast-events\";\r\n// import \"./jquery__analytics-trigger\";\r\n// import \"./jquery__execute-method\";\r\n// import \"./jquery__responsive-tables\";\r\n// import \"./jquery__responsive-video\";\r\n// import \"./jquery__transport-elements\";\r\n// import \"./jquery__mediaquery-sensor\";\r\n// import \"./jquery__ajax-queue\";\r\n// import \"./jquery__manifest-asset\";\r\n// import \"./jquery__sticky\";\r\n// import \"./jquery__truncate-text\";\r\n// import \"./jquery__prevent-default\";\r\n// import \"./jquery__stop-propagation\";\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/index.js","import plugin from '@core/plugins/lib';\r\nimport { onAvailable } from \"@core/plugins/lib/selectors\";\r\n\r\nconst ELEMENT_SELECTOR = '[data-collapsible]';\r\nconst PLUGIN_NAME = 'Collapsible';\r\n\r\n$(() => {\r\n\tonAvailable.ready(ELEMENT_SELECTOR, function (element) {\r\n\t\tSystem.import(\r\n\t\t\t/* webpackChunkName: \"plugin--collapsible\" */ \"./collapsible.js\"\r\n\t\t).then((module) => {\r\n\t\t\tplugin(PLUGIN_NAME, module.default);\r\n\t\t\t$(element)[PLUGIN_NAME]();\r\n\t\t});\r\n\t});\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__collapsible/plugin--split.js","import $ from 'jquery';\r\n\r\nexport const ELEMENT_SELECTOR = '[data-focus-element]';\r\nexport const PLUGIN_NAME = 'FocusElement';\r\n\r\n\r\n$(document).ready(() => {\r\n $(ELEMENT_SELECTOR).each(function () {\r\n const element = this;\r\n System.import(/* webpackChunkName: \"plugin--focus-element\" */ './plugin')\r\n .then(() => {\r\n $(element)[PLUGIN_NAME]();\r\n });\r\n });\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__focus/index.js","class FormLoading {\r\n\tconstructor(element, options) {\r\n\t\tthis.element = element;\r\n\t\tthis.options = options;\r\n\t\tthis.watch();\r\n\t}\r\n\r\n\twatch() {\r\n\t\tthis.element.addEventListener(\"submit\", this.applyLoadingState.bind(this));\r\n\t}\r\n\r\n\tapplyLoadingState() {\r\n\t\tthis.element.dataset[this.options.dataKey] = this.options.dataValue;\r\n\t\tvar submitButton=this.element.querySelector(\"button[type=submit]\");\r\n\t\tif(submitButton != null)\r\n\t\t{\r\n\t\t\tsubmitButton.setAttribute(\"aria-label\", this.options.dataValue);\r\n\t\t}\t\r\n\t\t\r\n\t}\r\n}\r\n\r\nFormLoading.DEFAULTS = {\r\n\tdataKey: 'state',\r\n\tdataValue: 'loading'\r\n};\r\nexport default FormLoading;\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__form-loading/form-loading.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport FormLoading from './form-loading';\r\n\r\nconst ELEMENT_SELECTOR = '[data-form-loading]';\r\nconst PLUGIN_NAME = 'FormLoading';\r\n\r\nplugin(PLUGIN_NAME, FormLoading);\r\n\r\n$(document).ready(() => {\r\n\t$(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__form-loading/plugin--bundled.js","import debug from \"debug\";\r\n\r\nconst log = debug(\"mega-link\");\r\n\r\nfunction getJSONValue(stringValue) {\r\n\ttry {\r\n\t\treturn JSON.parse(stringValue);\r\n\t} catch (error) {\r\n\t\treturn stringValue;\r\n\t}\r\n}\r\n\r\nclass MegaLink {\r\n\tconstructor(element, options) {\r\n\t\tthis.element = element; // li\r\n\t\tthis.options = options;\r\n\r\n\t\tconst scopes = {\r\n\t\t\tdocument: document,\r\n\t\t\telement: this.element\r\n\t\t};\r\n\r\n\t\t//\tLook for the content element within this element or elsewhere\r\n\t\tconst contentSelectorIsId =\r\n\t\t\tthis.options.contentSelector &&\r\n\t\t\tthis.options.contentSelector[0] === \"#\";\r\n\r\n\t\tif (contentSelectorIsId) {\r\n\t\t\tthis.contentSelectorScope = scopes[\"document\"];\r\n\t\t} else {\r\n\t\t\tthis.contentSelectorScope = scopes[\r\n\t\t\t\tthis.options.contentSelectorScope\r\n\t\t\t]\r\n\t\t\t\t? scopes[this.options.contentSelectorScope]\r\n\t\t\t\t: scopes[\"element\"];\r\n\t\t}\r\n\r\n\t\tthis.link = this.element.querySelector(this.options.linkSelector);\r\n\t\tthis.button = this.element.querySelector(this.options.buttonSelector);\r\n\r\n\t\tthis.content = this.contentSelectorScope.querySelector(\r\n\t\t\tthis.options.contentSelector\r\n\t\t);\r\n\t\tthis.collapseWith = this.options.collapsedClass ? \"class\" : \"hidden\";\r\n\t\tthis.collapsedClass = this.options.collapsedClass;\r\n\r\n\t\tthis.toggleMethod =\r\n\t\t\tthis.collapseWith === \"class\"\r\n\t\t\t\t? this.toggleWithClass\r\n\t\t\t\t: this.toggleWithHidden;\r\n\r\n\t\tthis.attributeObserver = new MutationObserver(\r\n\t\t\tthis.onAttributeChange.bind(this)\r\n\t\t);\r\n\r\n\t\tthis.bindDocumentEvents = this.options.closeWithDocumentClick\r\n\t\t\t? this.bindDocumentClick\r\n\t\t\t: function() {};\r\n\r\n\t\tthis.unbindDocumentEvents = this.options.closeWithDocumentClick\r\n\t\t\t? this.unbindDocumentClick\r\n\t\t\t: function() {};\r\n\r\n\t\tthis.init();\r\n\t\tthis.watch();\r\n\t}\r\n\r\n\tinit() {\r\n\t\t// component enabled - switch link role\r\n\t\tthis.link.setAttribute('role', 'button');\r\n\r\n\t\t// Determine initial collapse state\r\n\t\t//\tif set open option determines init state\r\n\t\tvar doCollapse =\r\n\t\t\tthis.options.open !== undefined ? !this.options.open : true;\r\n\r\n\t\tthis.toggleMethod(doCollapse);\r\n\t\tthis.isCollapsed = doCollapse;\r\n\t}\r\n\r\n\twatch() {\r\n\t\tthis.link.addEventListener(\"click\", this.handleUnmodifiedClick.bind(this));\r\n\t\tthis.link.addEventListener('keydown', this.handleKeyDown.bind(this));\r\n\t\tthis.button.addEventListener(\"click\", this.toggle.bind(this));\r\n\t\tthis.attributeObserver.observe(this.element, { attributes: true });\r\n\t}\r\n\r\n\t// Respond to space key\r\n\thandleKeyDown(event) {\r\n\t\tif (event.keyCode === 32) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.toggle();\r\n\t\t}\r\n\t}\r\n\r\n\t// Only respond to click without key modifier\r\n\thandleUnmodifiedClick(event) {\r\n\t\tif (!event.ctrlKey && !event.altKey && !event.metaKey) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.toggle();\r\n\t\t}\r\n\t}\r\n\r\n\ttoggleWithHidden(doCollapse) {\r\n\t\tthis.link.setAttribute(\"aria-expanded\", !doCollapse);\r\n\r\n\t\tif (!this.content) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tthis.content.hidden = doCollapse;\r\n\t}\r\n\r\n\ttoggleWithClass(doCollapse) {\r\n\t\tthis.link.setAttribute(\"aria-expanded\", !doCollapse);\r\n\r\n\t\tif (!this.content) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tif (doCollapse) {\r\n\t\t\tthis.content.classList.add(this.collapsedClass);\r\n\t\t} else {\r\n\t\t\tthis.content.classList.remove(this.collapsedClass);\r\n\t\t}\r\n\t}\r\n\r\n\t// button click handler\r\n\ttoggle() {\r\n\t\tif (!this.options.selfClosing && !this.isCollapsed) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tconst handler = this.isCollapsed\r\n\t\t\t? this.open.bind(this)\r\n\t\t\t: this.close.bind(this);\r\n\t\thandler();\r\n\t}\r\n\r\n\topen() {\r\n\t\tthis.toggleMethod(false);\r\n\t\tthis.isCollapsed = false;\r\n\t\tthis.element.dataset.megaLinkOpen = true;\r\n\t\tthis.bindDocumentEvents();\r\n\r\n\t\tconst openedEvent = new CustomEvent(this.options.onUncollapse, {\r\n\t\t\tbubbles: true,\r\n\t\t\tcancelable: true,\r\n\t\t\t// detail: {}\r\n\t\t});\r\n\r\n\t\tthis.element.dispatchEvent(openedEvent);\r\n\t}\r\n\r\n\tclose() {\r\n\t\tthis.toggleMethod(true);\r\n\t\tthis.isCollapsed = true;\r\n\t\tthis.element.dataset.megaLinkOpen = false;\r\n\t\tthis.unbindDocumentEvents();\r\n\r\n\t\tconst closedEvent = new CustomEvent(this.options.onCollapse, {\r\n\t\t\tbubbles: true,\r\n\t\t\tcancelable: true\r\n\t\t});\r\n\r\n\t\tthis.element.dispatchEvent(closedEvent);\r\n\t}\r\n\r\n\tbindDocumentClick() {\r\n\t\tdocument.addEventListener(\"click\", this.onDocumentClick.bind(this));\r\n\t}\r\n\r\n\tunbindDocumentClick() {\r\n\t\tdocument.removeEventListener(\"click\", this.onDocumentClick);\r\n\t}\r\n\r\n\tonDocumentClick(event) {\r\n\t\tconst clickTarget = event.target;\r\n\r\n\t\t// clicked within element (li)\r\n\t\tif (clickTarget === this.element || this.element.contains(clickTarget)) {\r\n\t\t\tlog(\"clicked within element\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// clicked this.button\r\n\t\tif (clickTarget === this.button || this.button.contains(clickTarget)) {\r\n\t\t\tlog(\"clicked button\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// clicked this.link\r\n\t\tif (clickTarget === this.link || this.link.contains(clickTarget)) {\r\n\t\t\tlog(\"clicked link\");\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tthis.close();\r\n\t}\r\n\r\n\tonAttributeChange(mutationList, observer) {\r\n\t\tmutationList\r\n\t\t\t.filter(mutation => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\tmutation.type === \"attributes\" &&\r\n\t\t\t\t\tmutation.attributeName.startsWith(\"data-mega-link-open\")\r\n\t\t\t\t);\r\n\t\t\t})\r\n\t\t\t.forEach(this.onOpenChanged.bind(this));\r\n\t}\r\n\r\n\tonOpenChanged(mutation) {\r\n\t\tconst doCollapse = !getJSONValue(this.element.dataset.megaLinkOpen);\r\n\t\tif (this.isCollapsed !== doCollapse) {\r\n\t\t\tthis.toggleMethod(doCollapse);\r\n\t\t\tthis.isCollapsed = doCollapse;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nMegaLink.DEFAULTS = {\r\n\tselfClosing: true,\r\n\tonCollapse: 'collapsibleClosed',\r\n\tonUncollapse: 'collapsibleOpened'\r\n};\r\n\r\nexport default MegaLink;\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__mega-link/mega-link.js","import $ from 'jquery';\r\nimport plugin from '@core/plugins/lib';\r\nimport MegaLink from './mega-link';\r\n\r\nconst ELEMENT_SELECTOR = '[data-mega-link]';\r\nconst PLUGIN_NAME = 'MegaLink';\r\n\r\nplugin(PLUGIN_NAME, MegaLink);\r\n\r\n$(document).ready(() => {\r\n\t$(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__mega-link/plugin--bundled.js","import $ from 'jquery';\r\n\r\nexport const ELEMENT_SELECTOR = '[data-trigger-event]';\r\nexport const PLUGIN_NAME = 'triggerEvent';\r\n\r\n\r\n$(document).ready(() => {\r\n $(ELEMENT_SELECTOR).each(function () {\r\n const element = this;\r\n System.import(/* webpackChunkName: \"plugin--trigger-event\" */ './plugin')\r\n .then(() => {\r\n $(element)[PLUGIN_NAME]();\r\n });\r\n });\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/jquery__trigger-event/index.js","// Returns a function, that, as long as it continues to be invoked, will not\r\n// be triggered. The function will be called after it stops being called for\r\n// N milliseconds. If `immediate` is passed, trigger the function on the\r\n// leading edge, instead of the trailing.\r\nexport function debounce(func, wait, immediate) {\r\n var timeout;\r\n return function () {\r\n var context = this, args = arguments;\r\n var later = function () {\r\n timeout = null;\r\n if (!immediate) func.apply(context, args);\r\n };\r\n var callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) func.apply(context, args);\r\n };\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/lib/fn.js","/*\r\njQuery plugin\r\n\r\n\r\n```\r\nimport debug from 'debug';\r\nimport plugin from '@core/plugins/lib';\r\n\r\nconst ELEMENT_SELECTOR = '[data-my-plugin]';\r\nconst PLUGIN_NAME = 'MyPlugin';\r\nconst MODULE_NAME = 'plugins/my-plugin';\r\nconst log = debug(MODULE_NAME);\r\n\r\nclass PluginKlass {\r\n constructor(element, options) {\r\n log('new instance', element, options);\r\n\r\n this.element = element;\r\n this.options = options;\r\n this.$element = $(element);\r\n\r\n log('ready', this.$element);\r\n\r\n this.init();\r\n }\r\n}\r\n\r\nPluginKlass.DEFAULTS = {\r\n someCamelCasedProperty: `${PLUGIN_NAME}:something`,\r\n};\r\n\r\nplugin(PLUGIN_NAME, PluginKlass);\r\n\r\n$(document).ready(() => {\r\n $(ELEMENT_SELECTOR)[PLUGIN_NAME]();\r\n});\r\n```\r\n\r\nThen using it in html:\r\n```\r\n
\r\n```\r\n\r\nStyelguide Core.Global.Javascript.JqueryPlugin\r\n*/\r\nimport $ from 'jquery';\r\nimport debug from 'debug';\r\n\r\nimport * as fn from './fn';\r\nimport * as strings from './strings';\r\nimport * as objects from './objects';\r\nimport * as selectors from './selectors';\r\n// import * as events from './events';\r\n\r\nimport {toCamelCase} from './strings';\r\nimport { selectTarget } from './selectors';\r\n\r\nconst log = debug('core/plugins/lib');\r\n\r\nexport default function plugin(pluginName, klass, shortHand = false) {\r\n const formattedPluginName = toCamelCase(pluginName);\r\n const dataName = `__${formattedPluginName}`;\r\n const old = $.fn[formattedPluginName];\r\n const ZERO = 0;\r\n\r\n klass.$bus = {\r\n subscribe: function(event, fn) {\r\n $(this).bind(event, fn);\r\n },\r\n publish: function(event, data) {\r\n $(this).trigger(event, [data]);\r\n }\r\n };\r\n\r\n klass.$util = {\r\n fn,\r\n objects,\r\n strings,\r\n selectors,\r\n };\r\n\r\n klass.prototype.selectors = selectors;\r\n klass.prototype.strings = strings;\r\n klass.prototype.objects = objects;\r\n klass.prototype.fn = fn;\r\n klass.prototype.inViewport = function (elm) {\r\n var rect = elm.getBoundingClientRect();\r\n var viewHeight = Math.max(document.documentElement.clientHeight, window.innerHeight);\r\n return !(rect.bottom < 0 || rect.top - viewHeight >= 0);\r\n };\r\n\r\n $.fn[pluginName] = function PluginFactory (option) {\r\n return this.each(function PluginInstanceFactory () {\r\n const $this = $(this);\r\n const data = $this.data();\r\n const overrides = typeof option === 'object' && option;\r\n const elementOptions = Object\r\n .keys(data)\r\n .filter((key) => {\r\n return toCamelCase(key).indexOf(formattedPluginName) >= ZERO;\r\n })\r\n .reduce((result, path) => {\r\n const data = path && $this.data(path);\r\n const key = toCamelCase(path.replace(new RegExp(`${formattedPluginName}-?`), ''));\r\n log(path, key, $this.data(path));\r\n\r\n if (key && data !== undefined) {\r\n result[key] = data;\r\n }\r\n return result;\r\n }, {});\r\n log(pluginName, { elementOptions});\r\n let instance = $this.data(dataName);\r\n const options = $.extend({}, klass.DEFAULTS, elementOptions, overrides);\r\n\r\n // store reference to instance\r\n if (!instance) {\r\n instance = new klass(this, options);\r\n instance.$utils = klass.$util;\r\n $this.data(dataName, instance);\r\n $this.addClass(`u-${pluginName}`);\r\n }\r\n\r\n // execute instance method\r\n if (typeof option === 'string') {\r\n instance[option]();\r\n }\r\n });\r\n };\r\n\r\n // - Short hand\r\n if (shortHand) {\r\n $[formattedPluginName] = (options) => $({})[formattedPluginName](options);\r\n }\r\n\r\n // - No conflict\r\n // $.fn[formattedPluginName].noConflict = function noConflict () {\r\n // $.fn[formattedPluginName] = old;\r\n // };\r\n}\r\n\r\nexport function jquery (name) {\r\n return function decorate (target) {\r\n plugin(name, target);\r\n };\r\n}\r\n\r\nexport function defaults (options) {\r\n return function decorate (target) {\r\n target.DEFAULTS = options;\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/lib/index.js","import debug from 'debug';\r\nimport { toCamelCase } from './strings';\r\nconst MODULE_NAME = 'app.core/lib/objects';\r\nconst log = debug(MODULE_NAME);\r\n\r\n\r\nconst ZERO = 0;\r\n\r\n/**\r\n * Convert an elements attributes to an object, optionally filtering based on some predicate.\r\n * @param {DOMElement} element [description]\r\n * @param {Function} filterFn filtering function. return false to omit attribute.\r\n * @param {Function} transformFn transform attribute name function. returns camelCase by default\r\n * @return {[type]} [description]\r\n */\r\nexport function elementAttrtibutesToObject(element, filterFn = () => true, transformFn = (name) => toCamelCase(name)) {\r\n const output = {};\r\n const attrs = Array.from($(element).get(ZERO).attributes);\r\n\r\n if (!attrs) {\r\n return output;\r\n }\r\n\r\n log(`converting element attributes to object`, attrs);\r\n\r\n return attrs.reduce((result, attribute) => {\r\n if (filterFn(attribute)) {\r\n const name = transformFn(attribute.name);\r\n let value = attribute.value;\r\n\r\n if (value === 'false' || value === 'true') {\r\n value = Boolean(value);\r\n }\r\n result[name] = attribute.value;\r\n }\r\n\r\n return result;\r\n }, output);\r\n\r\n}\r\n\r\n\r\n/**\r\n * Object.prop()\r\n *\r\n * Allows dot-notation access to object properties for both getting and setting.\r\n *\r\n * @param {Object} obj The object we're getting from or setting\r\n * @param {string} prop The dot-notated string defining the property location\r\n * @param {mixed} val For setting only; the value to set\r\n */\r\n\r\nexport function objectPath (obj, path, val, options = {delimiter: '.'}) {\r\n const props = path.split(options.delimiter);\r\n const final = props.pop();\r\n let part;\r\n\r\n for (var index = 0; index < props.length; index++) {\r\n part = props[index];\r\n if (typeof obj[part] === 'undefined') {\r\n // If we're setting\r\n if (typeof val !== 'undefined' && index != props.length) {\r\n // If we're not at the end of the props, keep adding new empty objects\r\n obj[part] = {};\r\n }\r\n else {\r\n return undefined;\r\n }\r\n }\r\n obj = obj[part];\r\n }\r\n return typeof val !== \"undefined\" ? (obj[final] = val) : obj[final];\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/lib/objects.js","import $ from 'jquery';\r\nimport debug from 'debug';\r\nconst log = debug('core/plugins/lib/selectors');\r\n\r\nexport function selectorPattern(...directives) {\r\n\treturn new RegExp(`\\\\((${directives.join('|')})(.*)\\\\)\\\\s?(.*)`);\r\n}\r\n\r\nexport const SELECTOR_PATTERNS = {\r\n\r\n\t// .find\r\n\t\"children\": selectorPattern('children'),\r\n\r\n\t// .closest\r\n\t\"parent\": selectorPattern('parent'),\r\n\t\"from\": selectorPattern('from'),\r\n\t\"parents\": selectorPattern('parents'),\r\n\t\"siblings\": selectorPattern('siblings'),\r\n\t\"here\": selectorPattern('here'),\r\n\t\"self\": selectorPattern('self'),\r\n};\r\n\r\nexport function selectTarget(selector, $element) {\r\n\tlet $target;\r\n\r\n\tconst isClosestAncestoral = selector.match(SELECTOR_PATTERNS.parent);\r\n\tconst isAllAncestoral = selector.match(SELECTOR_PATTERNS.parents);\r\n\tconst isRetargeted = selector.match(SELECTOR_PATTERNS.from);\r\n\tconst isAllDescendants = selector.match(SELECTOR_PATTERNS.children);\r\n\tconst isGenerational = selector.match(SELECTOR_PATTERNS.here);\r\n\tconst isSiblings = selector.match(SELECTOR_PATTERNS.siblings);\r\n\tconst isSelfish = selector.match(SELECTOR_PATTERNS.self);\r\n\r\n\t// special retargeting root\r\n\tif (isRetargeted) {\r\n\t\tlog('isRetargeted', isRetargeted[2], isRetargeted[3]);\r\n\t\tconst $newElement = selectTarget(isRetargeted[2], $element);\r\n\t\tconst newSelector = `(children) ${isRetargeted[3]}`;\r\n\t\tlog('isRetargeted.newElement', $newElement);\r\n\t\tlog('isRetargeted.newSelector', newSelector);\r\n\t\t$target = selectTarget(newSelector, $newElement);\r\n\t\tlog('isRetargeted.target', $target);\r\n\t}\r\n\r\n\t// target is all ancestors\r\n\telse if (isAllAncestoral) {\r\n\t\tlog('isAllAncestoral', isAllAncestoral);\r\n\t\t$target = $element.parents(isAllAncestoral[isAllAncestoral.length - 1]);\r\n\t}\r\n\t// target is closest ancestor\r\n\telse if (isClosestAncestoral) {\r\n\t\tlog('isClosestAncestoral', isClosestAncestoral);\r\n\t\t$target = $element.closest(isClosestAncestoral[isClosestAncestoral.length - 1]);\r\n\t}\r\n\t// target is somewhere under current parent\r\n\telse if (isGenerational) {\r\n\t\tlog('isGenerational', isGenerational);\r\n\t\t$target = $element.parent().find(isGenerational[isGenerational.length - 1]);\r\n\t}\r\n\t// target is only under self\r\n\telse if (isAllDescendants) {\r\n\t\tlog('isAllDescendants', isAllDescendants);\r\n\t\t$target = $element.find(isAllDescendants[isAllDescendants.length - 1]);\r\n\t}\r\n\t// target is somewhere in siblings only\r\n\telse if (isSiblings) {\r\n\t\tlog('isSiblings', isSiblings);\r\n\t\t$target = $element.siblings(isSiblings[isSiblings.length - 1]);\r\n\t}\r\n\t// target is source\r\n\telse if (!selector || isSelfish) {\r\n\t\tlog('isSelfish', isSelfish);\r\n\t\tvar selector = isSelfish[isSelfish.length - 1] || '*';\r\n\t\t$target = $element.filter(selector);\r\n\t}\r\n\t// target could be anywhere\r\n\telse {\r\n\t\tlog('global', selector);\r\n\t\t$target = $(selector);\r\n\t}\r\n\treturn $target;\r\n}\r\n\r\nclass OnAvailable {\r\n\tconstructor(root) {\r\n\t\tthis.root = root || window.document.documentElement;\r\n\t\tthis.listeners = [];\r\n\t\tthis.observer;\r\n\t}\r\n\r\n\tready(selector, fn) {\r\n\t\t// Store the selector and callback to be monitored\r\n\t\tthis.listeners.push({\r\n\t\t\tselector: selector,\r\n\t\t\tfn: fn,\r\n\t\t});\r\n\r\n\t\tif (!this.observer) {\r\n\t\t\t// Watch for changes in the document\r\n\t\t\tthis.observer = onChange(this.root, this.check.bind(this), {\r\n\t\t\t\tchildList: true,\r\n\t\t\t\tsubtree: true,\r\n\t\t\t});\r\n\t\t}\r\n\t\t// Check if the element is currently in the DOM\r\n\t\tthis.check();\r\n\t}\r\n\r\n\tcheck() {\r\n\r\n\t\tconst listnersSelectorsArray = [];\r\n\t\tArray.from(this.listeners).forEach((listener) => {\r\n\t\t\tlistnersSelectorsArray.push(listener.selector);\r\n\t\t});\r\n\t\tconst listnersSelectors = listnersSelectorsArray.join(\",\");\r\n\t\tvar matchingElements = this.root.querySelectorAll(listnersSelectors);\r\n\t\t// Check the DOM for elements matching a stored selector\r\n\r\n\t\tArray.from(matchingElements).forEach((element) => {\r\n\r\n\t\t\tArray.from(this.listeners).forEach((listener) => {\r\n\t\t\t\tvar attributeName = listener.selector.substring(1, listener.selector.length - 1);\r\n\t\t\t\tif (element.hasAttribute(attributeName) && !element[attributeName]) {\r\n\t\t\t\t\tlistener.fn.call(element, element);\r\n\t\t\t\t\telement[attributeName] = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport var onAvailable = new OnAvailable(window.document.documentElement);\r\n\r\nexport function onChange(element, fn, options) {\r\n\tvar MutationObserver =\r\n\t\twindow.MutationObserver || window.WebKitMutationObserver;\r\n\tvar observer = new MutationObserver(fn);\r\n\tobserver.observe(\r\n\t\telement,\r\n\t\toptions || {\r\n\t\t\tattributes: true,\r\n\t\t\tchildList: true,\r\n\t\t\tsubtree: true,\r\n\t\t}\r\n\t);\r\n\treturn observer;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/lib/selectors.js","import $ from 'jquery';\r\nimport debug from 'debug';\r\n\r\nconst log = debug('core/jquery_plugin/strings');\r\n\r\nfunction preserveCamelCase(str) {\r\n let isLastCharLower = false;\r\n let isLastCharUpper = false;\r\n let isLastLastCharUpper = false;\r\n\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str[i];\r\n\r\n if (isLastCharLower && /[a-zA-Z]/.test(c) && c.toUpperCase() === c) {\r\n str = str.substr(0, i) + '-' + str.substr(i);\r\n isLastCharLower = false;\r\n isLastLastCharUpper = isLastCharUpper;\r\n isLastCharUpper = true;\r\n i++;\r\n } else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(c) && c.toLowerCase() === c) {\r\n str = str.substr(0, i - 1) + '-' + str.substr(i - 1);\r\n isLastLastCharUpper = isLastCharUpper;\r\n isLastCharUpper = false;\r\n isLastCharLower = true;\r\n } else {\r\n isLastCharLower = c.toLowerCase() === c;\r\n isLastLastCharUpper = isLastCharUpper;\r\n isLastCharUpper = c.toUpperCase() === c;\r\n }\r\n }\r\n\r\n return str;\r\n}\r\n\r\nexport function toCamelCase (str) {\r\n if (arguments.length > 1) {\r\n str = Array.from(arguments)\r\n .map(x => x.trim())\r\n .filter(x => x.length)\r\n .join('-');\r\n } else {\r\n str = str.trim();\r\n }\r\n\r\n if (str.length === 0) {\r\n return '';\r\n }\r\n\r\n if (str.length === 1) {\r\n return str.toLowerCase();\r\n }\r\n\r\n if (/^[a-z0-9]+$/.test(str)) {\r\n return str;\r\n }\r\n\r\n const hasUpperCase = str !== str.toLowerCase();\r\n\r\n if (hasUpperCase) {\r\n str = preserveCamelCase(str);\r\n }\r\n\r\n return str\r\n .replace(/^[_.\\- ]+/, '')\r\n .toLowerCase()\r\n .replace(/[_.\\- ]+(\\w|$)/g, (m, p1) => p1.toUpperCase());\r\n};\r\n\r\n\r\nexport function tmpl(str, context) {\r\n let result = str;\r\n\r\n if (result) {\r\n\r\n Object.keys(context)\r\n .forEach((item) => {\r\n result = result.replace(`{{${item}}}`, context[item]);\r\n });\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function $tmpl(element, context) {\r\n const $target = $(element);\r\n const templateString = $target.attr('data-text-template');\r\n const result = tmpl(templateString, context);\r\n\r\n $target.text(result);\r\n}\r\n\r\n/**\r\n * https://github.com/aishikaty/tiny-mustache\r\n * https://mustache.github.io/\r\n * @param {String} template [description]\r\n * @param {[type]} self [description]\r\n * @param {[type]} parent [description]\r\n * @param {[type]} invert [description]\r\n * @return {[type]} [description]\r\n */\r\nexport function mustache(template, self, parent, invert) {\r\n var render = mustache;\r\n var output = \"\";\r\n var i;\r\n\r\n log('mustache', {template, self, parent, invert});\r\n\r\n function get(ctx, path) {\r\n path = path.pop ? path : path.split(\".\");\r\n ctx = ctx[path.shift()] || \"\";\r\n return (0 in path) ? get(ctx, path) : ctx;\r\n }\r\n\r\n self = Array.isArray(self) ? self : (self ? [self] : []);\r\n self = invert ? (0 in self) ? [] : [1] : self;\r\n\r\n for (i = 0; i < self.length; i++) {\r\n var childCode = '';\r\n var depth = 0;\r\n var inverted;\r\n var ctx = (typeof self[i] == \"object\") ? self[i] : {};\r\n ctx = Object.assign({}, parent, ctx);\r\n ctx[\"\"] = { \"\": self[i] };\r\n\r\n template.replace(/([\\s\\S]*?)({{((\\/)|(\\^)|#)(.*?)}}|$)/g,\r\n function (match, code, y, z, close, invert, name) {\r\n\r\n if (!depth) {\r\n output += code.replace(/{{{(.*?)}}}|{{(!?)(&?)(>?)(.*?)}}/g,\r\n function (match, raw, comment, isRaw, partial, name) {\r\n return raw ? get(ctx, raw)\r\n : isRaw ? get(ctx, name)\r\n : partial ? render(get(ctx, name), ctx)\r\n : !comment ? new Option(get(ctx, name)).innerHTML\r\n : \"\";\r\n }\r\n );\r\n inverted = invert;\r\n\r\n } else {\r\n childCode += depth && !close || depth > 1 ? match : code;\r\n }\r\n\r\n if (close) {\r\n if (!--depth) {\r\n name = get(ctx, name);\r\n if (/^f/.test(typeof name)) {\r\n output += name.call(ctx, childCode, function (template) {\r\n return render(template, ctx);\r\n });\r\n } else {\r\n output += render(childCode, name, ctx, inverted);\r\n }\r\n childCode = \"\";\r\n }\r\n\r\n } else {\r\n ++depth;\r\n }\r\n log(`mustache.output.${depth}`, {output});\r\n }\r\n );\r\n }\r\n log('mustache.output', {output});\r\n return output;\r\n}\r\n\r\nexport function booleanify(value) {\r\n const lower = value.toLowerCase();\r\n if (lower === 'false' || lower === '0') {\r\n return false;\r\n }\r\n return new Boolean(value);\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/plugins/lib/strings.js","import debug from \"debug\";\r\nconst log = debug(\"inert\");\r\n\r\nconst noopDefaultFilter = item => item;\r\n\r\nexport const inertOutside = updateInert.bind(null, true);\r\nexport const unInertOutside = updateInert.bind(null, false);\r\n\r\nfunction updateInert(isMakeInert, element, elementFilterFn = noopDefaultFilter) {\r\n\t// Stop right here if inert is unsupported\r\n\tif (!HTMLElement.prototype.hasOwnProperty(\"inert\")) {\r\n\t\treturn false;\r\n\t}\r\n\tconst outsideElements = getNonRelatives(element).filter(elementFilterFn);\r\n\toutsideElements.forEach((sibling) => {\r\n\t\tsibling.inert = isMakeInert;\r\n\t});\r\n}\r\n\r\nfunction getNonRelatives(element) {\r\n\tconst ancestors = getAncestors(element);\r\n\r\n\tlog('element',element);\r\n\tlog('ancestors',ancestors);\r\n\r\n\tconst result = [element].concat(ancestors).map((el)=>{\r\n\t\treturn getSiblings(el);\r\n\t});\r\n\r\n\treturn result.flat();\r\n}\r\n\r\nfunction getSiblings(element) {\r\n\treturn Array.from(element.parentNode.children).filter((child) => {\r\n\t\treturn child != element;\r\n\t});\r\n}\r\n\r\nfunction getAncestors(element, ancestors = []) {\r\n\tif (element.parentNode === document.body) {\r\n\t\treturn ancestors;\r\n\t}\r\n\treturn getAncestors(element.parentNode, ancestors.concat(element.parentNode));\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./project/client/src/core/utilities/inert.js","module.exports = jQuery;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"jQuery\"\n// module id = external \"jQuery\"\n// module chunks = core site__gbk site__ngm vendor"],"sourceRoot":""}