{"version":3,"sources":["wwwroot/js/account/node_modules/browser-pack/_prelude.js","wwwroot/js/account/Scripts/pages/account/forgotPassword.js","wwwroot/js/account/Scripts/src/validation.js","wwwroot/js/account/node_modules/@babel/runtime/helpers/classCallCheck.js","wwwroot/js/account/node_modules/@babel/runtime/helpers/createClass.js","wwwroot/js/account/node_modules/@babel/runtime/helpers/interopRequireDefault.js"],"names":[],"mappings":"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","file":"forgotPassword.min.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i {\n const form = document.querySelector(\"#form\");\n\n const validator = Validation.getDefaultValidator(form);\n\n form.addEventListener(\"submit\", (e) => {\n Validation.validateFormWithReCaptcha(e, validator);\n });\n});\n","export class Validation{\n static getDefaultValidator(form) {\n\n return FormValidation.formValidation(form, {\n plugins: {\n trigger: new FormValidation.plugins.Trigger(),\n bootstrap: new FormValidation.plugins.Bootstrap5({\n rowSelector: '.fv-row',\n eleInvalidClass: 'bg-light-danger is-invalid',\n eleValidClass: ''\n }),\n declarative: new FormValidation.plugins.Declarative({html5Input: true})\n }\n });\n }\n\n static disableButton(button) {\n button?.setAttribute(\"disabled\", \"disabled\");\n button?.setAttribute(\"data-kt-indicator\", \"on\");\n }\n\n static enableButton(button) {\n button?.removeAttribute(\"disabled\");\n button?.removeAttribute(\"data-kt-indicator\");\n }\n\n static validateForm(e, validator, submitter) {\n e.preventDefault();\n\n const form = validator.form;\n if (validator) {\n validator.validate().then(status => {\n if (status === 'Valid') {\n Validation.disableButton(submitter || e.submitter);\n form.submit();\n }\n });\n }\n }\n\n static validateFormWithReCaptcha(e, validator, submitter) {\n e.preventDefault();\n\n const form = validator.form;\n if (validator) {\n validator.validate().then(function (status) {\n if (status === 'Valid') {\n\n Validation.disableButton(submitter || e.submitter);\n\n const recaptchaInput = form.querySelector(\"#RecaptchaResponse\");\n const siteKey = recaptchaInput.dataset.siteKey;\n\n grecaptcha.ready(function () {\n const action = recaptchaInput.dataset.action;\n grecaptcha.execute(siteKey, {action: action}).then(function (token) {\n recaptchaInput.value = token;\n\n form.submit();\n });\n });\n }\n });\n }\n }\n\n static showFormError(errorText, errorTitle) {\n const errorContainer = document.querySelector(\"#error-alert\");\n if(!errorContainer)\n return;\n\n errorContainer.style.display = \"flex\";\n errorContainer.querySelector(\".alert-text\").innerHTML = errorText;\n }\n\n static hideFormError() {\n const errorContainer = document.querySelector(\"#error-alert\");\n if (!errorContainer)\n return;\n\n errorContainer.style.display = \"none\";\n }\n}\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;"],"preExistingComment":"//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJTY3JpcHRzL3BhZ2VzL2FjY291bnQvZm9yZ290UGFzc3dvcmQuanMiLCJTY3JpcHRzL3NyYy92YWxpZGF0aW9uLmpzIiwibm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvY2xhc3NDYWxsQ2hlY2suanMiLCJub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9jcmVhdGVDbGFzcy5qcyIsIm5vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0FDQUEsSUFBQSxXQUFBLEdBQUEsT0FBQTtBQUVBLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxZQUFNO0VBQ2hELElBQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO0VBRTVDLElBQU0sU0FBUyxHQUFHLHNCQUFVLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO0VBRXRELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsVUFBQyxDQUFDLEVBQUs7SUFDbkMsc0JBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDO0VBQ3RELENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQzs7Ozs7Ozs7Ozs7O0lDVlcsVUFBVSxHQUFBLE9BQUEsQ0FBQSxVQUFBO0VBQUEsU0FBQSxXQUFBO0lBQUEsSUFBQSxnQkFBQSxtQkFBQSxVQUFBO0VBQUE7RUFBQSxXQUFBLGFBQUEsYUFBQSxVQUFBO0lBQUEsR0FBQTtJQUFBLEtBQUEsRUFDbkIsU0FBTyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUU7TUFFN0IsT0FBTyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRTtRQUN2QyxPQUFPLEVBQUU7VUFDTCxPQUFPLEVBQUUsSUFBSSxjQUFjLENBQUMsT0FB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QWEsQ0FBQyxjQUFjLENBQUM7TUFDN0QsSUFBRyxDQUFDLGNBQWMsRUFDZDtNQUVKLGNBQWMsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU07TUFDckMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLEdBQUcsU0FBUztJQUNyRTtFQUFDO0lBQUEsR0FBQTtJQUFBLEtBQUEsRUFFRCxTQUFPLGFBQWEsQ0FBQSxFQUFHO01BQ25CLElBQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDO01BQzdELElBQUksQ0FBQyxjQUFjLEVBQ2Y7TUFFSixjQUFjLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNO0lBQ3pDO0VBQUM7QUFBQTs7O0FDakZMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsbix0KXtmdW5jdGlvbiBvKGksZil7aWYoIW5baV0pe2lmKCFlW2ldKXt2YXIgYz1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFmJiZjKXJldHVybiBjKGksITApO2lmKHUpcmV0dXJuIHUoaSwhMCk7dmFyIGE9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitpK1wiJ1wiKTt0aHJvdyBhLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsYX12YXIgcD1uW2ldPXtleHBvcnRzOnt9fTtlW2ldWzBdLmNhbGwocC5leHBvcnRzLGZ1bmN0aW9uKHIpe3ZhciBuPWVbaV1bMV1bcl07cmV0dXJuIG8obnx8cil9LHAscC5leHBvcnRzLHIsZSxuLHQpfXJldHVybiBuW2ldLmV4cG9ydHN9Zm9yKHZhciB1PVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsaT0wO2k8dC5sZW5ndGg7aSsrKW8odFtpXSk7cmV0dXJuIG99cmV0dXJuIHJ9KSgpIiwiaW1wb3J0IHtWYWxpZGF0aW9ufSBmcm9tIFwiLi4vLi4vc3JjL3ZhbGlkYXRpb25cIjtcblxuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGZvcm0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2Zvcm1cIik7XG5cbiAgICBjb25zdCB2YWxpZGF0b3IgPSBWYWxpZGF0aW9uLmdldERlZmF1bHRWYWxpZGF0b3IoZm9ybSk7XG5cbiAgICBmb3JtLmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgKGUpID0+IHtcbiAgICAgICAgVmFsaWRhdGlvbi52YWxpZGF0ZUZvcm1XaXRoUmVDYXB0Y2hhKGUsIHZhbGlkYXRvcik7XG4gICAgfSk7XG59KTtcbiIsImV4cG9ydCBjbGFzcyBWYWxpZGF0aW9ue1xuICAgIHN0YXRpYyBnZXREZWZhdWx0VmFsaWRhdG9yKGZvcm0pIHtcblxuICAgICAgICByZXR1cm4gRm9ybVZhbGlkYXRpb24uZm9ybVZhbGlkYXRpb24oZm9ybSwge1xuICAgICAgICAgICAgcGx1Z2luczoge1xuICAgICAgICAgICAgICAgIHRyaWdnZXI6IG5ldyBGb3JtVmFsaWRhdGlvbi5wbHVnaW5zLlRyaWdnZXIoKSxcbiAgICAgICAgICAgICAgICBib290c3RyYXA6IG5ldyBGb3JtVmFsaWRhdGlvbi5wbHVnaW5zLkJvb3RzdHJhcDUoe1xuICAgICAgICAgICAgICAgICAgICByb3dTZWxlY3RvcjogJy5mdi1yb3cnLFxuICAgICAgICAgICAgICAgICAgICBlbGVJbnZhbGlkQ2xhc3M6ICdiZy1saWdodC1kYW5nZXIgaXMtaW52YWxpZCcsXG4gICAgICAgICAgICAgICAgICAgIGVsZVZhbGlkQ2xhc3M6ICcnXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZGVjbGFyYXRpdmU6IG5ldyBGb3JtVmFsaWRhdGlvbi5wbHVnaW5zLkRlY2xhcmF0aXZlKHtodG1sNUlucHV0OiB0cnVlfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGRpc2FibGVCdXR0b24oYnV0dG9uKSB7XG4gICAgICAgIGJ1dHRvbj8uc2V0QXR0cmlidXRlKFwiZGlzYWJsZWRcIiwgXCJkaXNhYmxlZFwiKTtcbiAgICAgICAgYnV0dG9uPy5zZXRBdHRyaWJ1dGUoXCJkYXRhLWt0LWluZGljYXRvclwiLCBcIm9uXCIpO1xuICAgIH1cblxuICAgIHN0YXRpYyBlbmFibGVCdXR0b24oYnV0dG9uKSB7XG4gICAgICAgIGJ1dHRvbj8ucmVtb3ZlQXR0cmlidXRlKFwiZGlzYWJsZWRcIik7XG4gICAgICAgIGJ1dHRvbj8ucmVtb3ZlQXR0cmlidXRlKFwiZGF0YS1rdC1pbmRpY2F0b3JcIik7XG4gICAgfVxuXG4gICAgc3RhdGljIHZhbGlkYXRlRm9ybShlLCB2YWxpZGF0b3IsIHN1Ym1pdHRlcikge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgY29uc3QgZm9ybSA9IHZhbGlkYXRvci5mb3JtO1xuICAgICAgICBpZiAodmFsaWRhdG9yKSB7XG4gICAgICAgICAgICB2YWxpZGF0b3IudmFsaWRhdGUoKS50aGVuKHN0YXR1cyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gJ1ZhbGlkJykge1xuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0aW9uLmRpc2FibGVCdXR0b24oc3VibWl0dGVyIHx8IGUuc3VibWl0dGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZm9ybS5zdWJtaXQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyB2YWxpZGF0ZUZvcm1XaXRoUmVDYXB0Y2hhKGUsIHZhbGlkYXRvciwgc3VibWl0dGVyKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBjb25zdCBmb3JtID0gdmFsaWRhdG9yLmZvcm07XG4gICAgICAgIGlmICh2YWxpZGF0b3IpIHtcbiAgICAgICAgICAgIHZhbGlkYXRvci52YWxpZGF0ZSgpLnRoZW4oZnVuY3Rpb24gKHN0YXR1cykge1xuICAgICAgICAgICAgICAgIGlmIChzdGF0dXMgPT09ICdWYWxpZCcpIHtcblxuICAgICAgICAgICAgICAgICAgICBWYWxpZGF0aW9uLmRpc2FibGVCdXR0b24oc3VibWl0dGVyIHx8IGUuc3VibWl0dGVyKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNhcHRjaGFJbnB1dCA9IGZvcm0ucXVlcnlTZWxlY3RvcihcIiNSZWNhcHRjaGFSZXNwb25zZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2l0ZUtleSA9IHJlY2FwdGNoYUlucHV0LmRhdGFzZXQuc2l0ZUtleTtcblxuICAgICAgICAgICAgICAgICAgICBncmVjYXB0Y2hhLnJlYWR5KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGlvbiA9IHJlY2FwdGNoYUlucHV0LmRhdGFzZXQuYWN0aW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JlY2FwdGNoYS5leGVjdXRlKHNpdGVLZXksIHthY3Rpb246IGFjdGlvbn0pLnRoZW4oZnVuY3Rpb24gKHRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjYXB0Y2hhSW5wdXQudmFsdWUgPSB0b2tlbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm0uc3VibWl0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgc2hvd0Zvcm1FcnJvcihlcnJvclRleHQsIGVycm9yVGl0bGUpIHtcbiAgICAgICAgY29uc3QgZXJyb3JDb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2Vycm9yLWFsZXJ0XCIpO1xuICAgICAgICBpZighZXJyb3JDb250YWluZXIpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgZXJyb3JDb250YWluZXIuc3R5bGUuZGlzcGxheSA9IFwiZmxleFwiO1xuICAgICAgICBlcnJvckNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKFwiLmFsZXJ0LXRleHRcIikuaW5uZXJIVE1MID0gZXJyb3JUZXh0O1xuICAgIH1cblxuICAgIHN0YXRpYyBoaWRlRm9ybUVycm9yKCkge1xuICAgICAgICBjb25zdCBlcnJvckNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjZXJyb3ItYWxlcnRcIik7XG4gICAgICAgIGlmICghZXJyb3JDb250YWluZXIpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgZXJyb3JDb250YWluZXIuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgIH1cbn1cbiIsImZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHtcbiAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2NsYXNzQ2FsbENoZWNrO1xubW9kdWxlLmV4cG9ydHNbXCJkZWZhdWx0XCJdID0gbW9kdWxlLmV4cG9ydHMsIG1vZHVsZS5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlOyIsImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07XG4gICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlO1xuICAgIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTtcbiAgICBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7XG4gIGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpO1xuICBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7XG4gIHJldHVybiBDb25zdHJ1Y3Rvcjtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfY3JlYXRlQ2xhc3M7XG5tb2R1bGUuZXhwb3J0c1tcImRlZmF1bHRcIl0gPSBtb2R1bGUuZXhwb3J0cywgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7IiwiZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHtcbiAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICBcImRlZmF1bHRcIjogb2JqXG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdDtcbm1vZHVsZS5leHBvcnRzW1wiZGVmYXVsdFwiXSA9IG1vZHVsZS5leHBvcnRzLCBtb2R1bGUuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZTsiXX0="}