{"version":3,"file":"validation.min.js?v=873007f2b9c4d5b898e3","mappings":"yGAEC,IAAUA,KAFHC,EAAQ,QAGVC,UAAUC,YAAYC,SAASC,QAAQ,eAEzCL,EAAEE,UAAUI,UAAU,eAAe,SAAUC,EAAOC,EAASC,GAC3D,OAAOD,EAAQE,OACnB,IAIAV,EAAEE,UAAUC,YAAYC,SAASO,IAAI,iBAAkB,CAAC,YAAa,eACjE,SAAUC,GACNA,EAAQC,MAAsB,eAAI,CAC9BC,cAAeF,EAAQH,OAAOM,UAC9BC,WAA0C,SAA9BJ,EAAQH,OAAOQ,YAE/BL,EAAQM,SAAyB,eAAIN,EAAQO,OACjD,IAGJnB,EAAEE,UAAUI,UAAU,kBAAkB,SAAUC,EAAOC,EAASC,GAK9D,IAkEsBW,EAlElBC,GAkEkBD,EAlEapB,EAAEQ,GAASc,KAAK,OAmEpCC,OAAO,EAAGH,EAAQI,YAAY,KAAO,GA5DhDC,EAoBR,SAAsBjB,GAClB,IACIkB,EAAQ1B,EAAEQ,GASd,OALIkB,EAAMC,GAAG,cAAuC,UAAvBD,EAAMC,GAAG,UAC1BD,EAAMJ,KAAK,WAAa,OAAS,QAEjCI,EAAME,KAGtB,CAhCyBC,CAFA7B,EAAE,IAAMqB,EAAcZ,EAAOK,gBAmBlD,OAZAP,EAAQP,EAAE8B,KAAKvB,GACfkB,EAAiBzB,EAAE8B,KAAKL,GAGpBhB,EAAOO,aACPT,EAAQA,EAAMwB,cACdN,EAAiBA,EAAeM,eAItBxB,IAAUkB,CAG5B,IAeAzB,EAAEE,UAAUC,YAAYC,SAASO,IAAI,eAAgB,CAAC,iBAClD,SAASC,GACLA,EAAQC,MAAoB,aAAI,CAC5BmB,SAAUpB,EAAQH,OAAOwB,cAE7BrB,EAAQM,SAAuB,aAAIN,EAAQO,OAC/C,IACJnB,EAAEE,UAAUI,UAAU,gBAAgB,SAAUC,EAAOC,EAASC,GAC5D,IAIIyB,EAHJ,MAD4D,UAIxDA,EAAkB,QAEtBlC,EAAE,eAN6CQ,EAMzB2B,KAAO,MAAMC,MAAK,WAEpC,GAAkB,SADFC,KAAK3B,QAAU,OAAS,SAIpC,OAFAwB,EAAkB,QAEX,CAEf,IACOA,EAZX,G,wBCvEJ,IAAIlC,EAAIC,EAAQ,OACZqC,EAAKrC,EAAQ,OACjBA,EAAQ,OAERD,GAAE,WACE,IAAIuC,EACAC,EACAC,EAAuB,UACvBC,EAAmB,GACnBC,EAAQ,EACRC,GAAa,EA2HjB,SAASC,EAAeC,GACpB,OAAO9C,EAAE8C,GAAMC,KAAK,oBAAoBC,QAAUhD,EAAE8C,GAAMC,KAAK,8BAA8BC,MACjG,CAEA,SAASC,IACL,IAAIC,EAAWlD,EAAE,uCAAuCmD,SAASA,SACjE,GAAID,EAASF,OAAQ,CACjB,IAAII,EAAepD,EAAE,QAAQqD,SAASC,IAClCC,EAASvD,EAAEwD,QAAQC,YAAcL,EAIjCG,EAHWL,EAASG,SAASC,KAI7BJ,EAASQ,IAAI,CAAE,IAAOH,EAAS,OAInCZ,EACY,KACRgB,IAEAhB,EAAQ,EAEhB,CACJ,CAEA,SAASgB,IACLC,cAAclB,EAClB,CAmBA,SAASmB,EAAoBC,EAAaC,GACxB/D,EAAE8D,GAAaf,KAAKN,GAE7BnB,KAAK,WAAYyC,GACjBC,YAAY,mBAAoBD,EACzC,CAuBA,SAASE,EAA8BnB,GACnC,IAAIoB,EAA6B,GAC7BC,EAAmBnE,EAAE,wBAMzB,GAJImE,EAAiBnB,OAAS,IAC1BkB,EAA6BC,EAAiBC,QAAQC,KAAK,kBAG1DH,EAAL,CAIA,IAAII,EAAY,+BACZC,EAAQvE,EAAE8C,GACV0B,EAAsBD,EAAMxB,KAAK,eAAiBuB,EAAY,MAE9DE,EAAoBxB,OAAS,IAC7BwB,EAAsBxE,EAAE,8BAAgCsE,EAAY,QACpEC,EAAME,OAAOD,IAGjBA,EAAoB5C,IAAIsC,EAXxB,CAYJ,CA1NAlE,EAAEE,UAAUwE,YAAY,CACpBC,OAAQrC,EAAGsC,qBAAuB,IAAM,yFACxCC,QAAS,SAAUrE,GAMuB,WAAlCA,EAAQsE,QAAQ/C,eAA8BvB,EAAQ2B,QAAQE,KAAK0C,WACnE1C,KAAK7B,QAAQA,EAErB,EACAwE,UAAW,SAAUxE,GACjBR,EAAEQ,GAASyE,QAAQ,sBAAsBC,SAAS,kCAC7CrC,EAAerC,EAAQsC,OACxBe,EAAoBrD,EAAQsC,MAAM,EAE1C,EACAqC,YAAa,SAAU3E,GACnB,IAAI4E,EAAiBpF,EAAEQ,GAASyE,QAAQ,uBAwMhD,SAA8BzE,GAEtBR,EAAEQ,GAAS6E,WAAW,mBAE9B,CA3MQC,CAAqB9E,GACrB4E,EAAeG,YAAY,kCAEtB1C,EAAerC,EAAQsC,OAkKpC,SAA2BgB,GACvB,IAAK9D,EAAE8D,GAAa0B,SAAS,0BAA2B,CACpD,IAAItF,EAAYF,EAAE8D,GAAa2B,WAE3BvF,GAEA2D,EAAoBC,GADR5D,EAAUwF,YAG9B,CACJ,CA1KYC,CAAkBnF,EAAQsC,MAI9B,IAAI8C,EAAY5F,EAAEQ,GACdoF,EAAUJ,SAAS,4BAGXI,EAAUjE,GAAG,qBACbiE,EAAUjE,GAAG,uBACbiE,EAAUjE,GAAG,oBACbiE,EAAUjE,GAAG,sBACbiE,EAAUjE,GAAG,cAEjBiE,EAAUhE,MAAMoB,MAI5B,EACA6C,aAAc,IACdC,WAAY,mCACZC,eAAgB,SAAUC,EAAOxF,GACzBA,EAAQ2C,OAAO,sBAAsBH,OACrCgD,EAAMC,YAAYzF,EAAQ2C,UAE1B6C,EAAMC,YAAYzF,EAE1B,EACA0F,cAAc,EACdC,QAAS,SAAU3F,EAAS4F,GAEpBvD,EAAerC,EAAQsC,OAuBP,IAAhBsD,EAAMC,OAA8C,KAA/BhE,KAAKiE,aAAa9F,KAA+D,IAA5CR,EAAEuG,QAAQH,EAAMI,QAL3D,CACf,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxB,GAAI,GAAI,GAAI,GAAI,IAAK,QAKdhG,EAAQ2B,QAAQE,KAAK0C,WAAavE,EAAQ2B,QAAQE,KAAKoE,UAC9DpE,KAAK7B,QAAQA,EAErB,EACAkG,cAAe,SAAU5D,GAErB,IAAI6D,GADJnE,EAAgBxC,EAAEqC,KAAKuE,eACcC,KAAK,kBAC1C,GAAIjE,QAAmCkE,IAArBH,EAEd,OADA/D,GAAa,GACN,EAWX,GATAA,GAAa,EACbmE,uBAAsB,WAmF9B,IAA6BjD,EAAaC,EAClCiD,EACAC,EAnFIjH,EAAE8C,GAAMC,KAAK,oBAAoB8D,KAAK,eAAe,GACrDhE,EAAeC,IAgFeiB,GAhFmB,EAiFrDiD,EAAUhH,EADW8D,EAhF0BhB,GAiFtBC,KAAKN,GAC9BwE,EAAoBjH,EAAE8D,GAAaO,KAAK,qBAE5C2C,EACK1F,KAAK,WAAYyC,GACjBmD,OAAO,gBAADC,OAAiBF,EAAiB,OACxCjD,YAAY,kBAAmBD,IAvF6BF,EAAoBf,GAAM,EACvF,IAEAN,EAAgBxC,EAAEqC,KAAKuE,mBAEEE,IAArBH,EAGA,OAFA1C,EAA8BnB,GAC9BF,GAAa,GACN,EAIX,MADAL,EAAqBvC,EAAE8C,GAAMC,KAAK,4BACXC,OAAS,GAA2B,oBAAfoE,YASxC,OAFAnD,EAA8BnB,GAC9BF,GAAa,GACN,EARP,IAAIyE,EAAoBrH,EAAE8C,GAAMuB,KAAK,qBACrC+C,WAAWE,QAAQD,GAGnB3E,EAAmB6E,YAAYtE,EAAgB,GAMvD,IAiCJO,OAAOgE,kBAAoB,SAAUC,GACjC9D,IACAf,GAAa,EAET6E,IACAlF,EAAmBX,IAAI6F,GAKvBjF,EACKlB,KAAK,YAAY,GACjBuF,KAAK,iBAAkB,kBACvBa,QAEb,CA0DJ,G,wBCjPAzH,EAAQ,OACRA,EAAQ,OACRA,EAAQ,MACRA,EAAQ,K","sources":["webpack://ui-toolkit/./scripts/custom-validators.js","webpack://ui-toolkit/./scripts/jquery-validation-init.js","webpack://ui-toolkit/./scripts/validation.js"],"sourcesContent":["var $ = require('jquery');\r\n\r\n(function ($) {\r\n $.validator.unobtrusive.adapters.addBool(\"enforcetrue\");\r\n\r\n $.validator.addMethod(\"enforcetrue\", function (value, element, params) {\r\n return element.checked;\r\n });\r\n\r\n //Add an adapter for our validator. This maps the data from the ModelClientValidationCompareStringsRule\r\n //we defined above, to the validation framework. Make sure to use the same name as we chose for the ValidationType property (\"comparestrings\")\r\n $.validator.unobtrusive.adapters.add(\"comparestrings\", [\"otherprop\", \"ignorecase\"],\r\n function (options) {\r\n options.rules[\"comparestrings\"] = {\r\n otherPropName: options.params.otherprop,\r\n ignoreCase: options.params.ignorecase === \"true\"\r\n };\r\n options.messages[\"comparestrings\"] = options.message;\r\n });\r\n\r\n //Add the method, again using the \"comparestrings\" name, that actually performs the client-side validation to the page's validator\r\n $.validator.addMethod(\"comparestrings\", function (value, element, params) {\r\n //element is the element we are validating and value is its value\r\n\r\n //Get the MVC-generated prefix of element\r\n //(E.G. \"MyViewModel_\" from id=\"MyViewModel_CompareEmail\"\r\n var modelPrefix = getModelIDPrefix($(element).prop(\"id\"));\r\n\r\n //otherPropName is just the name of the property but we need to find\r\n //its associated element to get its value. So concatenate element's\r\n //modelPrefix with the other property name to get the full MVC-generated ID. If your elements use your own, overridden IDs, you'd have to make some modifications to allow this code to find them.\r\n var $otherPropElem = $(\"#\" + modelPrefix + params.otherPropName);\r\n\r\n var otherPropValue = getElemValue($otherPropElem);\r\n\r\n //Note: Logic for comparing strings needs to match what it does on the server side\r\n\r\n //Trim values\r\n value = $.trim(value);\r\n otherPropValue = $.trim(otherPropValue);\r\n\r\n //If ignoring case, lower both values\r\n if (params.ignoreCase) {\r\n value = value.toLowerCase();\r\n otherPropValue = otherPropValue.toLowerCase();\r\n }\r\n\r\n //compare the values\r\n var isMatch = value === otherPropValue;\r\n\r\n return isMatch;\r\n });\r\n\r\n function getElemValue(element) {\r\n var value;\r\n var $elem = $(element);\r\n\r\n //Probably wouldn't use checkboxes or radio buttons with\r\n //comparestrings, but this method can be used for other validators too\r\n if ($elem.is(\":checkbox\") || $elem.is(\":radio\") === \"radio\")\r\n value = $elem.prop(\"checked\") ? \"true\" : \"false\";\r\n else\r\n value = $elem.val();\r\n\r\n return value;\r\n }\r\n $.validator.unobtrusive.adapters.add(\"checkboxtrue\", [\"propertyname\"],\r\n function(options) {\r\n options.rules[\"checkboxtrue\"] = {\r\n propName: options.params.propertyname\r\n };\r\n options.messages[\"checkboxtrue\"] = options.message;\r\n });\r\n $.validator.addMethod(\"checkboxtrue\", function (value, element, params) {\r\n var isCheckedTrue = (checkCheckBoxGroupOneTrue(element) === \"true\");\r\n return isCheckedTrue;\r\n });\r\n function checkCheckBoxGroupOneTrue(el) {\r\n var anyboxeschecked = \"false\";\r\n //check for inputs with the name which the validator has been attached too.\r\n $('input[name=\"' + el.name + '\"]').each(function () {\r\n var isChecked = this.checked ? \"true\" : \"false\";\r\n if (isChecked === \"true\") {\r\n anyboxeschecked = \"true\";\r\n //return false to break out of loop\r\n return false;\r\n }\r\n });\r\n return anyboxeschecked;\r\n }\r\n //Gets the MVC-generated prefix for a field by returning the given string\r\n //up to and including the last underscore character\r\n function getModelIDPrefix(fieldID) {\r\n return fieldID.substr(0, fieldID.lastIndexOf(\"_\") + 1);\r\n }\r\n}($));","/*\r\n * These form validator settings could be simplified once we fully switch over to custom forms. \r\n * See references to the function isCustomForm for those opportunities.\r\n */\r\n\r\nvar $ = require('jquery');\r\nvar WS = require('./ws');\r\nrequire('jquery-validation');\r\n\r\n$(function () {\r\n var $recaptchaResponse;\r\n var $submitButton;\r\n var submitButtonSelector = \":submit\";\r\n var iframeIntervalId = \"\";\r\n var count = 0;\r\n var submitting = false;\r\n\r\n $.validator.setDefaults({\r\n ignore: WS.isExperienceEditor() ? '*' : ':hidden:not([name=\"RecaptchaResponse\"]), .hidden, .ws-form__element--ignore-validation',\r\n onclick: function (element) {\r\n // this custom onclick method prevents select elements from immediately being validated\r\n // as soon as the user clicks on them. this was causing an error to appear when a required\r\n // select was first clicked. ideally, we'd want to suppress validation on selects when the\r\n // click causes the list of options to be shown while still validating once the user selects\r\n // an option. but reliably differentiating between the two cases seems problematic.\r\n if (element.tagName.toLowerCase() !== 'select' && element.name in this.submitted) {\r\n this.element(element);\r\n }\r\n },\r\n highlight: function (element) {\r\n $(element).closest('.ws-material-group').addClass('ws-material-group--theme_error');\r\n if (!validateOnBlur(element.form)) {\r\n toggleDisableSubmit(element.form, true);\r\n }\r\n },\r\n unhighlight: function (element) {\r\n var closestElement = $(element).closest('.ws-material-group');\r\n toggleAriaAttributes(element, true);\r\n closestElement.removeClass('ws-material-group--theme_error');\r\n\r\n if (!validateOnBlur(element.form)) {\r\n validateAllFields(element.form);\r\n }\r\n\r\n // do not add valid styling for the RecaptchaResponse or for (valid) empty textboxes\r\n var jqElement = $(element);\r\n if (jqElement.hasClass('ws-recaptcha__response') ||\r\n (\r\n (\r\n jqElement.is('input[type=text]') ||\r\n jqElement.is('input[type=number]') ||\r\n jqElement.is('input[type=tel]') ||\r\n jqElement.is('input[type=email]') ||\r\n jqElement.is('textarea')\r\n ) &&\r\n jqElement.val().length < 1\r\n )) {\r\n return;\r\n }\r\n },\r\n errorElement: 'p',\r\n errorClass: 'ws-material-group__error-message',\r\n errorPlacement: function (error, element) {\r\n if (element.parent('.ws-material-group').length) {\r\n error.insertAfter(element.parent());\r\n } else {\r\n error.insertAfter(element);\r\n }\r\n },\r\n focusInvalid: false,\r\n onkeyup: function (element, event) {\r\n // for custom forms, we only want to validate on blur\r\n if (validateOnBlur(element.form)) {\r\n return;\r\n }\r\n\r\n // Avoid revalidate the field when pressing one of the following keys\r\n // Shift => 16\r\n // Ctrl => 17\r\n // Alt => 18\r\n // Caps lock => 20\r\n // End => 35\r\n // Home => 36\r\n // Left arrow => 37\r\n // Up arrow => 38\r\n // Right arrow => 39\r\n // Down arrow => 40\r\n // Insert => 45\r\n // Num lock => 144\r\n // AltGr key => 225\r\n var excludedKeys = [\r\n 16, 17, 18, 20, 35, 36, 37,\r\n 38, 39, 40, 45, 144, 225\r\n ];\r\n\r\n if (event.which === 9 && this.elementValue(element) === \"\" || $.inArray(event.keyCode, excludedKeys) !== -1) {\r\n return;\r\n } else if (element.name in this.submitted || element.name in this.invalid) {\r\n this.element(element);\r\n }\r\n },\r\n submitHandler: function (form) {\r\n $submitButton = $(this.submitButton);\r\n var submitValidation = $submitButton.attr(\"formnovalidate\");\r\n if (submitting && submitValidation === undefined) {\r\n submitting = false;\r\n return false;\r\n }\r\n submitting = true;\r\n requestAnimationFrame(function () {\r\n // adding aria-hidden to the recaptcha prevents screen readers from reading the recaptcha content post-submission\r\n $(form).find(\".ws-recaptcha__g\").attr(\"aria-hidden\", true);\r\n validateOnBlur(form) ? toggleLoadingSubmit(form, true) : toggleDisableSubmit(form, true);\r\n });\r\n\r\n $submitButton = $(this.submitButton);\r\n\r\n if (submitValidation !== undefined) {\r\n addHeaderCallBlockPhoneNumber(form);\r\n submitting = false;\r\n return true;\r\n }\r\n\r\n $recaptchaResponse = $(form).find('.ws-recaptcha__response');\r\n if ($recaptchaResponse.length > 0 && typeof grecaptcha !== \"undefined\") {\r\n let recaptchaWidgetId = $(form).data(\"recaptchaWidgetId\");\r\n grecaptcha.execute(recaptchaWidgetId);\r\n\r\n //this is a hack to reset the recaptcha IFRAME when it scrolls off the page\r\n iframeIntervalId = setInterval(checkForIframe, 30);\r\n } else {\r\n addHeaderCallBlockPhoneNumber(form);\r\n submitting = false;\r\n return true;\r\n }\r\n }\r\n });\r\n\r\n function validateOnBlur(form) {\r\n return $(form).find(\".ws-form--custom\").length || $(form).find(\".ws-form--validate_on-blur\").length;\r\n }\r\n\r\n function checkForIframe() {\r\n var $element = $(\"iframe[title='recaptcha challenge']\").parent().parent();\r\n if ($element.length) {\r\n var bodyPosition = $(\"body\").offset().top; // this accounts for when a modal is displayed, body is made fixed and offset to lock scrolling\r\n var scroll = $(window).scrollTop() - bodyPosition;\r\n var position = $element.offset().top;\r\n\r\n //if top position is less than scrollTop of window the IFRAME for recaptcha is rolled up past the view\r\n if (scroll > position) {\r\n $element.css({ 'top': scroll + 50 });\r\n }\r\n\r\n //put this in because the original setting is fine - recaptcha moves it after it is set - this allows time to move it a second time\r\n count++;\r\n if (count > 10) {\r\n stopSetInterval();\r\n //reset the count field in case the user does not move forward\r\n count = 0;\r\n }\r\n }\r\n }\r\n\r\n function stopSetInterval() {\r\n clearInterval(iframeIntervalId);\r\n }\r\n\r\n window.onSubmitRecaptcha = function (token) {\r\n stopSetInterval();\r\n submitting = false;\r\n\r\n if (token) {\r\n $recaptchaResponse.val(token);\r\n\r\n // once recaptcha has finished, simulate a click on the submit button again so that the ajax submit\r\n // process works as it should if ajax is enabled for this form. add the formnovalidate parameter so\r\n // that validation will be skipped the second time around\r\n $submitButton\r\n .prop(\"disabled\", false)\r\n .attr(\"formnovalidate\", \"formnovalidate\")\r\n .click();\r\n }\r\n } \r\n\r\n function toggleDisableSubmit(formElement, disable) {\r\n let $submit = $(formElement).find(submitButtonSelector);\r\n $submit\r\n .prop(\"disabled\", disable)\r\n .toggleClass(\"ws-btn--disabled\", disable);\r\n }\r\n\r\n function toggleLoadingSubmit(formElement, disable) {\r\n let $submit = $(formElement).find(submitButtonSelector);\r\n let buttonClickedName = $(formElement).data(\"ws-button-clicked\");\r\n\r\n $submit\r\n .prop(\"disabled\", disable)\r\n .filter(`button[name=\"${buttonClickedName}\"]`)\r\n .toggleClass(\"ws-btn--loading\", disable);\r\n }\r\n\r\n function validateAllFields(formElement) {\r\n if (!$(formElement).hasClass('ws-recaptcha__response')) {\r\n var validator = $(formElement).validate();\r\n\r\n if (validator) {\r\n var valid = validator.checkForm();\r\n toggleDisableSubmit(formElement, !valid);\r\n }\r\n }\r\n }\r\n\r\n function addHeaderCallBlockPhoneNumber(form) {\r\n var headCallBlockPhoneNumberId = \"\";\r\n var $headerCallBlock = $(\".ws-call-cta--header\");\r\n\r\n if ($headerCallBlock.length > 0) {\r\n headCallBlockPhoneNumberId = $headerCallBlock.first().data(\"phoneNumberId\");\r\n }\r\n\r\n if (!headCallBlockPhoneNumberId) {\r\n return;\r\n }\r\n\r\n var paramName = \"HeaderCallBlockPhoneNumberId\";\r\n var $form = $(form);\r\n var $phoneNumberIdParam = $form.find('input[name=\"' + paramName + '\"]');\r\n\r\n if ($phoneNumberIdParam.length < 1) {\r\n $phoneNumberIdParam = $('');\r\n $form.append($phoneNumberIdParam);\r\n }\r\n\r\n $phoneNumberIdParam.val(headCallBlockPhoneNumberId);\r\n }\r\n function toggleAriaAttributes(element, isValid) {\r\n if (isValid) {\r\n $(element).removeAttr(\"aria-describedby\");\r\n }\r\n }\r\n});","require('jquery-validation');\r\nrequire('./jquery-validation-init');\r\nrequire('jquery-validation-unobtrusive');\r\nrequire('./custom-validators');"],"names":["$","require","validator","unobtrusive","adapters","addBool","addMethod","value","element","params","checked","add","options","rules","otherPropName","otherprop","ignoreCase","ignorecase","messages","message","fieldID","modelPrefix","prop","substr","lastIndexOf","otherPropValue","$elem","is","val","getElemValue","trim","toLowerCase","propName","propertyname","anyboxeschecked","name","each","this","WS","$recaptchaResponse","$submitButton","submitButtonSelector","iframeIntervalId","count","submitting","validateOnBlur","form","find","length","checkForIframe","$element","parent","bodyPosition","offset","top","scroll","window","scrollTop","css","stopSetInterval","clearInterval","toggleDisableSubmit","formElement","disable","toggleClass","addHeaderCallBlockPhoneNumber","headCallBlockPhoneNumberId","$headerCallBlock","first","data","paramName","$form","$phoneNumberIdParam","append","setDefaults","ignore","isExperienceEditor","onclick","tagName","submitted","highlight","closest","addClass","unhighlight","closestElement","removeAttr","toggleAriaAttributes","removeClass","hasClass","validate","checkForm","validateAllFields","jqElement","errorElement","errorClass","errorPlacement","error","insertAfter","focusInvalid","onkeyup","event","which","elementValue","inArray","keyCode","invalid","submitHandler","submitValidation","submitButton","attr","undefined","requestAnimationFrame","$submit","buttonClickedName","filter","concat","grecaptcha","recaptchaWidgetId","execute","setInterval","onSubmitRecaptcha","token","click"],"sourceRoot":""}