PageSourceSearch

https://www.thereformation.com/on/demandware.static/Sites-reformat…/-/en_US/v1790248097064/js/braze.js

js thereformation.com collected 2026-09-24 15:20:24 UTC 98,869 bytes, 227 lines download raw bytes

1/*
2 * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
3 * This devtool is neither made for production nor for readable output files.
4 * It uses "eval()" calls to create a separate source file in the browser devtools.
5 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
6 * or disable the default devtool with "devtool: false".
7 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
8 */
9/******/ (function() { // webpackBootstrap
10/******/ 	var __webpack_modules__ = ({
11
vendor: 7,913 bytes, lines 12-22
12/***/ "./node_modules/@borngroup/born-utilities/dist/born-utilities.min.js":
13/*!***************************************************************************!*\
14  !*** ./node_modules/@borngroup/born-utilities/dist/born-utilities.min.js ***!
15  \***************************************************************************/
16/***/ (function(__unused_webpack_module, exports) {
17
18"use strict";
19eval("Object.defineProperty(exports, \"__esModule\", ({value:true}));exports.isRTL=isRTL;exports.whichTransition=whichTransition;exports.createElWithAttrs=createElWithAttrs;exports.callbackOnElements=callbackOnElements;exports.getUrlParameter=getUrlParameter;exports.hasURLParameter=hasURLParameter;exports.getTotalRect=getTotalRect;exports.scrollToPosition=scrollToPosition;exports.objectAssign=objectAssign;exports.createCookie=createCookie;exports.readCookie=readCookie;exports.eraseCookie=eraseCookie;exports.forceFocus=forceFocus;exports.focusTrap=focusTrap;exports.parseScripts=parseScripts;exports.isMobile=void 0;function _typeof(obj){\"@babel/helpers - typeof\";if(typeof Symbol===\"function\"&&typeof Symbol.iterator===\"symbol\"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol===\"function\"&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj}}return _typeof(obj)}(function(){if(!Element.prototype.matches){Element.prototype.matches=Element.prototype.msMatchesSelector}if(!Element.prototype.closest){Element.prototype.closest=_getClosest}})();function _getClosest(selector){var currentEl=this;while(currentEl.constructor!==HTMLHtmlElement){if(currentEl.parentNode.matches(selector)){return currentEl.parentNode}else if(currentEl.matches(selector)){return currentEl}currentEl=currentEl.parentNode}return false}var isMobile={Android:function Android(){return navigator.userAgent.match(/Android/i)},BlackBerry:function BlackBerry(){return navigator.userAgent.match(/BlackBerry/i)},iOS:function iOS(){return navigator.userAgent.match(/iPhone|iPad|iPod/i)},Opera:function Opera(){return navigator.userAgent.match(/Opera Mini/i)},Windows:function Windows(){return navigator.userAgent.match(/IEMobile/i)||navigator.userAgent.match(/WPDesktop/i)},any:function any(){return isMobile.Android()||isMobile.BlackBerry()||isMobile.iOS()||isMobile.Opera()||isMobile.Windows()}};exports.isMobile=isMobile;function isRTL(){return document.documentElement.getAttribute(\"dir\")===\"rtl\"?true:false}function whichTransition(){var dummyEl=document.createElement(\"dummy\"),transitions={transition:\"transitionend\",OTransition:\"oTransitionEnd\",MozTransition:\"transitionend\",WebkitTransition:\"webkitTransitionEnd\"};for(var key in transitions){if(dummyEl.style[key]!==undefined){return transitions[key]}}}function createElWithAttrs(appendTarget,attributes,type,textContent){var el;if(_typeof(type)===\"object\"){var fullNameSpace=type.nameSpace===\"svg\"?\"http://www.w3.org/2000/svg\":\"http://www.w3.org/1999/xhtml\";el=document.createElementNS(fullNameSpace,type.tagName||\"div\")}else{el=document.createElement(type||\"div\")}for(var key in attributes){el.setAttribute(key,attributes[key])}if(textContent){el.textContent=\"\";el.insertAdjacentHTML(\"afterbegin\",textContent)}if(appendTarget){appendTarget.appendChild(el)}return el}function callbackOnElements(elementSelector,callback){var elementList;if(elementSelector.length){if(typeof elementSelector===\"string\"){elementList=document.querySelectorAll(elementSelector)}else{elementList=elementSelector}[].forEach.call(elementList,callback.bind(this))}else{callback.call(this,elementSelector)}}function getUrlParameter(name){name=name.replace(/[\\[]/,\"\\\\[\").replace(/[\\]]/,\"\\\\]\");var regex=new RegExp(\"[\\\\?&]\"+name+\"=([^&#]*)\"),results=regex.exec(location.search);return results===null?\"\":decodeURIComponent(results[1].replace(/\\+/g,\" \"))}function hasURLParameter(name){var regex=new RegExp(\"[?&]\"+name);return\"#\"+name===window.location.hash||regex.test(window.location.search)}function getTotalRect(elements,property){var totalOffsetHeight=0;callbackOnElements(elements,function(currentEl){totalOffsetHeight+=currentEl.getBoundingClientRect()[property||\"height\"]});return totalOffsetHeight}function scrollToPosition(target){var offset=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var scrollContainer=arguments.length>2?arguments[2]:undefined;var documentHeight=scrollContainer?scrollContainer.scrollHeight:Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight),documentScrollTop=scrollContainer?scrollContainer.scrollTop:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop,windowHeight=scrollContainer?scrollContainer.offsetHeight:document.documentElement.clientHeight,totalOffset=typeof offset===\"number\"?offset:getTotalRect(offset),targetOffset=typeof target===\"number\"?target:getTotalRect(target,\"top\")+documentScrollTop,targetOffsetToScroll=Math.round(documentHeight-targetOffset<windowHeight?documentHeight-windowHeight:targetOffset);targetOffsetToScroll-=totalOffset;return targetOffsetToScroll}function objectAssign(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(source.hasOwnProperty(key)){target[key]=source[key]}}}return target}function createCookie(name,value,days,domain){var expires;domain=domain?\";domain=\"+domain:\"\";if(days){var date=new Date;date.setTime(date.getTime()+days*24*60*60*1e3);expires=\"; expires=\"+date.toGMTString()}else{expires=\"\"}document.cookie=name+\"=\"+value+expires+domain+\"; path=/\"}function readCookie(name){var nameEQ=name+\"=\",cookieList=document.cookie.split(\";\");for(var i=0;i<cookieList.length;i++){var currentCookie=cookieList[i];while(currentCookie.charAt(0)==\" \"){currentCookie=currentCookie.substring(1,currentCookie.length)}if(currentCookie.indexOf(nameEQ)===0){return currentCookie.substring(nameEQ.length,currentCookie.length)}}return null}function eraseCookie(name){createCookie(name,\"\",-1)}var focusInterval;function forceFocus(focusTarget){focusTarget.focus();window.clearInterval(focusInterval);focusInterval=window.setInterval(function(){if(focusTarget.matches(\":focus\")){window.clearInterval(focusInterval)}else{focusTarget.focus()}},25)}function focusTrap(containerEl){var focusableEls={};if(!containerEl.dataset.focustrapEnabled){containerEl.dataset.focustrapEnabled=true;containerEl.addEventListener(\"focusin\",_focusinHandler);containerEl.addEventListener(\"keydown\",_tabbingHandler)}function _focusinHandler(evt){focusableEls.list=this.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])');focusableEls.first=focusableEls.list[0];focusableEls.last=focusableEls.list[focusableEls.list.length-1];focusableEls.loopTo=null;if(evt.target===focusableEls.last){focusableEls.loopTo=focusableEls.first}else if(evt.target===focusableEls.first){focusableEls.loopTo=focusableEls.last}}function _tabbingHandler(evt){var loopToFirstEl=focusableEls.loopTo===focusableEls.first&&!evt.shiftKey,loopToLastEl=focusableEls.loopTo===focusableEls.last&&evt.shiftKey;if(evt.keyCode===9&&focusableEls.loopTo&&(loopToFirstEl||loopToLastEl)){evt.preventDefault();focusableEls.loopTo.focus()}}}function parseScripts(containerEl){[].forEach.call(containerEl.querySelectorAll(\"script\"),function(oldScript){var newScript=document.createElement(\"script\");Array.from(oldScript.attributes).forEach(function(attr){return newScript.setAttribute(attr.name,attr.value)});newScript.appendChild(document.createTextNode(oldScript.innerHTML));oldScript.parentNode.replaceChild(newScript,oldScript)})}\n\n//# sourceURL=webpack://born-sfra-reformation/./node_modules/@borngroup/born-utilities/dist/born-utilities.min.js?");
20
21/***/ }),
22
23/***/ "./cartridges/app_accelerator_core/cartridge/client/default/js/components/progress.js":
24/*!********************************************************************************************!*\
25  !*** ./cartridges/app_accelerator_core/cartridge/client/default/js/components/progress.js ***!
26  \********************************************************************************************/
27/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
28
29"use strict";
30eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   hideLoader: function() { return /* binding */ hideLoader; },\n/* harmony export */   showLoader: function() { return /* binding */ showLoader; }\n/* harmony export */ });\n/* harmony import */ var _borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @borngroup/born-utilities */ \"./node_modules/@borngroup/born-utilities/dist/born-utilities.min.js\");\n/* provided dependency */ var $ = __webpack_require__(/*! jquery */ \"jquery\");\n\n\n\nvar loaderEl, loaderIndicator;\n\n// element level spinner:\n$.fn.spinner = function () {\n  var element = this,\n    Fn = function Fn() {\n      this.start = showLoader.bind(this, element);\n      this.stop = hideLoader;\n    };\n  return new Fn();\n};\n\n// page-level spinner:\n$.spinner = function () {\n  var Fn = function Fn() {\n    this.start = showLoader;\n    this.stop = hideLoader;\n  };\n  return new Fn();\n};\n\n/**\n * @function\n * @description Shows an AJAX-loader on top of a given containerEl\n * @param {Element} containerEl The Element on top of which the AJAX-Loader will be shown\n */\nfunction showLoader(containerEl, setAlt, message) {\n  var matchedContainerEl = (typeof containerEl === 'string' ? document.querySelector(containerEl) : containerEl) || false,\n    targetEl = matchedContainerEl instanceof HTMLElement ? matchedContainerEl : document.body;\n  loaderEl = loaderEl || document.querySelector('.loader');\n\n  //Render a loading SVG.\n  //Animation is controlled through CSS.\n  //This prevents having to wait for the loader to render before displaying it.\n  if (!loaderEl) {\n    loaderEl = (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_0__.createElWithAttrs)(false, {\n      class: 'loader'\n    });\n    loaderIndicator = (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_0__.createElWithAttrs)(loaderEl, {\n      'class': 'loader-indicator',\n      viewBox: '0 0 66 66'\n    }, {\n      tagName: 'svg',\n      nameSpace: 'svg'\n    });\n\n    //Manage the look and feel of your loader here.\n    (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_0__.createElWithAttrs)(loaderIndicator, {\n      class: 'loader-indicator__path',\n      fill: 'none',\n      'stroke-width': '3',\n      'stroke-linecap': 'round',\n      cx: 33,\n      cy: 33,\n      r: 30\n    }, {\n      tagName: 'circle',\n      nameSpace: 'svg'\n    });\n  }\n  if (message) {\n    (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_0__.createElWithAttrs)(loaderEl, {\n      class: 'loader-message'\n    }, 'p', message);\n  } else {\n    //If loaderEl already exists, and it has a message but the new Lodader invocation has none,\n    //then delete the message element to prevent displaying the previeous message.\n    var messageEl = loaderEl.querySelector('.loader-message');\n    if (messageEl) {\n      loaderEl.removeChild(messageEl);\n    }\n  }\n  if (setAlt) {\n    loaderEl.classList.add('set--alt');\n  } else {\n    loaderEl.classList.remove('set--alt');\n  }\n\n  //loader element is sometimes moved around the DOM,\n  //this toggles the set--fixed class when no containerEl is provided.\n  if (!containerEl) {\n    loaderEl.classList.add('set--fixed');\n  } else {\n    loaderEl.classList.remove('set--fixed');\n  }\n  targetEl.appendChild(loaderEl);
30\n  loaderEl.classList.add('set--visible');\n  return loaderEl;\n}\n\n/**\n * @function\n * @description Hides an AJAX-loader\n */\nfunction hideLoader() {\n  loaderEl = loaderEl || document.querySelector('.loader');\n  if (loaderEl) {\n    loaderEl.classList.remove('set--visible');\n  }\n}\n\n//# sourceURL=webpack://born-sfra-reformation/./cartridges/app_accelerator_core/cartridge/client/default/js/components/progress.js?");
31
32/***/ }),
33
34/***/ "./cartridges/app_accelerator_core/cartridge/client/default/js/helpers/urlUtilities.js":
35/*!*********************************************************************************************!*\
36  !*** ./cartridges/app_accelerator_core/cartridge/client/default/js/helpers/urlUtilities.js ***!
37  \*********************************************************************************************/
38/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
39
40"use strict";
41eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   appendParamToURL: function() { return /* binding */ appendParamToURL; },\n/* harmony export */   appendParamsToURL: function() { return /* binding */ appendParamsToURL; },\n/* harmony export */   getQueryStringParams: function() { return /* binding */ getQueryStringParams; },\n/* harmony export */   loadJsFile: function() { return /* binding */ loadJsFile; },\n/* harmony export */   removeParamFromURL: function() { return /* binding */ removeParamFromURL; },\n/* harmony export */   toAbsoluteUrl: function() { return /* binding */ toAbsoluteUrl; },\n/* harmony export */   updateHistoryState: function() { return /* binding */ updateHistoryState; },\n/* harmony export */   updateQueryStringEl: function() { return /* binding */ updateQueryStringEl; }\n/* harmony export */ });\n/* provided dependency */ var $ = __webpack_require__(/*! jquery */ \"jquery\");\n\n\n/**\n * @function\n * @description appends the parameter with the given name and value to the given url and returns the changed url\n * @param {String} url the url to which the parameter will be added\n * @param {String} name the name of the parameter\n * @param {String} value the value of the parameter\n */\nfunction appendParamToURL(url, name, value, replaceParam) {\n  url = replaceParam ? removeParamFromURL(url, name) : url;\n\n  // quit if the param already exists or if value is empty\n  if (!name || !value || url.indexOf(name + '=') !== -1 || typeof value === 'undefined') {\n    return url;\n  }\n  var separator = url.indexOf('?') !== -1 ? '&' : '?';\n  return url + separator + name + '=' + encodeURIComponent(value);\n}\n\n/**\n * @function\n * @description remove the parameter and its value from the given url and returns the changed url\n * @param {String} url the url from which the parameter will be removed\n * @param {String} name the name of parameter that will be removed from url\n */\nfunction removeParamFromURL(url, name) {\n  if (url.indexOf('?') === -1 || url.indexOf(name + '=') === -1) {\n    return url;\n  }\n  var hash,\n    params,\n    domain = url.split('?')[0],\n    paramUrl = url.split('?')[1],\n    newParams = [];\n\n  // if there is a hash at the end, store the hash\n  if (paramUrl.indexOf('#') > -1) {\n    hash = paramUrl.split('#')[1] || '';\n    paramUrl = paramUrl.split('#')[0];\n  }\n  params = paramUrl.split('&');\n  for (var i = 0; i < params.length; i++) {\n    // put back param to newParams array if it is not the one to be removed\n    if (params[i].split('=')[0] !== name) {\n      newParams.push(params[i]);\n    }\n  }\n  return domain + '?' + newParams.join('&') + (hash ? '#' + hash : '');\n}\n\n/**\n * @function\n * @description appends the parameters to the given url and returns the changed url\n * @param {String} url the url to which the parameters will be added\n * @param {Object} params\n */\nfunction appendParamsToURL(url, params, replaceParam) {\n  var _url = url;\n  for (var key in params) {\n    _url = appendParamToURL(_url, key, params[key], replaceParam);\n  }\n  return _url;\n}\n\n/**\n * @function\n * @description\n * @param {String} url\n */\nfunction toAbsoluteUrl(url) {\n  if (url.indexOf('http') !== 0 && url.charAt(0) !== '/') {\n    url = '/' + url;\n  }\n  return url;\n}\n\n/**\n * @function\n * @description Extracts all parameters from a given query string into an object\n * @param {String} qs The query string from which the parameters will be extracted\n */\nfunction getQueryStringParams(qs) {\n  var filterParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  if (!qs || qs.length === 0) {\n    return {};\n  }\n  var params = {};\n\n  // Use the String::replace method to iterate over each\n  // name-value pair in the string.\n  qs.replace(new RegExp('([^?=&]+)(=([^&]*))?', 'g'), function ($0, $1, $2, $3) {\n    //Ensure an empty parameter value is set to `undefined` and not processed using `decodeURIComponent()`.\n    params[$1] = $3 && filterParams.indexOf($1) === -1 ? decodeURIComponent($3) : undefined;\n  });\n  return params;\n}\n\n/**\n * @function\n * @description Loads JS file dynamically from given url\n * @param {String} url The url from which JS file will be dynamically loaded.\n */\nfunction loadJsFile(url) {\n  return $('<script/>').appendTo($('head')).attr({\n    type: 'text/javascript'\n  }).attr('src', url);\n}\n\n/**\n * Update the unique `[data-querystring]` element on the page with the new Query String value.\n * This typically happens when the state or interface changes after an AJAX, like when applying filters on the PLP.\n */\nfunction updateQueryStringEl(queryStringParams) {\n  var pageQueryStringEl = document.querySelector('[data-querystring]');\n  if (pageQueryStringEl) {\n    var newQueryString = appendParamsToURL('', typeof queryStringParams === 'string' ? getQueryStringParams(queryStringParams) : queryStringParams);\n    newQueryString = newQueryString.charAt(0) === '?' ? newQueryString.substring(1) : newQueryString;\n    pageQueryStringEl.setAttribute('data-querystring', newQueryString);\n  }\n}\n\n/**\n * Updates the browser's URL bar value with a new URL, Query String, or state object.\n * This method is called when making AJAX calls that change the state of the current page, like the PDP variations and the PLP refinements.\n */\nfunction updateHistoryState(targetURL, customPathName) {\n  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n  var baseURL = options.retainParams ? window.location.href : window.location.origin + (customPathName || window.location.pathname),\n    newURL = targetURL ? appendParamsToURL(baseURL, getQueryStringParams(targetURL, options.filterParams), options.replaceParam || '') : baseURL;\n  options.method = options.method || 'replaceState';\n  options.stateTitle = options.stateTitle || '';\n  options.stateObject = options.stateObject || undefined;\n  window.history[options.method](options.stateObject, options.stateTitle, newURL);\n}\n\n//# sourceURL=webpack://born-sfra-reformation/./cartridges/app_accelerator_core/cartridge/client/default/js/helpers/urlUtilities.js?");
42
43/***/ }),
44
45/***/ "./cartridges/app_storefront_base/cartridge/client/default/js/util.js":
46/*!****************************************************************************!*\
47  !*** ./cartridges/app_storefront_base/cartridge/client/default/js/util.js ***!
48  \****************************************************************************/
49/***/ (function(module) {
50
51"use strict";
52eval("\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nmodule.exports = function (include) {\n  if (typeof include === 'function') {\n    include();\n  } else if (_typeof(include) === 'object') {\n    Object.keys(include).forEach(function (key) {\n      if (typeof include[key] === 'function') {\n        include[key]();\n      }\n    });\n  }\n};\n\n//# sourceURL=webpack://born-sfra-reformation/./cartridges/app_storefront_base/cartridge/client/default/js/util.js?");
53
54/***/ }),
55
56/***/ "./cartridges/int_braze/cartridge/client/default/js/braze.js":
57/*!*******************************************************************!*\
58  !*** ./cartridges/int_braze/cartridge/client/default/js/braze.js ***!
59  \*******************************************************************/
60/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
61
62"use strict";
63eval("/* provided dependency */ var $ = __webpack_require__(/*! jquery */ \"jquery\");\n\n\nvar processInclude = __webpack_require__(/*! base/util */ \"./cartridges/app_storefront_base/cartridge/client/default/js/util.js\");\nif (!window.$) {\n  window.jQuery = window.$ = __webpack_require__(/*! jquery */ \"jquery\");\n}\n$(document).ready(function () {\n  processInclude(__webpack_require__(/*! ./brazeSubscription */ \"./cartridges/int_braze/cartridge/client/default/js/brazeSubscription.js\"));\n});\n\n//# sourceURL=webpack://born-sfra-reformation/./cartridges/int_braze/cartridge/client/default/js/braze.js?");
64
65/***/ }),
66
67/***/ "./cartridges/int_braze/cartridge/client/default/js/brazeSubscription.js":
68/*!*******************************************************************************!*\
69  !*** ./cartridges/int_braze/cartridge/client/default/js/brazeSubscription.js ***!
70  \*******************************************************************************/
71/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
72
73"use strict";
74eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   createSubscription: function() { return /* binding */ createSubscription; }\n/* harmony export */ });\n/* harmony import */ var _org_reformation_cartridge_client_default_js_helpers_utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../org_reformation/cartridge/client/default/js/helpers/utilities */ \"./cartridges/org_reformation/cartridge/client/default/js/helpers/utilities.js\");\n/* harmony import */ var _app_accelerator_core_cartridge_client_default_js_helpers_urlUtilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../app_accelerator_core/cartridge/client/default/js/helpers/urlUtilities */ \"./cartridges/app_accelerator_core/cartridge/client/default/js/helpers/urlUtilities.js\");\n/* provided dependency */ var $ = __webpack_require__(/*! jquery */ \"jquery\");\n\n\n\n\n\n/**\n * @description create Subscription\n * @returns {void}\n */\nfunction createSubscription() {\n  function generateCsrfToken() {\n    // CSRF CONTROLLER\n    return new Promise(function (resolve, reject) {\n      $.ajax({\n        url: window.SFRA.Urls.csrfGenerate,\n        type: 'POST',\n        success: function success(data) {\n          resolve(data);\n        },\n        error: function error(_error) {\n          reject(_error);\n        }\n      });\n    });\n  }\n  $(document).ready(function () {\n    function closeAlert() {\n      var brazeContainer = document.querySelector('[data-braze-component=\"container\"]'),\n        brazeContainerClose = document.querySelector('[data-braze-component=\"close\"]');\n      (0,_org_reformation_cartridge_client_default_js_helpers_utilities__WEBPACK_IMPORTED_MODULE_0__.addEventListenerList)(brazeContainerClose, 'click', function (e) {\n        e.preventDefault();\n        brazeContainer.remove();\n      });\n    }\n    function displayMessage(response) {\n      if (response && response.html) {\n        var bodyContainer = document.querySelector('[data-header-component=\"header-container\"]');\n        $(bodyContainer).append(response.html);\n        closeAlert();\n      }\n    }\n\n    /**\n     * @description Does a subscription call\n     * @param {Strin} email , subscriber email\n     */\n    function sendSubscriptionRequest(email, params, contextEl) {\n      var brazeFooterSubscriptionUrl = (0,_app_accelerator_core_cartridge_client_default_js_helpers_urlUtilities__WEBPACK_IMPORTED_MODULE_1__.appendParamsToURL)(window.SFRA.Urls.brazeFooterSubscription);\n      $.extend(params, {\n        email: email\n      });\n      return new Promise(function (resolve, reject) {\n        $.ajax({\n          type: 'POST',\n          url: brazeFooterSubscriptionUrl,\n          data: params,\n          success: function success(response) {\n            var emailForm = contextEl.querySelector('[data-braze-newsletter-subscription-email]'),\n              confirmationMsg = contextEl.querySelector('[data-braze-secondary-confirmation-msg]');\n            resolve(response);\n            if (emailForm) {\n              emailForm.value = '';\n              emailForm.blur();\n              if (contextEl.hasAttribute('data-braze-secondary-input-container') && response.success) {\n                contextEl.querySelector('[data-input-label]').classList.toggle('hidden');\n                confirmationMsg && confirmationMsg.classList.toggle('active');\n                confirmationMsg.innerHTML = \"<div class=\\\"flex flex-justify-between flex-align-center\\\" style=\\\"width:100%; border-bottom: 1px solid; height:56px\\\"><span>\".concat(window.SFRA.Resources.brazeSubscriptionConfirmation, \"</span><svg class=\\\"icon icon--checkmark\\\"><use xlink:href=\\\"\", '#icon--checkmark', \"\\\"/></svg></div>\");\n                setTimeout(function () {\n                  confirmationMsg.classList.toggle('fadeout');\n                  contextEl.querySelector('[data-input-label]').classList.toggle('hidden');\n                  setTimeout(function () {\n                    confirmationMsg.classList.toggle('fadeout');\n                    confirmationMsg.classList.toggle('active');\n                  }, 1000);\n                }, 5000);\n              }\n            }\n          },\n          error: function error(_error2) {\n            reject(_error2);\n          }\n        });\n      });\n    }\n    (0,_org_reformation_cartridge_client_default_js_helpers_utilities__WEBPACK_IMPORTED_MODULE_0__.addEventListenerList)(document.querySelectorAll('[data-braze-newsletter-subscription]'), 'submit', function (e) {\n      var emailForm = this.closest('[data-braze-newsletter-subscription]'),\n        emailField = emailForm.querySelector('[data-braze-newsletter-subscription-email]'),\n        email = emailField.value,\n        emailLabel = emailForm.querySelector('[data-email-input-label]'),\n        emailError = emailForm.querySelector('[data-braze-newsletter-subscription-email-error]'),\n        emailSignupSouce = emailForm.querySelector('[data-braze-newsletter-signup-source]'),\n        emailCollectionSource = emailForm.querySelector('[data-braze-collection-source]'),\n        submitButton = emailForm.querySelector('[data-braze-newsletter-subscription-submit]');\n      e.preventDefault();
74\n      if (emailField.classList.contains('is-invalid')) {\n        emailLabel.classList.add('is-invalid');\n      }\n      if (email.length > 0) {\n        if (emailError.classList.contains('set--visible')) {\n          emailError.classList.remove('set--visible');\n        }\n        generateCsrfToken().then(function (data) {\n          var params = {};\n          params[data.csrf.tokenName] = data.csrf.token;\n          if (emailSignupSouce && emailSignupSouce.value) {\n            params['signup_source'] = emailSignupSouce.value;\n          }\n          if (emailCollectionSource && emailCollectionSource.value && emailCollectionSource.value !== 'null') {\n            params['collection_source'] = emailCollectionSource.value;\n          }\n          if (submitButton && submitButton.hasAttribute('data-braze-secondary-input-confirmation')) {\n            params['secondary_input_confirmation'] = true;\n          }\n\n          // MAKE REQUEST NEWSLETTER SIGNUP\n          sendSubscriptionRequest(email, params, emailForm).then(function (response) {\n            displayMessage(response);\n            $('body').trigger('newsletter:onSubmit', [response]);\n\n            //Cookies.set('customerEmail', email, { expires: 120 });\n          }).catch(function (error) {\n            console.error(error);\n          });\n        });\n      } else if (emailForm.querySelectorAll('.invalid-feedback.set--visible').length == 0) {\n        emailError.classList.add('set--v
74isible');\n      }\n    });\n    (0,_org_reformation_cartridge_client_default_js_helpers_utilities__WEBPACK_IMPORTED_MODULE_0__.addEventListenerList)(document.querySelectorAll('[data-braze-newsletter-subscription-email]'), 'keyup', function () {\n      var email = this.value,\n        emailForm = this.closest('[data-braze-newsletter-subscription]'),\n        emailError = emailForm.querySelector('[data-braze-newsletter-subscription-email-error]');\n      if (email.length > 0) {\n        emailError.classList.remove('set--visible');\n      } else {\n        emailError.classList.add('set--visible');\n      }\n    });\n  });\n}\n\n//# sourceURL=webpack://born-sfra-reformation/./cartridges/int_braze/cartridge/client/default/js/brazeSubscription.js?");
75
76/***/ }),
77
78/***/ "./cartridges/org_reformation/cartridge/client/default/js/helpers/utilities.js":
79/*!*************************************************************************************!*\
80  !*** ./cartridges/org_reformation/cartridge/client/default/js/helpers/utilities.js ***!
81  \*************************************************************************************/
82/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
83
84"use strict";
85eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   BTN_STATE_COMPLETE: function() { return /* binding */ BTN_STATE_COMPLETE; },\n/* harmony export */   BTN_STATE_DEFAULT: function() { return /* binding */ BTN_STATE_DEFAULT; },\n/* harmony export */   addEventListenerList: function() { return /* binding */ addEventListenerList; },\n/* harmony export */   allowScrollableAreas: function() { return /* binding */ allowScrollableAreas; },\n/* harmony export */   allowScrollableNavOnly: function() { return /* binding */ allowScrollableNavOnly; },\n/* harmony export */   breakpointRanges: function() { return /* binding */ breakpointRanges; },\n/* harmony export */   breakpoints: function() { return /* binding */ breakpoints; },\n/* harmony export */   createCustomErrorNotification: function() { return /* binding */ createCustomErrorNotification; },\n/* harmony export */   createErrorNotification: function() { return /* binding */ createErrorNotification; },\n/* harmony export */   createPaymentMessage: function() { return /* binding */ createPaymentMessage; },\n/* harmony export */   createRaceConditionMessage: function() { return /* binding */ createRaceConditionMessage; },\n/* harmony export */   dispatchEvent: function() { return /* binding */ dispatchEvent; },\n/* harmony export */   elConsumesSpace: function() { return /* binding */ elConsumesSpace; },\n/* harmony export */   getCookie: function() { return /* binding */ getCookie; },\n/* harmony export */   getPageActionData: function() { return /* binding */ getPageActionData; },\n/* harmony export */   getSessionStatus: function() { return /* binding */ getSessionStatus; },\n/* harmony export */   globalWrapper: function() { return /* binding */ globalWrapper; },\n/* harmony export */   handleServerError: function() { return /* binding */ handleServerError; },\n/* harmony export */   headerContainerEl: function() { return /* binding */ headerContainerEl; },\n/* harmony export */   headerEl: function() { return /* binding */ headerEl; },\n/* harmony export */   hideEl: function() { return /* binding */ hideEl; },\n/* harmony export */   isElementAboveViewport: function() { return /* binding */ isElementAboveViewport; },\n/* harmony export */   isElementInViewport: function() { return /* binding */ isElementInViewport; },\n/* harmony export */   isTouchDevice: function() { return /* binding */ isTouchDevice; },\n/* harmony export */   mainEl: function() { return /* binding */ mainEl; },\n/* harmony export */   objectAssign: function() { return /* binding */ objectAssign; },\n/* harmony export */   onDocumentReady: function() { return /* binding */ onDocumentReady; },\n/* harmony export */   promisify: function() { return /* binding */ promisify; },\n/* harmony export */   publishEvent: function() { return /* binding */ publishEvent; },\n/* harmony export */   setBodyFixedScrollPosition: function() { return /* binding */ setBodyFixedScrollPosition; },\n/* harmony export */   setBodyFixedScrollPositionValue: function() { return /* binding */ setBodyFixedScrollPositionValue; },\n/* harmony export */   setCookie: function() { return /* binding */ setCookie; },\n/* harmony export */   setOverlay: function() { return /* binding */ setOverlay; },\n/* harmony export */   setupCounter: function() { return /* binding */ setupCounter; },\n/* harmony export */   showEl: function() { return /* binding */ showEl; },\n/* harmony export */   toSnakeCase: function() { return /* binding */ toSnakeCase; },\n/* harmony export */   toTitleCase: function() { return /* binding */ toTitleCase; },\n/* harmony export */   toggleButtonState: function() { return /* binding */ toggleButtonState; },\n/* harmony export */   toggleInert: function() { return /* binding */ toggleInert; },\n/* harmony export */   unsetBodyFixedScrollPosition: function() { return /* binding */ unsetBodyFixedScrollPosition; },\n/* harmony export */   unsetOverlay: function() { return /* binding */ unsetOverlay; }
85,\n/* harmony export */   updateCookie: function() { return /* binding */ updateCookie; }\n/* harmony export */ });\n/* harmony import */ var es6_promise_promise__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! es6-promise-promise */ \"./node_modules/es6-promise-promise/index.js\");\n/* harmony import */ var es6_promise_promise__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(es6_promise_promise__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @borngroup/born-utilities */ \"./node_modules/@borngroup/born-utilities/dist/born-utilities.min.js\");\n/* harmony import */ var _components_progress__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components/progress */ \"./cartridges/app_accelerator_core/cartridge/client/default/js/components/progress.js\");\n/* provided dependency */ var $ = __webpack_require__(/*! jquery */ \"jquery\");\n\n\n\n\n\nvar lastOverlayTrigger;\nvar globalWrapper = document.querySelector('.page'),\n  mainEl = document.querySelector('[data-page-component=\"main\"]'),\n  headerEl = document.querySelector('[data-header-component=\"header\"]'),\n  headerContainerEl = document.querySelector('[data-header-component=\"header-container\"]'),\n  //Change these if needed.\n  //These should be always synced with your \"_variables.scss\" file.\n  breakpoints = {\n    unit: 1,\n    xxsmall: 320,\n    xsmall: 480,\n    small: 767,\n    medium: 1024,\n    xmedium: 1240,\n    prelarge: 1279,\n    large: 1440,\n    xlarge: 2000\n  },\n  breakpointRanges = {\n    'xsmall': {\n      max: breakpoints.xsmall\n    },\n    'small': {\n      max: breakpoints.small\n    },\n    'medium': {\n      max: breakpoints.medium\n    },\n    'prelarge': {\n      max: breakpoints.prelarge\n    },\n    'small-up': {\n      min: breakpoints.small + breakpoints.unit\n    },\n    'medium-up': {\n      min: breakpoints.medium + breakpoints.unit\n    },\n    'prelarge-up': {\n      min: breakpoints.prelarge + breakpoints.unit\n    },\n    'xmedium-up': {\n      min: breakpoints.xmedium + breakpoints.unit\n    },\n    'xsmall-up-to-medium': {\n      min: breakpoints.xsmall + breakpoints.unit,\n      max: breakpoints.medium\n    }\n  },\n  BTN_STATE_COMPLETE = 'complete',\n  BTN_STATE_DEFAULT = 'default';\n\n/**\n * Publish an event at the specific target element scope\n * for other modules to subscribe.\n * The subscribe method can be a standard\n * .addEventListener('moduleName:eventName') method\n *\n * @param {String} moduleName\n * @param {String} eventName\n * @param {HTMLElement} target\n * @param {Object} detail object of arbitrary structure to pass to the event.\n */\nfunction publishEvent(moduleName, eventName, target, detail) {\n  var event,\n    params = {\n      bubbles: true,\n      cancelable: true,\n      detail: detail\n    },\n    eventString = moduleName && eventName ? \"\".concat(moduleName, \":\").concat(eventName) : moduleName || eventName;\n\n  // IE >= 9, CustomEvent() constructor does not exist\n  if (typeof window.CustomEvent !== 'function') {\n    event = document.createEvent('CustomEvent');\n    event.initCustomEvent(eventString, params.bubbles, params.cancelable, null);\n  } else {\n    event = new CustomEvent(eventString, params);\n  }\n  target.dispatchEvent(event);\n}\n\n/**\n * Dispatches OOTB browser events.\n */\nfunction dispatchEvent(target, eventName) {\n  var event;\n  if (typeof window.Event === 'function') {\n    event = new Event(eventName);\n  } else {\n    event = document.createEvent('Event');\n    event.initEvent(eventName, true, true);\n  }\n  target.dispatchEvent(event);\n}\nfunction _getOverlayTarget(targetElement) {\n  return targetElement && typeof targetElement === 'string' ? document.querySelector(targetElement) : targetElement || globalWrapper;\n}\n\n/**\n * Helper function to set the 'set--overlay' class on a target element.\n * @param {Object} [options]\n * @param {HTMLElement|string} [options.targetElement]\n * @param {string} [options.trigger]\n * @param {boolean} [options.coverAll]\n * @param {boolean} [options.includeHeader]\n * @param {'dark'|'light'} [options.variant='dark'] Tint of the overlay backdrop.\n */\nfunction setOverlay() {\n  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var targetEl = _getOverlayTarget(options.targetElement);\n  lastOverlayTrigger = options.trigger;\n  targetEl.classList.add('set--overlay');\n  if (options.variant === 'light') {\n    targetEl.classList.add('set--overlay-light');\n  }\n  if (options.coverAll) {\n    targetEl.classList.add('set--overlay-all');\n  }\n\n  //Add an additional overlay in the main header element.\n  //This is often desired in the case `options.coverAll` wouldn't work due to z-index constrains.\n  //For example, `options.coverAll` set
85s a very high z-index, increasing the header element's z-index at this point wouldn't work, removing its z-index would work to \"punch through\", however if your header turns sticky while scrolling, it messes up the effect.\n  if (options.includeHeader && options.targetElement !== headerContainerEl) {\n    var headerOptions = objectAssign({}, options);\n    headerOptions.targetElement = headerContainerEl;\n    setOverlay(headerOptions);\n  }\n}\n\n/**\n * Helper function to unset the 'set--overlay' class on a `targetElement`.\n * @param {[HTMLElement]} targetElement\n */\nfunction unsetOverlay() {\n  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var targetEl = _getOverlayTarget(options.targetElement);\n\n  //Sometimes you want the overlay to stay on even when toggling between different functionalities (i.e. megamenu and search).\n  //This conditional makes sure that if an `options.trigger` is available, it will only unset the overlay if\n  //called with the same `options.trigger` value as previously set on `setOverlay()` on `lastOverlayTrigger`.\n  if (!lastOverlayTrigger || !options.trigger || lastOverlayTrigger === options.trigger) {\n    targetEl.classList.remove('set--overlay');\n    targetEl.classList.remove('set--overlay-light');\n    headerContainerEl.classList.remove('set--overlay');\n    headerContainerEl.classList.remove('set--overlay-light');\n    targetEl.classList.remove('set--overlay-all');\n  }\n}\n\n/**\n * Attaches an event listener to a NodeList, list of elements, or if `elementList` is a query string generates a NodeList.\n * @param {[type]} elementList [description]\n * @param {[type]} eventName   [description]\n * @param {[type]} handler     [description]\n */\nfunction addEventListenerList(elements) {\n  var eventName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click';\n  var handler = arguments.length > 2 ? arguments[2] : undefined;\n  (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.callbackOnElements)(elements, function (currentEl) {\n    if (currentEl instanceof HTMLElement) {\n      eventName.split(' ').forEach(function (currentEvent) {\n        return currentEl.addEventListener(currentEvent, handler);\n      });\n    }\n  });\n}\n\n//Sorta polyfill for the Object.assign method, which is not supported in IE11.\n//\"inspired\" by https://github.com/Raynos/xtend/blob/master/mutable.js\nfunction objectAssign(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n    for (var key in source) {\n      if (source.hasOwnProperty(key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n  return target;\n}\n\n/**\n * Checks if an element is currently consuming space in the DOM.\n * An element with, or a child of, display: none; will consume no space.\n * @param  {[type]} el [description]\n * @return {[type]}    [description]\n */\nfunction elConsumesSpace(el) {\n  return el.offsetParent || el.firstElementChild && el.firstElementChild.offsetHeight > 0;\n}\n\n/**\n  * Create an alert to display the error message\n * @param {Object} message - Error message to display\n * @param {String} containerEl - Error message container\n  */\nfunction createErrorNotification(message) {\n  var containerEl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '[data-checkout-component=\"error-container\"]';\n  var icon = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n  (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.callbackOnElements)(containerEl, function (currentEl) {\n    currentEl.textContent = '';\n\n    //if no message is provided, don't proceed and just clear the container.\n    if (message) {\n      if (icon) {\n        message = \"\\n                    <svg aria-hidden=\\\"true\\\" focusable=\\\"false\\\" class=\\\"icon icon--exclamation margin-r--4 margin-t--5\\\">\\n                        <use xlink:href=\\\"#icon--exclamation\\\"/>\\n                    </svg> \".concat(message, \"\\n                \");\n      }\n      var closeButton;\n      (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.createElWithAttrs)(currentEl, {\n        class: 'form-invalid-feedback set--visible font-family--newtime-medium line-height--24',\n        role: 'alert'\n      }, 'p', message);\n      closeButton = (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.createElWithAttrs)(currentEl, {\n        class: 'notification__alert-close',\n        'data-error-close': ''\n      }, 'button', null);\n      closeButton.innerHTML = '<svg aria-hidden=\"true\" focusable=\"false\" class=\"icon--24 padding--4\"><use xlink:href=\"#icon--large-close\"/></svg>';\n      if (closeButton) {\n        closeButton.addEventListener('click', function () {\n          currentEl.classList.add('hidden');\n        });\n      }\n    }\n  });\n}\n\n/**\n * Create custom alert to display error message with details\n * @param {String} title of the notification\n * @param {String} message description\n * @param {Object} link containing text and URL\n * @param {String} icon font code\n * @param {Boolean} isDismissible\n * @param {String} classname of container\n * @param {HTMLElement} containerEl to append notification to\n * @param {Boolean} isBelow adds margin if error is below\n * @param {Boolean} inlineLink puts link on same line as error message if true\n */\n\nfunction createCustomErrorNotification(_ref) {\n  var title = _ref.title,\n    message = _ref.message,\n    link = _ref.link,\n    icon = _ref.icon,\n    isDismissible = _ref.isDismissible,\n    _ref$classname = _ref.classname,\n    classname = _ref$classname === void 0 ? 'notification notification--error' : _ref$classname;\n  var containerEl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '[data-checkout-component=\"error-container\"]';\n  var isBelow = arguments.length > 2 ? arguments[2] : undefined;\n  var inlineLink = arguments.length > 3 ? arguments[3] : undefined;\n  var isCentered = arguments.length > 4 ? arguments[4] : undefined;\n  (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.callbackOnElements)(containerEl, function (currentEl) {\n    var messageEl;\n    currentEl.innerHTML = '';\n    classname = isCentered ? classname + ' notification--centered' : classname;\n    var notificationEl = (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.createElWithAttrs)(currentEl, {\n      class: classname,\n      role: 'alert',\n      'aria-atomic': 'true',\n      'data-notification-component': 'container'\n    }, 'div');\n    if (title) {\n      (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.createElWithAttrs)(notificationEl, {\n        class: 'notification__title font-family--newtime-medium line-height--24'\n      }, 'h2', title);\n    }\n    if (message) {\n      messageEl = inlineLink ? (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.createElWithAttrs)(notificationEl, {\n        class: 'notification__message_inline font-family--newtime-s font-size--14 m-font-size--12 margin-t--6'\n      }, 'div', message) : (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.createElWithAttrs)(notificationEl, {\n        class: 'notification__message'\n      }, 'div', message);\n    }\n    if (link) {\n      if (messageEl && inlineLink) {\n        (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.createElWithAttrs)(messageEl, {\n          title: link.text,\n          class: 'notification__link link link--underline',\n          href: link.url\n        }, 'a', link.text);\n      } else {\n        (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.createElWithAttrs)(notificationEl, {\n          title: link.text,\n          class: 'notification__link link link--underline',\n          href: link.url\n        }, 'a', link.text);\n      }\n    }\n    if (icon) {\n      notificationEl.classList.add('notification--has-icon');\n      (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.createElWithAttrs)(notificationEl, {\n        class: 'notification__icon icon'\n      }, 'span', icon);\n    }\n    if (isDismissible) {\n      var _icon = \"<button class=\\\"notification__alert-close\\\" data-notification-component=\\\"dismiss\\\"><svg aria-hidden=\\\"true\\\" focusable=\\\"false\\\" class=\\\"icon--24 padding--4\\\">\\n                            <use xlink:href=\\\"#icon--large-close\\\" />\\n                        </svg></button>\";\n      notificationEl.insertAdjacentHTML('beforeend', _icon);\n      notificationEl.querySelector('[data-notification-component=\"dismiss\"]') && notificationEl.querySelector('[data-notification-component=\"dismiss\"]').addEventListener('click', function () {\n        notificationEl.classList.add('hidden');\n      });\n    }\n\n    // Some error messages need additional padding if moved below other elements\n    if (isBelow) {\n      notificationEl.classList.add('margin-t--16');\n    }\n  });\n}\n\n/**\n * Manages server error responses (typically you'd get this if setting the response status code to 500 on the controller).\n * This type of response can have a redirect, display a message, or any other additional functionality can be handled here.\n */\nfunction handleServerError(response, containerEl) {\n  if (response.redirectUrl) {\n    window.location.href = response.redirectUrl;\n\n    //After an \"error\" event is fired, by default the application displays any output error message(s).\n    //Set this flag to true to prevent displaying errors in case you're handling them on your own.\n  } else if (!response.disableDefaultErrorDisplay) {\n    createErrorNotification(response.errorMessage || response.message, containerEl);\n    _components_progress__WEBPACK_IMPORTED_MODULE_2__.hideLoader();\n  }\n}\n\n/**\n * body-scroll-lock utility to allow scrolling within \"locked\" containers.\n */\nfunction allowScrollableAreas(el) {\n  while (el && el !== document.body) {\
85n    if (el.hasAttribute('data-scrollable')) {\n      return true;\n    }\n    el = el.parentNode;\n  }\n}\n\n/**\n * body-scroll-lock utility to allow scrolling only on navigation.\n */\nfunction allowScrollableNavOnly(el) {\n  while (el && el !== document.body) {\n    if (el.hasAttribute('data-scrollable-nav-only')) {\n      return true;\n    }\n    el = el.parentNode;\n  }\n}\n\n/**\n * Toggles the `inert` attribute on the provided `elements`.\n */\nfunction toggleInert(elements, inert) {\n  (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.callbackOnElements)(elements, function (currentEl) {\n    inert ? currentEl.setAttribute('inert', '') : currentEl.removeAttribute('inert', '');\n  });\n}\n\n/**\n * Export the current page's action and queryString data, since it might not always be available directly in the URL.\n */\nfunction getPageActionData() {\n  var pageDataEl = document.querySelector('[data-querystring]');\n  return pageDataEl ? {\n    action: pageDataEl.getAttribute('data-action'),\n    queryString: pageDataEl.getAttribute('data-querystring')\n  } : null;\n}\n\n/**\n * Gets the current session status from the getActiveSession endpoint.\n * @param  {Function} callback [description]\n * @return {[type]}            [description]\n */\nfunction getSessionStatus() {\n  return $.get(window.SFRA.Urls.getActiveSession);\n}\n\n/**\n * Helper to maintain ios scroll position while body-scroll-lock lock is active.\n * src: https://github.com/willmcpo/body-scroll-lock/issues/237\n */\nfunction setBodyFixedScrollPosition() {\n  //Skip if a caller (e.g. the post-auth quick add reopen flow) has already pinned the body\n  if (document.body.classList.contains('body--fixed-scroll')) {\n    return;\n  }\n  document.body.dataset.storedScrollY = window.scrollY;\n  document.body.style.setProperty('top', \"\".concat(window.scrollY * -1, \"px\"));\n  document.body.style.setProperty('width', '100%');\n  document.body.classList.add('body--fixed-scroll');\n}\n\n/**\n * Helper to set ios scroll position to a given value while body-scroll-lock lock is active.\n */\nfunction setBodyFixedScrollPositionValue(value) {\n  document.body.dataset.storedScrollY = value;\n  document.body.style.setProperty('top', \"\".concat(value * -1, \"px\"));\n  document.body.style.setProperty('width', '100%');\n  document.body.classList.add('body--fixed-scroll');\n}\n\n/**\n * Helper to reset ios scroll position when body-scroll-lock is deactivated.\n */\nfunction unsetBodyFixedScrollPosition() {\n  var storedScrollY = document.body.dataset.storedScrollY;\n  document.body.dataset.storedScrollY = '';\n  if (storedScrollY) {\n    document.body.scrollTop = document.documentElement.scrollTop = storedScrollY;\n  }\n  document.body.style.setProperty('top', '');\n  document.body.style.setProperty('width', '');\n  document.body.style.removeProperty('overflow');\n  setTimeout(function () {\n    document.body.classList.remove('body--fixed-scroll');\n  }, 1000);\n}\n\n/**\n * Helper to accessibly hide an element.\n */\nfunction hideEl(element) {\n  !element.classList.contains('hidden') && element.classList.add('hidden');\n  !element.hasAttribute('aria-hidden') && element.setAttribute('aria-hidden', true);\n}\n\n/**\n * Helper to accessibly un-hide an element.\n */\nfunction showEl(element) {\n  element.classList.contains('hidden') && element.classList.remove('hidden');\n  element.hasAttribute('aria-hidden') && element.removeAttribute('aria-hidden', true);\n}\n\n/**\n * Helper to retrieve a cooke value (copied from /app_storefront_base/cartridge/client/default/js/components/cookie.js).\n */\nfunction getCookie(cookieName) {\n  var name = cookieName + '=';\n  var decodedCookie = decodeURIComponent(document.cookie);\n  var cookieArray = decodedCookie.split(';');\n  for (var i = 0; i < cookieArray.length; i++) {\n    var cookieItem = cookieArray[i];\n    while (cookieItem.charAt(0) === ' ') {\n      cookieItem = cookieItem.substring(1);\n    }\n    if (cookieItem.indexOf(name) === 0) {\n      return cookieItem.substring(name.length, cookieItem.length);\n    }\n  }\n  return '';\n}\nfunction setCookie(cname, cvalue, exdays) {\n  var cookieStr = \"\".concat(cname, \"=\").
85concat(cvalue, \"; path=/\");\n  if (exdays) {\n    var d = new Date();\n    d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);\n    cookieStr += \"; expires=\".concat(d.toUTCString());\n  }\n  document.cookie = cookieStr;\n}\nfunction updateCookie(cname, cvalue) {\n  document.cookie = \"\".concat(cname, \"=\").concat(cvalue, \";path=/\");\n}\nfunction toggleButtonState(currentBtn, btnState) {\n  var persist = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n  if (!currentBtn) {\n    return;\n  }\n  if (btnState === BTN_STATE_DEFAULT) {\n    currentBtn.setAttribute('data-button-state', '');\n  } else {\n    currentBtn.setAttribute('data-button-state', btnState);\n    btnState === BTN_STATE_COMPLETE && !persist && setTimeout(function () {\n      currentBtn.setAttribute('data-button-state', '');\n    }, 2000);\n  }\n}\n\n/**\n * Converts a given string to title case.\n * Each word will have its first letter capitalized, and the rest in lowercase.\n *\n * @param {string} str - The input string to be converted.\n * @returns {string} - The converted string in title case.\n */\nfunction toTitleCase() {\n  var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n  return str.trim().toLowerCase().split(' ').map(function (word) {\n    return word.charAt(0).toUpperCase() + word.slice(1);\n  }).join(' ');\n}\n\n/**\n * Converts the keys of an object from camelCase to snake_case.\n *\n * This function takes an object, converts its keys from camelCase to snake_case,\n * and returns the resulting object.\n *\n * @param {Object} obj - The object whose keys need to be converted.\n * @returns {Object} - The new object with keys in snake_case.\n */\n\nfunction toSnakeCase(obj) {\n  return JSON.parse(JSON.stringify(obj).replace(/\"([^\"]+)\":/g, function (_, p1) {\n    return \"\\\"\".concat(p1.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase(), \"\\\":\");\n  }));\n}\n\n/**\n * Helper to determine whether device supports touch events\n *\n * @return {Boolean}\n */\n\nfunction isTouchDevice() {\n  return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;\n}\n\n/*\n* Executes a function within a try-catch block and resolves or rejects accordingly.\n*\n* @param {Function} executionFn - The function to execute.\n* @param {Function} resolveFn - The function to call on success.\n* @param {Function} rejectFn - The function to call on error.\n* @param {...any} args - Arguments to pass to the execution function.\n*/\n\nfunction setPromiseExecution(executionFn, resolveFn, rejectFn) {\n  try {\n    for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n      args[_key - 3] = arguments[_key];\n    }\n    executionFn.apply(void 0, args);\n    resolveFn.apply(void 0, args);\n  } catch (error) {\n    rejectFn(error);\n  }\n}\n\n/**\n * Wraps a synchronous function execution in a Promise.\n *\n * @param {Function} executionFn - The function to execute.\n * @param {Function} resolveFn - The function to call when the promise resolves.\n * @param {Function} rejectFn - The function to call when the promise rejects.\n * @param {...any} args - Arguments to pass to the execution function.\n * @returns {Promise<void>} A promise that resolves or rejects based on execution.\n */\n\nfunction promisify(executionFn, resolveFn, rejectFn) {\n  for (var _len2 = arguments.length, args = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {\n    args[_key2 - 3] = arguments[_key2];\n  }\n  return new Promise(function (resolve, reject) {\n    return setPromiseExecution.apply(void 0, [executionFn, resolve, reject].concat(args));\n  }).then(resolveFn).catch(rejectFn);\n}\n\n/**\n * Creates the toast message in the situations where the payment instruments do not match the basket total when placing an order\n * @param {String} message - message to display\n * @param {HTMLElement} containerEl - error message container\n */\nfunction createPaymentMessage(message) {\n  var containerEl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '[data-checkout-component=\"error-container\"]';\n  (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.callbackOnElements)(containerEl, function (currentEl) {\n    currentEl.textContent = '';\n    currentEl.classList.remove('hidden');\n    if (message) {\n      (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.createElWithAttrs)(currentEl, {\n        class: 'form-invalid-feedback checkout-message set--v
85isible',\n        role: 'alert'\n      }, 'p', message);\n      var closeButton = (0,_borngroup_born_utilities__WEBPACK_IMPORTED_MODULE_1__.createElWithAttrs)(currentEl, {\n        class: 'notification__alert-close',\n        'data-error-close': ''\n      }, 'button', null);\n      closeButton.innerHTML = '<svg aria-hidden=\"true\" focusable=\"false\" class=\"icon--24 padding--4\"><use xlink:href=\"#icon--large-close\"/></svg>';\n      closeButton.addEventListener('click', function () {\n        currentEl.classList.add('hidden');\n      });\n    }\n  });\n}\n\n/**\n * ENG-48679: Used to display an error message above the shipping fields when the race condition resulting in a payment mismatch occurs\n * @param {String} message - message to display\n */\nfunction createRaceConditionMessage(message) {\n  var currentForm = document.querySelector('[data-stage-container=\"shipping\"]');\n  var errorMessageHtml = \"<svg aria-hidden=\\\"true\\\" focusable=\\\"false\\\" class=\\\"icon icon--exclamation margin-r--4\\\"><use xlink:href=\\\"#icon--exclamation-padded\\\"/></svg>\\n        <div data-error-msg class=\\\"notification__alert-msg\\\"><div class=\\\"address-verification__modal-message\\\">\".concat(message, \"</div></div>\");\n  var errorContainer = document.createElement('div');\n  errorContainer.innerHTML = errorMessageHtml;\n  errorContainer.classList.add('notification__alert', 'notification__alert--address', 'margin-t--24');\n  errorContainer.setAttribute('data-error-panel--address', '');\n  currentForm.prepend(errorContainer);\n}\n\n/**\n * Creates a ticking counter effect on a given element whose content is a number.\n * @param {HTMLElement} counter - counter container\n */\nfunction setupCounter(counter) {\n  if (!counter) {\n    return;\n  }\n  var _updateCount = function updateCount() {\n    var target = counter.getAttribute('data-target') && parseInt(counter.getAttribute('data-target'), 10) || 0,\n      count = counter.innerText && parseInt(counter.innerText, 10) || 0,\n      speed = counter.getAttribute('data-speed') || 1000,\n      // change animation speed\n      timeout = speed / target;\n    if (count < target) {\n      counter.innerText = Math.ceil(count + 1);\n      setTimeout(_updateCount, timeout);\n    } else {\n      counter.innerText = target;\n    }\n  };\n  counter.innerText = 0;\n  _updateCount();\n}\n\n// Reliably detect when the DOM is fully loaded and execute a callback.\nfunction onDocumentReady(callback) {\n  if (document.readyState === \"complete\" || document.readyState !== \"loading\" && !document.documentElement.doScroll) {\n    callback();\n  } else {\n    document.addEventListener(\"DOMContentLoaded\", callback);\n  }\n}\n\n/**\n * Checks if a DOM element is in the viewport.\n * Optionally returns true if the user has scrolled past the element.\n * @param {Element} el - The DOM element to check\n * @param {boolean} [countPastAsVisible=false] - If true, returns true if the element is above the viewport\n * @param {boolean} [countAnyPartAsVisible=false] - If true, returns true if any part of the element is visible; if false, returns true only if the entire element is visible.\n * @param {number} [offset=0] - An optional offset to adjust the viewport check (only affects the top edge, when countAnyPartAsVisible is true).\n * @returns {boolean} - True if the element is in the viewport (or past, if specified)\n */\nfunction isElementInViewport(el) {\n  var countPastAsVisible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n  var countAnyPartAsVisible = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n  var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n  if (!el) return false;\n  var rect = el.getBoundingClientRect();\n  var inViewport = countAnyPartAsVisible ? rect.top + offset <= (window.innerHeight || document.documentElement.clientHeight) && rect.top + rect.height >= 0 : rect.top >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight);\n  if (inViewport) return true;\n  if (countPastAsVisible && rect.top < 0) return true;\n  return false;\n}\n\n/**\n * Checks if a DOM element is above the viewport.\n * @param {Element} el - The DOM element to check\n * @returns {boolean} - True if the element is above the viewport (ie, scrolled past)\n */\nfunction isElementAboveViewport(el) {\n  if (!el) return false;\n  var rect = el.getBoundingClientRect();\n  return rect.top < 0;\n}\n\n//# sourceURL=webpack://born-sfra-reformation/./cartridges/org_reformation/cartridge/client/default/js/helpers/utilities.js?");
86
87/***/ }),
88
vendor: 531 bytes, lines 89-98
89/***/ "./node_modules/es6-promise-promise/index.js":
90/*!***************************************************!*\
91  !*** ./node_modules/es6-promise-promise/index.js ***!
92  \***************************************************/
93/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
94
95eval("module.exports = __webpack_require__(/*! es6-promise */ \"./node_modules/es6-promise/dist/es6-promise.js\").Promise;\n\n\n//# sourceURL=webpack://born-sfra-reformation/./node_modules/es6-promise-promise/index.js?");
96
97/***/ }),
98
vendor: 30,049 bytes, lines 99-108
99/***/ "./node_modules/es6-promise/dist/es6-promise.js":
100/*!******************************************************!*\
101  !*** ./node_modules/es6-promise/dist/es6-promise.js ***!
102  \******************************************************/
103/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
104
105eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\n/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license   Licensed under MIT license\n *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version   3.3.1\n */\n\n(function (global, factory) {\n     true ? module.exports = factory() :\n    0;\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n  return typeof x === 'function' || typeof x === 'object' && x !== null;\n}\n\nfunction isFunction(x) {\n  return typeof x === 'function';\n}\n\nvar _isArray = undefined;\nif (!Array.isArray) {\n  _isArray = function (x) {\n    return Object.prototype.toString.call(x) === '[object Array]';\n  };\n} else {\n  _isArray = Array.isArray;\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = undefined;\nvar customSchedulerFn = undefined;\n\nvar asap = function asap(callback, arg) {\n  queue[len] = callback;\n  queue[len + 1] = arg;\n  len += 2;\n  if (len === 2) {\n    // If len is 2, that means that we need to schedule an async flush.\n    // If additional callbacks are queued before the queue is flushed, they\n    // will be processed by this flush that we are scheduling.\n    if (customSchedulerFn) {\n      customSchedulerFn(flush);\n    } else {\n      scheduleFlush();\n    }\n  }\n};\n\nfunction setScheduler(scheduleFn) {\n  customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n  asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n  // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n  // see https://github.com/cujojs/when/issues/410 for details\n  return function () {\n    return process.nextTick(flush);\n  };\n}\n\n// vertx\nfunction useVertxTimer() {\n  return function () {\n    vertxNext(flush);\n  };\n}\n\nfunction useMutationObserver() {\n  var iterations = 0;\n  var observer = new BrowserMutationObserver(flush);\n  var node = document.createTextNode('');\n  observer.observe(node, { characterData: true });\n\n  return function () {\n    node.data = iterations = ++iterations % 2;\n  };\n}\n\n// web worker\nfunction useMessageChannel() {\n  var channel = new MessageChannel();\n  channel.port1.onmessage = flush;\n  return function () {\n    return channel.port2.postMessage(0);\n  };\n}\n\nfunction useSetTimeout() {\n  // Store setTimeout reference so es6-promise will be unaffected by\n  // other code modifying setTimeout (like sinon.useFakeTimers())\n  var globalSetTimeout = setTimeout;\n  return function () {\n    return globalSetTimeout(flush, 1);\n  };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n  for (var i = 0; i < len; i += 2) {\n    var callback = queue[i];\n    var arg = queue[i + 1];\n\n    callback(arg);\n\n    queue[i] = undefined;\n    queue[i + 1] = undefined;\n  }\n\n  len = 0;\n}\n\nfunction attemptVertx() {\n  try {\n    var r = undefined;\n    var vertx = __webpack_require__(/*! vertx */ \"?3c4a\");\n    vertxNext = vertx.runOnLoop || vertx.runOnContext;\n    return useVertxTimer();\n  } catch (e) {\n    return useSetTimeout();\n  }\n}\n\nvar scheduleFlush = undefined;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n  scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n  scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n  scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && \"function\" === 'function') {\n  scheduleFlush = attemptVertx();\n} else {\n  scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n  var _arguments = arguments;\n\n  var parent = this;\n\n  var child = new this.constructor(noop);\n\n  if (child[PROMISE_ID] === undefined) {\n    makePromise(child);\n  }\n\n  var _state = parent._state;\n\n  if (_state) {\n    (function () {\n      var callback = _arguments[_state - 1];\n      asap(function () {\n        return invokeCallback(_state, child, callback, parent._result);\n      });\n    })();\n  } else {\n    subscribe(parent, child, onFulfillment, onRejection);\n  }\n\n  return child;\n}\n\n/**\n  `Promise.resolve` returns a promise that will become resolved with the\n  passed `value`. It is shorthand for the following:\n\n  ```javascript\n  let promise = new Promise(function(resolve, reject){\n    resolve(1);\n  });\n\n  promise.then(function(value){\n    // value === 1\n  });\n  ```\n\n  Instead of writing the above, your code now simply becomes the following:\n\n  ```javascript\n  let promise = Promise.resolve(1);\n\n  promise.then(function(value){\n    // value === 1\n  });\n  ```\n\n  @method resolve\n  @static\n  @param {Any} value value that the returned promise will be resolved with\n  Useful for tooling.\n  @return {Promise} a promise that will become fulfilled with the given\n  `value`\n*/\nfunction resolve(object) {\n  /*jshint validthis:true */\n  var Constructor = this;\n\n  if (object && typeof object === 'object' && object.constructor === Constructor) {\n    return object;\n  }\n\n  var promise = new Constructor(noop);\n  _resolve(promise, object);\n  return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(16);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar GET_THEN_ERROR = new ErrorObject();\n\nfunction selfFulfillment() {\n  return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n  return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n  try {\n    return promise.then;\n  } catch (error) {\n    GET_THEN_ERROR.error = error;\n    return GET_THEN_ERROR;\n  }\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n  try {\n    then.call(value, fulfillmentHandler, rejectionHandler);\n  } catch (e) {\n    return e;\n  }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n  asap(function (promise) {\n    var sealed = false;\n    var error = tryThen(then, thenable, function (value) {\n      if (sealed) {\n        return;\n      }\n      sealed = true;\n      if (thenable !== value) {\n        _resolve(promise, value);\n      } else {\n        fulfill(promise, value);\n      }\n    }, function (reason) {\n      if (sealed) {\n        return;\n      }\n      sealed = true;\n\n      _reject(promise, reason);\n    }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n    if (!sealed && error) {\n      sealed = true;\n      _reject(promise, error);\n    }\n  }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n  if (thenable._state === FULFILLED) {\n    fulfill(promise, thenable._result);\n  } else if (thenable._state === REJECTED) {\n    _reject(promise, thenable._result);\n  } else {\n    subscribe(thenable, undefined, function (value) {\n      return _resolve(promise, value);\n    }, function (reason) {\n      return _reject(promise, reason);\n    });\n  }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$) {\n  if (maybeThenable.constructor === promise.constructor && then$$ === then && maybeThenable.constructor.resolve === resolve) {\n    handleOwnThenable(promise, maybeThenable);\n  } else {\n    if (then$$ === GET_THEN_ERROR) {\n      _reject(promise, GET_THEN_ERROR.error);\n    } else if (then$$ === undefined) {\n      fulfill(promise, maybeThenable);\n    } else if (isFunction(then$$)) {\n      handleForeignThenable(promise, maybeThenable, then$$);\n    } else {\n      fulfill(promise, maybeThenable);\n    }\n  }\n}\n\nfunction _resolve(promise, value) {\n  if (promise === value) {\n    _reject(promise, selfFulfillment());\n  } else if (objectOrFunction(value)) {\n    handleMaybeThenable(promise, value, getThen(value));\n  } else {\n    fulfill(promise, value);\n  }\n}\n\nfunction publishRejection(promise) {\n  if (promise._onerror) {\n    promise._onerror(promise._result);\n  }\n\n  publish(promise);\n}\n\nfunction fulfill(promise, value) {\n  if (promise._state !== PENDING) {\n    return;\n  }\n\n  promise._result = value;\n  promise._state = FULFILLED;\n\n  if (promise._subscribers.length !== 0) {\n    asap(publish, promise);\n  }\n}\n\nfunction _reject(promise, reason) {\n  if (promise._state !== PENDING) {\n    return;\n  }\n  promise._state = REJECTED;\n  promise._result = reason;\n\n  asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n  var _subscribers = parent._subscribers;\n  var length = _subscribers.length;\n\n  parent._onerror = null;\n\n  _subscribers[length] = child;\n  _subscribers[length + FULFILLED] = onFulfillment;\n  _subscribers[length + REJECTED] = onRejection;\n\n  if (length === 0 && parent._state) {\n    asap(publish, parent);\n  }\n}\n\nfunction publish(promise) {\n  var subscribers = promise._subscribers;\n  var settled = promise._state;\n\n  if (subscribers.length === 0) {\n    return;\n  }\n\n  var child = undefined,\n      callback = undefined,\n      detail = promise._result;\n\n  for (var i = 0; i < subscribers.length; i += 3) {\n    child = subscribers[i];\n    callback = subscribers[i + settled];\n\n    if (child) {\n      invokeCallback(settled, child, callback, detail);\n    } else {\n      callback(detail);\n    }\n  }\n\n  promise._subscribers.length = 0;\n}\n\nfunction ErrorObject() {\n  this.error = null;\n}\n\nvar TRY_CATCH_ERROR = new ErrorObject();\n\nfunction tryCatch(callback, detail) {\n  try {\n    return callback(detail);\n  } catch (e) {\n    TRY_CATCH_ERROR.error = e;\n    return TRY_CATCH_ERROR;\n  }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n  var hasCallback = isFunction(callback),\n      value = undefined,\n      error = undefined,\n      succeeded = undefined,\n      failed = undefined;\n\n  if (hasCallback) {\n    value = tryCatch(callback, detail);\n\n    if (value === TRY_CATCH_ERROR) {\n      failed = true;\n      error = value.error;\n      value = null;\n    } else {\n      succeeded = true;\n    }\n\n    if (promise === value) {\n      _reject(promise, cannotReturnOwn());\n      return;\n    }\n  } else {\n    value = detail;\n    succeeded = true;\n  }\n\n  if (promise._state !== PENDING) {\n    // noop\n  } else if (hasCallback && succeeded) {\n      _resolve(promise, value);\n    } else if (failed) {\n      _reject(promise, error);\n    } else if (settled === FULFILLED) {\n      fulfill(promise, value);\n    } else if (settled === REJECTED) {\n      _reject(promise, value);\n    }\n}\n\nfunction initializePromise(promise, resolver) {\n  try {\n    resolver(function resolvePromise(value) {\n      _resolve(promise, value);\n    }, function rejectPromise(reason) {\n      _reject(promise, reason);\n    });\n  } catch (e) {\n    _reject(promise, e);\n  }\n}\n\nvar id = 0;\nfunction nextId() {\n  return id++;\n}\n\nfunction makePromise(promise) {\n  promise[PROMISE_ID] = id++;\n  promise._state = undefined;\n  promise._result = undefined;\n  promise._subscribers = [];\n}\n\nfunction Enumerator(Constructor, input) {\n  this._instanceConstructor = Constructor;\n  this.promise = new Constructor(noop);\n\n  if (!this.promise[PROMISE_ID]) {\n    makePromise(this.promise);\n  }\n\n  if (isArray(input)) {\n    this._input = input;\n    this.length = input.length;\n    this._remaining = input.length;\n\n    this._result = new Array(this.length);\n\n    if (this.length === 0) {\n      fulfill(this.promise, this._result);\n    } else {\n      this.length = this.length || 0;\n      this._enumerate();\n      if (this._remaining === 0) {\n        fulfill(this.promise, this._result);\n      }\n    }\n  } else {\n    _reject(this.promise, validationError());\n  }\n}\n\nfunction validationError() {\n  return new Error('Array Methods must be provided an Array');\n};\n\nEnumerator.prototype._enumerate = function () {\n  var length = this.length;\n  var _input = this._input;\n\n  for (var i = 0; this._state === PENDING && i < length; i++) {\n    this._eachEntry(_input[i], i);\n  }\n};\n\nEnumerator.prototype._eachEntry = function (entry, i) {\n  var c = this._instanceConstructor;\n  var resolve$$ = c.resolve;\n\n  if (resolve$$ === resolve) {\n    var _then = getThen(entry);\n\n    if (_then === then && entry._state !== PENDING) {\n      this._settledAt(entry._state, i, entry._result);\n    } else if (typeof _then !== 'function') {\n      this._remaining--;\n      this._result[i] = entry;\n    } else if (c === Promise) {\n      var promise = new c(noop);\n      handleMaybeThenable(promise, entry, _then);\n      this._willSettleAt(promise, i);\n    } else {\n      this._willSettleAt(new c(function (resolve$$) {\n        return resolve$$(entry);\n      }), i);\n    }\n  } else {\n    this._willSettleAt(resolve$$(entry), i);\n  }\n};\n\nEnumerator.prototype._settledAt = function (state, i, value) {\n  var promise = this.promise;\n\n  if (promise._state === PENDING) {\n    this._remaining--;\n\n    if (state === REJECTED) {\n      _reject(promise, value);\n    } else {\n      this._result[i] = value;\n    }\n  }\n\n  if (this._remaining === 0) {\n    fulfill(promise, this._result);\n  }\n};\n\nEnumerator.prototype._willSettleAt = function (promise, i) {\n  var enumerator = this;\n\n  subscribe(promise, undefined, function (value) {\n    return enumerator._settledAt(FULFILLED, i, value);\n  }, function (reason) {\n    return enumerator._settledAt(REJECTED, i, reason);\n  });\n};\n\n/**\n  `Promise.all` accepts an array of promises, and returns a new promise which\n  is fulfilled with an array of fulfillment values for the passed promises, or\n  rejected with the reason of the first passed promise to be rejected. It casts all\n  elements of the passed iterable to promises as it runs this algorithm.\n\n  Example:\n\n  ```javascript\n  let promise1 = resolve(1);\n  let promise2 = resolve(2);\n  let promise3 = resolve(3);\n  let promises = [ promise1, promise2, promise3 ];\n\n  Promise.all(promises).then(function(array){\n    // The array here would be [ 1, 2, 3 ];\n  });\n  ```\n\n  If any of the `promises` given to `all` are rejected, the first promise\n  that is rejected will be given as an argument to the returned promises's\n  rejection handler. For example:\n\n  Example:\n\n  ```javascript\n  let promise1 = resolve(1);\n  let promise2 = reject(new Error(\"2\"));\n  let promise3 = reject(new Error(\"3\"));\n  let promises = [ promise1, promise2, promise3 ];\n\n  Promise.all(promises).then(function(array){\n    // Code here never runs because there are rejected promises!\n  }, function(error) {\n    // error.message === \"2\"\n  });\n  ```\n\n  @method all\n  @static\n  @param {Array} entries array of promises\n  @param {String} label optional string for labeling the promise.\n  Useful for tooling.\n  @return {Promise} promise that is fulfilled when all `promises` have been\n  fulfilled, or rejected if any of them become rejected.\n  @static\n*/\nfunction all(entries) {\n  return new Enumerator(this, entries).promise;\n}\n\n/**\n  `Promise.race` returns a new promise which is settled in the same way as the\n  first passed promise to settle.\n\n  Example:\n\n  ```javascript\n  let promise1 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 1');\n    }, 200);\n  });\n\n  let promise2 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 2');\n    }, 100);\n  });\n\n  Promise.race([promise1, promise2]).then(function(result){\n    // result === 'promise 2' because it was resolved before promise1\n    // was resolved.\n  });\n  ```\n\n  `Promise.race` is deterministic in that only the state of the first\n  settled promise matters. For example, even if other promises given to the\n  `promises` array argument are resolved, but the first settled promise has\n  become rejected before the other promises became fulfilled, the returned\n  promise will become rejected:\n\n  ```javascript\n  let promise1 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 1');\n    }, 200);\n  });\n\n  let promise2 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      reject(new Error('promise 2'));\n    }, 100);\n  });\n\n  Promise.race([promise1, promise2]).then(function(result){\n    // Code here never runs\n  }, function(reason){\n    // reason.message === 'promise 2' because promise 2 became rejected before\n    // promise 1 became fulfilled\n  });\n  ```\n\n  An example real-world use case is implementing timeouts:\n\n  ```javascript\n  Promise.race([ajax('foo.json'), timeout(5000)])\n  ```\n\n  @method race\n  @static\n  @param {Array} promises array of promises to observe\n  Useful for tooling.\n  @return {Promise} a promise which settles in the same way as the first passed\n  promise to settle.\n*/\nfunction race(entries) {\n  /*jshint validthis:true */\n  var Constructor = this;\n\n  if (!isArray(entries)) {\n    return new Constructor(function (_, reject) {\n      return reject(new TypeError('You must pass an array to race.'));\n    });\n  } else {\n    return new Constructor(function (resolve, reject) {\n      var length = entries.length;\n      for (var i = 0; i < length; i++) {\n        Constructor.resolve(entries[i]).then(resolve, reject);\n      }\n    });\n  }\n}\n\n/**\n  `Promise.reject` returns a promise rejected with the passed `reason`.\n  It is shorthand for the following:\n\n  ```javascript\n  let promise = new Promise(function(resolve, reject){\n    reject(new Error('WHOOPS'));\n  });\n\n  promise.then(function(value){\n    // Code here doesn't run because the promise is rejected!\n  }, function(reason){\n    // reason.message === 'WHOOPS'\n  });\n  ```\n\n  Instead of writing the above, your code now simply becomes the following:\n\n  ```javascript\n  let promise = Promise.reject(new Error('WHOOPS'));\n\n  promise.then(function(value){\n    // Code here doesn't run because the promise is rejected!\n  }, function(reason){\n    // reason.message === 'WHOOPS'\n  });\n  ```\n\n  @method reject\n  @static\n  @param {Any} reason value that the returned promise will be rejected with.\n  Useful for tooling.\n  @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject(reason) {\n  /*jshint validthis:true */\n  var Constructor = this;\n  var promise = new Constructor(noop);\n  _reject(promise, reason);\n  return promise;\n}\n\nfunction needsResolver() {\n  throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n  throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n  Promise objects represent the eventual result of an asynchronous operation. The\n  primary way of interacting with a promise is through its `then` method, which\n  registers callbacks to receive either a promise's eventual value or the reason\n  why the promise cannot be fulfilled.\n\n  Terminology\n  -----------\n\n  - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n  - `thenable` is an object or function that defines a `then` method.\n  - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n  - `exception` is a value that is thrown using the throw statement.\n  - `reason` is a value that indicates why a promise was rejected.\n  - `settled` the final resting state of a promise, fulfilled or rejected.\n\n  A promise can be in one of three states: pending, fulfilled, or rejected.\n\n  Promises that are fulfilled have a fulfillment value and are in the fulfilled\n  state.  Promises that are rejected have a rejection reason and are in the\n  rejected state.  A fulfillment value is never a thenable.\n\n  Promises can also be said to *resolve* a value.  If this value is also a\n  promise, then the original promise's settled state will match the value's\n  settled state.  So a promise that *resolves* a promise that rejects will\n  itself reject, and a promise that *resolves* a promise that fulfills will\n  itself fulfill.\n\n\n  Basic Usage:\n  ------------\n\n  ```js\n  let promise = new Promise(function(resolve, reject) {\n    // on success\n    resolve(value);\n\n    // on failure\n    reject(reason);\n  });\n\n  promise.then(function(value) {\n    // on fulfillment\n  }, function(reason) {\n    // on rejection\n  });\n  ```\n\n  Advanced Usage:\n  ---------------\n\n  Promises shine when abstracting away asynchronous interactions such as\n  `XMLHttpRequest`s.\n\n  ```js\n  function getJSON(url) {\n    return new Promise(function(resolve, reject){\n      let xhr = new XMLHttpRequest();\n\n      xhr.open('GET', url);\n      xhr.onreadystatechange = handler;\n      xhr.responseType = 'json';\n      xhr.setRequestHeader('Accept', 'application/json');\n      xhr.send();\n\n      function handler() {\n        if (this.readyState === this.DONE) {\n          if (this.status === 200) {\n            resolve(this.response);\n          } else {\n            reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n          }\n        }\n      };\n    });\n  }\n\n  getJSON('/posts.json').then(function(json) {\n    // on fulfillment\n  }, function(reason) {\n    // on rejection\n  });\n  ```\n\n  Unlike callbacks, promises are great composable primitives.\n\n  ```js\n  Promise.all([\n    getJSON('/posts'),\n    getJSON('/comments')\n  ]).then(function(values){\n    values[0] // => postsJSON\n    values[1] // => commentsJSON\n\n    return values;\n  });\n  ```\n\n  @class Promise\n  @param {function} resolver\n  Useful for tooling.\n  @constructor\n*/\nfunction Promise(resolver) {\n  this[PROMISE_ID] = nextId();\n  this._result = this._state = undefined;\n  this._subscribers = [];\n\n  if (noop !== resolver) {\n    typeof resolver !== 'function' && needsResolver();\n    this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n  }\n}\n\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = resolve;\nPromise.reject = reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;\n\nPromise.prototype = {\n  constructor: Promise,\n\n  /**\n    The primary way of interacting with a promise is through its `then` method,\n    which registers callbacks to receive either a promise's eventual value or the\n    reason why the promise cannot be fulfilled.\n  \n    ```js\n    findUser().then(function(user){\n      // user is available\n    }, function(reason){\n      // user is unavailable, and you are given the reason why\n    });\n    ```\n  \n    Chaining\n    --------\n  \n    The return value of `then` is itself a promise.  This second, 'downstream'\n    promise is resolved with the return value of the first promise's fulfillment\n    or rejection handler, or rejected if the handler throws an exception.\n  \n    ```js\n    findUser().then(function (user) {\n      return user.name;\n    }, function (reason) {\n      return 'default name';\n    }).then(function (userName) {\n      // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n      // will be `'default name'`\n    });\n  \n    findUser().then(function (user) {\n      throw new Error('Found user, but still unhappy');\n    }, function (reason) {\n      throw new Error('`findUser` rejected and we're unhappy');\n    }).then(function (value) {\n      // never reached\n    }, function (reason) {\n      // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n      // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n    });\n    ```\n    If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n  \n    ```js\n    findUser().then(function (user) {\n      throw new PedagogicalException('Upstream error');\n    }).then(function (value) {\n      // never reached\n    }).then(function (value) {\n      // never reached\n    }, function (reason) {\n      // The `PedgagocialException` is propagated all the way down to here\n    });\n    ```\n  \n    Assimilation\n    ------------\n  \n    Sometimes the value you want to propagate to a downstream promise can only be\n    retrieved asynchronously. This can be achieved by returning a promise in the\n    fulfillment or rejection handler. The downstream promise will then be pending\n    until the returned promise is settled. This is called *assimilation*.\n  \n    ```js\n    findUser().then(function (user) {\n      return findCommentsByAuthor(user);\n    }).then(function (comments) {\n      // The user's comments are now available\n    });\n    ```\n  \n    If the assimliated promise rejects, then the downstream promise will also reject.\n  \n    ```js\n    findUser().then(function (user) {\n      return findCommentsByAuthor(user);\n    }).then(function (comments) {\n      // If `findCommentsByAuthor` fulfills, we'll have the value here\n    }, function (reason) {\n      // If `findCommentsByAuthor` rejects, we'll have the reason here\n    });\n    ```\n  \n    Simple Example\n    --------------\n  \n    Synchronous Example\n  \n    ```javascript\n    let result;\n  \n    try {\n      result = findResult();\n      // success\n    } catch(reason) {\n      // failure\n    }\n    ```\n  \n    Errback Example\n  \n    ```js\n    findResult(function(result, err){\n      if (err) {\n        // failure\n      } else {\n        // success\n      }\n    });\n    ```\n  \n    Promise Example;\n  \n    ```javascript\n    findResult().then(function(result){\n      // success\n    }, function(reason){\n      // failure\n    });\n    ```\n  \n    Advanced Example\n    --------------\n  \n    Synchronous Example\n  \n    ```javascript\n    let author, books;\n  \n    try {\n      author = findAuthor();\n      books  = findBooksByAuthor(author);\n      // success\n    } catch(reason) {\n      // failure\n    }\n    ```\n  \n    Errback Example\n  \n    ```js\n  \n    function foundBooks(books) {\n  \n    }\n  \n    function failure(reason) {\n  \n    }\n  \n    findAuthor(function(author, err){\n      if (err) {\n        failure(err);\n        // failure\n      } else {\n        try {\n          findBoooksByAuthor(author, function(books, err) {\n            if (err) {\n              failure(err);\n            } else {\n              try {\n                foundBooks(books);\n              } catch(reason) {\n                failure(reason);\n              }\n            }\n          });\n        } catch(error) {\n          failure(err);\n        }\n        // success\n      }\n    });\n    ```\n  \n    Promise Example;\n  \n    ```javascript\n    findAuthor().\n      then(findBooksByAuthor).\n      then(function(books){\n        // found books\n    }).catch(function(reason){\n      // something went wrong\n    });\n    ```\n  \n    @method then\n    @param {Function} onFulfilled\n    @param {Function} onRejected\n    Useful for tooling.\n    @return {Promise}\n  */\n  then: then,\n\n  /**\n    `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n    as the catch block of a try/catch statement.\n  \n    ```js\n    function findAuthor(){\n      throw new Error('couldn't find that author');\n    }\n  \n    // synchronous\n    try {\n      findAuthor();\n    } catch(reason) {\n      // something went wrong\n    }\n  \n    // async with promises\n    findAuthor().catch(function(reason){\n      // something went wrong\n    });\n    ```\n  \n    @method catch\n    @param {Function} onRejection\n    Useful for tooling.\n    @return {Promise}\n  */\n  'catch': function _catch(onRejection) {\n    return this.then(null, onRejection);\n  }\n};\n\nfunction polyfill() {\n    var local = undefined;\n\n    if (typeof __webpack_require__.g !== 'undefined') {\n        local = __webpack_require__.g;\n    } else if (typeof self !== 'undefined') {\n        local = self;\n    } else {\n        try {\n            local = Function('return this')();\n        } catch (e) {\n            throw new Error('polyfill failed because global object is unavailable in this environment');\n        }\n    }\n\n    var P = local.Promise;\n\n    if (P) {\n        var promiseToString = null;\n        try {\n            promiseToString = Object.prototype.toString.call(P.resolve());\n        } catch (e) {\n            // silently ignored\n        }\n\n        if (promiseToString === '[object Promise]' && !P.cast) {\n            return;\n        }\n    }\n\n    local.Promise = Promise;\n}\n\npolyfill();\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\n\nreturn Promise;\n\n})));\n//# sourceMappingURL=es6-promise.map\n\n//# sourceURL=webpack://born-sfra-reformation/./node_modules/es6-promise/dist/es6-promise.js?");
106
107/***/ }),
108
vendor: 1,738 bytes, lines 109-117
109/***/ "./node_modules/process/browser.js":
110/*!*****************************************!*\
111  !*** ./node_modules/process/browser.js ***!
112  \*****************************************/
113/***/ (function(module) {
114
115eval("// shim for using process in browser\n\nvar process = module.exports = {};\n\nprocess.nextTick = (function () {\n    var canSetImmediate = typeof window !== 'undefined'\n    && window.setImmediate;\n    var canPost = typeof window !== 'undefined'\n    && window.postMessage && window.addEventListener\n    ;\n\n    if (canSetImmediate) {\n        return function (f) { return window.setImmediate(f) };\n    }\n\n    if (canPost) {\n        var queue = [];\n        window.addEventListener('message', function (ev) {\n            var source = ev.source;\n            if ((source === window || source === null) && ev.data === 'process-tick') {\n                ev.stopPropagation();\n                if (queue.length > 0) {\n                    var fn = queue.shift();\n                    fn();\n                }\n            }\n        }, true);\n\n        return function nextTick(fn) {\n            queue.push(fn);\n            window.postMessage('process-tick', '*');\n        };\n    }\n\n    return function nextTick(fn) {\n        setTimeout(fn, 0);\n    };\n})();\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n}\n\n// TODO(shtylman)\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\n\n\n//# sourceURL=webpack://born-sfra-reformation/./node_modules/process/browser.js?");
116
117/***/ })
vendor: 3,942 bytes, lines 117-227
117,
118
119/***/ "jquery":
120/*!*************************!*\
121  !*** external "jQuery" ***!
122  \*************************/
123/***/ (function(module) {
124
125"use strict";
126module.exports = jQuery;
127
128/***/ }),
129
130/***/ "?3c4a":
131/*!***********************!*\
132  !*** vertx (ignored) ***!
133  \***********************/
134/***/ (function() {
135
136eval("/* (ignored) */\n\n//# sourceURL=webpack://born-sfra-reformation/vertx_(ignored)?");
137
138/***/ })
139
140/******/ 	});
141/************************************************************************/
142/******/ 	// The module cache
143/******/ 	var __webpack_module_cache__ = {};
144/******/ 	
145/******/ 	// The require function
146/******/ 	function __webpack_require__(moduleId) {
147/******/ 		// Check if module is in cache
148/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
149/******/ 		if (cachedModule !== undefined) {
150/******/ 			return cachedModule.exports;
151/******/ 		}
152/******/ 		// Create a new module (and put it into the cache)
153/******/ 		var module = __webpack_module_cache__[moduleId] = {
154/******/ 			// no module.id needed
155/******/ 			// no module.loaded needed
156/******/ 			exports: {}
157/******/ 		};
158/******/ 	
159/******/ 		// Execute the module function
160/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
161/******/ 	
162/******/ 		// Return the exports of the module
163/******/ 		return module.exports;
164/******/ 	}
165/******/ 	
166/************************************************************************/
167/******/ 	/* webpack/runtime/compat get default export */
168/******/ 	!function() {
169/******/ 		// getDefaultExport function for compatibility with non-harmony modules
170/******/ 		__webpack_require__.n = function(module) {
171/******/ 			var getter = module && module.__esModule ?
172/******/ 				function() { return module['default']; } :
173/******/ 				function() { return module; };
174/******/ 			__webpack_require__.d(getter, { a: getter });
175/******/ 			return getter;
176/******/ 		};
177/******/ 	}();
178/******/ 	
179/******/ 	/* webpack/runtime/define property getters */
180/******/ 	!function() {
181/******/ 		// define getter functions for harmony exports
182/******/ 		__webpack_require__.d = function(exports, definition) {
183/******/ 			for(var key in definition) {
184/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
185/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
186/******/ 				}
187/******/ 			}
188/******/ 		};
189/******/ 	}();
190/******/ 	
191/******/ 	/* webpack/runtime/global */
192/******/ 	!function() {
193/******/ 		__webpack_require__.g = (function() {
194/******/ 			if (typeof globalThis === 'object') return globalThis;
195/******/ 			try {
196/******/ 				return this || new Function('return this')();
197/******/ 			} catch (e) {
198/******/ 				if (typeof window === 'object') return window;
199/******/ 			}
200/******/ 		})();
201/******/ 	}();
202/******/ 	
203/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
204/******/ 	!function() {
205/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
206/******/ 	}();
207/******/ 	
208/******/ 	/* webpack/runtime/make namespace object */
209/******/ 	!function() {
210/******/ 		// define __esModule on exports
211/******/ 		__webpack_require__.r = function(exports) {
212/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
213/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
214/******/ 			}
215/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
216/******/ 		};
217/******/ 	}();
218/******/ 	
219/************************************************************************/
220/******/ 	
221/******/ 	// startup
222/******/ 	// Load entry module and return exports
223/******/ 	// This entry module can't be inlined because the eval devtool is used.
224/******/ 	var __webpack_exports__ = __webpack_require__("./cartridges/int_braze/cartridge/client/default/js/braze.js");
225/******/ 	
226/******/ })()
227;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.