{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./app/javascript/ajax.js","webpack:///./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack:///./app/javascript/postcard_videos.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/regenerator-runtime/runtime.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","send","method","path","data","Promise","resolve","reject","request","type","url","console","log","JSON","stringify","success","response","error","Rails","ajax","err","window","clearUser","then","getUser","a","user_email","setUser","encodeURIComponent","_typeof","iterator","obj","constructor","this","linkClickSelector","buttonClickSelector","selector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","fileInputSelector","linkDisableSelector","buttonDisableSelector","nonce","loadCSPNonce","ref","document","querySelector","content","cspNonce","Element","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","element","getData","setData","$","Array","slice","querySelectorAll","csrfParam","csrfToken","meta","CSRFProtection","xhr","token","setRequestHeader","refreshCSRFTokens","param","forEach","input","CustomEvent","fire","preventDefault","event","params","evt","createEvent","initCustomEvent","bubbles","cancelable","detail","Event","result","defaultPrevented","dispatchEvent","stopEverything","e","target","stopPropagation","stopImmediatePropagation","delegate","eventType","handler","addEventListener","parentNode","AcceptHeaders","createXHR","prepareOptions","processResponse","text","html","xml","json","script","options","responseText","getResponseHeader","Math","floor","status","statusText","complete","beforeSend","readyState","XMLHttpRequest","OPENED","location","href","toUpperCase","indexOf","dataType","accept","done","open","crossDomain","withCredentials","onreadystatechange","DONE","parser","match","parse","createElement","setAttribute","head","appendChild","removeChild","DOMParser","replace","parseFromString","isCrossDomain","originAnchor","urlAnchor","protocol","host","toArray","serializeElement","additionalParam","inputs","elements","disabled","option","selected","push","checked","map","join","formElements","form","filter","el","allowAction","handleConfirm","confirm","message","answer","callback","getAttribute","disableFormElement","disableFormElements","disableLinkElement","enableFormElement","enableFormElements","enableLinkElement","isXhrRedirect","handleDisabledElement","enableElement","disableElement","replacement","innerHTML","originalText","removeEventListener","handleMethod","formContent","action","style","display","body","click","isRemote","handleRemote","button","enctype","FormData","append","args","arguments","length","formSubmitButtonClick","formNoValidate","preventInsignificantClick","insignificantMetaClick","metaKey","ctrlKey","jQuery","rails","Error","ajaxPrefilter","originalOptions","start","_rails_loaded","setTimeout","getElementById","_location","age","kid_reason_dropdown","adult_reason_dropdown","email","agree","postcard_video","replay_video","watcher_overlay","first_time","classList","add","remove","webkitExitFullscreen","mozCancelFullscreen","exitCancelFullscreen","hash","adjust_background","create_video_button","pass","show_email","check_values","submit_video","progress","timer","start_video_process","checkVideo","age_select","updateListType","reason_tag","split","includes","name_text","location_dropdown","base_path","location_video","kid_reason_video","adult_reason_video","kid_reason","selectedIndex","adult_reason","reason","reason_video","list","this_email","this_sub","this_sub_string","ready","Turbolinks","visit","id_token","setInterval","checkForVideo","clearInterval","video_background","video_box","height","offsetHeight","offsetWidth","video_watch_div","width","updateReasons","play","fbButton","recordShare","twButton","cpButton","copyText","copyDiv","select","setSelectionRange","execCommand","alert","webpackPolyfill","deprecate","paths","children","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","state","arg","doneResult","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","makeInvokeMethod","fn","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","toString","keys","reverse","pop","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function"],"mappings":"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","file":"js/postcard_videos-07ccc6750e6ec696cb50.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 50);\n","module.exports = require(\"regenerator-runtime\");\n","import Rails from '@rails/ujs';\n\nexport function send(method, path, data = null) {\n return new Promise((resolve, reject) => {\n try {\n const request = {\n type: method,\n url: path,\n data: data\n };\n console.log(`sending request: ${JSON.stringify(request)}`);\n request.success = (response) => {\n console.log(`received response to ${method} ${path}: ${JSON.stringify(response)}`);\n resolve(response);\n };\n request.error = (response) => {\n console.log(`received error response to ${method} ${path}: ${JSON.stringify(response)}`);\n reject(response);\n };\n Rails.ajax(request);\n }\n catch (err) {\n console.log(`client-side error for ${method} ${path}: ${err}`);\n reject(err);\n }\n });\n}\n\n// For test/debug:\nwindow.clearUser = () => send(\"POST\", \"/santa/clear_user\").then(() => { console.log('OK'); }).catch(err => { console.log(err); });\nwindow.getUser = async () => { try { const {user_email} = await send(\"GET\", \"/santa/get_user\"); console.log(`logged in: ${user_email}`); } catch(err) {console.log(err); } };\nwindow.setUser = (user_email) => send(\"POST\", \"/santa/set_user\", `user_email=${encodeURIComponent(user_email)}`).then(() => { console.log('OK'); }).catch(err => { console.log(err); });\n","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); }\n\n/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/master/actionview/app/assets/javascripts\nReleased under the MIT license\n */\n;\n(function () {\n var context = this;\n (function () {\n (function () {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form',\n formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n }).call(this);\n }).call(context);\n var Rails = context.Rails;\n (function () {\n (function () {\n var nonce;\n nonce = null;\n\n Rails.loadCSPNonce = function () {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function () {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n }).call(this);\n (function () {\n var expando, m;\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function (element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function (element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function (element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n\n return element[expando][key] = value;\n };\n\n Rails.$ = function (selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n }).call(this);\n (function () {\n var $, csrfParam, csrfToken;\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function (xhr) {\n var token;\n token = csrfToken();\n\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function () {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n\n if (token != null && param != null) {\n return $('form input[name=\"' + param + '\"]').forEach(function (input) {\n return input.value = token;\n });\n }\n };\n }).call(this);\n (function () {\n var CustomEvent, fire, matches, preventDefault;\n matches = Rails.matches;\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function CustomEvent(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n\n CustomEvent.prototype.preventDefault = function () {\n var result;\n result = preventDefault.call(this);\n\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function get() {\n return true;\n }\n });\n }\n\n return result;\n };\n }\n\n fire = Rails.fire = function (obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function (e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function (element, selector, eventType, handler) {\n return element.addEventListener(eventType, function (e) {\n var target;\n target = e.target;\n\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n }).call(this);\n (function () {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function (options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function () {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n\n if (options.beforeSend != null && !options.beforeSend(xhr, options)) {\n return false;\n }\n\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function prepareOptions(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n\n options.accept = AcceptHeaders[options.dataType];\n\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n\n return options;\n };\n\n createXHR = function createXHR(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n CSRFProtection(xhr);\n xhr.withCredentials = !!options.withCredentials;\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n\n return xhr;\n };\n\n processResponse = function processResponse(response, type) {\n var parser, script;\n\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n\n return response;\n };\n\n Rails.href = function (element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function (url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host || originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host);\n } catch (error) {\n e = error;\n return true;\n }\n };\n }).call(this);\n (function () {\n var matches, toArray;\n matches = Rails.matches;\n\n toArray = function toArray(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function (element, additionalParam) {\n var inputs, params;\n inputs = [element];\n\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n\n params = [];\n inputs.forEach(function (input) {\n if (!input.name || input.disabled) {\n return;\n }\n\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function (option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n\n if (additionalParam) {\n params.push(additionalParam);\n }\n\n return params.map(function (param) {\n if (param.name != null) {\n return encodeURIComponent(param.name) + \"=\" + encodeURIComponent(param.value);\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function (form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function (el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n }).call(this);\n (function () {\n var allowAction, fire, stopEverything;\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function (e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function (message, element) {\n return confirm(message);\n };\n\n allowAction = function allowAction(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n\n if (!message) {\n return true;\n }\n\n answer = false;\n\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n\n callback = fire(element, 'confirm:complete', [answer]);\n }\n\n return answer && callback;\n };\n }).call(this);\n (function () {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function (e) {\n var element;\n element = this;\n\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function (e) {\n var element;\n\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n\n element = e.target;\n } else {\n element = e;\n }\n\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function disableLinkElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function enableLinkElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function disableFormElements(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function disableFormElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function enableFormElements(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function enableFormElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n\n setData(element, 'ujs:enable-with', null);\n }\n\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function isXhrRedirect(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n }).call(this);\n (function () {\n var stopEverything;\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function (e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n\n if (!method) {\n return;\n }\n\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n\n if (csrfParam != null && csrfToken != null && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n }).call(this);\n (function () {\n var ajax,\n fire,\n getData,\n isCrossDomain,\n isRemote,\n matches,\n serializeElement,\n setData,\n stopEverything,\n slice = [].slice;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function isRemote(element) {\n var value;\n value = element.getAttribute('data-remote');\n return value != null && value !== 'false';\n };\n\n Rails.handleRemote = function (e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n\n if (!isRemote(element)) {\n return true;\n }\n\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function beforeSend(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function success() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function error() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function complete() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function (e) {\n var button, form;\n button = this;\n form = button.form;\n\n if (!form) {\n return;\n }\n\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function (e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = e.button != null && e.button !== 0;\n\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n }).call(this);\n (function () {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if (typeof jQuery !== \"undefined\" && jQuery !== null && jQuery.ajax != null) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function () {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n\n window.addEventListener('pageshow', function () {\n $(Rails.formEnableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function (e) {\n return setTimeout(function () {\n return disableElement(e);\n }, 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n }).call(this);\n }).call(this);\n\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);","import {send} from 'ajax';\n\nconst name = document.getElementById('name');\nconst _location = document.getElementById('location');\nconst age = document.getElementById('age');\nconst kid_reason_dropdown = document.getElementById('kid_reasons');\nconst adult_reason_dropdown = document.getElementById('adult_reasons');\nconst email = document.getElementById('email');\nconst agree = document.getElementById('agree');\nconst postcard_video = document.getElementById('watch_video');\nconst replay_video = document.getElementById('replay_video');\nconst watcher_overlay = document.getElementById('watcher_overlay');\n\nvar first_time = true;\n\nif (watcher_overlay) {\n watcher_overlay.addEventListener('click', (event) => {\n watcher_overlay.classList.add('hidden');\n document.getElementById('video_overlay').classList.remove('on_display');\n document.getElementById('abs_pointer').classList = 'hidden';\n document.getElementById('abs_pointer_share').classList = 'hidden';\n });\n}\n\nif (postcard_video) {\n /*window.onscroll = function () {\n setTimeout( function(){\n watcher_overlay.classList.add('hidden');\n document.getElementById('video_overlay').classList.remove('on_display');\n document.getElementById('abs_pointer').classList = 'hidden'\n document.getElementById('abs_pointer_share').classList = 'hidden';\n }, 300);\n }*/\n if (document.getElementById('i_am_viewer')) {\n postcard_video.addEventListener('ended', (event) => {\n console.log('ended');\n try {\n document.webkitExitFullscreen();\n }\n catch(err) {}\n try {\n document.mozCancelFullscreen();\n }\n catch(err) {}\n try {\n document.exitCancelFullscreen();\n }\n catch(err) {}\n\n setTimeout( function() {\n var ov = document.getElementById('overlay_video_div');\n //ov.style.width = postcard_video.offsetWidth + 'px';\n //ov.style.height = postcard_video.offsetHeight + 'px';\n ov.classList.remove('hidden');\n }, 200);\n if (first_time) { \n setTimeout( function() {\n document.getElementById('watcher_overlay').classList.remove('hidden');\n document.getElementById('video_overlay').classList.add('on_display');\n document.getElementById('abs_pointer').classList.remove('hidden');\n }, 400);\n first_time = false;\n }\n });\n }\n else {\n postcard_video.addEventListener('ended', (event) => {\n console.log('ended');\n try {\n document.webkitExitFullscreen();\n }\n catch(err) {}\n try {\n document.mozCancelFullscreen();\n }\n catch(err) {}\n try {\n document.exitCancelFullscreen();\n }\n catch(err) {}\n\n if (first_time) { \n setTimeout( function() {\n window.location.hash = '#watch_video';\n document.getElementById('watcher_overlay').classList.remove('hidden');\n document.getElementById('abs_pointer_share').classList.remove('hidden');\n }, 200);\n first_time = false;\n }\n });\n }\n}\n\n// keep background sizing in line\nadjust_background();\nwindow.addEventListener('resize', adjust_background, true);\n\nlet create_video_button = document.getElementById('create_video_button');\nif (create_video_button) {\n create_video_button.addEventListener('click',function(e) { e.preventDefault(); start_video_process();});\n}\n\nconst age_select = document.getElementById('age');\nif (age_select) {\n age_select.addEventListener('change', function(e) { updateReasons( this.value) });\n}\n\nif (kid_reason_dropdown) {\n kid_reason_dropdown.addEventListener('change', function(e) { updateListType() });\n adult_reason_dropdown.addEventListener('change', function(e) { updateListType() });\n}\n\nif (_location) {\n _location.addEventListener('change', function(e) { _location.classList=''; });\n}\n\nif (name) {\n name.addEventListener('change', function(e) { name.classList=''; });\n}\n \nif (email) {\n email.addEventListener('change', function(e) { email.classList=''; });\n}\n\nif (agree) {\n agree.addEventListener('change', function(e) { agree.classList='video'; });\n}\n\nif (postcard_video) {\n postcard_video.addEventListener('play', (event) => {\n console.log('play triggered');\n setTimeout(function(){postcard_video.classList = 'after_play';}, 500);\n });\n}\n\nfunction updateListType() {\n\n kid_reason_dropdown.classList.remove('error');\n adult_reason_dropdown.classList.remove('error');\n\n var reason_tag;\n\n if (isKid()) {\n reason_tag = kid_reason_dropdown.value.split('|')[1];\n }\n else {\n reason_tag = adult_reason_dropdown.value.split('|')[1];\n }\n \n if ((reason_tag||'').includes('nice')) {\n document.getElementById('list_type').value = 'good';\n document.getElementById('list_type_div').classList = '';\n adjust_background();\n }\n else {\n if ((reason_tag||'').includes('naughty')) {\n document.getElementById('list_type').value = 'naughty';\n document.getElementById('list_type_div').classList = '';\n adjust_background();\n }\n else {\n // default to good if no selection\n document.getElementById('list_type').value = 'good';\n document.getElementById('list_type_div').classList = 'hidden';\n adjust_background();\n }\n }\n \n}\n\nfunction isKid(){\n return age_select.value == 'kid';\n} \n\nfunction updateReasons(age) {\n if (age == 'kid') {\n kid_reason_dropdown.classList = '';\n adult_reason_dropdown.classList = 'hidden';\n }\n else {\n kid_reason_dropdown.classList = 'hidden';\n adult_reason_dropdown.classList = '';\n }\n updateListType();\n \n}\n\nfunction check_values(){\n let pass = true;\n\n if (name.value == '') {\n name.classList.add('error');\n pass = false;\n }\n else {\n name.classList.remove('error');\n }\n\n let show_email = document.getElementById('show_email');\n if (show_email && show_email.innerHTML == 'yes') { \n if (email.value == '') {\n email.classList.add('error');\n pass = false;\n }\n else {\n email.classList.remove('error');\n }\n }\n\n if (!agree.checked) {\n agree.classList.add('error');\n pass = false;\n }\n else {\n agree.classList.remove('error');\n }\n\n if (_location.value == '') {\n _location.classList.add('error');\n pass = false;\n }\n else {\n _location.classList.remove('error');\n }\n\n if (age.value == 'kid' && kid_reason_dropdown.value == '') {\n kid_reason_dropdown.classList.add('error');\n pass = false;\n }\n else {\n kid_reason_dropdown.classList.remove('error');\n }\n \n if (age.value == 'adult' && adult_reason_dropdown.value == '') {\n adult_reason_dropdown.classList.add('error');\n pass = false;\n }\n else {\n adult_reason_dropdown.classList.remove('error');\n }\n\n return pass;\n}\n\nfunction start_video_process() {\n if (check_values() ) {\n submit_video();\n let progress = document.getElementById('progress');\n document.getElementById('video_loading').classList.remove('hidden');\n var timer = 5000;\n setTimeout( function(){progress.innerHTML = \"He's getting out his book of naughty or nice\"; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = 'The elves are setting up his video camera'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = 'Mrs. Claus stopped by to give him a cookie'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = 'Your video will be ready soon!'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = 'It will be here faster than the 12 Days of Christmas!'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = '12 Drummers Drumming'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = '11 Pipers Piping'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = '10 Lords a Leaping'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = '9 Ladies Dancing'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = '8 Maids a Milking'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = '7 Swans a Swimming'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = '6 Geese a Laying'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = '5 Golden Rings!'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = '4 Calling Birds'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = '3 French Hens'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = '2 Turtle Doves'; }, timer);\n timer = timer + 5000;\n setTimeout( function(){progress.innerHTML = 'And a Partridge in a Pear Tree!'; }, timer);\n }\n}\n\nvar checkVideo;\n\nasync function submit_video() {\n // disable page and start loading process\n // trigger creation of the video\n let name_text = document.getElementById('name');\n let location_dropdown = document.getElementById('location');\n let age = age_select.value; \n \n let base_path = 's3://tfsphoto/uploads/video_clip/video/';\n let name = name_text.value;\n let location_video = base_path + location_dropdown.value;\n let kid_reason_video = base_path + kid_reason_dropdown.value.split('|')[0];\n let adult_reason_video = base_path + adult_reason_dropdown.value.split('|')[0];\n let kid_reason = kid_reason_dropdown.options[kid_reason_dropdown.selectedIndex].text;\n let adult_reason = adult_reason_dropdown.options[adult_reason_dropdown.selectedIndex].text;\n let reason = age == 'kid' ? kid_reason : adult_reason;\n let reason_video = age == 'kid' ? kid_reason_video : adult_reason_video;\n let list = document.getElementById('list_type').value;\n let this_email = email.value;\n \n\n const data = await send(\"POST\", \"/api/process_postcard_video\",`name=${name}&location_video=${location_video}&reason_video=${reason_video}&reason=${reason}&age=${age}&list=${list}&email=${this_email}`);\n\n let this_sub = document.getElementById('sub');\n let this_sub_string = this_sub ? this_sub.innerHTML : ''\n \n if (!data) { \n console.log('Error! Need to handle this!');\n }\n else {\n if (data.ready == 'yes') {\n Turbolinks.visit('/santa-video/watch_video?v=' + data.id_token + '&sub=' + this_sub_string);\n }\n else {\n checkVideo = setInterval(function(){checkForVideo(data.id_token)}, 5000);\n }\n }\n}\n\nasync function checkForVideo(id_token){\n let this_sub = document.getElementById('sub');\n let this_sub_string = this_sub ? this_sub.innerHTML : ''\n const data = await send(\"GET\", \"/api/video_ready?id_token=\" + id_token + \"&sub=\" + this_sub_string);\n if (data && data != '') {\n console.log('done!');\n clearInterval(checkVideo);\n Turbolinks.visit('/santa-video/watch_video?v=' + id_token + '&sub=' + this_sub_string);\n }\n else {\n console.log('data is: ' + data);\n }\n}\n\nfunction adjust_background() {\n let video_background = document.getElementById('video_background_one');\n if (video_background) {\n let video_box = document.getElementById('video_box');\n video_background.style.height = (video_box.offsetHeight + 30) + 'px';\n let width_diff = video_background.offsetWidth - video_box.offsetWidth;\n if (width_diff > 0) {\n //video_box.style.marginLeft = (width_diff/2)+ 'px';\n }\n }\n \n let video_watch_div = document.getElementById('video_box_watch_video');\n if (video_watch_div) {\n console.log('adjusting width to ' + video_watch_div.offsetWidth );\n document.getElementById('video_box_inner_watch').style.width = (video_watch_div.offsetWidth - 30) + 'px';\n }\n}\n\nif (replay_video) {\n replay_video.addEventListener('click', (event) => {\n var ov = document.getElementById('overlay_video_div');\n ov.classList.add('hidden');\n postcard_video.play();\n });\n}\n \n/* Video sharing */\nvar fbButton = document.getElementById('clickFBButton');\nif (fbButton) {\n fbButton.addEventListener('click', (event) => {\n recordShare();\n document.querySelector('.ba-commoncss-icon-facebook').click();\n });\n}\n\nvar twButton = document.getElementById('clickTWButton');\nif (twButton) {\n twButton.addEventListener('click', (event) => {\n document.querySelector('.ba-commoncss-icon-twitter').click();\n });\n}\n\nvar cpButton = document.getElementById('copyURL');\nif (cpButton) {\n cpButton.addEventListener('click', (event) => {\n copy_to_clipboard(); \n });\n}\n\nfunction copy_to_clipboard() {\n /* Get the text field */\n var copyText = document.getElementById(\"url_public_id\");\n var copyDiv = document.getElementById(\"dontshowme\");\n copyDiv.classList.remove('hidden');\n\n /* Select the text field */\n copyText.select();\n copyText.setSelectionRange(0, 99999); /*For mobile devices*/\n\n /* Copy the text inside the text field */\n document.execCommand(\"copy\");\n\n copyDiv.classList.add('hidden');\n /* Alert the copied text */\n alert(\"Copied!\");\n}\n\n\nexport async function recordShare(){\n try {\n let link_url = \"/santa/hit?path=fb_share\"; \n const hitr = await send(\"GET\", link_url);\n }\n catch (err) {\n console.log('hit page testing err: ' + err);\n }\n}\n\n","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n"],"sourceRoot":""}