{"version":3,"sources":["components/layout.tsx","components/home.tsx","components/logOut.tsx","components/common/antiForgery.tsx","components/common/returnUrl.tsx","components/common/routes.tsx","components/common/emailTextField.tsx","components/common/passwordTextField.tsx","components/common/strings.tsx","components/common/spinnerComponent.tsx","components/logIn/logInForm.tsx","components/common/errorTypography.tsx","components/logIn/logInView.tsx","components/data/endpointServices.ts","components/logIn/logIn.tsx","components/error.tsx","components/common/customError.tsx","components/common/datePicker.tsx","components/termsOfService.tsx","components/signUp/signUpForm.tsx","components/signUp/signUpView.tsx","components/common/titleText.tsx","components/common/messageText.tsx","components/common/icons/weatherBugIcon.tsx","components/signUp/signUpSuccess.tsx","components/signUp/signUp.tsx","components/resetPassword/resetPasswordForm.tsx","components/resetPassword/resetPasswordView.tsx","components/resetPassword/resetPasswordPage.tsx","components/resetPassword/resetPasswordMessage.tsx","components/resetPassword/updatePasswordForm.tsx","components/resetPassword/updatePasswordView.tsx","components/resetPassword/updatePasswordPage.tsx","components/resetPassword/updatePasswordSuccess.tsx","components/signInWithSso/signInWithSsoForm.tsx","components/signInWithSso/signInWithSsoView.tsx","components/signInWithSso/signInWithSsoPage.tsx","components/signInWithSso/signInWithSsoSuccess.tsx","components/signUp/signUpActivate.tsx","app.tsx","i18n.js","index.tsx"],"names":["Layout","props","Container","maxWidth","children","Home","LogOut","t","useTranslation","query","URLSearchParams","useLocation","search","useState","iframeLocation","setIframeLocation","logoutId","get","useEffect","axios","headers","then","response","data","r","signOutIFrameUrl","postLogoutRedirectUri","window","location","catch","getErr","console","log","StyledContainer","StyledIframe","title","src","Grid","container","item","xs","TitleTypography","Typography","StyledSpinner","styled","CircularProgress","iframe","antiForgeryFormOptions","useCookies","withCredentials","RequestVerificationToken","antiForgeryToken","getReturnUrl","parameter","encodeURIComponent","routes","home","logIn","logOut","error","register","resetpassword","resetpasswordmessage","updatepassword","updatepasswordsuccess","signInWithSso","signInWithSsoSuccess","signUpActivate","challengeUrl","emailRegex","EmailTextField","memo","fieldsErrors","label","StyledTextfield","id","name","type","helperText","email","message","size","variant","autoFocus","fullWidth","inputRef","required","value","pattern","TextField","passwordRegex","PasswordTextField","errorMessage","passwordFieldsErrors","password","validateFormat","visible","setVisible","translatedPasswordLengthRequirement","translatedPasswordFormatRequirement","validate","length","test","current","InputProps","endAdornment","InputAdornment","position","IconButton","onClick","e","preventDefault","Visibility","VisibilityOff","stringConstants","SpinnerComponent","attrs","LogInForm","submitLogIn","handleSubmit","loading","onSubmit","direction","alignItems","SignInButton","color","disableElevation","justify","ResetPasswordLink","href","rel","Button","Link","ErrorTypography","serverError","ErrorMessage","align","LogInView","returnUrl","showSso","spacing","AccountQuestionSection","AccountQuestionTypography","SignUpLink","DividerGrid","width","height","OrTextTypography","component","ReactRouterDomLink","to","StyledOpenInNewOcon","OpenInNewIcon","antiforgeryOptions","post","userName","signUp","terms","dateOfBirth","antiForgeryOptions","termsAccepted","birthDate","updatePassword","resetCode","newPassword","getError","errorId","code","ac","LogIn","setLoading","setShowSso","setServerError","useForm","errors","decodedUri","decodeURIComponent","a","newLocation","c","Error","errorCode","setErrorCode","setErrorMessage","getErrorMessage","ec","emsg","CustomError","span","DatePicker","setActualDate","selectedDate","changeSelectedDate","isDatePickerOpen","setIsDatePickerOpen","datepickerChanged","setDatepickerChanged","translatedPleaseEnterValidDateErrorMessage","utils","DateFnsUtils","placeholder","views","readOnly","format","inputVariant","inputValue","defaultValue","onChange","newDate","date","InputLabelProps","shrink","open","onClose","dob","TermsOfService","translatedTermsAndConditionsErrorMessage","StyledFormControlLabel","control","StyledCheckbox","TermsOfServiceText","Trans","i18nKey","target","FormControlLabel","Checkbox","SignUpForm","submitSignUp","watch","useRef","aria-label","StyledPassewordHelperText","confirmPassword","SignUpButton","div","SignUpView","ExistingAccount","TitleText","p","MessageText","WeatherBugIcon","viewBox","fill","xmlns","d","SignUpSuccess","whereToGo","SignUpSuccessContainer","WelcomeMessageBox","HeaderContainer","OpeningSalutation","IconWrapper","TextContainer","WelcomeText","StyledButton","assign","SignUp","signedUp","setSignedUp","acutalDate","dayjs","Date","endOf","status","ResetPasswordForm","submitResetPassword","SubmitResetPasswordButton","StyledEmailOcon","MailOutlineIcon","ResetPasswordView","RememberedPasswordTypography","GoToSignInButton","history","back","ResetPasswordPage","ResetPasswordMessage","InfoTypography","StyledLink","UpdatePasswordForm","submitUpdatePassword","UpdatePasswordButton","UpdatePasswordView","UpdatePasswordPage","useCallback","UpdatePasswordSuccess","SignInWithSsoForm","submitSignInWithSso","domain","SubmitSignInWithSsoButton","SignInWithSsoView","showInvalidPartnerMessage","StyledTypography","SignInWithSsoPage","setShowInvalidPartnerMessage","pn","isv","partnerName","SignInWithSsoSuccess","SignUpActivate","welcomeMessage","setWelcomeMessage","showSignInButton","setShowSignInButton","getSignUpActivate","App","exact","path","render","i18n","use","Backend","initReactI18next","LngDetector","init","debug","fallbackLng","rootElement","document","getElementById","ReactDOM","fallback"],"mappings":"mOAMaA,EAAS,SAACC,GACnB,OACI,cAACC,EAAA,EAAD,CAAWC,SAAS,KAApB,SACKF,EAAMG,YCPNC,EAAO,WAChB,OACI,gCACI,iEACA,qF,gqBCEZ,IAIaC,EAAS,WAAK,IACfC,EAAMC,cAAND,EACFE,EALC,IAAIC,gBAAgBC,cAAcC,QAGnB,EAGsBC,qBAHtB,mBAGfC,EAHe,KAGCC,EAHD,KAIhBC,EAAWP,EAAMQ,IAAI,YAwB3B,OAvBAC,qBAAU,WACHF,GACCG,IAAMF,IAAN,wDAA2DD,GAAY,CACnEI,QAAS,CAAE,YAAe,aAE5BC,MAAK,SAACC,GACJ,GAAGA,IAAQ,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAUC,MAAM,CAC3B,IAAMA,EAAOD,EAASC,KAAKC,GAC3B,OAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAME,mBAELV,EAAkBQ,EAAKE,mBAE3B,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAMG,yBAELC,OAAOC,SAAWL,EAAKG,2BAGhCG,OAAM,SAACC,GACNC,QAAQC,IAAIF,QAGrB,CAACd,IAGA,eAACiB,EAAD,WACI,cAACC,EAAD,CAAcC,MAAM,eAAeC,IAAKtB,IACxC,eAACuB,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,UACI,cAACC,EAAD,UAAkBlC,EAAE,2BACpB,cAACmC,EAAA,EAAD,UAAanC,EAAE,wBAEnB,cAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAACG,EAAD,UAOVV,EAAkBW,YAAO1C,IAAP0C,CAAH,KAOfH,EAAkBG,YAAOF,IAAPE,CAAH,KAMfD,EAAgBC,YAAOC,IAAPD,CAAH,KAObV,EAAeU,IAAOE,OAAV,K,0CCxELC,EAAyB,WAAO,IAAD,EACtBC,cAElB,MAAO,CACHC,iBAAiB,EACjB7B,QAAS,CAAE8B,yBALyB,oBAKSC,MAIxCA,EAAmB,eCNnBC,EAAe,WACxB,IACMC,EALC,IAAI3C,gBAAgBC,cAAcC,QAKjBK,IAAI,aAC5B,OAAOqC,mBAAkB,OAACD,QAAD,IAACA,IAAa,K,oCCT9BE,EAAS,CAClBC,KAAM,IACNC,MAAO,SACPC,OAAQ,UACRC,MAAO,SACPC,SAAU,YACVC,cAAe,iBACfC,qBAAsB,wBACtBC,eAAgB,kBAChBC,sBAAuB,yBACvBC,cAAe,iBACfC,qBAAsB,wBACtBC,eAAgB,YAChBC,aAAc,4C,sVCPlB,IAAMC,EAAa,4CAQNC,EAAiBC,gBAAK,YAA6D,IAA1DX,EAAyD,EAAzDA,SAAUY,EAA+C,EAA/CA,aAAcC,EAAiC,EAAjCA,MAClDlE,EAAMC,cAAND,EAER,OACI,cAACmE,EAAD,CACIC,GAAG,QACHC,KAAK,QACLC,KAAK,OACLJ,MAAOA,EACPK,WAAYN,EAAaO,MAAQP,EAAaO,MAAMC,QAAU,KAC9DC,KAAK,QACLC,QAAQ,WACRC,WAAS,EACTC,WAAS,EACTC,SAAUzB,EAAS,CACf0B,SAAU,CACNC,OAAO,EACPP,QAASzE,EAAE,sBAEfiF,QAAS,CACLD,MAAOlB,EACPW,QAASzE,EAAE,mBAGnBoD,QAASa,EAAaO,WAK5BL,EAAkB9B,YAAO6C,IAAP7C,CAAH,K,yWCpCrB,IAAM8C,EAAgB,qDAaTC,GAAoBpB,gBAAK,YASP,IAR3BI,EAQ0B,EAR1BA,GACAC,EAO0B,EAP1BA,KACAH,EAM0B,EAN1BA,MACAmB,EAK0B,EAL1BA,aACAC,EAI0B,EAJ1BA,qBACAjC,EAG0B,EAH1BA,SACAkC,EAE0B,EAF1BA,SAE0B,IAD1BC,sBAC0B,WACIlF,oBAAS,GADb,mBACnBmF,EADmB,KACVC,EADU,KAMlB1F,EAAMC,cAAND,EACF2F,EAAsC3F,EAAE,6BACxC4F,EAAsC5F,EAAE,6BAE9C,OACI,cAAC,GAAD,CACIoE,GAAIA,EACJC,KAAMA,EACNC,KAAMmB,EAAU,OAAS,WACzBvB,MAAOA,EACPK,WAAYe,EAAuBA,EAAqBb,QAAU,KAClEC,KAAK,QACLC,QAAQ,WACRE,WAAS,EACTC,SAAUzB,EAAS,CACf0B,SAAU,CACNC,OAAO,EACPP,QAASY,GAEbQ,SAAU,SAACb,GACP,OAAIQ,GAA2B,aAATnB,GAAuBW,EAAMc,OAAS,EACjDH,EAEPH,GAA2B,aAATnB,IAAwBc,EAAcY,KAAKf,GACtDY,EAEE,oBAATvB,GAA8BW,KAAK,OAAKO,QAAL,IAAKA,OAAL,EAAKA,EAAUS,SAC3CX,OADX,KAKRjC,QAASkC,EACTW,WACI,CACIC,aACI,cAACC,EAAA,EAAD,CAAgBC,SAAS,MAAzB,SACI,cAACC,EAAA,EAAD,CAAYC,QAxCX,SAACC,GACtBA,EAAEC,iBACFd,GAAYD,IAsCQ,SAEQA,EAAU,cAACgB,EAAA,EAAD,IAAgB,cAACC,EAAA,EAAD,cAUxDvC,GAAkB9B,YAAO6C,IAAP7C,CAAH,KCnFRsE,GACY,kBADZA,GAEU,aAFVA,GAGQ,eAHRA,GAII,0CAJJA,GAKF,mBALEA,GAMO,yCANPA,GAOJ,MAPIA,GAQM,iBARNA,GASU,2CATVA,GAUK,W,uHCPX,IAAMC,GAAmBvE,YAAOC,KAAkBuE,OAAM,iBAAO,CAClEnC,KAAM,MADsBrC,CAAH,M,6NCkBtB,IAAMyE,GAAY,SAAC,GAMH,IALnBC,EAKkB,EALlBA,YACA9C,EAIkB,EAJlBA,aACA+C,EAGkB,EAHlBA,aACA3D,EAEkB,EAFlBA,SACA4D,EACkB,EADlBA,QAEQjH,EAAMC,cAAND,EAER,OACI,cAAC8B,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,SACI,uBAAMiF,SAAUF,EAAaD,GAA7B,UACI,cAACjF,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAAC8B,EAAD,CACIV,SAAUA,EACVY,aAAcA,EACdC,MAAOlE,EAAE,oBAGjB,cAAC8B,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,SACI,cAACmD,GAAD,CACIhB,GAAIuC,GACJtC,KAAMsC,GACNzC,MAAOlE,EAAE,YACTqF,aAAcrF,EAAE,wBAChBqD,SAAUA,EACViC,qBAAsBrB,EAAasB,SACnCC,gBAAgB,MAGxB,eAAC1D,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACmF,UAAU,MAAMC,WAAW,SAASnF,GAAI,GAA7D,UACI,cAACH,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,EAAzB,SACI,eAACoF,GAAD,CACIC,MAAM,UACNzC,WAAS,EACTP,KAAK,SACLK,QAAQ,YACR4C,kBAAgB,EALpB,UAOKvH,EAAE,UACFiH,GAAW,cAACL,GAAD,SAGpB,cAAC9E,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACwF,QAAQ,WAAWvF,GAAI,EAA5C,SACI,cAACE,EAAA,EAAD,UACI,cAACsF,GAAD,CACIC,KAAM1E,EAAOM,cACbqE,IAAI,sBAFR,SAIK3H,EAAE,gCAU7BqH,GAAehF,YAAOuF,IAAPvF,CAAH,MAIZoF,GAAoBpF,YAAOwF,IAAPxF,CAAH,M,0IC5EhB,IAAMyF,GAAkB9D,gBAAK,YAA4C,IAAzC+D,EAAwC,EAAxCA,YACnC,OACI,cAACC,GAAD,CAAcC,MAAM,SAApB,SACKF,OAKPC,GAAe3F,YAAOF,IAAPE,CAAH,M,s/BCSX,IAAM6F,GAAY,SAAC,GASH,IARnBnB,EAQkB,EARlBA,YACA9C,EAOkB,EAPlBA,aACA+C,EAMkB,EANlBA,aACA3D,EAKkB,EALlBA,SACA8E,EAIkB,EAJlBA,UACAlB,EAGkB,EAHlBA,QACAc,EAEkB,EAFlBA,YACAK,EACkB,EADlBA,QAEQpI,EAAMC,cAAND,EAER,OACI,cAAC,GAAD,UACI,eAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACsG,QAAS,EAAzB,UACI,cAACvG,EAAA,EAAD,CACIC,WAAS,EACTC,MAAI,EACJmF,UAAU,MACVC,WAAW,SACXnF,GAAI,GALR,SAOI,cAAC,GAAD,UACKjC,EAAE,0BAGX,cAAC,GAAD,CACI+G,YAAaA,EACb9C,aAAcA,EACd+C,aAAcA,EACd3D,SAAUA,EACV4D,QAASA,IAEZc,GACM,cAACjG,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACC,cAAC6F,GAAD,CAAiBC,YAAaA,MAGrCI,GACM,eAACG,GAAD,CACCvG,WAAS,EACTC,MAAI,EACJmF,UAAU,MACVC,WAAW,SACXnF,GAAI,GALL,UAOC,cAACsG,GAAD,UACKvI,EAAE,qBAEP,cAACmC,EAAA,EAAD,UACI,cAACqG,GAAD,CACId,KAAI,8BAAyBS,GAC7BR,IAAI,sBAFR,SAIK3H,EAAE,iBAKlBoI,GACM,eAACtG,EAAA,EAAD,CACCC,WAAS,EACTC,MAAI,EACJmF,UAAU,MACVC,WAAW,SACXnF,GAAI,GALL,UAOC,cAACwG,GAAD,CAAa1G,WAAS,EAACC,MAAI,EAACwF,QAAQ,aAAavF,GAAI,EAArD,SACI,qBAAKyG,MAAM,OAAOC,OAAO,IAAzB,SACI,sBAAMD,MAAM,OAAOC,OAAO,UAGlC,cAACF,GAAD,CAAa1G,WAAS,EAACC,MAAI,EAACC,GAAI,EAAhC,SACI,cAAC2G,GAAD,UAAmB5I,EAAE,UAEzB,cAACyI,GAAD,CAAa1G,WAAS,EAACC,MAAI,EAACwF,QAAQ,WAAWvF,GAAI,EAAnD,SACI,qBAAKyG,MAAM,OAAOC,OAAO,IAAzB,SACI,sBAAMD,MAAM,OAAOC,OAAO,aAKzCR,GAAaC,GACP,cAACtG,EAAA,EAAD,CACCC,WAAS,EACTC,MAAI,EACJmF,UAAU,MACVC,WAAW,SACXnF,GAAI,GALL,SAOC,eAAC2F,EAAA,EAAD,CACIiB,UAAWC,IACXjE,WAAS,EACTkE,GAAE,UAAK/F,EAAOU,cAAZ,sBAAuCyE,GACzCxD,QAAQ,WACR4C,kBAAgB,EALpB,UAOI,cAACyB,GAAD,IACChJ,EAAE,2BAazB0B,GAAkBW,YAAO1C,IAAP0C,CAAH,MASfH,GAAkBG,YAAOF,IAAPE,CAAH,MAIfmG,GAAanG,YAAOwF,IAAPxF,CAAH,MAKViG,GAAyBjG,YAAOP,IAAPO,CAAH,MAKtBkG,GAA4BlG,YAAOF,IAAPE,CAAH,MAMzBoG,GAAcpG,YAAOP,IAAPO,CAAH,MAIXuG,GAAmBvG,YAAOF,IAAPE,CAAH,MAKhB2G,GAAsB3G,YAAO4G,IAAP5G,CAAH,MC5KZa,GAAQ,SACjBsB,EACAe,EACA4C,EACAe,GAEA,OAAOtI,IAAMuI,KAAK,sCAAuC,CACrDC,SAAU5E,EACVe,SAAUA,EACV4C,UAAWA,GACZe,IAGMG,GAAS,SAClB7E,EACAe,EACA+D,EACAC,EACApB,EACAqB,GAEA,OAAO5I,IAAMuI,KAAK,yCAA0C,CACxD3E,MAAOA,EACPe,SAAUA,EACVkE,cAAeH,EACfI,UAAWH,EACXpB,aACDqB,IAYMG,GAAiB,SAC1BC,EACAC,EACAL,GAEA,OAAO5I,IAAMuI,KAAK,+CAAgD,CAC9DS,UAAWA,EACXrE,SAAUsE,GACXL,IAWMM,GAAW,SACpBC,GAEA,OAAOnJ,IAAMF,IAAN,sDAAyDqJ,GAAW,CACvElJ,QAAS,CAAE,YAAe,cAIrB+C,GAAiB,SAC1BoG,EACAR,GAEA,OAAO5I,IAAMuI,KAAK,yCAA0C,CACxDc,GAAID,GACLR,IC/DMU,GAAQ,WAAO,IAChBlK,EAAMC,cAAND,EADe,EAEOM,oBAAkB,GAFzB,mBAEhB2G,EAFgB,KAEPkD,EAFO,OAGO7J,oBAAkB,GAHzB,mBAGhB8H,EAHgB,KAGPgC,EAHO,OAIe9J,mBAAiB,IAJhC,mBAIhByH,EAJgB,KAIHsC,EAJG,KAKjBnB,EAAqB1G,IACrB2F,EAAYtF,IANK,EAOkCyH,cAAzCrG,EAPO,EAOfsG,OAAsBvD,EAPP,EAOOA,aAAc3D,EAPrB,EAOqBA,SACpChD,EAAWD,cAAXC,OAERM,qBAAU,WACN,IAAM6J,EAAaC,mBAAmBpK,GAGV,SAFA,IAAIF,gBAAgBqK,GAAY9J,IAAI,wBAG5D0J,GAAW,KAEhB,IAEH,IAAMrD,EAAW,uCAAG,WAAM/F,GAAN,mCAAA0J,EAAA,6DAChBP,GAAW,GADK,kBAIWjH,GAAMlC,EAAKwD,MAAOxD,EAAKuE,SAAU4C,EAAWe,GAJvD,QAKZ,QADMnI,EAJM,cAKZ,IAAIA,GAAJ,UAAIA,EAAUC,YAAd,aAAI,EAAgBC,IACV0J,EAAcF,mBAAkB,UAAC1J,EAASC,YAAV,iBAAC,EAAeC,SAAhB,aAAC,EAAkBkH,WACzD/G,OAAOC,SAASqG,KAAhB,OAAuBiD,QAAvB,IAAuBA,IAAe,IAEtCN,EAAerK,EAAE,qBATT,gDAYqB,OAA7B,2CAAOe,gBAAP,mBAAiBC,YAAjB,eAAuB4J,GACvBP,EAAc,OAAC,EAAD,6BAAC,KAAOtJ,gBAAR,iBAAC,EAAiBC,YAAlB,aAAC,EAAuBuF,GACF,OAA7B,2CAAOxF,gBAAP,mBAAiBC,YAAjB,eAAuB4J,GAC9BP,EAAerK,EAAE,4BAEjBqK,EAAerK,EAAE,qBAjBT,yBAoBZmK,GAAW,GApBC,4EAAH,sDAwBjB,OACI,cAAC,GAAD,CACIpD,YAAaA,EACb9C,aAAcA,EACd+C,aAAcA,EACd3D,SAAUA,EACV8E,UAAyB,OAAdA,EAAqB,GAAKA,EACrClB,QAASA,EACTc,YAAaA,EACbK,QAASA,K,uNCtDrB,IAIayC,GAAQ,WACjB,IAAM3K,EAJC,IAAIC,gBAAgBC,cAAcC,QAGlB,EAEWC,mBAAiB,IAF5B,mBAEhBwK,EAFgB,KAELC,EAFK,OAGiBzK,mBAAiB,IAHlC,mBAGhB+E,EAHgB,KAGF2F,EAHE,OAIO1K,oBAAkB,GAJzB,mBAIhB2G,EAJgB,KAIPkD,EAJO,KAKjBJ,EAAU7J,EAAMQ,IAAI,WAEpBuK,EAAe,uCAAG,gCAAAP,EAAA,mEAEbX,EAFa,gCAGWD,GAASC,GAHpB,QAIZ,QADMhJ,EAHM,cAIZ,IAAIA,OAAJ,EAAIA,EAAUC,QACV+J,EAAY,OAAChK,QAAD,IAACA,GAAD,UAACA,EAAUC,YAAX,aAAC,EAAgBkK,IAC7BF,EAAe,OAACjK,QAAD,IAACA,GAAD,UAACA,EAAUC,YAAX,aAAC,EAAgBmK,OANxB,uDAUhBH,EAAgB,EAAD,IAVC,yBAYhBb,GAAW,GAZK,4EAAH,qDAqBrB,OALAxJ,qBAAU,WACNwJ,GAAW,GACXc,MACD,CAAClB,IAGA,cAAC,GAAD,UACKe,GACE,eAAChJ,EAAA,EAAD,CAAMC,WAAS,EAACsG,QAAS,EAAzB,UACC,cAACvG,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAAC6F,GAAD,CAAiBC,YAAa1C,MAElC,cAACvD,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAAC6F,GAAD,CAAiBC,YAAa+C,MAEjC7D,GAAW,cAACL,GAAD,UAOtBlF,GAAkBW,YAAO1C,IAAP0C,CAAH,M,+MCxDd,IAAM+I,GAAc/I,IAAOgJ,KAAV,MCiBXC,GAAatH,gBAAK,YAIP,IAHpBX,EAGmB,EAHnBA,SACAY,EAEmB,EAFnBA,aACAsH,EACmB,EADnBA,cACmB,EACwBjL,mBAAiB,IADzC,mBACZkL,EADY,KACEC,EADF,OAE6BnL,oBAAkB,GAF/C,mBAEZoL,EAFY,KAEMC,EAFN,OAG+BrL,oBAAkB,GAHjD,mBAGZsL,EAHY,KAGOC,EAHP,KAKbC,GAA6C9L,EADrCC,cAAND,GAC6C,wBAOrD,OACI,eAAC8B,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,UACI,cAAC,KAAD,CAAyB8J,MAAOC,KAAhC,SACI,cAAC,KAAD,CACIC,YAAY,6BACZC,MAAO,CAAC,OAAQ,SAChBjG,WAAY,CAAEkG,UAAU,GACxB/H,GAAG,MACHC,KAAK,MACL+H,OAAQzF,GACR0F,aAAa,WACb3H,KAAK,QACLM,MAAK,OAAEwG,QAAF,IAAEA,IAAgB,GACvBc,WAAYd,EACZe,aAAc,GACdC,SAAU,SAAAC,GApBN,IAACC,EAqBDD,IApBhBhB,EAAkB,QADDiB,EAqBsBD,SApBrB,IAACC,OAAD,EAACA,EAAMN,OAAOzF,KAChC4E,EAAa,OAACmB,QAAD,IAACA,OAAD,EAACA,EAAMN,OAAOzF,OAqBf9B,WAAS,EACT8H,gBAAiB,CACbC,QAAQ,GAEZ9H,SAAUzB,EAAS,CACf0B,SAAU+G,IAEdvH,WAAY,GACZnB,OAAQoI,GAAgBI,EACxBtF,QAAS,WAAOqF,GAAoB,GAAOE,GAAqB,IAChEgB,KAAMnB,EACNoB,QAAS,kBAAMnB,GAAoB,QAI1C1H,EAAa8I,KACPnB,GACA,cAACR,GAAD,UACEnH,EAAa8I,IAAItI,gB,kXCzD/B,IAAMuI,GAAiBhJ,gBAAK,YAAsD,IAAnDX,EAAkD,EAAlDA,SAAUY,EAAwC,EAAxCA,aAEtCgJ,GAA2CjN,EADnCC,cAAND,GAC2C,kCAEnD,OACI,eAAC8B,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,UACI,cAACiL,GAAD,CACI9I,GAAG,QACHC,KAAK,QACL8I,QACI,cAACC,GAAD,CACI1I,KAAK,QACLI,SAAUzB,EAAS,CACf0B,SAAUkI,MAItB/I,MACI,cAACmJ,GAAD,UACI,eAACC,GAAA,EAAD,CAAOC,QAAQ,cAAf,UACK5G,GACD,mBAAGe,KAAMf,GAAgC6G,OAAO,SAAS7F,IAAI,aAA7D,SACKhB,KAEJA,GACD,mBAAGe,KAAMf,GAAmC6G,OAAO,SAAS7F,IAAI,aAAhE,SACKhB,KAPT,WAaX1C,EAAaqF,OACP,cAAC8B,GAAD,UACEnH,EAAaqF,MAAM7E,gBAOlCyI,GAAyB7K,YAAOoL,KAAPpL,CAAH,MAItBgL,GAAqBhL,IAAOgJ,KAAV,MAKlB+B,GAAiB/K,YAAOqL,KAAPrL,CAAH,M,8SCxCb,IAAMsL,GAAa3J,gBAAK,YAQP,IAPpB4J,EAOmB,EAPnBA,aACA3J,EAMmB,EANnBA,aACA+C,EAKmB,EALnBA,aACA3D,EAImB,EAJnBA,SACAwK,EAGmB,EAHnBA,MACA5G,EAEmB,EAFnBA,QACAsE,EACmB,EADnBA,cAEQvL,EAAMC,cAAND,EACFuF,EAAWuI,iBAAO,IAGxB,OAFAvI,EAASS,QAAU6H,EAAM,WAAY,IAGjC,cAAC/L,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,SACI,uBAAM8L,aAAW,OAAO7G,SAAUF,EAAa4G,GAA/C,UACI,cAAC9L,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACmF,UAAU,MAAMlF,GAAI,GAAzC,SACI,cAAC8B,EAAD,CACIV,SAAUA,EACVY,aAAcA,EACdC,MAAOlE,EAAE,oBAGjB,eAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACmF,UAAU,MAAMlF,GAAI,GAAzC,UACI,cAAC+L,GAAD,UACKhO,EAAE,wBAEP,cAACoF,GAAD,CACIhB,GAAIuC,GACJtC,KAAMsC,GACNzC,MAAOlE,EAAE,YACTqF,aAAcrF,EAAE,wBAChBqD,SAAUA,EACViC,qBAAsBrB,EAAasB,SACnCA,SAAUA,OAGlB,cAACzD,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACmF,UAAU,MAAMlF,GAAI,GAAzC,SACI,cAACmD,GAAD,CACIhB,GAAIuC,GACJtC,KAAMsC,GACNzC,MAAOlE,EAAE,mBACTqF,aAAcrF,EAAE,+BAChBqD,SAAUA,EACViC,qBAAsBrB,EAAagK,gBACnC1I,SAAUA,MAGlB,cAACzD,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACmF,UAAU,MAAMlF,GAAI,GAAzC,SACI,cAAC,GAAD,CACIoB,SAAUA,EACVY,aAAcA,EACdsH,cAAeA,MAGvB,cAACzJ,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACmF,UAAU,MAAMlF,GAAI,GAAzC,SACI,cAAC+K,GAAD,CAAgB3J,SAAUA,EAAUY,aAAcA,MAEtD,cAACnC,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACmF,UAAU,MAAMlF,GAAI,GAAzC,SACI,eAACiM,GAAD,CACI5J,KAAK,SACLO,WAAS,EACTF,QAAQ,YACR4C,kBAAgB,EAJpB,UAMKvH,EAAE,UACFiH,GAAW,cAACL,GAAD,iBAQ9BoH,GAA4B3L,IAAO8L,IAAV,MAMzBD,GAAe7L,YAAOuF,IAAPvF,CAAH,M,6WChFX,IAAM+L,GAAa,SAAC,GAUF,IATrBR,EASoB,EATpBA,aACA3J,EAQoB,EARpBA,aACAsH,EAOoB,EAPpBA,cACAvE,EAMoB,EANpBA,aACA3D,EAKoB,EALpBA,SACAwK,EAIoB,EAJpBA,MACA1F,EAGoB,EAHpBA,UACAlB,EAEoB,EAFpBA,QACAc,EACoB,EADpBA,YAEQ/H,EAAMC,cAAND,EAER,OACI,cAAC,GAAD,UACI,eAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACsG,QAAS,EAAzB,UACI,cAACvG,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,SACI,cAAC0L,GAAD,CACIC,aAAcA,EACd3J,aAAcA,EACd+C,aAAcA,EACd3D,SAAUA,EACVwK,MAAOA,EACP5G,QAASA,EACTsE,cAAeA,MAGtBxD,GACM,cAACjG,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACC,cAAC6F,GAAD,CAAiBC,YAAaA,MAGrCI,GACM,eAACrG,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACmF,UAAU,MAAMC,WAAW,SAASnF,GAAI,GAA7D,UACC,cAACoM,GAAD,UACKrO,EAAE,0BAEP,cAAC4H,EAAA,EAAD,CACIiB,UAAWhB,IACXkB,GAAE,2BAAsBZ,GACxBtD,WAAS,EACTF,QAAQ,WAJZ,SAKK3E,EAAE,qBASzB0B,GAAkBW,YAAO1C,IAAP0C,CAAH,MASfgM,GAAkBhM,IAAO8L,IAAV,M,yKClFd,IAAMG,GAAYjM,IAAOkM,EAAV,M,iJCAf,IAAMC,GAAcnM,IAAOkM,EAAV,MCKXE,GAAiBzK,gBAAK,oBAC/B0E,aAD+B,MACvB,GADuB,MAE/BC,cAF+B,MAEtB,IAFsB,SAI/B,sBAAKD,MAAOA,EAAOC,OAAQA,EAAQ+F,QAAO,cAAShG,EAAT,YAAkBC,GAAUgG,KAAK,OAAOC,MAAM,6BAAxF,UACI,sBAAMC,EAAE,2gDAA2gDF,KAAK,UACxhD,sBAAME,EAAE,4wBAA4wBF,KAAK,YACzxB,sBAAME,EAAE,2/LAA2/LF,KAAK,YACxgM,sBAAME,EAAE,kpDAAkpDF,KAAK,kB,goCCJhqD,IAAMG,GAAgB,SAAC,GAAsC,IAApC3G,EAAmC,EAAnCA,UACpBnI,EAAMC,cAAND,EACF+O,EAAYtE,mBAAmBtC,GAErC,OACI,cAAC6G,GAAD,UACI,eAAClN,EAAA,EAAD,CAAMC,WAAS,EAACsG,QAAS,EAAzB,UACI,eAACvG,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,UACI,cAACqM,GAAD,UAAYtO,EAAE,yBACd,cAACwO,GAAD,UAAcxO,EAAE,0BAEpB,cAAC8B,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,SACI,eAACgN,GAAD,WACI,eAACC,GAAD,WACI,cAACC,GAAD,UACKnP,EAAE,yBAEP,cAACoP,GAAD,UACI,cAACX,GAAD,SAGR,eAACY,GAAD,WACI,cAACC,GAAD,UAActP,EAAE,sCAChB,cAACsP,GAAD,UAActP,EAAE,wBAChB,cAACsP,GAAD,UAActP,EAAE,2CAI5B,cAAC8B,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,SACI,cAACsN,GAAD,CACIjJ,QAAS,WAAOlF,OAAOC,SAASmO,OAAOT,IACvClK,WAAS,EACTF,QAAQ,WAHZ,SAKkB3E,EAAZmI,EAAc,KAAU,oBAQ5C6G,GAAyB3M,YAAO1C,IAAP0C,CAAH,MAItBkN,GAAelN,YAAOuF,IAAPvF,CAAH,MAKZ4M,GAAoB5M,YAAOP,IAAPO,CAAH,MAQjB6M,GAAkB7M,YAAOP,IAAPO,CAAH,MAMf8M,GAAoB9M,YAAOP,IAAPO,CAAH,MAWjB+M,GAAc/M,IAAO8L,IAAV,MAIXkB,GAAgBhN,IAAO8L,IAAV,MAIbmB,GAAcjN,IAAOkM,EAAV,MCnFJkB,GAAS,WAAO,IAAD,EACQnP,oBAAkB,GAD1B,mBACjBoP,EADiB,KACPC,EADO,OAEMrP,oBAAkB,GAFxB,mBAEjB2G,EAFiB,KAERkD,EAFQ,OAGc7J,mBAAiB,IAH/B,mBAGjByH,EAHiB,KAGJsC,EAHI,OAIY/J,mBAAiB,IAJ7B,mBAIjBsP,EAJiB,KAILrE,EAJK,KAKlBpD,EAAYtF,IACZ2G,EAAqBhH,IANH,EAOwC8H,cAAhDrG,EAPQ,EAOhBsG,OAAsBvD,EAPN,EAOMA,aAAc3D,EAPpB,EAOoBA,SAAUwK,EAP9B,EAO8BA,MAC9C7N,EAAMC,cAAND,EAEF4N,EAAY,uCAAG,WAAM5M,GAAN,6BAAA0J,EAAA,yDACjBP,GAAW,GACLZ,EAAcsG,KAAM,IAAIC,KAAKF,IAAaG,MAAM,SAAS3D,OAAO,cAFrD,UAKTpL,EALS,gCAMcqI,GACnBrI,EAAKwD,MACLxD,EAAKuE,SACLvE,EAAKsI,MACLC,EACApB,EACAqB,GAZK,OAee,OAAb,QATLzI,EANG,cAeE,IAARA,OAAA,EAAAA,EAAUiP,SACTL,GAAY,GAhBP,yDAoBoB,OAA7B,2CAAO5O,gBAAP,mBAAiBC,YAAjB,eAAuB4J,GACvBP,EAAc,OAAC,EAAD,6BAAC,KAAOtJ,gBAAR,iBAAC,EAAiBC,YAAlB,aAAC,EAAuBuF,GACF,OAA7B,2CAAOxF,gBAAP,mBAAiBC,YAAjB,eAAuB4J,GAC9BP,EAAerK,EAAE,4BAEjBqK,EAAerK,EAAE,sBAzBR,yBA4BbmK,GAAW,GA5BE,6EAAH,sDAgClB,OACI,8BACMuF,EAYI,cAAC,GAAD,CAAevH,UAAyB,OAAdA,EAAqB,GAAKA,IAXpD,cAAC,GAAD,CACEyF,aAAcA,EACd3J,aAAcA,EACd+C,aAAcA,EACd3D,SAAUA,EACVwK,MAAOA,EACP1F,UAAyB,OAAdA,EAAqB,GAAKA,EACrClB,QAASA,EACTc,YAAaA,EACbwD,cAAeA,O,mPC/C5B,IAAM0E,GAAoB,SAAC,GAMH,IAL3BC,EAK0B,EAL1BA,oBACAjM,EAI0B,EAJ1BA,aACA+C,EAG0B,EAH1BA,aACA3D,EAE0B,EAF1BA,SACA4D,EAC0B,EAD1BA,QAEQjH,EAAMC,cAAND,EAER,OACI,cAAC8B,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,SACI,uBAAMiF,SAAUF,EAAakJ,GAA7B,UACI,cAACpO,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAAC8B,EAAD,CACIV,SAAUA,EACVY,aAAcA,EACdC,MAAOlE,EAAE,oBAGjB,cAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACmF,UAAU,MAAMC,WAAW,SAASnF,GAAI,GAA7D,SACI,cAACH,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,eAACkO,GAAD,CACI7I,MAAM,UACNzC,WAAS,EACTP,KAAK,SACLK,QAAQ,YACR4C,kBAAgB,EALpB,UAOI,cAAC6I,GAAD,IACCnJ,GAAW,cAACL,GAAD,IACX5G,EAAE,0BASzBmQ,GAA4B9N,YAAOuF,IAAPvF,CAAH,MAIzB+N,GAAkB/N,YAAOgO,KAAPhO,CAAH,M,ijBC3Cd,IAAMiO,GAAoB,SAAC,GAOH,IAN3BJ,EAM0B,EAN1BA,oBACAjM,EAK0B,EAL1BA,aACA+C,EAI0B,EAJ1BA,aACA3D,EAG0B,EAH1BA,SACA4D,EAE0B,EAF1BA,QACAc,EAC0B,EAD1BA,YAEQ/H,EAAMC,cAAND,EAER,OACI,cAAC,GAAD,UACI,eAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACsG,QAAS,EAAzB,UACI,cAACvG,EAAA,EAAD,CACIC,WAAS,EACTC,MAAI,EACJC,GAAI,GAHR,SAKI,cAAC,GAAD,UACKjC,EAAE,wBAGX,cAAC,GAAD,CACIkQ,oBAAqBA,EACrBjM,aAAcA,EACd+C,aAAcA,EACd3D,SAAUA,EACV4D,QAASA,IAEZc,GACM,cAACjG,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACC,cAAC6F,GAAD,CAAiBC,YAAaA,MAGtC,cAACjG,EAAA,EAAD,CACIC,WAAS,EACTC,MAAI,EACJC,GAAI,GAHR,SAKI,cAACsO,GAAD,UACKvQ,EAAE,0BAGX,cAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAACuO,GAAD,CACIlK,QAAS,WAAOmK,QAAQC,QACxB7L,WAAS,EACTF,QAAQ,WACR4C,kBAAgB,EAJpB,SAMKvH,EAAE,oBAQrB0B,GAAkBW,YAAO1C,IAAP0C,CAAH,MASfH,GAAkBG,YAAOF,IAAPE,CAAH,MAIfkO,GAA+BlO,YAAOF,IAAPE,CAAH,MAM5BmO,GAAmBnO,YAAOuF,IAAPvF,CAAH,MCtFTsO,GAAoB,WAAO,IAC5B3Q,EAAMC,cAAND,EAD2B,EAELM,oBAAkB,GAFb,mBAE5B2G,EAF4B,KAEnBkD,EAFmB,OAGG7J,mBAAiB,IAHpB,mBAG5ByH,EAH4B,KAGfsC,EAHe,KAK7BnB,EAAqB1G,IALQ,EAMsB8H,cAAzCrG,EANmB,EAM3BsG,OAAsBvD,EANK,EAMLA,aAAc3D,EANT,EAMSA,SAEtC6M,EAAmB,uCAAG,WAAMlP,GAAN,iBAAA0J,EAAA,yDACxBP,GAAW,GADa,UAIhBnJ,EAJgB,gCfe5BwD,EeVgD,OAACxD,QAAD,IAACA,OAAD,EAACA,EAAMwD,MfWvDgF,EeX8DN,EfavDtI,IAAMuI,KAAK,8CAA+C,CAC7D3E,MAAOA,GACRgF,GepByB,gBAOZpI,OAAOC,SAASqG,KAAhB,OAAuB1E,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAQO,sBAPnB,uDAWa,OAA7B,2CAAOxC,gBAAP,mBAAiBC,YAAjB,eAAuB4J,GACvBP,EAAerK,EAAE,sBAEjBqK,EAAerK,EAAE,kCAdD,yBAiBpBmK,GAAW,GAjBS,+CfcH,IACzB3F,EACAgF,IehB4B,0BAAH,sDAqBzB,OACI,cAAC,GAAD,CACI0G,oBAAqBA,EACrBjM,aAAcA,EACd+C,aAAcA,EACd3D,SAAUA,EACV4D,QAASA,EACTc,YAAaA,K,6uBCjClB,IAAM6I,GAAuB,WAAO,IAC/B5Q,EAAMC,cAAND,EAER,OACI,eAAC,GAAD,WACI,cAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAAC,GAAD,UACKjC,EAAE,wBAGX,cAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAAC4O,GAAD,UACK7Q,EAAE,iCAGX,cAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAAC6O,GAAD,CACI/H,GAAI/F,EAAOE,MADf,SAGI,cAAC,GAAD,CACI2B,WAAS,EACTF,QAAQ,WACR4C,kBAAgB,EAHpB,SAKKvH,EAAE,oBAQrB0B,GAAkBW,YAAO1C,IAAP0C,CAAH,MASfH,GAAkBG,YAAOF,IAAPE,CAAH,MAMfwO,GAAiBxO,YAAOF,IAAPE,CAAH,MAMdyO,GAAazO,YAAOwF,IAAPxF,CAAH,MAKVmO,GAAmBnO,YAAOuF,IAAPvF,CAAH,M,8SCnDf,IAAM0O,GAAqB/M,gBAAK,YAOP,IAN5BgN,EAM2B,EAN3BA,qBACA/M,EAK2B,EAL3BA,aACA+C,EAI2B,EAJ3BA,aACA3D,EAG2B,EAH3BA,SACAwK,EAE2B,EAF3BA,MACA5G,EAC2B,EAD3BA,QAEQjH,EAAMC,cAAND,EACFuF,EAAWuI,iBAAO,IAGxB,OAFAvI,EAASS,QAAU6H,EAAM,WAAY,IAGjC,cAAC/L,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,SACI,uBAAMiF,SAAUF,EAAagK,GAA7B,UACI,eAAClP,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACmF,UAAU,MAAMlF,GAAI,GAAzC,UACI,cAAC,GAAD,UACKjC,EAAE,wBAEP,cAACoF,GAAD,CACIhB,GAAIuC,GACJtC,KAAMsC,GACNzC,MAAOlE,EAAE,YACTqF,aAAcrF,EAAE,wBAChBqD,SAAUA,EACViC,qBAAsBrB,EAAasB,SACnCA,SAAUA,OAGlB,cAACzD,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACmF,UAAU,MAAMlF,GAAI,GAAzC,SACI,cAACmD,GAAD,CACIhB,GAAIuC,GACJtC,KAAMsC,GACNzC,MAAOlE,EAAE,mBACTqF,aAAcrF,EAAE,+BAChBqD,SAAUA,EACViC,qBAAsBrB,EAAagK,gBACnC1I,SAAUA,MAGlB,cAACzD,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACmF,UAAU,MAAMlF,GAAI,GAAzC,SACI,eAACgP,GAAD,CACI3M,KAAK,SACLO,WAAS,EACTF,QAAQ,YACR4C,kBAAgB,EAJpB,UAMKvH,EAAE,kBACFiH,GAAW,cAACL,GAAD,iBAQ9BoH,GAA4B3L,IAAO8L,IAAV,MAMzB8C,GAAuB5O,YAAOuF,IAAPvF,CAAH,M,qTC9DnB,IAAM6O,GAAqB,SAAC,GAQF,IAP7BF,EAO4B,EAP5BA,qBACA/M,EAM4B,EAN5BA,aACA+C,EAK4B,EAL5BA,aACA3D,EAI4B,EAJ5BA,SACAwK,EAG4B,EAH5BA,MACA5G,EAE4B,EAF5BA,QACAc,EAC4B,EAD5BA,YAEQ/H,EAAMC,cAAND,EAER,OACI,cAAC,GAAD,UACI,eAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACsG,QAAS,EAAzB,UACI,cAACvG,EAAA,EAAD,CACIC,WAAS,EACTC,MAAI,EACJmF,UAAU,MACVC,WAAW,SACXnF,GAAI,GALR,SAOI,cAAC,GAAD,UACKjC,EAAE,yBAGX,cAAC+Q,GAAD,CACIC,qBAAsBA,EACtB/M,aAAcA,EACd+C,aAAcA,EACd3D,SAAUA,EACVwK,MAAOA,EACP5G,QAASA,IAEZc,GACM,cAACjG,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACC,cAAC6F,GAAD,CAAiBC,YAAaA,YAQhDrG,GAAkBW,YAAO1C,IAAP0C,CAAH,MASfH,GAAkBG,YAAOF,IAAPE,CAAH,MC9DR8O,GAAqB,WAAO,IAC7BnR,EAAMC,cAAND,EAD4B,EAENM,oBAAkB,GAFZ,mBAE7B2G,EAF6B,KAEpBkD,EAFoB,OAGE7J,mBAAiB,IAHnB,mBAG7ByH,EAH6B,KAGhBsC,EAHgB,KAK9BnB,EAAqB1G,IAGrBoH,EADY,IAAIzJ,gBAAgBiB,OAAOC,SAAShB,QAC1BK,IAAI,QARI,EAU4B4J,cAAhDrG,EAVoB,EAU5BsG,OAAsBvD,EAVM,EAUNA,aAAc3D,EAVR,EAUQA,SAAUwK,EAVlB,EAUkBA,MAEhDmD,EAAuBI,sBAAW,uCAAC,WAAMpQ,GAAN,yBAAA0J,EAAA,yDACrCP,GAAW,GAD0B,UAI7BnJ,IAAQ4I,EAJqB,gCAKND,GAAeC,EAAD,OAAY5I,QAAZ,IAAYA,OAAZ,EAAYA,EAAMuE,SAAU2D,GALpC,QAM7B,QADMnI,EALuB,cAM7B,IAAIA,GAAJ,UAAIA,EAAUC,YAAd,aAAI,EAAgBC,KAChBG,OAAOC,SAASqG,KAAhB,OAAuB1E,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAQE,OAPN,uBAU7BmH,EAAerK,EAAE,+BAVY,0DAaA,OAA7B,2CAAOe,gBAAP,mBAAiBC,YAAjB,eAAuB4J,GACvBP,EAAerK,EAAE,yBACmB,OAA7B,2CAAOe,gBAAP,mBAAiBC,YAAjB,eAAuB4J,GAC9BP,EAAerK,EAAE,mCAEjBqK,EAAerK,EAAE,+BAlBY,yBAqBjCmK,GAAW,GArBsB,6EAAD,sDAuBrC,CAACP,EAAWV,IAEf,OACI,cAAC,GAAD,CACI8H,qBAAsBA,EACtB/M,aAAcA,EACd+C,aAAcA,EACd3D,SAAUA,EACVwK,MAAOA,EACP5G,QAASA,EACTc,YAAaA,K,6uBC/ClB,IAAMsJ,GAAwB,WAAO,IAChCrR,EAAMC,cAAND,EAER,OACI,eAAC,GAAD,WACI,cAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAAC,GAAD,UACKjC,EAAE,wBAGX,cAAC8B,EAAA,EAAD,CAAOC,WAAS,EAAEC,MAAI,EAAEC,GAAI,GAA5B,SACI,cAAC,GAAD,UACKjC,EAAE,6BAGX,cAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAAC,GAAD,CAAY8G,GAAI/F,EAAOE,MAAvB,SACI,cAAC,GAAD,CACI2B,WAAS,EACTF,QAAQ,WACR4C,kBAAgB,EAHpB,SAKKvH,EAAE,oBAQrB0B,GAAkBW,YAAO1C,IAAP0C,CAAH,MASfH,GAAkBG,YAAOF,IAAPE,CAAH,MAMfwO,GAAiBxO,YAAOF,IAAPE,CAAH,MAMdyO,GAAazO,YAAOwF,IAAPxF,CAAH,MAKVmO,GAAmBnO,YAAOuF,IAAPvF,CAAH,M,gIC/Cf,IAAMiP,GAAoB,SAAC,GAMH,IAL3BC,EAK0B,EAL1BA,oBACAtN,EAI0B,EAJ1BA,aACA+C,EAG0B,EAH1BA,aACA3D,EAE0B,EAF1BA,SACA4D,EAC0B,EAD1BA,QAEQjH,EAAMC,cAAND,EAER,OACI,cAAC8B,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,SACI,uBAAMiF,SAAUF,EAAauK,GAA7B,UACI,cAACzP,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAACiD,EAAA,EAAD,CACId,GAAG,SACHC,KAAK,SACLC,KAAK,SACLJ,MAAOlE,EAAE,UACTuE,WAAYN,EAAauN,OAASvN,EAAauN,OAAO/M,QAAU,KAChEC,KAAK,QACLC,QAAQ,WACRC,WAAS,EACTC,WAAS,EACTC,SAAUzB,EAAS,CACf0B,SAAU,CACNC,OAAO,EACPP,QAASzE,EAAE,oCAGnBoD,QAASa,EAAauN,WAG9B,cAAC1P,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACmF,UAAU,MAAMC,WAAW,SAASnF,GAAI,GAA7D,SACI,cAACH,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,eAACwP,GAAD,CACInK,MAAM,UACNzC,WAAS,EACTP,KAAK,SACLK,QAAQ,YACR4C,kBAAgB,EALpB,UAOKvH,EAAE,QACFiH,GAAW,cAACL,GAAD,iBASlC6K,GAA4BpP,YAAOuF,IAAPvF,CAAH,M,mZChDxB,IAAMqP,GAAoB,SAAC,GAQH,IAP3BH,EAO0B,EAP1BA,oBACAtN,EAM0B,EAN1BA,aACA+C,EAK0B,EAL1BA,aACA3D,EAI0B,EAJ1BA,SACAsO,EAG0B,EAH1BA,0BACA1K,EAE0B,EAF1BA,QACAc,EAC0B,EAD1BA,YAEQ/H,EAAMC,cAAND,EAER,OACI,cAAC,GAAD,UACI,eAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACsG,QAAS,EAAzB,UACI,cAACvG,EAAA,EAAD,CACIC,WAAS,EACTC,MAAI,EACJC,GAAI,GAHR,SAKI,cAAC,GAAD,UACKjC,EAAE,+BAGX,cAAC,GAAD,CACIuR,oBAAqBA,EACrBtN,aAAcA,EACd+C,aAAcA,EACd3D,SAAUA,EACV4D,QAASA,IAEZc,GACM,cAACjG,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACC,cAAC6F,GAAD,CAAiBC,YAAaA,MAGrC4J,GACM,cAAC7P,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,SACC,cAAC2P,GAAD,CAAkB3J,MAAM,SAAxB,SACKjI,EAAE,mCASzB0B,GAAkBW,YAAO1C,IAAP0C,CAAH,MASfH,GAAkBG,YAAOF,IAAPE,CAAH,MAIfuP,GAAmBvP,YAAOF,IAAPE,CAAH,MCtETwP,GAAoB,WAAO,IAC5B7R,EAAMC,cAAND,EAD2B,EAELM,oBAAkB,GAFb,mBAE5B2G,EAF4B,KAEnBkD,EAFmB,OAG+B7J,oBAAkB,GAHjD,mBAG5BqR,EAH4B,KAGDG,EAHC,OAIGxR,mBAAiB,IAJpB,mBAI5ByH,EAJ4B,KAIfsC,EAJe,KAK7BlC,EAAYtF,IALiB,EAMsByH,cAAzCrG,EANmB,EAM3BsG,OAAsBvD,EANK,EAMLA,aAAc3D,EANT,EAMSA,SAEtCkO,EAAmB,uCAAG,WAAMvQ,GAAN,yBAAA0J,EAAA,yDACxBoH,GAA6B,GADL,UAIhB9Q,EAJgB,gCvBmC5BwQ,EuB9BmDxQ,EAAKwQ,OvBgCjD5Q,IAAMuI,KAAK,iDAAkD,CAChE4I,GAAIP,IuBtCoB,QAMhB,QADMzQ,EALU,cAMhB,IAAIA,GAAJ,UAAIA,EAAUC,YAAd,iBAAI,EAAgBC,SAApB,aAAI,EAAmB+Q,MACbC,EADkB,OACJlR,QADI,IACJA,GADI,UACJA,EAAUC,YADN,iBACJ,EAAgBC,SADZ,aACJ,EAAmB8Q,GACvC3Q,OAAOC,SAASqG,KAAhB,UAA0B1E,EAAOa,aAAjC,wBAA6DoO,EAA7D,sBAAsF9J,IAEtF2J,GAA6B,GAVjB,uDAcU,MAA1B,KAAM/Q,SAASC,KAAK4J,EACpBP,EAAe,KAAMtJ,SAASC,KAAKuF,GAEnC8D,EAAerK,EAAE,qBAjBD,yBAoBpBmK,GAAW,GApBS,+CvBkCD,IAC3BqH,IuBnC4B,0BAAH,sDAwBzB,OACI,cAAC,GAAD,CACID,oBAAqBA,EACrBtN,aAAcA,EACd+C,aAAcA,EACd3D,SAAUA,EACVsO,0BAA2BA,EAC3B1K,QAASA,EACTc,YAAaA,K,6uBC1ClB,IAAMmK,GAAuB,WAAO,IAC/BlS,EAAMC,cAAND,EAER,OACI,eAAC,GAAD,WACI,cAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAAC,GAAD,UACKjC,EAAE,2BAGX,cAAC8B,EAAA,EAAD,CAAOC,WAAS,EAAEC,MAAI,EAAEC,GAAI,GAA5B,SACI,cAAC,GAAD,UACKjC,EAAE,yBAGX,cAAC8B,EAAA,EAAD,CAAMC,WAAS,EAACC,MAAI,EAACC,GAAI,GAAzB,SACI,cAAC,GAAD,CAAY8G,GAAI/F,EAAOE,MAAvB,SACI,cAAC,GAAD,CACI2B,WAAS,EACTF,QAAQ,WACR4C,kBAAgB,EAHpB,SAKKvH,EAAE,gBAQrB0B,GAAkBW,YAAO1C,IAAP0C,CAAH,MASfH,GAAkBG,YAAOF,IAAPE,CAAH,MAMfwO,GAAiBxO,YAAOF,IAAPE,CAAH,MAMdyO,GAAazO,YAAOwF,IAAPxF,CAAH,MAKVmO,GAAmBnO,YAAOuF,IAAPvF,CAAH,M,qVCnDf,IAAM8P,GAAiB,WAAO,IACzBnS,EAAMC,cAAND,EADwB,EAEFM,oBAAkB,GAFhB,mBAEzB2G,EAFyB,KAEhBkD,EAFgB,OAGY7J,mBAAiB,IAH7B,mBAGzB8R,EAHyB,KAGTC,EAHS,OAIgB/R,oBAAkB,GAJlC,mBAIzBgS,EAJyB,KAIPC,EAJO,KAK1B/I,EAAqBhH,IAGrBwH,EADY,IAAI7J,gBAAgBiB,OAAOC,SAAShB,QAC/BK,IAAI,QAErB8R,EAAiB,uCAAG,kCAAA9H,EAAA,mEAEfV,EAFe,gCAGSpG,GAAeoG,EAAMR,GAH9B,gBAKV6I,EAAkBrS,EAAE,wBACpBuS,GAAoB,IANV,uBASdF,EAAkBrS,EAAE,+BACpBuS,GAAoB,GAVN,0DAae,OAA7B,2CAAOxR,gBAAP,mBAAiBC,YAAjB,eAAuB4J,IACvByH,EAAkBrS,EAAE,+BACpBuS,GAAoB,IACgB,OAA7B,2CAAOxR,gBAAP,mBAAiBC,YAAjB,eAAuB4J,IAC9ByH,EAAkBrS,EAAE,+BACpBuS,GAAoB,KAEpBF,EAAkBrS,EAAE,sBACpBuS,GAAoB,IArBN,yBAwBlBpI,GAAW,GAxBO,6EAAH,qDAgCvB,OAJAxJ,qBAAU,WACN6R,MACD,CAACxI,IAGA,cAAC,GAAD,UACI,eAAClI,EAAA,EAAD,CAAMC,WAAS,EAACsG,QAAS,EAAzB,UACI,eAACvG,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,UACI,cAACqM,GAAD,UAAYtO,EAAE,uBACd,cAACwO,GAAD,UAAc4D,OAEjBnL,GAAW,cAACL,GAAD,IACX0L,GACM,cAACxQ,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAf,SACC,cAAC,GAAD,CAAY8G,GAAI/F,EAAOE,MAAvB,SACI,cAAC,GAAD,CACI2B,WAAS,EACTF,QAAQ,WACR4C,kBAAgB,EAHpB,SAKKvH,EAAE,sBAU7BgP,GAAyB3M,YAAO1C,IAAP0C,CAAH,MAItByO,GAAazO,YAAOwF,IAAPxF,CAAH,MAKVmO,GAAmBnO,YAAOuF,IAAPvF,CAAH,MCjDPoQ,GArBH,WACR,OACI,cAAC,IAAD,UACI,eAAC,EAAD,WACI,cAAC,IAAD,CAAOC,OAAK,EAACC,KAAM3P,EAAOC,KAAM4F,UAAW/I,IAC3C,cAAC,IAAD,CAAO4S,OAAK,EAACC,KAAM3P,EAAOE,MAAO0P,OAAQ,kBAAM,cAAC,GAAD,OAC/C,cAAC,IAAD,CAAOD,KAAM3P,EAAOG,OAAQ0F,UAAW9I,IACvC,cAAC,IAAD,CAAO4S,KAAM3P,EAAOI,MAAOyF,UAAWgC,KACtC,cAAC,IAAD,CAAO8H,KAAM3P,EAAOK,SAAUuP,OAAQ,kBAAM,cAAC,GAAD,OAC5C,cAAC,IAAD,CAAOD,KAAM3P,EAAOM,cAAesP,OAAQ,kBAAM,cAAC,GAAD,OACjD,cAAC,IAAD,CAAOD,KAAM3P,EAAOO,qBAAsBqP,OAAQ,kBAAM,cAAC,GAAD,OACxD,cAAC,IAAD,CAAOD,KAAM3P,EAAOQ,eAAgBoP,OAAQ,kBAAM,cAAC,GAAD,OAClD,cAAC,IAAD,CAAOD,KAAM3P,EAAOS,sBAAuBmP,OAAQ,kBAAM,cAAC,GAAD,OACzD,cAAC,IAAD,CAAOD,KAAM3P,EAAOU,cAAekP,OAAQ,kBAAM,cAAC,GAAD,OACjD,cAAC,IAAD,CAAOD,KAAM3P,EAAOW,qBAAsBiP,OAAQ,kBAAM,cAAC,GAAD,OACxD,cAAC,IAAD,CAAOD,KAAM3P,EAAOY,eAAgBgP,OAAQ,kBAAM,cAAC,GAAD,a,sCC9BlEC,KACKC,IAAIC,MACJD,IAAIE,MACJF,IAAIG,MACJC,KAAK,CACFC,OAAO,EACPC,YAAa,OAGNP,GAAf,EAAeA,ICPTQ,GAAcC,SAASC,eAAe,QAE5CC,IAASZ,OACL,cAAC,WAAD,CAAUa,SAAU,cAAC7M,GAAD,IAApB,SACI,cAAC,GAAD,MAEJyM,M","file":"static/js/main.4d594c1f.chunk.js","sourcesContent":["import React, { ReactElement } from 'react';\nimport Container from '@material-ui/core/Container';\n\ninterface LayoutProps {\n children: ReactElement | ReactElement[];\n}\nexport const Layout = (props: LayoutProps) => {\n return (\n \n {props.children}\n \n );\n};\n","import React from 'react';\n\nexport const Home = () => {\n return (\n
\n

WeatherBug Auth.Identity Server

\n

Welcome to the WeatherBug Authentication server.

\n
\n );\n};\n","import React, { useEffect, useState } from 'react';\nimport axios from 'axios';\nimport { useLocation } from 'react-router-dom';\nimport { Container, Grid, Typography } from '@material-ui/core';\nimport styled from 'styled-components';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport { useTranslation } from 'react-i18next';\n\nconst useQuery = ()=>{\n return new URLSearchParams(useLocation().search);\n};\n\nexport const LogOut = ()=>{\n const { t } = useTranslation();\n const query = useQuery();\n const [iframeLocation, setIframeLocation] = useState();\n const logoutId = query.get('logoutId');\n useEffect(() => {\n if(logoutId) {\n axios.get(`/api/auth/identity/account/v1/logout?logoutId=${logoutId}`, {\n headers: { 'credentials': 'include' }\n }\n ).then((response) => {\n if(response && response?.data) {\n const data = response.data.r;\n if(data?.signOutIFrameUrl)\n {\n setIframeLocation(data.signOutIFrameUrl);\n }\n if(data?.postLogoutRedirectUri)\n {\n window.location = data.postLogoutRedirectUri;\n }\n }\n }).catch((getErr) =>{\n console.log(getErr);\n });\n }\n }, [logoutId]);\n\n return (\n \n \n \n {t('successfullySignedOut')}\n {t('beingRedirected')}\n \n \n \n \n \n );\n\n};\n\nconst StyledContainer = styled(Container)`\n margin-top: 40px;\n font: Roboto;\n font-style: normal;\n font-family: sans-serif;\n`;\n\nconst TitleTypography = styled(Typography)`\n font-size: 17px;\n font-weight: 600;\n margin-bottom: 15px;\n`;\n\nconst StyledSpinner = styled(CircularProgress)`\n color: #888888;\n position: fixed;\n top: 30%;\n left: 44%;\n`;\n\nconst StyledIframe = styled.iframe`\n position: absolute; \n width:0; \n height:0; \n border:0;\n`;","\nimport { useCookies } from 'react-cookie';\n\nexport const antiForgeryFormOptions = () => {\n const [cookies] = useCookies();\n\n return {\n withCredentials: true,\n headers: { RequestVerificationToken: cookies[antiForgeryToken] }\n };\n};\n\nexport const antiForgeryToken = 'X-CSRF-TOKEN';\n","import { useLocation } from 'react-router-dom';\n\nconst useQuery = ()=> {\n return new URLSearchParams(useLocation().search);\n};\n\nexport const getReturnUrl = ()=>{\n const query = useQuery();\n const parameter = query.get('ReturnUrl');\n return encodeURIComponent(parameter ?? '');\n};","export const routes = {\n home: '/',\n logIn: '/logIn',\n logOut: '/logOut',\n error: '/error',\n register: '/register',\n resetpassword: '/resetpassword',\n resetpasswordmessage: '/resetpasswordmessage',\n updatepassword: '/updatepassword',\n updatepasswordsuccess: '/updatepasswordsuccess',\n signInWithSso: '/signInWithSso',\n signInWithSsoSuccess: '/signInWithSsoSuccess',\n signUpActivate: '/activate',\n challengeUrl: '/api/auth/identity/external/v1/challenge'\n};\n","import React, { memo } from 'react';\nimport { TextField } from '@material-ui/core';\nimport styled from 'styled-components';\nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nconst emailRegex = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i;\n\ninterface EmailTextFieldProps {\n fieldsErrors: FieldErrors;\n register: UseFormMethods['register'];\n label: string;\n}\n\nexport const EmailTextField = memo(({ register, fieldsErrors, label }: EmailTextFieldProps) => {\n const { t } = useTranslation();\n\n return (\n \n );\n});\n\nconst StyledTextfield = styled(TextField)`\n margin-bottom: 20px;\n \n .MuiFormLabel-root.Mui-error {\n color: #000000;\n opacity: .2;\n }\n \n .MuiOutlinedInput-root.Mui-error .MuiOutlinedInput-notchedOutline {\n border-color: #000000;\n opacity: .2;\n }\n`;","import React, { memo, MutableRefObject, useState } from 'react';\nimport { TextField, InputAdornment, IconButton } from '@material-ui/core';\nimport { Visibility, VisibilityOff } from '@material-ui/icons';\nimport styled from 'styled-components';\nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nconst passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d\\w\\W]{8,}$/;\n\ninterface PasswordTextFieldProps {\n id: string;\n name: string;\n label: string;\n errorMessage: string;\n passwordFieldsErrors: FieldErrors;\n register: UseFormMethods['register'];\n password?: MutableRefObject>;\n validateFormat?: boolean;\n}\n\nexport const PasswordTextField = memo(({ \n id, \n name, \n label, \n errorMessage, \n passwordFieldsErrors, \n register, \n password,\n validateFormat = true\n}: PasswordTextFieldProps) => {\n const [visible, setVisible] = useState(false);\n const toggleVisibility = (e: React.FormEvent) => {\n e.preventDefault();\n setVisible(!visible);\n };\n const { t } = useTranslation();\n const translatedPasswordLengthRequirement = t('passwordLengthRequirement');\n const translatedPasswordFormatRequirement = t('passwordFormatRequirement');\n\n return (\n {\n if (validateFormat && name === 'password' && value.length < 8) {\n return translatedPasswordLengthRequirement;\n }\n if (validateFormat && name === 'password' && !passwordRegex.test(value)) {\n return translatedPasswordFormatRequirement;\n } \n if (name === 'confirmPassword' && value !== password?.current) {\n return errorMessage;\n }\n }\n })}\n error={!!passwordFieldsErrors}\n InputProps = {\n {\n endAdornment:\n \n \n {\n visible ? : \n }\n \n \n }\n }\n />\n );\n});\n\nconst StyledTextfield = styled(TextField)`\n margin-bottom: 20px;\n\n .MuiFormLabel-root.Mui-error {\n color: #000000;\n opacity: .2;\n }\n\n .MuiOutlinedInput-root.Mui-error .MuiOutlinedInput-notchedOutline {\n border-color: #000000;\n opacity: .2;\n }\n`;","export const stringConstants = {\n confirmPasswordName: 'confirmPassword',\n displayDateFormat: 'MMMM, YYYY',\n valueDateFormat: 'MMMM D, YYYY',\n bySelecting: 'By selecting, you agree to WeatherBug\\'s',\n terms: 'Terms of Service',\n legalTermsLink: 'https://www.weatherbug.com/legal/terms',\n and: 'and',\n privacyPolicy: 'Privacy Policy',\n privacyPolicyLink: 'https://www.weatherbug.com/legal/privacy',\n passwordName: 'password'\n \n};","import styled from 'styled-components';\nimport CircularProgress from '@material-ui/core/CircularProgress';\n\nexport const SpinnerComponent = styled(CircularProgress).attrs(() => ({\n size: 30\n}))`\n color: #ffffff;\n position: absolute;\n`;\n","import React from 'react';\nimport { Button, Grid, Link, Typography } from '@material-ui/core';\nimport styled from 'styled-components';\nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { routes } from '../common/routes';\nimport { EmailTextField } from '../common/emailTextField';\nimport { PasswordTextField } from '../common/passwordTextField';\nimport { stringConstants } from '../common/strings';\nimport { LogInFormValues } from '../common/interfaces';\nimport { SpinnerComponent } from '../common/spinnerComponent';\n\ninterface LogInFormProps {\n submitLogIn: (data: LogInFormValues) => void;\n fieldsErrors: FieldErrors;\n handleSubmit: UseFormMethods['handleSubmit'];\n register: UseFormMethods['register'];\n loading: boolean;\n}\n\nexport const LogInForm = ({ \n submitLogIn, \n fieldsErrors, \n handleSubmit, \n register,\n loading\n}: LogInFormProps) => {\n const { t } = useTranslation();\n\n return (\n \n
\n \n \n \n \n \n \n \n \n \n {t('signIn')}\n {loading && }\n \n \n \n \n \n {t('resetPassword')}\n \n \n \n \n
\n
\n );\n};\n\nconst SignInButton = styled(Button)`\n background-color: #0083C6;\n`;\n\nconst ResetPasswordLink = styled(Link)`\n color: #0083C6;\n font-size: 12px;\n`;\n","import React, { memo } from 'react';\nimport styled from 'styled-components';\nimport Typography from '@material-ui/core/Typography';\n\ninterface ErrorTypographyProps {\n serverError: string\n}\n\nexport const ErrorTypography = memo(({ serverError }: ErrorTypographyProps) => {\n return (\n \n {serverError}\n \n );\n});\n\nconst ErrorMessage = styled(Typography)`\n color: #ff0000;\n font-size: 15px;\n margin: 0 auto; \n`;\n","import React from 'react';\nimport { Link as ReactRouterDomLink } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { Container, Grid, Button, Link, Typography } from '@material-ui/core';\nimport OpenInNewIcon from '@material-ui/icons/OpenInNew'; \nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { LogInForm } from './logInForm';\nimport { LogInFormValues } from '../common/interfaces';\nimport { routes } from '../common/routes';\nimport { ErrorTypography } from '../common/errorTypography';\n\ninterface LogInViewProps {\n submitLogIn: (data: LogInFormValues) => void;\n fieldsErrors: FieldErrors;\n handleSubmit: UseFormMethods['handleSubmit'];\n register: UseFormMethods['register'];\n returnUrl: string;\n loading: boolean;\n serverError?: string;\n showSso: boolean;\n \n}\n\nexport const LogInView = ({\n submitLogIn,\n fieldsErrors,\n handleSubmit,\n register,\n returnUrl,\n loading,\n serverError,\n showSso\n}: LogInViewProps) => {\n const { t } = useTranslation();\n\n return (\n \n \n \n \n {t('forWeatherBugUsers')}\n \n \n \n {serverError\n && \n \n \n }\n {returnUrl\n && \n \n {t('accountQuestion')}\n \n \n \n {t('signUp')}\n \n \n \n }\n {showSso\n && \n \n \n \n \n \n \n {t('or')}\n \n \n \n \n \n \n \n }\n {returnUrl && showSso\n && \n \n \n }\n \n \n );\n};\n\n// TECHDEBT: Clay: We should consider adding a styled components theme to pull these colors and \n// fonts from to make it easier to manage and repeat ourselves less. We should also consider \n// creating some base components to be shared between the different views that share the default \n// styles/overrides. We might be able to tie that stuff into material ui automatically as well.\nconst StyledContainer = styled(Container)`\n margin-top: 40px;\n font: Roboto;\n font-size: 15px;\n font-weight: 400;\n font-style: normal;\n font-family: sans-serif;\n`;\n\nconst TitleTypography = styled(Typography)`\n color: #555555;\n`;\n\nconst SignUpLink = styled(Link)`\n color: #0083C6;\n font-size: 14px;\n`;\n\nconst AccountQuestionSection = styled(Grid)`\n margin-top: 30px;\n margin-bottom: 30px;\n`;\n\nconst AccountQuestionTypography = styled(Typography)`\n color: #555555;\n margin-right: 5px;\n font-size: 14px;\n`;\n\nconst DividerGrid = styled(Grid)`\n fill: #888888;\n`;\n\nconst OrTextTypography = styled(Typography)`\n color: #888888;\n margin: 0 auto; \n`;\n\nconst StyledOpenInNewOcon = styled(OpenInNewIcon)`\n font-size: 16;\n margin-right: 5px;\n`;\n","import axios, { AxiosRequestConfig } from 'axios';\n\nexport const logIn = (\n email: string,\n password: string,\n returnUrl: string,\n antiforgeryOptions: AxiosRequestConfig\n) => {\n return axios.post('/api/auth/identity/account/v1/logIn', {\n userName: email,\n password: password,\n returnUrl: returnUrl\n }, antiforgeryOptions);\n};\n\nexport const signUp = (\n email: string,\n password: string,\n terms: boolean,\n dateOfBirth: string,\n returnUrl: string,\n antiForgeryOptions: AxiosRequestConfig\n) => {\n return axios.post('/api/auth/identity/account/v1/register', {\n email: email,\n password: password,\n termsAccepted: terms,\n birthDate: dateOfBirth,\n returnUrl\n }, antiForgeryOptions);\n};\n\nexport const resetPassword = (\n email: string,\n antiForgeryOptions: AxiosRequestConfig\n) => {\n return axios.post('/api/auth/identity/account/v1/resetpassword', {\n email: email\n }, antiForgeryOptions);\n};\n\nexport const updatePassword = (\n resetCode: string,\n newPassword: string,\n antiForgeryOptions: AxiosRequestConfig\n) => {\n return axios.post('/api/auth/identity/account/v1/updatepassword', {\n resetCode: resetCode,\n password: newPassword\n }, antiForgeryOptions);\n};\n\nexport const validatePartner = (\n domain: string\n) => {\n return axios.post('/api/auth/identity/external/v1/validatepartner', {\n pn: domain\n });\n};\n\nexport const getError = (\n errorId: string\n) => {\n return axios.get(`/api/auth/identity/account/v1/error?errorId=${errorId}`, {\n headers: { 'credentials': 'include' }\n });\n};\n\nexport const signUpActivate = (\n code: string,\n antiForgeryOptions: AxiosRequestConfig\n) => {\n return axios.post('/api/auth/identity/account/v1/activate', {\n ac: code\n }, antiForgeryOptions);\n};\n\n","import React, { useEffect, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { antiForgeryFormOptions } from '../common/antiForgery';\nimport { getReturnUrl } from '../common/returnUrl';\nimport { LogInView } from './logInView';\nimport { LogInFormValues } from '../common/interfaces';\nimport { logIn } from '../data/endpointServices';\n\nexport const LogIn = () => {\n const { t } = useTranslation();\n const [loading, setLoading] = useState(false);\n const [showSso, setShowSso] = useState(true);\n const [serverError, setServerError] = useState('');\n const antiforgeryOptions = antiForgeryFormOptions();\n const returnUrl = getReturnUrl();\n const { errors: fieldsErrors, handleSubmit, register } = useForm();\n const { search } = useLocation();\n\n useEffect(() => {\n const decodedUri = decodeURIComponent(search);\n const disablessologinview = new URLSearchParams(decodedUri).get('disablessologinview');\n\n if (disablessologinview === 'true') {\n setShowSso(false);\n }\n }, []);\n \n const submitLogIn = async(data: LogInFormValues) => {\n setLoading(true);\n\n try {\n const response = await logIn(data.email, data.password, returnUrl, antiforgeryOptions);\n if (response?.data?.r) {\n const newLocation = decodeURIComponent(response.data?.r?.returnUrl);\n window.location.href = newLocation ?? '';\n } else {\n setServerError(t('logInSystemError'));\n }\n } catch (error) {\n if (error?.response?.data?.c === 400) {\n setServerError(error?.response?.data?.e);\n } else if (error?.response?.data?.c === 401) {\n setServerError(t('logInIncorrectInfoError'));\n } else {\n setServerError(t('logInSystemError'));\n }\n } finally {\n setLoading(false);\n }\n };\n\n return(\n \n );\n};\n\n","import React, { useEffect, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { Container, Grid } from '@material-ui/core';\nimport styled from 'styled-components';\n\nimport { getError } from './data/endpointServices';\nimport { ErrorTypography } from './common/errorTypography';\nimport { SpinnerComponent } from './common/spinnerComponent';\n\nconst useQuery = () => {\n return new URLSearchParams(useLocation().search);\n};\n\nexport const Error = () => {\n const query = useQuery();\n const [errorCode, setErrorCode] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [loading, setLoading] = useState(false);\n const errorId = query.get('errorId');\n\n const getErrorMessage = async() => {\n try {\n if(errorId) {\n const response = await getError(errorId);\n if (response?.data) {\n setErrorCode(response?.data?.ec);\n setErrorMessage(response?.data?.emsg);\n }\n }\n } catch (newError) {\n setErrorMessage(newError);\n } finally {\n setLoading(false);\n }\n };\n\n useEffect(() => {\n setLoading(true);\n getErrorMessage();\n }, [errorId]);\n\n return (\n \n {errorCode \n && \n \n \n \n \n \n \n {loading && }\n \n }\n \n );\n};\n\nconst StyledContainer = styled(Container)`\n margin-top: 40px;\n font: Roboto;\n font-size: 15px;\n font-weight: 400;\n font-style: normal;\n font-family: sans-serif;\n`;","import styled from 'styled-components';\n\nexport const CustomError = styled.span`\ncolor: #f44336;\nmargin-left: 14px;\nmargin-top: 4px;\nfont-size: 0.75rem;\n`;\n","import React, { memo, useState } from 'react';\nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { KeyboardDatePicker } from '@material-ui/pickers';\nimport DateFnsUtils from '@date-io/dayjs';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport { Grid } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\n\nimport { stringConstants } from './strings';\nimport { CustomError } from '../common/customError';\nimport { Dayjs } from 'dayjs';\n\ninterface DatePickerProps {\n register: UseFormMethods['register'];\n fieldsErrors: FieldErrors;\n setActualDate: (date: string) => void;\n}\n\n// Apple demanded that we remove the day part of this.\nexport const DatePicker = memo(({ \n register,\n fieldsErrors,\n setActualDate\n}: DatePickerProps) => {\n const [selectedDate, changeSelectedDate] = useState('');\n const [isDatePickerOpen, setIsDatePickerOpen] = useState(false);\n const [datepickerChanged, setDatepickerChanged] = useState(false);\n const { t } = useTranslation();\n const translatedPleaseEnterValidDateErrorMessage = t('pleaseEnterValidDate');\n\n const changeDates = (date: Dayjs) => {\n changeSelectedDate(date?.format(stringConstants.displayDateFormat));\n setActualDate(date?.format(stringConstants.valueDateFormat));\n };\n\n return (\n \n \n {\n newDate && changeDates(newDate);\n }}\n fullWidth\n InputLabelProps={{\n shrink: true\n }}\n inputRef={register({\n required: translatedPleaseEnterValidDateErrorMessage\n })}\n helperText={''}\n error={!selectedDate && datepickerChanged}\n onClick={() => {setIsDatePickerOpen(true); setDatepickerChanged(true);}}\n open={isDatePickerOpen}\n onClose={() => setIsDatePickerOpen(false)}\n />\n \n \n {fieldsErrors.dob \n && datepickerChanged\n && \n {fieldsErrors.dob.message}\n \n }\n \n );\n});\n","import React, { memo } from 'react';\nimport { Checkbox, FormControlLabel, Grid } from '@material-ui/core';\nimport styled from 'styled-components';\nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { Trans, useTranslation } from 'react-i18next';\n\nimport { stringConstants } from './common/strings';\nimport { CustomError } from './common/customError';\n\ninterface TermsOfServiceProps {\n fieldsErrors: FieldErrors;\n register: UseFormMethods['register'];\n}\n\nexport const TermsOfService = memo(({ register, fieldsErrors }: TermsOfServiceProps) => {\n const { t } = useTranslation();\n const translatedTermsAndConditionsErrorMessage = t('termsAndConditionsErrorMessage');\n\n return (\n \n \n }\n label={\n \n \n {stringConstants.bySelecting}\n \n {stringConstants.terms}\n \n {stringConstants.and} \n \n {stringConstants.privacyPolicy}\n .\n \n \n }\n />\n {fieldsErrors.terms \n && \n {fieldsErrors.terms.message}\n \n }\n \n );\n});\n\nconst StyledFormControlLabel = styled(FormControlLabel)`\n margin-top: 31px;\n`;\n\nconst TermsOfServiceText = styled.span`\n font-size: 13px;\n font-weight: 400;\n`;\n\nconst StyledCheckbox = styled(Checkbox)`\n padding-top: 0;\n color: #888888 !important;\n`;\n","import React, { memo, useRef } from 'react';\nimport { Button, Grid } from '@material-ui/core';\nimport styled from 'styled-components';\nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { EmailTextField } from '../common/emailTextField';\nimport { PasswordTextField } from '../common/passwordTextField';\nimport { DatePicker } from '../common/datePicker';\nimport { TermsOfService } from '../termsOfService';\nimport { stringConstants } from '../common/strings';\nimport { SignUpFormValues } from '../common/interfaces';\nimport { SpinnerComponent } from '../common/spinnerComponent';\n\ninterface SignUpFormProps {\n submitSignUp: (data: SignUpFormValues) => void;\n fieldsErrors: FieldErrors;\n handleSubmit: UseFormMethods['handleSubmit'];\n register: UseFormMethods['register'];\n watch: UseFormMethods['watch'];\n loading: boolean;\n setActualDate: (date: string) => void;\n}\n\nexport const SignUpForm = memo(({ \n submitSignUp, \n fieldsErrors, \n handleSubmit, \n register,\n watch,\n loading,\n setActualDate\n}: SignUpFormProps) => {\n const { t } = useTranslation();\n const password = useRef({});\n password.current = watch('password', '');\n\n return (\n \n
\n \n \n \n \n \n {t('passwordHelperText')}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {t('signUp')}\n {loading && }\n \n \n
\n
\n );\n});\n\nconst StyledPassewordHelperText = styled.div`\n font-size: 12px;\n color: #888888;\n margin-bottom: 10px;\n`;\n\nconst SignUpButton = styled(Button)`\n color: #ffffff !important;\n background-color: #0083C6;\n margin-top: 20px;\n`;\n\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { Container, Grid, Button } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\n\nimport { SignUpForm } from './signUpForm';\nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { SignUpFormValues } from '../common/interfaces';\nimport { ErrorTypography } from '../common/errorTypography';\n\n\ninterface SignUpViewProps {\n submitSignUp: (data: SignUpFormValues) => void;\n fieldsErrors: FieldErrors;\n handleSubmit: UseFormMethods['handleSubmit'];\n register: UseFormMethods['register'];\n watch: UseFormMethods['watch'];\n returnUrl: string;\n loading: boolean;\n serverError?: string;\n setActualDate: (date: string) => void;\n}\n\nexport const SignUpView = ({ \n submitSignUp, \n fieldsErrors,\n setActualDate,\n handleSubmit,\n register,\n watch,\n returnUrl,\n loading,\n serverError\n} : SignUpViewProps) => {\n const { t } = useTranslation();\n\n return (\n \n \n \n \n \n {serverError\n && \n \n \n }\n {returnUrl\n && \n \n {t('alreadyHaveAnAccount')}\n \n \n \n }\n \n \n );\n};\n\nconst StyledContainer = styled(Container)`\n margin-top: 40px;\n font: Roboto;\n font-size: 15px;\n font-weight: 400;\n font-style: normal;\n font-family: sans-serif;\n`;\n\nconst ExistingAccount = styled.div`\n font-size: 15px;\n color: #888888;\n margin: 10px auto 10px auto;\n`;\n","import styled from 'styled-components';\n\nexport const TitleText = styled.p`\n font-family: Roboto;\n font-weight: bold;\n font-size: 16px;\n margin-left: 10px;\n`;\n","import styled from 'styled-components';\n\nexport const MessageText = styled.p`\n font-family: Roboto;\n font-size: 15px;\n margin-left: 10px;\n`;\n","import React, { memo } from 'react';\n\ninterface WeatherBugIconProps {\n width?: number;\n height?: number;\n}\n\nexport const WeatherBugIcon = memo(({ \n width = 97,\n height = 102\n}: WeatherBugIconProps) =>\n \n \n \n \n \n \n);\n","import React from 'react';\nimport { Container, Grid, Button } from '@material-ui/core';\nimport styled from 'styled-components';\nimport { useTranslation } from 'react-i18next';\nimport { TitleText } from '../common/titleText';\nimport { MessageText } from '../common/messageText';\nimport { WeatherBugIcon } from '../common/icons/weatherBugIcon';\n\ninterface SignUpSuccessProps {\n returnUrl: string;\n}\nexport const SignUpSuccess = ({ returnUrl }:SignUpSuccessProps) => {\n const { t } = useTranslation();\n const whereToGo = decodeURIComponent(returnUrl);\n\n return(\n \n \n \n {t('welcomeToWeatherbug')}\n {t('youAreNowSignedIn')}\n \n \n \n \n \n {t('dearWeatherBugUsers')}\n \n \n \n \n \n \n {t('enjoyTheSameWeatherBugExperience')}\n {t('manageYourSettings')}\n {t('synchronizeYourSavedLocations')}\n \n \n \n \n {window.location.assign(whereToGo);}}\n fullWidth\n variant='outlined'\n >\n { returnUrl ? t('ok') : t('signIn') } \n \n \n \n \n );\n};\n\nconst SignUpSuccessContainer = styled(Container)`\n margin-top: 50px;\n`;\n\nconst StyledButton = styled(Button)`\n background-color: #0083C6;\n color: #ffffff;\n`;\n\nconst WelcomeMessageBox = styled(Grid)`\n display: flex;\n flex-direction: column;\n padding: 16px 8px;\n height: 298px;\n background: rgba(0, 131, 198, 0.03);\n`;\n\nconst HeaderContainer = styled(Grid)`\n display: flex;\n flex-direction: row;\n margin: 20px 0 0 20px;\n`;\n\nconst OpeningSalutation = styled(Grid)`\n position: static;\n width: 155px;\n height: 102px;\n font-family: 'Roboto';\n font-style: normal;\n font-weight: 400;\n font-size: 28px;\n color: #0083C6;\n`;\n\nconst IconWrapper = styled.div`\n margin: 0 9% 0 auto;\n`;\n\nconst TextContainer = styled.div`\n margin: auto 0 0 20px;\n`;\n\nconst WelcomeText = styled.p`\n font-family: Roboto;\n font-size: 15px;\n`;\n","import React, { useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport dayjs from 'dayjs';\nimport { useTranslation } from 'react-i18next';\n\nimport { antiForgeryFormOptions } from '../common/antiForgery';\nimport { getReturnUrl } from '../common/returnUrl';\nimport { SignUpView } from './signUpView';\nimport { SignUpFormValues } from '../common/interfaces';\nimport { SignUpSuccess } from './signUpSuccess';\nimport { signUp } from '../data/endpointServices';\n\nexport const SignUp = () => {\n const [signedUp, setSignedUp] = useState(false);\n const [loading, setLoading] = useState(false);\n const [serverError, setServerError] = useState('');\n const [acutalDate, setActualDate] = useState('');\n const returnUrl = getReturnUrl();\n const antiForgeryOptions = antiForgeryFormOptions();\n const { errors: fieldsErrors, handleSubmit, register, watch } = useForm();\n const { t } = useTranslation();\n \n const submitSignUp = async(data: SignUpFormValues) => {\n setLoading(true);\n const dateOfBirth = dayjs(new Date(acutalDate)).endOf('month').format('YYYY-MM-DD');\n \n try {\n if (data) {\n const response = await signUp(\n data.email, \n data.password, \n data.terms, \n dateOfBirth, \n returnUrl, \n antiForgeryOptions\n );\n\n if(response?.status === 200) {\n setSignedUp(true);\n }\n }\n } catch (error) {\n if (error?.response?.data?.c === 400) {\n setServerError(error?.response?.data?.e);\n } else if (error?.response?.data?.c === 409) { \n setServerError(t('signUpExistingUserError'));\n } else {\n setServerError(t('signUpSystemError'));\n }\n } finally {\n setLoading(false);\n }\n };\n\n return(\n
\n {!signedUp\n ? \n : \n }\n
\n );\n};","import React from 'react';\nimport { Button, Grid } from '@material-ui/core';\nimport MailOutlineIcon from '@material-ui/icons/MailOutline';\nimport styled from 'styled-components';\nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { EmailTextField } from '../common/emailTextField';\nimport { ResetPasswordFormValues } from '../common/interfaces';\nimport { SpinnerComponent } from '../common/spinnerComponent';\n\ninterface ResetPasswordFormProps {\n submitResetPassword: (data: ResetPasswordFormValues) => void;\n fieldsErrors: FieldErrors;\n handleSubmit: UseFormMethods['handleSubmit'];\n register: UseFormMethods['register'];\n loading: boolean;\n}\n\nexport const ResetPasswordForm = ({ \n submitResetPassword, \n fieldsErrors, \n handleSubmit, \n register,\n loading\n}: ResetPasswordFormProps) => {\n const { t } = useTranslation();\n\n return (\n \n
\n \n \n \n \n \n \n \n {loading && }\n {t('sendEmail')}\n \n \n \n
\n
\n );\n};\n\nconst SubmitResetPasswordButton = styled(Button)`\n background-color: #0083C6;\n`;\n\nconst StyledEmailOcon = styled(MailOutlineIcon)`\n font-size: 15;\n margin-right: 5px;\n`;\n","import React from 'react';\nimport styled from 'styled-components';\nimport { Button, Container, Grid, Typography } from '@material-ui/core';\nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { ResetPasswordFormValues } from '../common/interfaces';\nimport { ResetPasswordForm } from './resetPasswordForm';\nimport { ErrorTypography } from '../common/errorTypography';\n\ninterface ResetPasswordViewProps {\n submitResetPassword: (data: ResetPasswordFormValues) => void;\n fieldsErrors: FieldErrors;\n handleSubmit: UseFormMethods['handleSubmit'];\n register: UseFormMethods['register'];\n loading: boolean;\n serverError?: string;\n}\n\nexport const ResetPasswordView = ({ \n submitResetPassword, \n fieldsErrors, \n handleSubmit, \n register,\n loading,\n serverError\n}: ResetPasswordViewProps) => {\n const { t } = useTranslation();\n\n return (\n \n \n \n \n {t('passwordRecovery')}\n \n \n \n {serverError\n && \n \n \n }\n \n \n {t('rememberedPassword')}\n \n \n \n {history.back();}}\n fullWidth\n variant='outlined'\n disableElevation\n >\n {t('signIn')}\n \n \n \n \n );\n};\n\nconst StyledContainer = styled(Container)`\n margin-top: 40px;\n font: Roboto;\n font-size: 15px;\n font-weight: 400;\n font-style: normal;\n font-family: sans-serif;\n`;\n\nconst TitleTypography = styled(Typography)`\n color: #555555;\n`;\n\nconst RememberedPasswordTypography = styled(Typography)`\n color: #888888;\n font-size: 15px;\n margin: 80px auto 0 auto;\n`;\n\nconst GoToSignInButton = styled(Button)`\n background-color: #ffffff;\n`;\n","import React, { useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { ResetPasswordFormValues } from '../common/interfaces';\nimport { ResetPasswordView } from './resetPasswordView';\nimport { resetPassword } from '../data/endpointServices';\nimport { antiForgeryFormOptions } from '../common/antiForgery';\nimport { routes } from '../common/routes';\n\nexport const ResetPasswordPage = () => {\n const { t } = useTranslation();\n const [loading, setLoading] = useState(false);\n const [serverError, setServerError] = useState('');\n\n const antiforgeryOptions = antiForgeryFormOptions();\n const { errors: fieldsErrors, handleSubmit, register } = useForm();\n\n const submitResetPassword = async(data: ResetPasswordFormValues) => {\n setLoading(true);\n\n try {\n if (data) {\n const response = await resetPassword(data?.email, antiforgeryOptions);\n if (response ) {\n window.location.href = routes?.resetpasswordmessage;\n }\n }\n } catch (error ) {\n if (error?.response?.data?.c === 400) {\n setServerError(t('emailErrorMessage'));\n } else {\n setServerError(t('cannotProcessPasswordRecovery'));\n }\n } finally {\n setLoading(false);\n }\n };\n\n return (\n \n );\n};\n\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { \n Button, \n Container, \n Grid, \n Typography \n} from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\n\nimport { routes } from '../common/routes';\n\nexport const ResetPasswordMessage = () => {\n const { t } = useTranslation();\n\n return (\n \n \n \n {t('passwordRecovery')}\n \n \n \n \n {t('resetPasswordInstructions')}\n \n \n \n \n \n {t('signIn')}\n \n \n \n \n );\n};\n\nconst StyledContainer = styled(Container)`\n margin-top: 40px;\n font: Roboto;\n font-size: 15px;\n font-weight: 400;\n font-style: normal;\n font-family: sans-serif;\n`;\n\nconst TitleTypography = styled(Typography)`\n color: #000000;\n font-size: 15px;\n margin-bottom: 20px;\n`;\n\nconst InfoTypography = styled(Typography)`\n color: #555555;\n font-size: 15px;\n margin: 0 auto 60px auto;\n`;\n\nconst StyledLink = styled(Link)`\n text-decoration: none;\n width: 100%;\n`;\n\nconst GoToSignInButton = styled(Button)`\n color: #ffffff;\n background-color: #0083C6;\n`;","import React, { memo, useRef } from 'react';\nimport { Button, Grid } from '@material-ui/core';\nimport styled from 'styled-components';\nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { PasswordTextField } from '../common/passwordTextField';\nimport { stringConstants } from '../common/strings';\nimport { UpdatePasswordFormValues } from '../common/interfaces';\nimport { SpinnerComponent } from '../common/spinnerComponent';\n\ninterface UpdatePasswordFormProps {\n submitUpdatePassword: (data: UpdatePasswordFormValues) => void;\n fieldsErrors: FieldErrors;\n handleSubmit: UseFormMethods['handleSubmit'];\n register: UseFormMethods['register'];\n watch: UseFormMethods['watch'];\n loading: boolean;\n}\n\nexport const UpdatePasswordForm = memo(({ \n submitUpdatePassword, \n fieldsErrors, \n handleSubmit, \n register,\n watch,\n loading\n}: UpdatePasswordFormProps) => {\n const { t } = useTranslation();\n const password = useRef({});\n password.current = watch('password', '');\n\n return (\n \n
\n \n \n {t('passwordHelperText')}\n \n \n \n \n \n \n \n \n {t('updatePassword')}\n {loading && }\n \n \n
\n
\n );\n});\n\nconst StyledPassewordHelperText = styled.div`\n font-size: 12px;\n color: #888888;\n margin-bottom: 10px;\n`;\n\nconst UpdatePasswordButton = styled(Button)`\n color: #ffffff !important;\n background-color: #0083C6;\n margin-top: 20px;\n`;\n\n","import React from 'react';\nimport styled from 'styled-components';\nimport { Container, Grid, Typography } from '@material-ui/core';\nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { UpdatePasswordForm } from './updatePasswordForm';\nimport { UpdatePasswordFormValues } from '../common/interfaces';\nimport { ErrorTypography } from '../common/errorTypography';\n\ninterface UpdatePasswordViewProps {\n submitUpdatePassword: (data: UpdatePasswordFormValues) => void;\n fieldsErrors: FieldErrors;\n handleSubmit: UseFormMethods['handleSubmit'];\n register: UseFormMethods['register'];\n watch: UseFormMethods['watch'];\n loading: boolean;\n serverError?: string;\n}\n\nexport const UpdatePasswordView = ({ \n submitUpdatePassword, \n fieldsErrors,\n handleSubmit,\n register,\n watch,\n loading,\n serverError\n} : UpdatePasswordViewProps) => {\n const { t } = useTranslation();\n\n return (\n \n \n \n \n {t('updateNewPassword')}\n \n \n \n {serverError\n && \n \n \n }\n \n \n );\n};\n\nconst StyledContainer = styled(Container)`\n margin-top: 40px;\n font: Roboto;\n font-size: 15px;\n font-weight: 400;\n font-style: normal;\n font-family: sans-serif;\n`;\n\nconst TitleTypography = styled(Typography)`\n color: #555555;\n`;\n","import React, { useCallback, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { UpdatePasswordFormValues } from '../common/interfaces';\nimport { routes } from '../common/routes';\nimport { UpdatePasswordView } from './updatePasswordView';\nimport { antiForgeryFormOptions } from '../common/antiForgery';\nimport { updatePassword } from '../data/endpointServices';\n\nexport const UpdatePasswordPage = () => {\n const { t } = useTranslation();\n const [loading, setLoading] = useState(false);\n const [serverError, setServerError] = useState('');\n\n const antiforgeryOptions = antiForgeryFormOptions();\n\n const urlParams = new URLSearchParams(window.location.search);\n const resetCode = urlParams.get('code');\n\n const { errors: fieldsErrors, handleSubmit, register, watch } = useForm();\n\n const submitUpdatePassword = useCallback(async(data: UpdatePasswordFormValues) => {\n setLoading(true);\n\n try {\n if (data && resetCode) {\n const response = await updatePassword(resetCode, data?.password, antiforgeryOptions);\n if (response?.data?.r) {\n window.location.href = routes?.logIn;\n }\n } else {\n setServerError(t('cannotProcessPasswordReset'));\n }\n } catch (error) {\n if (error?.response?.data?.c === 400) {\n setServerError(t('passwordErrorMessage'));\n } else if (error?.response?.data?.c === 404) {\n setServerError(t('invalidResetOrAlreadyActivated'));\n } else {\n setServerError(t('cannotProcessPasswordReset'));\n }\n } finally {\n setLoading(false);\n }\n }, [resetCode, antiforgeryOptions]);\n\n return (\n \n );\n};\n\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { Button, Container, Grid, Typography } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\n\nimport { routes } from '../common/routes';\n\nexport const UpdatePasswordSuccess = () => {\n const { t } = useTranslation();\n\n return (\n \n \n \n {t('passwordRecovery')}\n \n \n \n \n {t('updatePasswordSuccess')}\n \n \n \n \n \n {t('signIn')}\n \n \n \n \n );\n};\n\nconst StyledContainer = styled(Container)`\n margin-top: 40px;\n font: Roboto;\n font-size: 15px;\n font-weight: 400;\n font-style: normal;\n font-family: sans-serif;\n`;\n\nconst TitleTypography = styled(Typography)`\n color: #000000;\n font-size: 15px;\n margin-bottom: 20px;\n`;\n\nconst InfoTypography = styled(Typography)`\n color: #555555;\n font-size: 15px;\n margin: 0 auto 60px auto;\n`;\n\nconst StyledLink = styled(Link)`\n text-decoration: none;\n width: 100%;\n`;\n\nconst GoToSignInButton = styled(Button)`\n color: #ffffff;\n background-color: #0083C6;\n`;","import React from 'react';\nimport { Button, Grid, TextField } from '@material-ui/core';\nimport styled from 'styled-components';\nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { SignInWithSsoFormValues } from '../common/interfaces';\nimport { SpinnerComponent } from '../common/spinnerComponent';\n\ninterface SignInWithSsoFormProps {\n submitSignInWithSso: (data: SignInWithSsoFormValues) => void;\n fieldsErrors: FieldErrors;\n handleSubmit: UseFormMethods['handleSubmit'];\n register: UseFormMethods['register'];\n loading: boolean;\n}\n\nexport const SignInWithSsoForm = ({ \n submitSignInWithSso, \n fieldsErrors, \n handleSubmit, \n register,\n loading\n}: SignInWithSsoFormProps) => {\n const { t } = useTranslation();\n\n return (\n \n
\n \n \n \n \n \n \n {t('next')}\n {loading && }\n \n \n \n
\n
\n );\n};\n\nconst SubmitSignInWithSsoButton = styled(Button)`\n background-color: #0083C6;\n margin-top: 30px;\n`;\n\n","import React from 'react';\nimport styled from 'styled-components';\nimport { Container, Grid, Typography } from '@material-ui/core';\nimport { FieldErrors, UseFormMethods } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { SignInWithSsoFormValues } from '../common/interfaces';\nimport { SignInWithSsoForm } from './signInWithSsoForm';\nimport { ErrorTypography } from '../common/errorTypography';\n\ninterface SignInWithSsoViewProps {\n submitSignInWithSso: (data: SignInWithSsoFormValues) => void;\n fieldsErrors: FieldErrors;\n handleSubmit: UseFormMethods['handleSubmit'];\n register: UseFormMethods['register'];\n showInvalidPartnerMessage: boolean;\n loading: boolean;\n serverError?: string;\n}\n\nexport const SignInWithSsoView = ({ \n submitSignInWithSso, \n fieldsErrors, \n handleSubmit, \n register,\n showInvalidPartnerMessage,\n loading,\n serverError\n}: SignInWithSsoViewProps) => {\n const { t } = useTranslation();\n\n return (\n \n \n \n \n {t('inputYourCompanysDomain')}\n \n \n \n {serverError\n && \n \n \n }\n {showInvalidPartnerMessage\n && \n \n {t('invalidPartnerMessage')}\n \n \n }\n \n \n );\n};\n\nconst StyledContainer = styled(Container)`\n margin-top: 40px;\n font: Roboto;\n font-size: 15px;\n font-weight: 400;\n font-style: normal;\n font-family: sans-serif;\n`;\n\nconst TitleTypography = styled(Typography)`\n color: #555555;\n`;\n\nconst StyledTypography = styled(Typography)`\n color: #ff0000;\n`;\n","import React, { useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\n\nimport { SignInWithSsoFormValues } from '../common/interfaces';\nimport { SignInWithSsoView } from './signInWithSsoView';\nimport { validatePartner } from '../data/endpointServices';\nimport { getReturnUrl } from '../common/returnUrl';\nimport { routes } from '../common/routes';\n\nexport const SignInWithSsoPage = () => {\n const { t } = useTranslation();\n const [loading, setLoading] = useState(false);\n const [showInvalidPartnerMessage, setShowInvalidPartnerMessage] = useState(false);\n const [serverError, setServerError] = useState('');\n const returnUrl = getReturnUrl();\n const { errors: fieldsErrors, handleSubmit, register } = useForm();\n\n const submitSignInWithSso = async(data: SignInWithSsoFormValues) => {\n setShowInvalidPartnerMessage(false);\n\n try {\n if (data) {\n const response = await validatePartner(data.domain);\n if (response?.data?.r?.isv) {\n const partnerName = response?.data?.r?.pn;\n window.location.href = `${routes.challengeUrl}?partnerName=${partnerName}&returnUrl=${returnUrl}`;\n } else {\n setShowInvalidPartnerMessage(true);\n }\n }\n } catch (error) {\n if (error.response.data.c === 400) {\n setServerError(error.response.data.e);\n } else {\n setServerError(t('logInSystemError'));\n }\n } finally {\n setLoading(false);\n }\n };\n\n return (\n \n );\n};\n\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { Button, Container, Grid, Typography } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\n\nimport { routes } from '../common/routes';\n\nexport const SignInWithSsoSuccess = () => {\n const { t } = useTranslation();\n\n return (\n \n \n \n {t('welcomeToWeatherbug')}\n \n \n \n \n {t('youAreNowSignedIn')}\n \n \n \n \n \n {t('ok')}\n \n \n \n \n );\n};\n\nconst StyledContainer = styled(Container)`\n margin-top: 40px;\n font: Roboto;\n font-size: 15px;\n font-weight: 400;\n font-style: normal;\n font-family: sans-serif;\n`;\n\nconst TitleTypography = styled(Typography)`\n color: #000000;\n font-size: 15px;\n margin-bottom: 20px;\n`;\n\nconst InfoTypography = styled(Typography)`\n color: #555555;\n font-size: 15px;\n margin: 0 auto 60px auto;\n`;\n\nconst StyledLink = styled(Link)`\n text-decoration: none;\n width: 100%;\n`;\n\nconst GoToSignInButton = styled(Button)`\n color: #ffffff;\n background-color: #0083C6;\n`;","import React, { useEffect, useState } from 'react';\nimport { Container, Grid, Button } from '@material-ui/core';\nimport { Link } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { useTranslation } from 'react-i18next';\n\nimport { antiForgeryFormOptions } from '../common/antiForgery';\nimport { routes } from '../common/routes';\nimport { SpinnerComponent } from '../common/spinnerComponent';\nimport { signUpActivate } from '../data/endpointServices';\nimport { TitleText } from '../common/titleText';\nimport { MessageText } from '../common/messageText';\n\nexport const SignUpActivate = () => {\n const { t } = useTranslation();\n const [loading, setLoading] = useState(true);\n const [welcomeMessage, setWelcomeMessage] = useState('');\n const [showSignInButton, setShowSignInButton] = useState(false);\n const antiForgeryOptions = antiForgeryFormOptions();\n\n const urlParams = new URLSearchParams(window.location.search);\n const code = urlParams.get('code');\n\n const getSignUpActivate = async() => {\n try {\n if(code) {\n const response = await signUpActivate(code, antiForgeryOptions);\n if (response) {\n setWelcomeMessage(t('welcomeToWeatherbug'));\n setShowSignInButton(true);\n }\n } else {\n setWelcomeMessage(t('accountUserActivationError'));\n setShowSignInButton(true);\n }\n } catch (error) {\n if (error?.response?.data?.c === 404) {\n setWelcomeMessage(t('accountCodeActivationError'));\n setShowSignInButton(false);\n } else if (error?.response?.data?.c === 409) {\n setWelcomeMessage(t('accountUserActivationError'));\n setShowSignInButton(true);\n } else {\n setWelcomeMessage(t('signUpSystemError'));\n setShowSignInButton(false);\n }\n } finally {\n setLoading(false);\n }\n };\n\n useEffect(() => {\n getSignUpActivate();\n }, [code]);\n\n return(\n \n \n \n {t('accountActivation')}\n {welcomeMessage}\n \n {loading && }\n {showSignInButton\n && \n \n \n {t('signIn')}\n \n \n \n }\n \n \n );\n};\n\nconst SignUpSuccessContainer = styled(Container)`\n margin-top: 50px;\n`;\n\nconst StyledLink = styled(Link)`\n text-decoration: none;\n width: 100%;\n`;\n\nconst GoToSignInButton = styled(Button)`\n color: #ffffff;\n background-color: #0083C6;\n`;\n","import React from 'react';\nimport { BrowserRouter } from 'react-router-dom';\nimport { Route } from 'react-router';\nimport { Layout } from './components/layout';\nimport { Home } from './components/home';\nimport { LogOut } from './components/logOut';\nimport { LogIn } from './components/logIn/logIn';\nimport { Error } from './components/error';\n\nimport './custom.css';\nimport { routes } from './components/common/routes';\nimport { SignUp } from './components/signUp/signUp';\nimport { ResetPasswordPage } from './components/resetPassword/resetPasswordPage';\nimport { ResetPasswordMessage } from './components/resetPassword/resetPasswordMessage';\nimport { UpdatePasswordPage } from './components/resetPassword/updatePasswordPage';\nimport { UpdatePasswordSuccess } from './components/resetPassword/updatePasswordSuccess';\nimport { SignInWithSsoPage } from './components/signInWithSso/signInWithSsoPage';\nimport { SignInWithSsoSuccess } from './components/signInWithSso/signInWithSsoSuccess';\nimport { SignUpActivate } from './components/signUp/signUpActivate';\n\nconst App = () => {\n return (\n \n \n \n } />\n \n \n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n \n \n );\n};\n\nexport default App;\n","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport Backend from 'i18next-xhr-backend';\nimport LngDetector from 'i18next-browser-languagedetector';\n\ni18n\n .use(Backend)\n .use(initReactI18next)\n .use(LngDetector)\n .init({\n debug: false,\n fallbackLng: 'en'\n });\n\nexport default i18n;","import React, { Suspense } from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './app';\nimport './i18n';\n\nimport { SpinnerComponent } from './components/common/spinnerComponent';\n\nconst rootElement = document.getElementById('root');\n\nReactDOM.render( \n }>\n \n ,\n rootElement\n);\n\n\n"],"sourceRoot":""}