{"version":3,"sources":["enums/size.ts","components/Button/Button.module.scss","store/tutorial.ts","components/CustomTooltip/CustomTooltipModule.tsx","components/LogoutModal/LogoutModal.tsx","components/GlobalOnIdleDialog/GlobalOnIdleDialog.module.scss","components/Heading/Heading.tsx","enums/tutorials.tsx","store/mobileMenu.ts","components/CustomTooltip/CustomTooltip.module.scss","components/LogoutModal/LogoutModal.module.scss","enums/variant.ts","utils/ui.ts","store/successful.ts","store/refresh.ts","components/CustomTooltip/CustomTooltip.ts","store/dashboardRefresh.ts","components/Icon/Icon.tsx","components/CustomTooltip/CustomTooltipStatic.ts","enums/appearance.ts","store/rememberMe.ts","components/LeftMenu/LeftMenu.module.scss","components/Heading/Heading.module.scss","components/GlobalErrorDialog/GlobalErrorDialog.module.scss","components/GlobalSuccessfulDialog/GlobalSuccessfulDialog.module.scss","i18n/index.ts","i18n/tr/index.ts","components/ModalBox/ModalBox.module.scss","enums/routes.ts","components/AuthGuard/AuthGuard.tsx","components/GlobalErrorDialog/GlobalErrorDialog.tsx","components/GlobalSuccessfulDialog/GlobalSuccessfulDialog.tsx","utils/navigation.ts","components/LeftMenu/LeftMenu.tsx","components/MobileMenu/MobileMenu.tsx","components/TutorialTooltip/TutorialTooltip.tsx","components/CircleBar/Circle.tsx","components/CircleBar/CircleBar.tsx","components/GlobalOnIdleDialog/GlobalOnIdleDialog.tsx","App.tsx","serviceWorker.ts","index.tsx","store/user.ts","components/MobileMenu/MobileMenu.module.scss","components/TutorialTooltip/TutorialTooltip.module.scss","utils/urls.ts","components/Loading/Loading.module.scss","components/Button/Button.tsx","utils/errors.ts","store/errors.ts","components/Loading/Loading.tsx","components/ModalBox/ModalBox.tsx","components/CircleBar/CircleBar.module.scss","utils/api.ts","components/Permalink/Permalink.tsx","utils/permalink.ts"],"names":["Size","module","exports","displayedTutorials","atom","key","default","runTutorial","CustomTooltipComponent","tooltipRef","tooltipMessage","ref","className","styles","tooltipCont","id","cx","tooltipTail","LogoutModal","negativeBtn","positiveBtn","t","useTranslation","history","useHistory","useState","loading","setLoading","setGlobalErrors","useSetRecoilState","globalErrorState","appearance","AppearanceModal","WARNING","rejectedModal","icon","title","btnWrap","AppearanceButton","RED","onClick","API","post","then","callback","push","Routes","AUTH_LOGOUT","catch","handleErrors","finally","OUTLINE_DARK","Heading","children","level","Tag","React","createElement","classNames","TutorialListViewTabClasses","TutorialButtons","skip","aria-label","back","next","last","TutorialSteps","AUTH_LOGIN","content","placement","target","disableBeacon","spotlightClicks","DASHBOARD","ACCOUNTS","ACCOUNTS_DETAIL","ACCOUNTS_ACTIVITIES","INSTRUCTIONAL_TRANSACTIONS","PENDING_APPROVAL","IN_PROCESS","COMPLETED","CANCELLED","INSTRUCTIONAL_TRANSACTIONS_CREATE","REMITTANCE_AND_EFT_LIST","REMITTANCE_AND_EFT_CREATE","INSTANT_REMITTANCE_AND_EFT_LIST","INSTANT_REMITTANCE_AND_EFT_CREATE","REMITTANCE_AND_EFT_EDIT","TAX_COLLECTIONS_LIST","FILESUMMARY","TAX_COLLECTIONS_CREATE","INSTITUTION_COLLECTIONS_LIST","INSTITUTION_COLLECTIONS_CREATE","SALARY_TRANSACTIONS_LIST","SALARY_TRANSACTIONS_CREATE","SALARY_TRANSACTIONS_EDIT","CURRENCY_TRANSFER_CREATE","CURRENCY_TRANSFER_LIST","ADVANCE_IMPORT_CREATE","spotlight","maxHeight","ADVANCE_IMPORT_LIST","CURRENCY_IMPORT_TRANSFER_CREATE","CURRENCY_IMPORT_TRANSFER_LIST","PENDING_YOUR_APPROVEL_PROCESSES","PENDING_APPROVEL_PROCESSES","USER_DEFINATION_MANAGEMENT","USER_DEFINATION_TRANSACTION_APPROVALS_DEFINE_RULE","mobileMenuState","ButtonVariant","LoadingVariant","maxLength","tckn","companyCustomerNumber","onlyNumber","XS","SM","MD","LG","XL","value","regex","test","replace","onlyLetter","onlyLetterAndDot","onlyNumberLetterAndSpace","onlyNumberAndLetter","preventScript","preventScriptEftSalary","clientPriceParser","amount","decimalCount","decimal","thousands","Math","abs","isNaN","negativeSign","Number","toString","i","parseInt","toFixed","j","length","substr","slice","e","console","log","priceParser","price","trim","priceParserEmpty","getBalanceColor","getStatusColor","status","getStatusColorRules","getStatusColorUsers","bytesToSize","bytes","sizes","floor","getOptions","label","data","uniq","map","item","labelText","mapIndexed","labelItem","index","prop","phoneServerSideParser","phone","setCookie","cname","cvalue","d","Date","setTime","getTime","expires","toUTCString","document","cookie","isMobileOrTablet","window","matchMedia","matches","invoiceDescriptionPretty","splitedValue","split","filter","join","globalSuccessFulState","globalRefreshState","CustomTooltip","clientX","clientY","orientation","halfTooltipWidth","ceil","current","clientWidth","distanceFromRigth","innerWidth","tail","style","opacity","left","top","whiteSpace","width","offsetHeight","offsetWidth","dashboardRefreshState","Icon","props","name","tooltip","useRef","iconRef","data-tip","data-effect","data-for","data-html","onMouseEnter","distanceFromLeft","CustomTooltipStatic","getBoundingClientRect","x","y","onMouseLeave","Appearance","AppearanceInput","AppearanceBox","RememberMeItem","resources","tr","translation","btn","text","validation","tutorial","i18n","use","initReactI18next","init","lng","react","transSupportBasicHtmlNodes","transKeepBasicHtmlNodesFor","keySeperator","interpolation","escapeValue","onunload","sessionStorage","removeItem","AuthGuard","location","useLocation","useRecoilState","currentUserState","isAuthenticated","setAuth","currentUserTokenState","accessToken","isLoggedIn","useRecoilValue","isLoggedInState","rememberInfo","appStatus","setAppStatus","shouldUserChangePassword","isUserMustChangePassword","useEffect","get","response","isNonAuthPage","pathname","storage","local","set","JSON","stringify","username","firstName","lastName","Loading","GlobalErrorDialog","error","setError","btnRef","focus","ModalBox","onClose","errorCode","errorMessage","ErrorMessage","Button","callBack","GlobalSuccessfulDialog","successFull","setSuccessFull","visible","message","leftNavigation","to","items","BATCH_TRANSACTIONS","svgPath","APPROVEL_PROCESSES","USER_DEFINATION","LeftMenu","showSubmenu","setShowSubmenu","thirdShowSubmenu","setThirdShowSubmenu","confirmModal","setConfirmModal","setRunRide","querySelectorAll","forEach","select","blur","setDashboardRefresh","refreshDashboardInfo","refresh","setGlobalRefresh","wrap","fixedContainer","navTop","Permalink","logo","dashBoardRefresh","src","alt","list","onHover","arrow","subMenu","hideEm","showEm","subItem","twoIndex","noThirdChilds","thirdSubMenu","thirdSubItem","thirdIndex","navFooter","infoBtn","PROFILE","layer","MobileMenu","setChildren","currentIndex","setCurrentIndex","setTitle","mobileMenu","setGlobalMenu","navHeader","backTitle","reverseArrow","indexOf","undefined","redArrow","TutorialTooltip","isLastStep","step","backProps","primaryProps","skipProps","tooltipProps","sizeOfContent","size","Array","from","hopscotchBubble","hopscotchBubbleContainer","hopscotchBubbleNumber","hopscotchBubbleContent","bullet","_","idx","active","hopscotchActions","hopscotchNavButtonPrev","hopscotchNavButtonNext","hopscotchBubbleClose","memo","percent","defaultOffset","PI","circum","offset","setOffset","circumRef","useMemo","strokeDasharray","strokeDashoffset","height","cy","r","defaultOffSet","strPadLeft","string","CircleBar","duration","onDurationEnd","timer","setTimer","otpTime","countDown","setCountDown","setStatus","setInterval","prevState","clearInterval","circleArea","circleBar","Circle","endTime","remainingTime","minutes","seconds","displayerCountDown","GlobalOnIdleDialog","showDialog","setShowDialog","showLogout","setShowLogout","isLoading","beforeIdle","afterIdle","modalTimers","setModalTimers","session","useIdleTimer","timeout","onIdle","reset","start","pause","modalIndex","remove","Pages","AUTH","lazy","COMPANY_OPERATIONS","REPORTS","SwicthContent","path","component","exact","COMPANY_OPERATION_LIST","App","runRide","userFirstLogin","isUserFirstLogin","tutorials","setTutorials","ride","setRide","stepIndex","setStepIndex","steps","url","Object","keys","matchPath","strict","hasOwnProperty","setTimeout","find","disableCloseOnEsc","disableOverlayClose","tooltipComponent","locale","type","action","finishedStatuses","STATUS","FINISHED","SKIPPED","eventSteps","EVENTS","STEP_AFTER","TARGET_NOT_FOUND","k","includes","RegExp","ACTIONS","PREV","run","showProgress","scrollToFirstStep","showSkipButton","continuous","options","zIndex","fallback","Boolean","hostname","match","ReactDOM","render","StrictMode","getElementById","navigator","serviceWorker","ready","registration","unregister","selector","userRSAPublicKey","forwardRef","isDisabled","isBlock","DARK","shouldDisable","btnClassName","disabled","data-scroll-hide","onMouseMove","color","HTTP_STATUS","handleUnauthorized","href","errors","propertyName","fieldErrorItem","handleFormErrors","handleNotFound","handleServerFault","normalizeErrors","errorResult","Promise","reject","buttonClasses","buttonStyling","regularClasses","regularStyling","spinner","bounceColor","bounce1","bounce2","bounce3","resendForEvaluation","CONTENT","foreignTradeScroll","foreignTradeDoc","createPortal","dialog","resendEvalModal","container","foreingTradeScrollContainer","header","close","body","iconWrap","cacheAdapter","setupCache","maxAge","exclude","query","axios","defaults","withCredentials","paramsSerializer","params","qs","indices","API_URL","REACT_APP_OPI_API_URL","REACT_APP_API_FALLBACK_URL","create","baseURL","adapter","responseError","interceptors","request","config","isEmpty","headers","Authorization","limit","page","sortBy","activeClassName","link","pathToRegexp","toPath","pathToPermalink","Component","Link","NavLink","state","openTab","lastTab"],"mappings":"yHAAO,IAAKA,EAAZ,kC,SAAYA,K,YAAAA,E,WAAAA,E,YAAAA,E,WAAAA,E,aAAAA,M,0BCCZC,EAAOC,QAAU,CAAC,IAAM,oBAAoB,WAAa,2BAA2B,UAAY,0BAA0B,SAAW,yBAAyB,iBAAmB,iCAAiC,cAAgB,8BAA8B,WAAa,2BAA2B,SAAW,yBAAyB,QAAU,wBAAwB,WAAa,6B,iCCD3X,+EAEaC,EAAqBC,YAAe,CAC/CC,IAAK,qBACLC,QAAS,KAGEC,EAAcH,YAA0B,CACnDC,IAAK,cACLC,SAAS,K,iCCTX,uDAsBeE,IAbgB,SAAC,GAGL,IAFzBC,EAEwB,EAFxBA,WACAC,EACwB,EADxBA,eAEA,OACE,yBAAKC,IAAKF,EAAYG,UAAWC,IAAOC,aACrCJ,EAED,yBAAKK,GAAG,cAAcH,UAAWI,IAAGH,IAAOI,kB,qKC+DlCC,IAtDY,SAAC,GAGK,IAF/BC,EAE8B,EAF9BA,YACAC,EAC8B,EAD9BA,YAEQC,EAAMC,cAAND,EACFE,EAAUC,cAChB,EAA8BC,oBAAkB,GAAhD,mBAAOC,EAAP,KAAgBC,EAAhB,KACMC,EAAkBC,YAAkBC,KAa1C,OACE,kBAAC,IAAD,CACEC,WAAYC,IAAgBC,QAC5BrB,UAAWC,IAAOqB,cAClBC,KAAK,WACLC,MAAOf,EAAE,kBAET,2BAAIA,EAAE,wBACN,yBAAKT,UAAWC,IAAOwB,SACpBX,EACC,kBAAC,IAAD,MAEA,oCACE,kBAAC,IAAD,CACEK,WAAYO,IAAiBC,IAC7BC,QAAS,WAzBnBb,GAAW,GACXc,IAAIC,KAAK,cACNC,MAAK,WACJvB,EAAYwB,WACZrB,EAAQsB,KAAKC,IAAOC,gBAErBC,MAAMC,YAAa,KAAMrB,IACzBsB,SAAQ,kBAAMvB,GAAW,QAsBjBN,EAAE,aAEL,kBAAC,IAAD,CACEU,WAAYO,IAAiBa,aAC7BX,QAAS,kBAAMrB,EAAYyB,aAE1BvB,EAAE,qB,oBCtEjBpB,EAAOC,QAAU,CAAC,QAAU,oCAAoC,MAAQ,kCAAkC,WAAa,yC,iCCDvH,uDAwBekD,IAfyB,SAAC,GAIrB,IAHlBC,EAGiB,EAHjBA,SAGiB,IAFjBC,aAEiB,MAFT,EAES,EADjB1C,EACiB,EADjBA,UAEM2C,EAAG,WAAOD,GAChB,OAAOE,IAAMC,cACXF,EACA,CACE3C,UAAW8C,IAAW7C,IAAO0C,GAAM3C,IAErCyC,K,iCCpBJ,0GAiBYM,EAjBZ,gBAQaC,EAAkB,SAACvC,GAC9B,MAAO,CACLwC,KAAM,4BAAQC,aAAW,SAASzC,EAAE,mBACpC0C,KAAM,4BAAQD,aAAW,QAAQzC,EAAE,kBACnC2C,KAAM,4BAAQF,aAAW,cAASzC,EAAE,kBACpC4C,KAAM,4BAAQH,aAAW,OAAOzC,EAAE,qB,SAI1BsC,K,sCAAAA,E,uCAAAA,E,oCAAAA,E,kCAAAA,E,mCAAAA,M,KAQL,IAAMO,EAAgB,SAAC7C,GAC5B,MAAO,CACL8C,WAAY,CACV,CACEC,QACE,6BACE,2BAAI/C,EAAE,+BACN,2BAAIA,EAAE,gCAGVgD,UAAW,SACXC,OAAQ,UACRC,eAAe,EACfC,iBAAiB,GAEnB,CACEJ,QAAS,2BAAI/C,EAAE,mCACfgD,UAAW,SACXC,OAAQ,WAEV,CACEF,QAAS,2BAAI/C,EAAE,+BACfgD,UAAW,SACXC,OAAQ,YAGZG,UAAW,CACT,CACEL,QAAS,2BAAI/C,EAAE,+BACfgD,UAAW,QACXC,OAAQ,oBACRC,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,oCACfgD,UAAW,SACXC,OAAQ,qBAEV,CACEF,QAAS,2BAAI/C,EAAE,8BACfgD,UAAW,SACXC,OAAQ,qBAEV,CACEF,QAAS,2BAAI/C,EAAE,gCACfgD,UAAW,SACXC,OAAQ,qBAEV,CACEF,QAAS,2BAAI/C,EAAE,oCACfgD,UAAW,SACXC,OAAQ,qBAEV,CACEF,QAAS,2BAAI/C,EAAE,+BACfgD,UAAW,SACXC,OAAQ,qBAEV,CACEF,QAAS,2BAAI/C,EAAE,mCACfgD,UAAW,SACXC,OAAQ,qBAEV,CACEF,QAAS,2BAAI/C,EAAE,oCACfgD,UAAW,SACXC,OAAQ,qBAEV,CACEF,QAAS,2BAAI/C,EAAE,oCACfgD,UAAW,OACXC,OAAQ,sBAGZI,SAAU,CACR,CACEN,QAAS,2BAAI/C,EAAE,sBACfgD,UAAW,OACXC,OAAQ,mBACRC,eAAe,IAGnBI,gBAAiB,CACf,CACEP,QAAS,2BAAI/C,EAAE,6BACfgD,UAAW,OACXC,OAAQ,mBACRC,eAAe,IAGnBK,oBAAqB,CACnB,CACER,QAAS,2BAAI/C,EAAE,iCACfgD,UAAW,OACXC,OAAQ,mBACRC,eAAe,IAGnBM,2BAA4B,CAC1B,CACET,QAAS,2BAAI/C,EAAE,+CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BmB,kBACvCP,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,kDACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BoB,aAEzC,CACEX,QAAS,2BAAI/C,EAAE,iDACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BqB,YAEzC,CACEZ,QAAS,2BAAI/C,EAAE,iDACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BsB,aAG3CC,kCAAmC,CACjC,CACEd,QACE,2BAAI/C,EAAE,2DAERgD,UAAW,SACXC,OAAQ,2CACRC,eAAe,GAEjB,CACEH,QACE,2BAAI/C,EAAE,uDAERgD,UAAW,SACXC,OAAQ,4CAEV,CACEF,QACE,2BAAI/C,EAAE,4DAERgD,UAAW,SACXC,OAAQ,4CAEV,CACEF,QACE,2BAAI/C,EAAE,6DAERgD,UAAW,SACXC,OAAQ,6CAGZa,wBAAyB,CACvB,CACEf,QAAS,2BAAI/C,EAAE,oCACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BmB,kBACvCP,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,uCACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BoB,aAEzC,CACEX,QAAS,2BAAI/C,EAAE,sCACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BqB,YAEzC,CACEZ,QAAS,2BAAI/C,EAAE,sCACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BsB,aAG3CG,0BAA2B,CACzB,CACEhB,QAAS,2BAAI/C,EAAE,0CACfgD,UAAW,OACXC,OAAQ,gCACRC,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,gDACfgD,UAAW,SACXC,OAAQ,iCAEV,CACEF,QACE,2BAAI/C,EAAE,yDAERgD,UAAW,SACXC,OAAQ,iCAEV,CACEF,QACE,2BAAI/C,EAAE,yDAERgD,UAAW,OACXC,OAAQ,iCAEV,CACEF,QAAS,2BAAI/C,EAAE,2CACfgD,UAAW,SACXC,OAAQ,kCAGZe,gCAAiC,CAC/B,CACEjB,QAAS,2BAAI/C,EAAE,4CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BmB,kBACvCP,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,+CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BoB,aAEzC,CACEX,QAAS,2BAAI/C,EAAE,8CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BqB,YAEzC,CACEZ,QAAS,2BAAI/C,EAAE,8CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BsB,aAG3CK,kCAAmC,CACjC,CACElB,QAAS,2BAAI/C,EAAE,kDACfgD,UAAW,OACXC,OAAQ,wCACRC,eAAe,GAEjB,CACEH,QACE,2BACG/C,EAAE,iEAGPgD,UAAW,SACXC,OAAQ,yCAEV,CACEF,QACE,2BACG/C,EAAE,iEAGPgD,UAAW,OACXC,OAAQ,yCAEV,CACEF,QAAS,2BAAI/C,EAAE,mDACfgD,UAAW,SACXC,OAAQ,0CAGZiB,wBAAyB,CACvB,CACEnB,QAAS,2BAAI/C,EAAE,0CACfgD,UAAW,OACXC,OAAQ,gCACRC,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,gDACfgD,UAAW,SACXC,OAAQ,iCAEV,CACEF,QACE,2BAAI/C,EAAE,yDAERgD,UAAW,SACXC,OAAQ,iCAEV,CACEF,QACE,2BAAI/C,EAAE,yDAERgD,UAAW,OACXC,OAAQ,iCAEV,CACEF,QAAS,2BAAI/C,EAAE,2CACfgD,UAAW,SACXC,OAAQ,kCAGZkB,qBAAsB,CACpB,CACEpB,QAAS,2BAAI/C,EAAE,yCACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2B8B,aACvClB,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,qCACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BmB,mBAEzC,CACEV,QAAS,2BAAI/C,EAAE,wCACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BoB,aAEzC,CACEX,QAAS,2BAAI/C,EAAE,uCACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BqB,YAEzC,CACEZ,QAAS,2BAAI/C,EAAE,uCACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BsB,aAG3CS,uBAAwB,CACtB,CACEtB,QAAS,2BAAI/C,EAAE,2CACfgD,UAAW,OACXC,OAAQ,iCACRC,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,6CACfgD,UAAW,SACXC,OAAQ,kCAEV,CACEF,QACE,2BAAI/C,EAAE,0DAERgD,UAAW,SACXC,OAAQ,kCAEV,CACEF,QACE,2BAAI/C,EAAE,0DAERgD,UAAW,SACXC,OAAQ,kCAEV,CACEF,QAAS,2BAAI/C,EAAE,4CACfgD,UAAW,SACXC,OAAQ,mCAGZqB,6BAA8B,CAC5B,CACEvB,QAAS,2BAAI/C,EAAE,iDACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2B8B,aACvClB,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,6CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BmB,mBAEzC,CACEV,QAAS,2BAAI/C,EAAE,gDACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BoB,aAEzC,CACEX,QAAS,2BAAI/C,EAAE,+CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BqB,YAEzC,CACEZ,QAAS,2BAAI/C,EAAE,+CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BsB,aAG3CW,+BAAgC,CAC9B,CACExB,QAAS,2BAAI/C,EAAE,mDACfgD,UAAW,OACXC,OAAQ,yCACRC,eAAe,GAEjB,CACEH,QACE,2BACG/C,EAAE,kEAGPgD,UAAW,SACXC,OAAQ,0CAEV,CACEF,QACE,2BACG/C,EAAE,kEAGPgD,UAAW,SACXC,OAAQ,0CAEV,CACEF,QAAS,2BAAI/C,EAAE,oDACfgD,UAAW,SACXC,OAAQ,2CAGZuB,yBAA0B,CACxB,CACEzB,QAAS,2BAAI/C,EAAE,yCACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BmB,kBACvCP,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,4CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BoB,aAEzC,CACEX,QAAS,2BAAI/C,EAAE,2CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BqB,YAEzC,CACEZ,QAAS,2BAAI/C,EAAE,2CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BsB,aAG3Ca,2BAA4B,CAC1B,CACE1B,QAAS,2BAAI/C,EAAE,+CACfgD,UAAW,OACXC,OAAQ,qCACRC,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,qDACfgD,UAAW,SACXC,OAAQ,sCAEV,CACEF,QACE,2BACG/C,EAAE,8DAGPgD,UAAW,SACXC,OAAQ,sCAEV,CACEF,QACE,2BACG/C,EAAE,8DAGPgD,UAAW,OACXC,OAAQ,sCAEV,CACEF,QAAS,2BAAI/C,EAAE,gDACfgD,UAAW,SACXC,OAAQ,uCAGZyB,yBAA0B,CACxB,CACE3B,QAAS,2BAAI/C,EAAE,+CACfgD,UAAW,OACXC,OAAQ,qCACRC,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,qDACfgD,UAAW,SACXC,OAAQ,sCAEV,CACEF,QACE,2BACG/C,EAAE,8DAGPgD,UAAW,SACXC,OAAQ,sCAEV,CACEF,QACE,2BACG/C,EAAE,8DAGPgD,UAAW,OACXC,OAAQ,sCAEV,CACEF,QAAS,2BAAI/C,EAAE,gDACfgD,UAAW,SACXC,OAAQ,uCAGZ0B,yBAA0B,CACxB,CACE5B,QAAS,2BAAI/C,EAAE,mCACfgD,UAAW,OACXC,OAAQ,uCACRC,eAAe,GAEjB,CACEH,QACE,2BAAI/C,EAAE,yDAERgD,UAAW,SACXC,OAAQ,wCAEV,CACEF,QAAS,2BAAI/C,EAAE,kDACfgD,UAAW,OACXC,OAAQ,wCAEV,CACEF,QAAS,2BAAI/C,EAAE,oCACfgD,UAAW,OACXC,OAAQ,yCAGZ2B,uBAAwB,CACtB,CACE7B,QAAS,2BAAI/C,EAAE,yCACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BmB,kBACvCP,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,4CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BoB,aAEzC,CACEX,QAAS,2BAAI/C,EAAE,2CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BqB,YAEzC,CACEZ,QAAS,2BAAI/C,EAAE,2CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BsB,aAG3CiB,sBAAuB,CACrB,CACE9B,QAAS,2BAAI/C,EAAE,oCACfgD,UAAW,OACXC,OAAQ,4CACRC,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,mCACfgD,UAAW,SACXC,OAAQ,4CACRzD,OAAQ,CACNsF,UAAW,CAAEC,UAAW,MAG5B,CACEhC,QACE,2BAAI/C,EAAE,yDAERgD,UAAW,SACXC,OAAQ,6CAEV,CACEF,QAAS,2BAAI/C,EAAE,mDACfgD,UAAW,SACXC,OAAQ,6CAEV,CACEF,QAAS,2BAAI/C,EAAE,qCACfgD,UAAW,OACXC,OAAQ,8CAGZ+B,oBAAqB,CACnB,CACEjC,QAAS,2BAAI/C,EAAE,yCACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BmB,kBACvCP,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,4CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BoB,aAEzC,CACEX,QAAS,2BAAI/C,EAAE,2CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BqB,YAEzC,CACEZ,QAAS,2BAAI/C,EAAE,2CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BsB,aAG3CqB,gCAAiC,CAC/B,CACElC,QAAS,2BAAI/C,EAAE,2CACfgD,UAAW,OACXC,OAAQ,6CACRC,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,0CACfgD,UAAW,SACXC,OAAQ,6CACRzD,OAAQ,CACNsF,UAAW,CAAEC,UAAW,MAG5B,CACEhC,QACE,2BAAI/C,EAAE,0DAERgD,UAAW,SACXC,OAAQ,8CAEV,CACEF,QACE,2BAAI/C,EAAE,0DAERgD,UAAW,SACXC,OAAQ,8CAEV,CACEF,QAAS,2BAAI/C,EAAE,4CACfgD,UAAW,OACXC,OAAQ,+CAGZiC,8BAA+B,CAC7B,CACEnC,QAAS,2BAAI/C,EAAE,yCACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BmB,kBACvCP,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,4CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BoB,aAEzC,CACEX,QAAS,2BAAI/C,EAAE,2CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BqB,YAEzC,CACEZ,QAAS,2BAAI/C,EAAE,2CACfgD,UAAW,SACXC,OAAO,IAAD,OAAMX,EAA2BsB,aAG3CuB,gCAAiC,CAC/B,CACEpC,QAAS,2BAAI/C,EAAE,oDACfgD,UAAW,OACXC,OAAQ,0CACRC,eAAe,IAGnBkC,2BAA4B,CAC1B,CACErC,QAAS,2BAAI/C,EAAE,+CACfgD,UAAW,OACXC,OAAQ,qCACRC,eAAe,IAGnBmC,2BAA4B,CAC1B,CACEtC,QAAS,2BAAI/C,EAAE,kDACfgD,UAAW,OACXC,OAAQ,oCACRC,eAAe,GAEjB,CACEH,QAAS,2BAAI/C,EAAE,oDACfgD,UAAW,SACXC,OAAQ,sCAGZqC,kDAAmD,CACjD,CACEvC,QACE,2BACG/C,EACC,2EAINgD,UAAW,OACXC,OAAQ,6DACRC,eAAe,GAEjB,CACEH,QACE,2BACG/C,EACC,6EAINgD,UAAW,SACXC,OAAQ,kE,iCCzuBhB,6CAMasC,EAAkBxG,YAA2C,CACxEC,IAAK,kBACLC,QAAS,Q,oBCPXL,EAAOC,QAAU,CAAC,YAAc,mCAAmC,YAAc,qC,oBCAjFD,EAAOC,QAAU,CAAC,cAAgB,mCAAmC,QAAU,+B,+uBCDnE2G,EAOAC,E,gCAPAD,K,kBAAAA,E,kBAAAA,E,YAAAA,E,aAAAA,M,cAOAC,K,YAAAA,E,eAAAA,M,4BCDCC,EAAY,CACvBC,KAAM,GACNC,sBAAuB,GA4CZC,GA9BK,mBACflH,IAAKmH,GAAK,IADK,cAEfnH,IAAKoH,GAAK,IAFK,cAGfpH,IAAKqH,GAAK,IAHK,cAIfrH,IAAKsH,GAAK,IAJK,cAKftH,IAAKuH,GAAK,IAyBa,SAACC,GACzB,IAAMC,EAAQ,yJACd,MAAc,KAAVD,GAAiBC,EAAMC,KAAKF,GAGvBA,EAAMG,QAAQF,EAAO,IAFrBD,IAMEI,EAAa,SAACJ,GACzB,IAAMC,EAAQ,yEACd,MAAc,KAAVD,GAAiBC,EAAMC,KAAKF,GAGvBA,EAAMG,QAAQF,EAAO,IAFrBD,GAMEK,EAAmB,SAACL,GAC/B,IAAMC,EAAQ,wEACd,MAAc,KAAVD,GAAiBC,EAAMC,KAAKF,GAGvBA,EAAMG,QAAQF,EAAO,IAFrBD,GAMEM,EAA2B,SAACN,GACvC,IAAMC,EAAQ,6DAEd,MAAc,KAAVD,GAAiBC,EAAMC,KAAKF,GAGvBA,EAAMG,QAAQF,EAAO,IAFrBD,GAMEO,EAAsB,SAACP,GAClC,IAAMC,EAAQ,gEACd,MAAc,KAAVD,GAAiBC,EAAMC,KAAKF,GAGvBA,EAAMG,QAAQF,EAAO,IAFrBD,GAMEQ,EAAgB,SAACR,GAC5B,IAAMC,EAAQ,mDACd,MAAc,KAAVD,GAAiBC,EAAMC,KAAKF,GAGvBA,EAAMG,QAAQF,EAAO,IAFrBD,GAMES,EAAyB,SAACT,GACrC,IAAMC,EAAQ,6CACd,MAAc,KAAVD,GAAiBC,EAAMC,KAAKF,GAGvBA,EAAMG,QAAQF,EAAO,IAFrBD,GAYJ,SAASU,EACdC,GAIC,IAHDC,EAGA,uDAHe,EACfC,EAEA,uDAFU,IACVC,EACA,uDADY,IAEZ,IACEF,EAAeG,KAAKC,IAAIJ,GACxBA,EAAeK,MAAML,GAAgB,EAAIA,EAEzC,IAAMM,EAAeP,EAAS,EAAI,IAAM,GACxCA,EAASQ,OAAOR,EAAOS,WAAWjB,QAAQ,IAAK,MAC/C,IAAMkB,EAAIC,SACPX,EAASI,KAAKC,IAAIG,OAAOR,IAAW,GAAGY,QAAQX,IAChDQ,WACII,EAAIH,EAAEI,OAAS,EAAIJ,EAAEI,OAAS,EAAI,EAExC,OACEP,GACCM,EAAIH,EAAEK,OAAO,EAAGF,GAAKV,EAAY,IAClCO,EAAEK,OAAOF,GAAGrB,QAAQ,iBAAkB,KAAOW,IAC5CF,EACGC,EACAE,KAAKC,IAAIL,EAASW,SAASD,IACxBE,QAAQX,GACRe,MAAM,GACT,IAEN,MAAOC,GACPC,QAAQC,IAAIF,IAIT,IAAMG,EAAc,SAACC,GAE1B,OADAA,EAAQA,EAAMZ,aACEY,EAAMC,OAAOR,OAAS,EAClCN,OAAOa,EAAM7B,QAAQ,MAAO,IAAIA,QAAQ,KAAM,MAC9C,GAGO+B,EAAmB,SAACF,GAE/B,OADAA,EAAQA,EAAMZ,aACEY,EAAMC,OAAOR,OAAS,EAClCN,OAAOa,EAAM7B,QAAQ,MAAO,IAAIA,QAAQ,KAAM,MAC9C,IAGOgC,EAAkB,SAC7BxB,GAEA,OAAIA,EAAS,EACJ,aACa,IAAXA,EACF,YAEA,YAIEyB,EAAiB,SAC5BC,GAEA,OAAQA,GACN,IAAK,SACH,MAAO,aACT,IAAK,UACH,MAAO,WACT,QACE,MAAO,cAIAC,EAAsB,SACjCD,GAEA,OAAQA,GACN,IAAK,SACH,MAAO,aACT,IAAK,UACH,MAAO,WACT,IAAK,UACH,MAAO,aACT,QACE,MAAO,cAIAE,EAAsB,SACjCF,GAEA,OAAQA,GACN,IAAK,SACH,MAAO,WACT,IAAK,SACL,IAAK,OAEL,QACE,MAAO,eAIAG,EAAc,SAACC,GAC1B,IAAMC,EAAQ,CAAC,QAAS,KAAM,KAAM,KAAM,MAC1C,GAAc,IAAVD,EAAa,MAAO,MACxB,IAAMpB,EAAIN,KAAK4B,MAAM5B,KAAKe,IAAIf,KAAKC,IAAIyB,IAAU1B,KAAKe,IAAI,OAC1D,OAAU,IAANT,EAAe,GAAN,OAAUoB,EAAV,YAAmBC,EAAMrB,GAAzB,KACP,GAAN,QAAWoB,EAAK,SAAG,KAAQpB,IAAGE,QAAQ,GAAtC,YAA4CmB,EAAMrB,KAG7C,SAASuB,EACd5C,EACA6C,EACAC,GAEA,OAAO,YACFC,YACDC,aAAmB,SAACC,GAClB,IAAIC,EAAY,GAUhB,OATAC,aACE,SAACC,EAAgBC,GAAjB,OACGH,GAAS,UAAiB,IAAVG,EAAc,MAAQ,IAA7B,OAC+B,OAAvCC,YAAkBF,EAAWH,GACzB,GACAK,YAAkBF,EAAWH,MAErCJ,GAEK,CACLA,MAAOK,EACPlD,MAAOsD,YAAkBtD,EAAOiD,MAEjCH,KAKF,SAASS,EAAsBC,GACpC,OAAOA,EAAMrD,QAAQ,cAAe,IAG/B,SAASsD,EAAUC,EAAeC,GACvC,IAAMC,EAAI,IAAIC,KACdD,EAAEE,QAAQF,EAAEG,UAAY,QACxB,IAAMC,EAAU,WAAaJ,EAAEK,cAC/BC,SAASC,OAAST,EAAQ,IAAMC,EAAS,IAAMK,EAAU,UAmBpD,SAASI,IACd,OAAOC,OAAOC,WAAW,sBAAsBC,QAG1C,SAASC,EAAyBxE,GACvC,GAAKA,EAAL,CACA,IAAMyE,EAAezE,EAAM0E,MAAM,KACjC,OAA+B,IAAxBD,EAAahD,OAChBzB,EACAyE,EACGzB,KAAI,SAACC,GAAD,OAAUA,EAAKhB,UACnB0C,QAAO,SAAC1B,GAAD,OAAUA,KACjB2B,KAAK,Y,iCCzSd,6CAQaC,EAAwBjM,YAAwC,CAC3EC,IAAK,wBACLC,QAAS,Q,iCCVX,6CAOagM,EAAqBlM,YAAkC,CAClEC,IAAK,qBACLC,QAAS,Q,iCCTI,SAASiM,EACtB9L,EACA+L,EACAC,EACAC,GACC,IAAD,IAgCiE,IA/B3DC,EAAmBpE,KAAKqE,MAAe,OAAVnM,QAAU,IAAVA,GAAA,UAAAA,EAAYoM,eAAZ,eAAqBC,aAAc,GAChEC,EAAoBlB,OAAOmB,WAAaR,EAExCS,EAAOxM,EAAWoM,QAAQxJ,SAASpC,YAIzC,OAFAgM,EAAKC,MAAMC,QAAU,MAED,WAAhBT,GACFO,EAAKC,MAAME,KAAO,MAClBH,EAAKC,MAAMG,IAAM,EACjB5M,EAAWoM,QAAQK,MAAMC,QAAU,MACnC1M,EAAWoM,QAAQK,MAAME,KAAzB,UAAmCZ,EAAUG,EAA7C,WACAlM,EAAWoM,QAAQK,MAAMG,IAAzB,UAAkCZ,EAAU,GAA5C,UAKY,OAAVhM,QAAU,IAAVA,GAAA,UAAAA,EAAYoM,eAAZ,eAAqBC,aAAc,MACrCrM,EAAWoM,QAAQK,MAAMI,WAAa,eACtC7M,EAAWoM,QAAQK,MAAMK,MAAQ,UAKrB,OAAV9M,QAAU,IAAVA,OAAA,EAAAA,EAAYoM,UAAWE,GAAqBJ,GAC9ClM,EAAWoM,QAAQK,MAAMC,QAAU,MACnC1M,EAAWoM,QAAQK,MAAME,KAAzB,UAAmCZ,EAAUG,EAA7C,WACAlM,EAAWoM,QAAQK,MAAMG,IAAzB,UAAkCZ,EAAU,GAA5C,SAIY,OAAVhM,QAAU,IAAVA,OAAA,EAAAA,EAAYoM,UAAWE,EAAoBJ,GAC7CM,EAAKC,MAAME,KAAO,OAClBH,EAAKC,MAAMG,IAAM,MAEjB5M,EAAWoM,QAAQK,MAAMC,QAAU,MACnC1M,EAAWoM,QAAQK,MAAMG,IAAzB,UACEZ,GAAU,UAAAhM,EAAWoM,eAAX,eAAoBW,cAAe,EAAI,GADnD,WAGA/M,EAAWoM,QAAQK,MAAME,KAAzB,UACEZ,GAAO,UAAG/L,EAAWoM,eAAd,aAAG,EAAoBY,aAAc,GAD9C,aARF,GArCF,mC,iCCAA,6CAOaC,EAAwBtN,YAAkC,CACrEC,IAAK,wBACLC,QAAS,Q,kFC4CIqN,IAzCF,SAACC,GACZ,IAAQhN,EAAsCgN,EAAtChN,UAAWiN,EAA2BD,EAA3BC,KAAMC,EAAqBF,EAArBE,QAAStL,EAAYoL,EAAZpL,QAC5B/B,EAAasN,iBAAY,MACzBC,EAAUD,iBAAY,MAE5B,OACE,oCACGD,GACC,kBAAC,IAAD,CACErN,WAAYA,EACZC,eAAgBoN,IAGpB,uBACElN,UAAW8C,IAAW,QAAD,OAASmK,GAAQjN,GACtCqN,WAAUH,EACVI,cAAY,QACZvN,IAAKqN,EACLG,WAAS,UACTC,aAAW,EACXC,aAAc,WAAO,IAAD,IACbP,GCjCA,SACbrN,EACAuN,EACAxB,EACAC,GACC,IAAD,IACME,EAAmBpE,KAAKqE,MAAe,OAAVnM,QAAU,IAAVA,GAAA,UAAAA,EAAYoM,eAAZ,eAAqBC,aAAc,GACtErM,EAAWoM,QAAQK,MAAMC,QAAU,MAEnC,IAG4C,EAHtCF,EAAOxM,EAAWoM,QAAQxJ,SAASpC,YAGzC,GAFAgM,EAAKC,MAAMC,QAAU,OAEP,OAAV1M,QAAU,IAAVA,GAAA,UAAAA,EAAYoM,eAAZ,eAAqBC,aAAc,IAWrC,OAVArM,EAAWoM,QAAQK,MAAMI,WAAa,eACtC7M,EAAWoM,QAAQK,MAAMK,MAAQ,QAEjC9M,EAAWoM,QAAQK,MAAME,KAAzB,UACEZ,EAAU,KAAM,UAAAwB,EAAQnB,eAAR,eAAiBY,aAAc,EADjD,MAGAhN,EAAWoM,QAAQK,MAAMG,IAAzB,UACEZ,GAAO,OAAGhM,QAAH,IAAGA,OAAH,EAAGA,EAAYoM,QAAQW,cAAe,GAD/C,WAGA/M,EAAWoM,QAAQK,MAAMC,QAAU,OAIrC,IAeE,EAU0B,IAaC,EAtCvBmB,EAAmB9B,EACnBO,EAAoBlB,OAAOmB,WAAaR,EAE1CE,EAAc,MAQlB,GAPIC,EAAmBI,IACrBL,EAAc,QAEZ4B,EAAmB3B,IACrBD,EAAc,UAIJ,OAAVjM,QAAU,IAAVA,OAAA,EAAAA,EAAYoM,UACZE,GAAqBJ,GACrB2B,EAAmB3B,EAQnB,OANAlM,EAAWoM,QAAQK,MAAME,KAAzB,UACEZ,EAAUG,GAAmB,UAAAqB,EAAQnB,eAAR,eAAiBY,aAAc,EAD9D,WAGAhN,EAAWoM,QAAQK,MAAMG,IAAzB,UACEZ,GAAO,OAAGhM,QAAH,IAAGA,OAAH,EAAGA,EAAYoM,QAAQW,cAAe,GAD/C,OAMF,GAAoB,SAAhBd,EAUF,OATAO,EAAKC,MAAME,KAAO,OAClBH,EAAKC,MAAMG,IAAM,MAEjB5M,EAAWoM,QAAQK,MAAMG,IAAzB,UACEZ,GAAiB,OAAPuB,QAAO,IAAPA,GAAA,UAAAA,EAASnB,eAAT,eAAkBW,cAAe,EAD7C,WAGA/M,EAAWoM,QAAQK,MAAME,KAAzB,UACEZ,GAAO,UAAG/L,EAAWoM,eAAd,aAAG,EAAoBY,aAAc,GAD9C,OAMkB,UAAhBf,IACFO,EAAKC,MAAME,KAAO,IAClBH,EAAKC,MAAMG,IAAM,MACjB5M,EAAWoM,QAAQK,MAAMG,IAAzB,UAAkCZ,EAAlC,MACAhM,EAAWoM,QAAQK,MAAME,KAAzB,UACEZ,GAAO,UAAGwB,EAAQnB,eAAX,aAAG,EAAiBY,aAD7B,ODlCMc,CACE9N,EACAuN,EAFiB,UAGjBA,EAAQnB,QAAQ2B,+BAHC,aAGjB,EAAyCC,EAHxB,UAIjBT,EAAQnB,QAAQ2B,+BAJC,aAIjB,EAAyCE,IAG7CC,aAAc,WACPb,GACDrN,EAAWoM,UACbpM,EAAWoM,QAAQK,MAAMC,QAAU,MAGvC3K,QAASA,O,gCE/CV,IAAKoM,EAOAtM,EAOAuM,EAKAC,EAKA9M,EAxBZ,0K,SAAY4M,K,yBAAAA,E,uBAAAA,E,qBAAAA,E,wBAAAA,M,cAOAtM,K,YAAAA,E,2BAAAA,E,UAAAA,E,sBAAAA,M,cAOAuM,K,gBAAAA,E,0BAAAA,M,cAKAC,K,YAAAA,E,eAAAA,M,cAKA9M,K,kBAAAA,E,mBAAAA,M,uCCxBZ,6CAEa+M,EAAiB3O,YAAU,CACtCC,IAAK,iBACLC,QAAS,Q,mBCHXL,EAAOC,QAAU,CAAC,KAAO,uBAAuB,eAAiB,iCAAiC,KAAO,uBAAuB,iBAAmB,mCAAmC,KAAO,uBAAuB,MAAQ,wBAAwB,QAAU,0BAA0B,aAAe,+BAA+B,cAAgB,gCAAgC,UAAY,4BAA4B,MAAQ,wBAAwB,QAAU,0BAA0B,OAAS,yBAAyB,OAAS,yBAAyB,QAAU,4B,oBCAhjBD,EAAOC,QAAU,CAAC,GAAK,oBAAoB,GAAK,sB,oBCAhDD,EAAOC,QAAU,CAAC,QAAU,qC,oBCA5BD,EAAOC,QAAU,CAAC,QAAU,0C,okqECGtB8O,EAAY,CAChBC,GCGa,CACbC,YAAa,CACX7E,M,OACA8E,I,OACA/M,M,OACAgN,K,OACAtB,Q,OACAuB,W,OACAC,S,UDRJC,IAAKC,IAAIC,KAAkBC,KAAK,CAC9BV,YACAW,IAAK,KACLC,MAAO,CACLC,4BAA4B,EAC5BC,2BAA4B,CAAC,KAAM,SAAU,MAE/CC,cAAc,EACdC,cAAe,CACbC,aAAa,KAIFV,MAAf,G,yDEpBAtP,EAAOC,QAAU,CAAC,OAAS,yBAAyB,UAAY,4BAA4B,OAAS,yBAAyB,gBAAkB,kCAAkC,MAAQ,wBAAwB,MAAQ,wBAAwB,KAAO,uBAAuB,eAAiB,iCAAiC,SAAW,2BAA2B,KAAO,uBAAuB,gBAAkB,kCAAkC,4BAA8B,gD,mCCDnd4C,G,SAAAA,K,cAAAA,E,mBAAAA,E,8BAAAA,E,+BAAAA,E,4CAAAA,E,iDAAAA,E,qBAAAA,E,gDAAAA,E,+DAAAA,E,0CAAAA,E,iDAAAA,E,0EAAAA,E,4EAAAA,E,wEAAAA,E,qCAAAA,E,+DAAAA,E,+EAAAA,E,qFAAAA,E,iFAAAA,E,6FAAAA,E,6EAAAA,E,mGAAAA,E,+FAAAA,E,0DAAAA,E,0EAAAA,E,gFAAAA,E,4EAAAA,E,kEAAAA,E,kFAAAA,E,wFAAAA,E,oFAAAA,E,0DAAAA,E,0EAAAA,E,gFAAAA,E,4EAAAA,E,8DAAAA,E,8EAAAA,E,gFAAAA,E,gFAAAA,E,+DAAAA,E,+EAAAA,E,iFAAAA,E,iFAAAA,E,kFAAAA,E,kGAAAA,E,oGAAAA,E,oGAAAA,E,qCAAAA,E,8EAAAA,E,oEAAAA,E,oBAAAA,E,uCAAAA,E,qEAAAA,E,iFAAAA,E,+EAAAA,E,wGAAAA,E,kBAAAA,E,mDAAAA,E,gDAAAA,E,gBAAAA,M,KAiFUA,O,oVCxDb+I,OAAOqE,SAAW,WAChBC,eAAeC,WAAW,gBAI9B,IAoDeC,EApDG,SAAC,GAA+C,IAA7ChN,EAA4C,EAA5CA,SACb9B,EAAUC,cACV8O,EAAWC,cACjB,EAAmCC,YAAeC,KAAlD,mBAAOC,EAAP,KAAwBC,EAAxB,KACM/O,EAAkBC,YAAkBC,KAC1C,EAAsB0O,YAAeI,KAA9BC,EAAP,oBACMC,EAAaC,YAAeC,KAC5BC,EAAeF,YAAehC,KAEpC,EAAkCtN,mBAAkBqP,GAApD,mBAAOI,EAAP,KAAkBC,EAAlB,KACMC,EAA2BL,YAAeM,KAuChD,OArCAC,qBAAU,WACR7O,IAAI8O,IAAI,OACL5O,MAAK,SAAC6O,GAGL,GAFAb,EAAQa,EAASlH,MACjB6G,GAAa,GACTM,YAAcnB,EAASoB,YAAcN,EAA0B,CAC9C,IAAD,IAAlB,GAAIH,EACFU,IAAQC,MAAMC,IACZ,aACAC,KAAKC,UAAL,2BACKd,GADL,IAEEe,SAAS,GAAD,QACN,UAAAR,EAASlH,YAAT,eAAe2H,WAAY,KAA3B,UAAiCT,EAASlH,YAA1C,aAAiC,EAAe4H,eAKxD3Q,EAAQsB,KAAKC,IAAO2B,eAGvBzB,MACCC,aAAa,WACXkO,GAAa,GACbR,EAAQ,MACHc,YAAcnB,EAASoB,WAC1BnQ,EAAQsB,KAAKC,IAAOqB,cAErBvC,MAEN,CAACiP,EAAaO,IAEjBE,qBAAU,YACJJ,GAAcR,GAAoBe,YAAcnB,EAASoB,WAC3DnQ,EAAQsB,KAAKC,IAAOqB,cAErB,CAACmM,EAASoB,WAENR,EAAY,oCAAG7N,GAAe,kBAAC8O,EAAA,EAAD,O,mDCdxBC,EAtDW,WACxB,IAAQ/Q,EAAMC,cAAND,EACFE,EAAUC,cAChB,EAA0BgP,YAAe1O,KAAzC,mBAAOuQ,EAAP,KAAcC,EAAd,KAEMC,EAASxE,iBAA0B,MAQzC,OANAuD,qBAAU,WACJiB,EAAO1F,SACT0F,EAAO1F,QAAQ2F,UAEhB,CAACD,EAAO1F,QAASwF,IAEfA,EAKH,kBAACI,EAAA,EAAD,CACE1Q,WAAYC,IAAgBC,QAC5BG,MAAOf,EAAE,iBACTqR,QAAS,kBAAMJ,EAAS,QAEvBD,GACC,yBAAKzR,UAAWC,IAAOuD,SACrB,2BACwB,SAAhB,OAALiO,QAAK,IAALA,OAAA,EAAAA,EAAOM,WACJtR,EAAE,wBACG,OAALgR,QAAK,IAALA,OAAA,EAAAA,EAAOO,cACPP,EAAMO,aADN,OAEAP,QAFA,IAEAA,OAFA,EAEAA,EAAOQ,eAIjB,kBAACC,EAAA,EAAD,CACEnS,IAAK4R,EACLxQ,WAAYO,IAAiBC,IAC7B3B,UAAU,SACV4B,QAAS,WACkB,SAAhB,OAAL6P,QAAK,IAALA,OAAA,EAAAA,EAAOM,YACTpR,EAAQsB,KAAKC,IAAO2B,WAElB4N,EAAMU,UACRV,EAAMU,WAERT,EAAS,QAGVjR,EAAE,cAlCA,M,2BCgBI2R,EAhCgB,WAC7B,IAAQ3R,EAAMC,cAAND,EACR,EAAsCmP,YAAenE,KAArD,mBAAO4G,EAAP,KAAoBC,EAApB,KACA,OAAI,OAACD,QAAD,IAACA,OAAD,EAACA,EAAaE,SAIhB,kBAACV,EAAA,EAAD,CACE1Q,WAAYC,IAAgBC,QAC5BG,MAAOf,EAAE,oBACTc,KAAK,WACLuQ,QAAS,kBAAMQ,EAAe,QAE9B,yBAAKtS,UAAWC,IAAOuD,SACrB,4BAAe,OAAX6O,QAAW,IAAXA,OAAA,EAAAA,EAAaG,UAAW/R,EAAE,mCAEhC,kBAACyR,EAAA,EAAD,CACE/Q,WAAYO,IAAiBC,IAC7B3B,UAAU,SACV4B,QAAS,WACP0Q,EAAe,MACXD,EAAYF,UACdE,EAAYF,aAIf1R,EAAE,cAtBA,M,kDCTEgS,EAAiB,SAAChS,GAAD,MAAwC,CACpE,CACEiS,GAAIxQ,IAAO4B,SACXvC,KAAM,YACNkI,MAAOhJ,EAAE,+BAEX,CACEiS,GAAIxQ,IAAO+B,2BACX1C,KAAM,qBACNkI,MAAOhJ,EAAE,oCACTgC,SAAU,CACRkQ,MAAO,CACL,CACED,GAAIxQ,IAAOoC,kCACXmF,MAAOhJ,EAAE,6BAEX,CACEiS,GAAIxQ,IAAO+B,2BACXwF,MAAOhJ,EAAE,gCAKjB,CACEiS,GAAIxQ,IAAO0Q,mBACXrR,KAAM,iBACNkI,MAAOhJ,EAAE,4BACTgC,SAAU,CACRkQ,MAAO,CACL,CACED,GAAIxQ,IAAOqC,wBACXhD,KAAM,aACNkI,MAAOhJ,EAAE,sCACTgC,SAAU,CACRkQ,MAAO,CACL,CACED,GAAIxQ,IAAOsC,0BACXiF,MAAOhJ,EAAE,6BAEX,CACEiS,GAAIxQ,IAAOqC,wBACXkF,MAAOhJ,EAAE,gCAKjB,CACEiS,GAAIxQ,IAAOuC,gCACXlD,KAAM,mBACNkI,MAAOhJ,EAAE,8CACTgC,SAAU,CACRkQ,MAAO,CACL,CACED,GAAIxQ,IAAOwC,kCACX+E,MAAOhJ,EAAE,6BAEX,CACEiS,GAAIxQ,IAAOuC,gCACXgF,MAAOhJ,EAAE,gCAKjB,CACEiS,GAAIxQ,IAAO0C,qBACXrD,KAAM,qBACNkI,MAAOhJ,EAAE,gCACTgC,SAAU,CACRkQ,MAAO,CACL,CACED,GAAIxQ,IAAO4C,uBACX2E,MAAOhJ,EAAE,6BAEX,CACEiS,GAAIxQ,IAAO0C,qBACX6E,MAAOhJ,EAAE,gCAKjB,CACEiS,GAAIxQ,IAAO6C,6BACXxD,KAAM,gBACNkI,MAAOhJ,EAAE,iCACTgC,SAAU,CACRkQ,MAAO,CACL,CACED,GAAIxQ,IAAO8C,+BACXyE,MAAOhJ,EAAE,6BAEX,CACEiS,GAAIxQ,IAAO6C,6BACX0E,MAAOhJ,EAAE,gCAKjB,CACEiS,GAAIxQ,IAAO+C,yBACX1D,KAAM,iBACNkI,MAAO,gCACPhH,SAAU,CACRkQ,MAAO,CACL,CACED,GAAIxQ,IAAOgD,2BACXuE,MAAOhJ,EAAE,6BAEX,CACEiS,GAAIxQ,IAAO+C,yBACXwE,MAAOhJ,EAAE,gCAMjB,CACEiS,GAAIxQ,IAAOmD,uBACXwN,QAAS,6BACTpJ,MAAO,qBACPhH,SAAU,CACRkQ,MAAO,CACL,CACED,GAAIxQ,IAAOkD,yBACXqE,MAAOhJ,EAAE,6BAEX,CACEiS,GAAIxQ,IAAOmD,uBACXoE,MAAOhJ,EAAE,gCAMjB,CACEiS,GAAIxQ,IAAOuD,oBACXoN,QAAS,0BACTpJ,MAAO,iDACPhH,SAAU,CACRkQ,MAAO,CACL,CACED,GAAIxQ,IAAOoD,sBACXmE,MAAOhJ,EAAE,6BAEX,CACEiS,GAAIxQ,IAAOuD,oBACXgE,MAAOhJ,EAAE,gCAMjB,CACEiS,GAAIxQ,IAAOyD,8BACXkN,QAAS,oCACTpJ,MAAO,qCACPhH,SAAU,CACRkQ,MAAO,CACL,CACED,GAAIxQ,IAAOwD,gCACX+D,MAAOhJ,EAAE,6BAEX,CACEiS,GAAIxQ,IAAOyD,8BACX8D,MAAOhJ,EAAE,mCAQvB,CACEiS,GAAIxQ,IAAO4Q,mBACXvR,KAAM,OACNkI,MAAOhJ,EAAE,4BACTgC,SAAU,CACRkQ,MAAO,CACL,CACED,GAAIxQ,IAAO0D,gCACXrE,KAAM,qBACNkI,MAAOhJ,EAAE,wCAEX,CACEiS,GAAIxQ,IAAO2D,2BACXtE,KAAM,gBACNkI,MAAOhJ,EAAE,sCAKjB,CACEiS,GAAIxQ,IAAO6Q,gBACXxR,KAAM,YACNkI,MAAOhJ,EAAE,0BACTgC,SAAU,CACRkQ,MAAO,CACL,CACED,GAAIxQ,IAAO4D,2BACXvE,KAAM,eACNkI,MAAOhJ,EAAE,0BAEX,CACEiS,GAAIxQ,IAAO6D,kDACXxE,KAAM,uBACNkI,MAAOhJ,EAAE,0C,qDCyHJuS,EAvTE,WACf,IAAQvS,EAAMC,cAAND,EACR,EAAsCI,mBAAc,MAApD,mBAAOoS,EAAP,KAAoBC,EAApB,KACA,EAAgDrS,mBAAc,MAA9D,mBAAOsS,EAAP,KAAyBC,EAAzB,KACM1D,EAAWC,cACjB,EAAwC9O,oBAAkB,GAA1D,mBAAOwS,EAAP,KAAqBC,EAArB,KACMC,EAAatS,YAAkBtB,KAErC+Q,qBAAU,YACR0C,EAAoB,MAGhBH,IACqBhI,OAAOH,SAAS0I,iBAAiB,UACzCC,SAAQ,SAACC,GAAD,OAAYA,EAAOC,YAE3C,CAACV,IAEJ,IAAMW,EAAsB3S,YAAkB6L,KAExC+G,EAAuB,WACD,MAAtBnE,EAASoB,UACX8C,EAAoB,CAClBE,SAAS,KAKTC,EAAmB9S,YAAkByK,KAE3C,OACE,oCACImF,YAAcnB,EAASoB,UAkRvB,qCAjRA,oCACE,yBACE9Q,UAAW8C,IACT7C,IAAO+T,KACP,oCAGF,yBAAKhU,UAAWC,IAAOgU,gBACpBZ,GACC,kBAAC/S,EAAA,EAAD,CACEC,YAAa,CACXyB,SAAU,WACRsR,GAAgB,KAGpB9S,YAAa,CACXwB,SAAU,WACRsR,GAAgB,OAKxB,yBAAKtT,UAAWC,IAAOiU,QACrB,kBAACC,EAAA,EAAD,CAAWzB,GAAIxQ,IAAO2B,UAAW7D,UAAWC,IAAOmU,MACjD,yBACEpU,UAAWC,IAAOoU,iBAClBzS,QAAS,kBAAMiS,OAEjB,yBACEjS,QAAS,kBAAMiS,KACfS,IAAI,4BACJC,IAAK9T,EAAE,wBAGX,kBAAC,OAAD,CACEsN,aAAc,kBAAMmF,EAAe,OACnClT,UAAU,oBAEV,wBAAIA,UAAWC,IAAOuU,MACnB/B,EAAehS,GAAGmJ,KACjB,SAACC,EAA0BI,GACzB,OACE,wBACExK,IAAKwK,EAAQ,QACbrI,QAAS,WAELiI,EAAK6I,KAAOhD,EAASoB,WACrB,OAACjH,QAAD,IAACA,OAAD,EAACA,EAAMpH,WAEPsR,EAAiB,CACfD,SAAS,MAKf,kBAAC,WAAD,CACEW,QAAS,WACP5K,EAAKpH,SACDyQ,EAAejJ,GACfiJ,EAAe,SAGnBrJ,EAAKpH,UACL,kBAAC0R,EAAA,EAAD,CAAWzB,GAAI7I,EAAK6I,IACjB7I,EAAKtI,MAAQ,kBAACwL,EAAA,EAAD,CAAME,KAAMpD,EAAKtI,OAC/B,8BAAOsI,EAAKJ,QAGfI,EAAKpH,UACJ,oCACE,2BACGoH,EAAKtI,MAAQ,kBAACwL,EAAA,EAAD,CAAME,KAAMpD,EAAKtI,OAC/B,8BAAOsI,EAAKJ,OACZ,kBAACsD,EAAA,EAAD,CACEE,KAAK,OACLjN,UAAWC,IAAOyU,SAGtB,yBACE1U,UAAW8C,IACT7C,IAAO0U,QACP1U,IAAO2U,OAFY,eAIhB3U,IAAO4U,OAAS5K,IAAUgJ,KAI/B,4BACGpJ,EAAKpH,SAASkQ,MAAM/I,KACnB,SACEkL,EACAC,GAEA,OACE,wBACEnT,QAAS,WAELkT,EAAQpC,KACNhD,EAASoB,WACX,OAACgE,QAAD,IAACA,OAAD,EAACA,EAASrS,WAEVsR,EAAiB,CACfD,SAAS,KAIfrU,IAAKsV,EAAW,WAChB/U,UAAW8C,IAAW,eACnB7C,IAAO+U,eAAiBF,EAAQrS,aAGjCqS,EAAQrS,UACR,yBAAKzC,UAAWC,IAAO6U,SACrB,kBAACX,EAAA,EAAD,CAAWzB,GAAIoC,EAAQpC,IACrB,0BACE1S,UAAU,4BACV4B,QAAS,kBACPsR,EAAe,QAGhB4B,EAAQvT,MACP,kBAACwL,EAAA,EAAD,CACEE,KAAM6H,EAAQvT,OAGlB,8BACGuT,EAAQrL,UAMlBqL,EAAQrS,UACP,oCACE,kBAAC,WAAD,CACEzC,UAAWC,IAAO6U,QAClBL,QAAS,WACPrB,EACE2B,KAIJ,2BACGD,EAAQvT,MACP,kBAACwL,EAAA,EAAD,CACEE,KAAM6H,EAAQvT,OAIjBuT,EAAQjC,SACP,yBACE7S,UACEC,IAAO4S,QAETyB,IAAKQ,EAAQjC,UAGjB,8BACGiC,EAAQrL,QAGb,yBACEzJ,UAAW8C,IACT7C,IAAOgV,aACPhV,IAAO2U,OAFY,eAIhB3U,IAAO4U,OACNE,IACA5B,KAIN,4BACG2B,EAAQrS,SAASkQ,MAAM/I,KACtB,SACEsL,EACAC,GAEA,OACE,wBACE1V,IACE0V,EACA,gBAEFvT,QAAS,WAELsT,EAAaxC,KACbhD,EAASoB,UAETiD,EACE,CACED,SAAS,IAIfZ,EACE,MAEFE,EACE,QAIJ,kBAACe,EAAA,EAAD,CACEzB,GACEwC,EAAaxC,IAGf,8BAEIwC,EAAazL,qBAkB9CI,EAAKpH,SAAS+L,MACb,2BAAI3E,EAAKpH,SAAS+L,gBAa1C,yBAAKxO,UAAWC,IAAOmV,WACrB,4BACE,4BACE,uBAAGxT,QAAS,kBAAM0R,GAAgB,KAChC,kBAACvG,EAAA,EAAD,CAAME,KAAK,SACX,8BAAOxM,EAAE,oBAGb,4BACE,uBAAGmB,QAAS,kBAAM2R,GAAW,KAC3B,kBAACxG,EAAA,EAAD,CACE/M,UAAW8C,IAAW7C,IAAOoV,SAC7BpI,KAAK,aACLC,QAASzM,EAAE,4BAEb,8BAAOA,EAAE,iBAGb,wBAAIT,UAAU,oBACZ,kBAACmU,EAAA,EAAD,CAAWzB,GAAIxQ,IAAOoT,SACpB,kBAACvI,EAAA,EAAD,CAAME,KAAK,SACX,kCAAQxM,EAAE,iCAOL,OAAhBwS,GAAwB,yBAAKjT,UAAWC,IAAOsV,W,0BCpJ3CC,EAhKI,WACjB,IAAQ/U,EAAMC,cAAND,EAER,EAAgCI,mBAAe4R,EAAehS,IAA9D,mBAAOgC,EAAP,KAAiBgT,EAAjB,KACA,EAAwC5U,mBAAiB,IAAzD,mBAAO6U,EAAP,KAAqBC,EAArB,KACA,EAA0B9U,mBAAiB,IAA3C,mBAAOW,EAAP,KAAcoU,EAAd,KACA,EAAqBhG,YAAe5J,KAA7B6P,EAAP,oBACMC,EAAgB7U,YAAkB+E,KAExC0K,qBAAU,WAAO,IAAD,MACRzG,EAAQyL,EAAapK,MAAM,IACjC,OAAQoK,EAAarN,QACnB,KAAK,EAGH,OAFAoN,EAAahD,EAAehS,SAC5BmV,EAAS,IAEX,KAAK,EAKH,OAJAH,EAAW,UAAChD,EAAehS,GAAGsH,OAAOkC,EAAM,KAAKxH,gBAArC,aAAC,EAA8CkQ,YACrC,MAAjB+C,GACFE,EAAS,6BAGb,KAAK,EAKH,YAJAH,EAAW,UACThD,EAAehS,GAAGsH,OAAOkC,EAAM,KAAKxH,gBAD3B,iBACT,EAA8CkQ,MAAM5K,OAAOkC,EAAM,KAC9DxH,gBAFM,aACT,EACakQ,UAIlB,CAAC+C,IAEJ,IAAMhG,EAAWC,cACjB,EAAwC9O,oBAAkB,GAA1D,mBAAOwS,EAAP,KAAqBC,EAArB,KACM3S,EAAUC,cAEhB,OAAI,OAACiV,QAAD,IAACA,OAAD,EAACA,EAAYtD,SAKf,oCACI1B,YAAcnB,EAASoB,UAkHvB,qCAjHA,oCACE,yBACE9Q,UAAW8C,IACT7C,IAAO+T,KACP,oCAGF,yBAAKhU,UAAWC,IAAOgU,gBACpBZ,GACC,kBAAC/S,EAAA,EAAD,CACEC,YAAa,CACXyB,SAAU,WACRsR,GAAgB,KAGpB9S,YAAa,CACXwB,SAAU,WACRsR,GAAgB,GAChBqC,EAAgB,IAChBG,EAAc,CAAEvD,SAAS,QAKjC,yBAAKvS,UAAWC,IAAO8V,WACrB,kBAAChJ,EAAA,EAAD,CAAME,KAAK,OAAOrL,QAAS,kBAAM0R,GAAgB,MACjD,uBACE1R,QAAS,WACPjB,EAAQsB,KAAKC,IAAO2B,WACpB8R,EAAgB,IAChBG,EAAc,CAAEvD,SAAS,KAE3BvS,UAAWC,IAAOmU,MAElB,yBAAKE,IAAI,oBAAoBC,IAAK9T,EAAE,qBAEtC,kBAACsM,EAAA,EAAD,CACEE,KAAK,OACLrL,QAAS,WACPjB,EAAQsB,KAAKC,IAAOoT,SACpBK,EAAgB,IAChBG,EAAc,CAAEvD,SAAS,QAI/B,yBAAKvS,UAAWC,IAAOiU,QACrB,wBAAIlU,UAAWC,IAAOuU,MACT,KAAVhT,EACC,GAEA,wBAAIxB,UAAWC,IAAO+V,WACpB,kBAACjJ,EAAA,EAAD,CAAME,KAAK,OAAOjN,UAAWC,IAAOgW,eACpC,uBACErU,QAAS,WACqB,IAAxB8T,EAAarN,OACfsN,EAAgB,IAEhBA,EAAgBD,EAAa,MAIjC,8BAAOlU,KAIZiB,EAASmH,KAAI,SAACC,GACb,IAAMI,EAAQxH,EAASyT,QAAQrM,GAC/B,OACE,oCACE,wBAAIpK,IAAKwK,EAAQ,SACf,uBACErI,QAAS,gBACeuU,IAAlBtM,EAAKpH,UACP9B,EAAQsB,KAAK4H,EAAK6I,IAClBiD,EAAgB,IAChBG,EAAc,CAAEvD,SAAS,MAEzBoD,EAAgB,UAAGD,GAAH,UAAuBzL,IACvC2L,EAAS/L,EAAKJ,UAIjBI,EAAKtI,MAAQ,kBAACwL,EAAA,EAAD,CAAME,KAAMpD,EAAKtI,OAC/B,8BAAOsI,EAAKJ,OACXI,EAAKpH,UACJ,kBAACsK,EAAA,EAAD,CAAME,KAAK,OAAOjN,UAAWC,IAAOmW,aAI1C,mCAMV,yBAAKpW,UAAWC,IAAOmV,WACrB,yBACExT,QAAS,WACPkU,EAAc,CAAEvD,SAAS,IACzBoD,EAAgB,MAGlB,yBACErB,IAAI,2BACJC,IAAK9T,EAAE,4BAET,+BAAKA,EAAE,iCAhHd,sC,+CC3CI,SAAS4V,GAAT,GASS,IARtBpM,EAQqB,EARrBA,MACAqM,EAOqB,EAPrBA,WACAC,EAMqB,EANrBA,KACAC,EAKqB,EALrBA,UACAC,EAIqB,EAJrBA,aACAC,EAGqB,EAHrBA,UACAC,EAEqB,EAFrBA,aACMC,EACe,EADrBC,KAEMA,EAAOC,MAAMC,KAAKD,MAAMF,IAC9B,OACE,yCAASD,EAAT,CAAuB3W,UAAWI,IAAGH,KAAO+W,mBAC1C,yBAAKhX,UAAWI,IAAGH,KAAOgX,2BACxB,0BAAMjX,UAAWI,IAAGH,KAAOiX,wBAAyBjN,EAAQ,GAC5D,yBAAKjK,UAAWI,IAAGH,KAAOkX,yBACxB,6BACGZ,EAAK/S,QACN,yBAAKxD,UAAWC,KAAOmX,QACpBP,EAAKjN,KAAI,SAACyN,EAAGC,GACZ,OACE,uBACE7X,IAAK6X,EACLtX,UAAWI,IAAG,eAAGH,KAAOsX,OAAStN,IAAUqN,KAF7C,gBAWV,yBAAKtX,UAAWI,IAAGH,KAAOuX,mBACb,IAAVvN,GAAeuM,GACd,4CACMA,EADN,CAEExW,UAAWI,IAAGH,KAAOwX,0BAErB,kBAAC1K,EAAA,EAAD,CAAME,KAAK,SACX,8BAAOuJ,EAAUhV,SAGnB8U,GAAcG,GACd,4CACMA,EADN,CAEEzW,UAAWI,IAAGH,KAAOyX,0BAErB,8BAAOjB,EAAajV,OACpB,kBAACuL,EAAA,EAAD,CAAME,KAAK,WAIjB,4CAAYyJ,EAAZ,CAAuB1W,UAAWI,IAAGH,KAAO0X,wBAC1C,8BAAOjB,EAAUlV,U,uDCvDZoB,OAAMgV,MAAK,YAMtB,IAAD,IALDC,eAKC,MALS,IAKT,MAJDC,qBAIC,MAJe,GAIf,EACD,EAAiBjX,mBAAiB,EAAI8G,KAAKoQ,GAAK,MAAzCC,EAAP,oBACA,EAA4BnX,qBAA5B,mBAAOoX,EAAP,KAAeC,EAAf,KAEMC,EAAYhL,iBAAY,MAU9B,OARAiL,mBAAQ,WACFD,GAAoC,QAAd,OAATA,QAAS,IAATA,OAAA,EAAAA,EAAWlM,WAC1BkM,EAAUlM,QAAQK,MAAM+L,gBAAkBL,EAC1CG,EAAUlM,QAAQK,MAAMgM,iBAAmBL,GAE7CC,EAAUF,EAAUA,EAASH,EAAWC,KACvC,CAACD,IAGF,yBAAKlL,MAAM,MAAM4L,OAAO,MAAMpY,GAAG,SAC/B,4BAAQC,GAAG,KAAKoY,GAAG,KAAKC,EAAE,SAC1B,4BACE1Y,IAAKoY,EACLnY,UAAWI,IAAG,eAAGH,KAAOyY,eAAiBT,IACzC7X,GAAG,KACHoY,GAAG,KACHC,EAAE,aCxBJE,GAAa,SAACC,GAClB,OAAQ,IAAI9B,MAAM,GAAOtL,KAAK,KAAOoN,GAAQrQ,OAAO,IAwDvCsQ,GA/CG,SAAC,GAAiD,IAA/CC,EAA8C,EAA9CA,SAAUC,EAAoC,EAApCA,cAAe/Y,EAAqB,EAArBA,UAC5C,EAA0Ba,qBAA1B,mBAAOmY,EAAP,KAAcC,EAAd,KACA,EAAkBpY,mBAAiBiY,GAA5BI,EAAP,oBACA,EAAkCrY,mBAASqY,GAA3C,mBAAOC,EAAP,KAAkBC,EAAlB,KACA,EAA4BvY,oBAAS,GAArC,mBAAOoI,EAAP,KAAeoQ,EAAf,KAEQ5Y,EAAMC,cAAND,EAoBR,OAlBA2X,mBAAQ,WAMN,OALAa,EACEK,aAAY,WACVF,GAAa,SAACG,GAAD,OAAeA,EAAY,OACvC,MAEE,kBAAMC,cAAcR,MAC1B,IAEHZ,mBAAQ,WACY,IAAde,IACFC,EAAaF,GACbM,cAAcR,GACdK,GAAU,GACVN,OAED,CAACI,IAGF,yBAAKnZ,UAAWI,IAAGH,KAAO+T,KAAMhU,IAC9B,yBAAKA,UAAWI,IAAGH,KAAOwZ,aACxB,yBAAKzZ,UAAWC,KAAOyZ,WACrB,kBAACC,GAAD,CAAQ9B,QAASsB,EAAWrB,cAAeoB,KAE7C,yBAAKlZ,UAAWC,KAAOuO,MACnBvF,EAGA,0BAAMjJ,UAAWC,KAAO2Z,SACtB,kBAAC7M,EAAA,EAAD,CAAME,KAAK,aACVxM,EAAE,wBA5CU,SAACoZ,GAC1B,IAAMC,EAAUnS,KAAK4B,MAAMsQ,EAAgB,IACrCE,EAAUpS,KAAK4B,MAAMsQ,EAA0B,GAAVC,GAC3C,OAAOnB,GAAWmB,EAAQ9R,YAAc,IAAM2Q,GAAWoB,EAAQ/R,YAqCvDgS,CAAmBb,OC4DhBc,GA/FY,WACzB,IAAQxZ,EAAMC,cAAND,EACFE,EAAUC,cACVsP,EAAaC,YAAeC,KAClC,EAAoCvP,oBAAkB,GAAtD,mBAAOqZ,EAAP,KAAmBC,EAAnB,KACA,EAAoCtZ,oBAAkB,GAAtD,mBAAOuZ,EAAP,KAAmBC,EAAnB,KACMrZ,EAAkBC,YAAkBC,KAC1C,EAAgCL,oBAAkB,GAAlD,mBAAOyZ,EAAP,KAAkBvZ,EAAlB,KACA,EAAsCF,mBAAc,CAClD0Z,WAAY,IACZC,UAAW,KAFb,mBAAOC,EAAP,KAAoBC,EAApB,KAKMH,EAAaxJ,IAAQ4J,QAAQhK,IAAI,yBACjC6J,EAAYzJ,IAAQ4J,QAAQhK,IAAI,wBAMtC,EAAgCiK,aAAa,CAC3CC,QAAS,IAAOJ,EAAYF,WAC5BO,OANmB,WACnBX,GAAc,MAGRY,EAAR,EAAQA,MAAOC,EAAf,EAAeA,MAAOC,EAAtB,EAAsBA,MAKtBvK,qBAAU,WACHR,GAAY+K,IACZT,GAAcD,IACnBG,EAAe,CACbH,WAAYA,EACZC,UAAWA,IAETtK,GAAY8K,OACf,CAAC9K,EAAYsK,EAAWD,IAgB3B,OAAKL,EAKH,kBAACrI,EAAA,EAAD,CACE1Q,WAAYC,IAAgBC,QAC5BG,MAAOf,EAAE,iBACTT,UAAWC,KAAOib,YAElB,yBAAKlb,UAAWC,KAAOuD,SACpB4W,EACC,2BAAI3Z,EAAE,2BAEN,oCACE,kBAAC,GAAD,CACEqY,SAAQ,OAAE2B,QAAF,IAAEA,OAAF,EAAEA,EAAaD,UACvBxa,UAAWC,KAAO+Y,MAClBD,cAAe,WACbhI,IAAQ4J,QAAQQ,OAAO,eACvBd,GAAc,MAGlB,2BAAI5Z,EAAE,+BAAmC,MAI/C,kBAACyR,EAAA,EAAD,CACE/Q,WAAYO,IAAiBC,IAC7B3B,UAAU,SACVsa,UAAWA,EACX1Y,QAAS,WACHwY,GA7CVrZ,GAAW,GACXc,IAAIC,KAAK,cACNC,MAAK,WACJoY,GAAc,GACdE,GAAc,MAEfjY,MAAMC,YAAa,KAAMrB,IACzBsB,SAAQ,WACPvB,GAAW,GACXJ,EAAQsB,KAAKC,IAAOC,kBAuChB4Y,IACAZ,GAAc,MAIjB1Z,EAAE,cAvCA,MCxCL2a,GAAQ,CACZC,KAAMC,gBAAK,kBAAM,mCACjBzX,UAAWyX,gBAAK,kBAAM,iEACtB1I,mBAAoB0I,gBAAK,kBAAM,mCAC/BrX,2BAA4BqX,gBAC1B,kBAAM,mCAERxX,SAAUwX,gBAAK,kBAAM,mCACrBC,mBAAoBD,gBAAK,kBAAM,mCAC/BvI,gBAAiBuI,gBAAK,kBAAM,mCAC5BE,QAASF,gBAAK,kBAAM,mCACpBxI,mBAAoBwI,gBAAK,kBAAM,mCAC/BhG,QAASgG,gBAAK,kBAAM,oCAGhBG,GAAgB,WACpB,OACE,oCACE,kBAAC,IAAD,CAAOC,KAAMxZ,IAAOmZ,KAAMM,UAAWP,GAAMC,OAC3C,kBAAC,IAAD,CAAOK,KAAMxZ,IAAO2B,UAAW+X,OAAK,EAACD,UAAWP,GAAMvX,YACtD,kBAAC,IAAD,CACE6X,KAAMxZ,IAAO0Q,mBACb+I,UAAWP,GAAMxI,qBAEnB,kBAAC,IAAD,CACE8I,KAAMxZ,IAAO+B,2BACb0X,UAAWP,GAAMnX,6BAEnB,kBAAC,IAAD,CAAOyX,KAAMxZ,IAAO4B,SAAU6X,UAAWP,GAAMtX,WAC/C,kBAAC,IAAD,CACE4X,KAAMxZ,IAAO2Z,uBACbF,UAAWP,GAAMG,qBAEnB,kBAAC,IAAD,CAAOG,KAAMxZ,IAAO6Q,gBAAiB4I,UAAWP,GAAMrI,kBACtD,kBAAC,IAAD,CAAO2I,KAAMxZ,IAAOsZ,QAASG,UAAWP,GAAMI,UAC9C,kBAAC,IAAD,CACEE,KAAMxZ,IAAO4Q,mBACb6I,UAAWP,GAAMtI,qBAEnB,kBAAC,IAAD,CAAO4I,KAAMxZ,IAAOoT,QAASqG,UAAWP,GAAM9F,YA+IrCwG,GA1IH,WACV,IAAQrb,EAAMC,cAAND,EACFiP,EAAWC,cACjB,EAA8BC,YAAejQ,KAA7C,mBAAOoc,EAAP,KAAgBxI,EAAhB,KACMyI,EAAiB7L,YAAe8L,KACtC,EAAkCrM,YAAerQ,KAAjD,mBAAO2c,EAAP,KAAkBC,EAAlB,KACMjM,EAAaC,YAAeC,KAElC,EAAwBvP,mBAAiB,IAAzC,mBAAOub,EAAP,KAAaC,EAAb,KACA,EAAkCxb,qBAAlC,mBAAOyb,EAAP,KAAkBC,EAAlB,KACMC,EAAQlZ,YAAc7C,GAwF5B,OAxDAiQ,qBAAU,WACR,IAAIgL,EACAe,EAAM,IACVC,OAAOC,KAAKza,KAAQuR,SAAQ,SAACkJ,GAC3B,IAAMld,EAA2Bkd,EAE/BC,YAAUlN,EAASoB,SAAU,CAC3B4K,KAAMxZ,IAAOzC,GACbmc,OAAO,EACPiB,QAAQ,MAGVnB,EAAOjc,EACPgd,EAAMva,IAAOzC,OAIbic,GAAQc,EAAMM,eAAepB,IAASe,KAE3B,eAATf,EACmC,OAAjC3K,IAAQJ,IAAI,mBACd0L,EAAQG,EAAMd,IAAS,IACvBqB,YAAW,WACLrB,GAAQc,EAAMM,eAAepB,KAC/Ba,EAAa,GACbhJ,GAAW,GACXxC,IAAQE,IAAI,iBAAiB,MAE9B,OAILoL,EAAQG,EADSd,IACU,IAC3BS,EAAa,GAAD,mBAAKD,GAAL,CAAgBO,OAG5BT,IAECE,EAAUc,MAAK,SAACtO,GAAD,OACdkO,YAAUlN,EAASoB,SAAU,CAC3B4K,KAAMhN,EACNkN,OAAO,EACPiB,QAAQ,QAIZE,YAAW,WACLrB,GAAQc,EAAMM,eAAepB,KAC/Ba,EAAa,GACbhJ,GAAW,MAEZ,QAGN,CAAC7D,EAASoB,SAAUkL,IAGrB,oCACE,yBAAKhc,UAAU,YACb,kBAAC,KAAD,CACEid,mBAAiB,EACjBC,qBAAmB,EACnBC,iBAAkB9G,GAClB+G,OAAQpa,YAAgBvC,GACxB6b,UAAWA,EACXta,SA/FsB,SAAC0H,GAAyB,IAAD,IAC7CT,EAAgCS,EAAhCT,OAAQoU,EAAwB3T,EAAxB2T,KAAMpT,EAAkBP,EAAlBO,MAAOqT,EAAW5T,EAAX4T,OAEvBC,EAA6B,CAACC,KAAOC,SAAUD,KAAOE,SACtDC,EAAuB,CAACC,KAAOC,WAAYD,KAAOE,kBAElDpC,EAAS,UAAGgB,OAAOC,KAAKza,YAAf,aAAG,EAAqB8a,MAAK,SAACe,GAC3C,IAAMte,EAA2Bse,EAEjC,OAAI7b,IAAOzC,GAAKue,SAAS,OACT,IAAIC,OAChB,IAAM/b,IAAOzC,GAAKsH,QAAQ,MAAO,SAAW,KAEjCD,KAAK4I,EAASoB,UAEtB5O,IAAOzC,KAASiQ,EAASoB,aAG9B,UAAC4L,OAAOC,KAAKH,UAAb,aAAC,EAAoBQ,MAAK,SAACe,GAAD,OAAYA,IAAMrC,MAK5CiC,EAAWK,SAASX,GACtBd,EAAatS,GAASqT,IAAWY,KAAQC,MAAQ,EAAI,IAC5CZ,EAAiBS,SAAS/U,KACnCsK,GAAW,GACXgJ,EAAa,IARbhJ,GAAW,IA6EP6K,IAAKrC,EACLS,MAAOJ,EACPiC,cAAY,EACZC,mBAAiB,EACjBC,gBAAc,EACdC,YAAU,EACVve,OAAQ,CACNwe,QAAS,CACPC,OAAQ,QAId,yBAAK1e,UAAU,oCACb,kBAAC,WAAD,CAAU2e,SAAU,kBAACpN,EAAA,EAAD,OAClB,kBAAC,EAAD,KACE,kBAAC,IAAD,KACE,kBAAC,GAAD,SAIN,kBAAC,EAAD,MACA,kBAAC,EAAD,MACA,kBAAC,GAAD,MACCrB,IAAelF,cAAqB,kBAAC,EAAD,MAAe,kBAAC,EAAD,U,SC9L1C4T,QACW,cAA7B3T,OAAOyE,SAASmP,UAEe,UAA7B5T,OAAOyE,SAASmP,UAEhB5T,OAAOyE,SAASmP,SAASC,MACvB,2D,0CCDNC,IAASC,OACP,kBAAC,IAAMC,WAAP,KACE,kBAAC,IAAD,KACE,kBAAC,KAAD,KACE,kBAAC,GAAD,SAINnU,SAASoU,eAAe,SD+GpB,kBAAmBC,WACrBA,UAAUC,cAAcC,MACrBtd,MAAK,SAACud,GACLA,EAAaC,gBAEdnd,OAAM,SAACqP,GACNhJ,QAAQgJ,MAAMA,EAAMe,a,gCE9I5B,wOAIa3C,EAAmBrQ,YAAsB,CACpDC,IAAK,mBACLC,QAAS,OAGEsQ,EAAwBxQ,YAAoB,CACvDC,IAAK,wBACLC,QAASqR,IAAQ4J,QAAQhK,IAAI,iBAElBsL,EAAmBzc,YAAc,CAC5CC,IAAK,mBACLC,SAAS,IAGE+Q,EAA2BjR,YAAc,CACpDC,IAAK,2BACLC,SAAS,IAGE0Q,EAAkBoP,YAAkB,CAC/C/f,IAAK,kBACLkR,IAAK,YACH,SAASA,EADO,EAAVA,KACOd,MAIJ4P,EAAmBjgB,YAAyB,CACvDC,IAAK,gBACLC,aAASyW,K,mBC/BX9W,EAAOC,QAAU,CAAC,KAAO,yBAAyB,eAAiB,mCAAmC,UAAY,8BAA8B,KAAO,yBAAyB,KAAO,yBAAyB,SAAW,6BAA6B,UAAY,8BAA8B,aAAe,iCAAiC,UAAY,gC,mBCA9VD,EAAOC,QAAU,CAAC,gBAAkB,yCAAyC,yBAA2B,kDAAkD,iBAAmB,0CAA0C,qBAAuB,8CAA8C,sBAAwB,+CAA+C,uBAAyB,gDAAgD,uBAAyB,gDAAgD,uBAAyB,gDAAgD,OAAS,gCAAgC,OAAS,gCAAgC,KAAO,gC,gCCDvpB,qDAGauR,EAAgB,SAAC6K,GAAD,OAC3BsC,YAAS9b,IAAOmZ,KAAMK,K,mBCHxBrc,EAAOC,QAAU,CAAC,eAAiB,gCAAgC,cAAgB,+BAA+B,QAAU,yBAAyB,OAAS,wBAAwB,QAAU,yBAAyB,QAAU,yBAAyB,QAAU,yBAAyB,iBAAiB,kC,iIC0B1S4S,EAAStP,IAAM8c,YACnB,WAcE3f,GACiB,IAAD,EAbd0C,EAac,EAbdA,SACAiB,EAYc,EAZdA,OACAmT,EAWc,EAXdA,KACAyD,EAUc,EAVdA,UACAqF,EASc,EATdA,WACAC,EAQc,EARdA,QACAvC,EAOc,EAPdA,KACArd,EAMc,EANdA,UAMc,IALdmB,kBAKc,MALDO,IAAiBme,KAKhB,EAJd3S,EAIc,EAJdA,QACAtL,EAGc,EAHdA,QAIIke,EAAgBH,GAAcrF,EAC9ByF,EAAejd,IACnB,MACA7C,IAAOsO,KAFsB,GAI3B,YAAaqR,GAJc,cAK1B3f,IAAM,SAAe6f,GALK,cAM1B7f,IAAO,QAAD,OAASkB,IAAgBA,GANL,cAO1BlB,IAAO,QAAD,OAAS4W,IAAUA,GAPC,GAS7B7W,GAGIH,EAAasN,iBAAY,MAE/B,OACE,oCACGD,GACC,kBAAC,IAAD,CACErN,WAAYA,EACZC,eAAgBoN,IAGpB,4BACEnN,IAAKA,EACLsd,KAAMA,EACNrd,UAAW+f,EACXne,QAASA,EACToe,SAAUF,EACVvS,WAAU7J,EACVuc,oBAAkB,EAClB5S,YAAA,EACA6S,YAAa,SAAC1X,GACP0E,GACLvB,YAAc9L,EAAY2I,EAAEoD,QAASpD,EAAEqD,UAEzCkC,aAAc,WACPb,GACDrN,EAAWoM,UACbpM,EAAWoM,QAAQK,MAAMC,QAAU,OAItC+N,EACC,kBAAC,IAAD,CAAS6F,MAAM,OAAOngB,UAAWC,IAAOa,UAExC2B,OAQGyP,O,yKC1ETkO,EACC,cADDA,EAEC,eAFDA,EAGC,YAHDA,EAIC,YAJDA,EAMC,iBA2BA,SAASC,IACd5X,QAAQgJ,MAAM,kBAAmB2O,GAC5BvP,YAAc5F,OAAOyE,SAASoB,YACjC7F,OAAOyE,SAAS4Q,KAAOpe,IAAOC,aAU3B,IAAME,EAAe,SAC1BL,EACAhB,EACA0Q,GAEA,OAAO,SAAClJ,GACN,OAAQA,EAAE6U,MACR,KAAK+C,GA5CJ,SACL3O,EACAC,GAEAjJ,QAAQgJ,MAAM,kBAAmB2O,GACjC,IAAMG,EAAS3W,aACb,gBAAG4W,EAAH,EAAGA,aAAcxO,EAAjB,EAAiBA,aAAjB,MAAqC,CACnC/E,KAAMlG,YAAQ,KAAM,GAAIyZ,GACxBhO,QAASR,EACTqL,KAAM,YAER5L,EAAM8O,QAAU,IAEd7O,GACF+B,aAAQ,SAACgN,GACP,IAAQxT,EAAwBwT,EAAxBxT,KAAMoQ,EAAkBoD,EAAlBpD,KAAM7K,EAAYiO,EAAZjO,QACpBd,EAASzE,EAAM,CAAEoQ,OAAM7K,cACtB+N,GA4BCG,CAAiBlY,EAAEiJ,MAAOC,GAC1B1Q,GAAmBA,EAAgBwH,EAAEiJ,OACrC,MACF,KAAK2O,EACHC,IACA,MACF,KAAKD,EA7BT3X,QAAQgJ,MAAM,kBAAmB2O,GA+B3Bpf,GAAmBA,EAAgBwH,EAAEiJ,OACrC,MACF,KAAK2O,GAtBJ,SAAwB5X,GAC7BC,QAAQgJ,MAAM,kBAAmB2O,EAAoB5X,GAsB/CmY,CAAenY,EAAEiJ,OACjB,MACF,KAAK2O,GA5BJ,SAA2B5X,GAChCC,QAAQgJ,MAAM,kBAAmB2O,EAAoB5X,GA4B/CoY,CAAkBpY,EAAEiJ,OACpBzQ,GAAmBA,EAAgB,2BAAKwH,EAAEiJ,OAAR,IAAeM,UAAW,SAGhE/P,GAAYA,EAASwG,KAIZqY,EAAkB,SAC7BpP,GAC8B,IAAD,IACvBxI,GAAS,UAAAwI,EAAMb,gBAAN,eAAgB3H,SAAU,IACnC6X,EAAc,CAAEzD,KAAM+C,EAAoB3O,MAAK,UAAEA,EAAMb,gBAAR,aAAE,EAAgBlH,MACvE,OAAQT,GACN,KAAK,IACH6X,EAAYzD,KAAO+C,EACnB,MAEF,KAAK,IACHU,EAAYzD,KAAO+C,EACnB,MAEF,KAAK,IACHU,EAAYzD,KAAO+C,EACnB,MAEF,KAAK,IACHU,EAAYzD,KAAO+C,EAIvB,OAAOW,QAAQC,OAAOF,K,gCC3HxB,6CAOa5f,EAAmB1B,YAA8B,CAC5DC,IAAK,mBACLC,QAAS,Q,8FCqDI6R,IApDC,SAAC,GAIiB,IAAD,IAF/B4O,aAE+B,MAFvB,UAEuB,EAD/BngB,EAC+B,EAD/BA,UASMihB,EAAa,eAChBhhB,IAAOihB,cAA0B,SAAVf,GAGpBgB,EAAc,eACjBlhB,IAAOmhB,eAA2B,SAAVjB,GAG3B,OACE,yBAAKngB,UAAU,uCACb,yBAAKA,UAAW8C,IAAW7C,IAAOohB,QAASrhB,IACzC,yBACEA,UAAW8C,IACT7C,IAAOqhB,YACPrhB,IAAOshB,QACPN,EACAE,KAGJ,yBACEnhB,UAAW8C,IACT7C,IAAOqhB,YACPrhB,IAAOuhB,QACPP,EACAE,KAGJ,yBACEnhB,UAAW8C,IACT7C,IAAOqhB,YACPrhB,IAAOwhB,QACPR,EACAE,S,wICsBGtP,IAxDE,SAAC,GAUiB,IATjCpP,EASgC,EAThCA,SACAjB,EAQgC,EARhCA,MACAxB,EAOgC,EAPhCA,UACA0hB,EAMgC,EANhCA,oBAMgC,IALhCvgB,kBAKgC,MALnBC,IAAgBugB,QAKG,MAJhCpgB,YAIgC,MAJzB,WAIyB,MAHhCqgB,0BAGgC,MAHX,KAGW,MAFhCC,uBAEgC,MAFd,KAEc,EADhC/P,EACgC,EADhCA,QAEA,OAAOiN,IAAS+C,aACd,yBACE9hB,UAAW8C,IACT7C,IAAO8hB,OADY,eAEhB9hB,IAAO,UAAD,OAAWkB,IAAgBA,GAFjB,eAGhBlB,IAAO+hB,gBAAkBN,GAC5B1hB,IAGF,yBACEA,UAAW8C,IAAW7C,IAAOgiB,UAAR,eAClBhiB,IAAOiiB,4BAA8BN,KAGvCzgB,IAAeC,IAAgBC,SAC9B,yBACErB,UAAW8C,IAAW7C,IAAOkiB,OAAR,eAClBliB,IAAO4hB,gBAAkBA,KAG5B,uBAAGvB,KAAK,IAAItgB,UAAWC,IAAOmiB,MAAOxgB,QAASkQ,GAC5C,kBAAC,IAAD,CAAM7E,KAAK,WAEZzL,GAAS,kBAAC,IAAD,CAASxB,UAAWC,IAAOuB,OAAQA,IAGjD,yBAAKxB,UAAWC,IAAOoiB,MACpBlhB,IAAeC,IAAgBC,SAC9B,oCACE,yBAAKrB,UAAWC,IAAOqiB,UACrB,kBAAC,IAAD,CAAMrV,KAAM1L,EAAMvB,UAAWC,IAAOsB,QAEtC,kBAAC,IAAD,CAASmB,MAAO,EAAG1C,UAAWC,IAAOuB,OAClCA,IAINiB,KAIPqI,SAASoU,eAAe,a,mBCvE5B7f,EAAOC,QAAU,CAAC,cAAgB,iCAAiC,KAAO,wBAAwB,KAAO,wBAAwB,QAAU,2BAA2B,WAAa,8BAA8B,MAAQ,yBAAyB,UAAY,+B,gCCD9P,oHAaMijB,EAAeC,qBAAW,CAC9BC,OAAQ,EACRC,QAAS,CACPC,OAAO,KAIXC,IAAMC,SAASC,iBAAkB,EACjCF,IAAMC,SAASE,iBAAmB,SAAUC,GAC1C,OAAOC,IAAG9R,UAAU6R,EAAQ,CAAEE,SAAS,KAGlC,IAAMC,EAINlY,OAAemY,uBACfnY,OAAeoY,2BAGhBxhB,GAFgB,OAAGshB,QAAH,IAAGA,KAASpc,QAAQ,OAAQ,UAEtC6b,IAAMU,OAAO,CACvBC,QAASJ,EACTL,iBAAiB,EACjBU,QAASjB,EAAaiB,WAsBlBC,EAAgB5C,IAItBhf,EAAI6hB,aAAaC,QAAQ/U,KAvBH,SAACgV,GACrB,MAAwBA,EAAhBZ,cAAR,MAAiB,GAAjB,EAcA,OAbKa,YAAQ9S,IAAQ4J,QAAQhK,IAAI,iBACY,OAAvCI,IAAQ4J,QAAQhK,IAAI,iBACtBiT,EAAOE,QAAQC,cAAf,iBAAyChT,IAAQ4J,QAAQhK,IACvD,iBAINiT,EAAOE,QAAQnT,IAAI,gBAAkBqS,EAAOgB,OAAS,GACrDJ,EAAOE,QAAQnT,IAAI,oBAAsBqS,EAAOiB,MAAQ,EACpDjB,EAAOkB,SACTN,EAAOE,QAAQnT,IAAI,iBAAmBqS,EAAOkB,OAC7CN,EAAOE,QAAQnT,IAAI,wBAA0BqS,EAAOkB,QAE/CN,KAEY,SAACnS,GAAD,OACnBsP,QAAQC,OAAOvP,MAMjB5P,EAAI6hB,aAAa9S,SAAShC,KAHH,SAACgC,GAAD,OAA4CA,IAGrB6S,GAE/B5hB,O,qEC3BAsS,IA1B6B,SAAC,GAOzB,IANlBzB,EAMiB,EANjBA,GACAiJ,EAKiB,EALjBA,UACAqH,EAIiB,EAJjBA,OACAvgB,EAGiB,EAHjBA,SACAzC,EAEiB,EAFjBA,UACAmkB,EACiB,EADjBA,gBAEMC,ECjBuB,SAC7B1R,EACAsQ,GAGA,OADeqB,UAAqB3R,GAAM,GACnC4R,CAAOtB,GDYDuB,CAAgB7R,EAAIsQ,GAC3BwB,EAA0B,SAAd7I,EAAuB8I,IAAOC,IAChD,OACE,kBAACF,EAAD,CACE9R,GAAI,CACF5B,SAAUsT,EACVO,MAAO,CACLC,QAAO,OAAE5B,QAAF,IAAEA,OAAF,EAAEA,EAAQ6B,UAGrB7kB,UAAWA,EACXmkB,gBAAiBA,GAEhB1hB,M","file":"static/js/main.85449417.chunk.js","sourcesContent":["export enum Size {\r\n XS = 'xsmall',\r\n SM = 'small',\r\n MD = 'normal',\r\n LG = 'large',\r\n XL = 'xlarge',\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btn\":\"Button_btn__3Xxbe\",\"btn__small\":\"Button_btn__small__3n9XL\",\"btn__dark\":\"Button_btn__dark__2KFhb\",\"btn__red\":\"Button_btn__red__2EklY\",\"btn__outlineDark\":\"Button_btn__outlineDark__1WBSX\",\"btn__iconOnly\":\"Button_btn__iconOnly__2Rowy\",\"btn__block\":\"Button_btn__block__1qF3Z\",\"disabled\":\"Button_disabled__UmDLy\",\"loading\":\"Button_loading__DaEoQ\",\"tooltipMax\":\"Button_tooltipMax__1fJk_\"};","import { atom } from 'recoil'\r\n\r\nexport const displayedTutorials = atom({\r\n key: 'displayedTutorials',\r\n default: [],\r\n})\r\n\r\nexport const runTutorial = atom({\r\n key: 'runTutorial',\r\n default: false,\r\n})\r\n","import React from 'react'\r\nimport styles from './CustomTooltip.module.scss'\r\nimport cx from 'classnames'\r\n\r\ntype CustomTooltipProps = {\r\n tooltipRef: any\r\n tooltipMessage: string\r\n}\r\n\r\nconst CustomTooltipComponent = ({\r\n tooltipRef,\r\n tooltipMessage,\r\n}: CustomTooltipProps) => {\r\n return (\r\n
\r\n {tooltipMessage}\r\n\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default CustomTooltipComponent\r\n","import React, { useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport styles from './LogoutModal.module.scss'\r\nimport ModalBox from 'components/ModalBox/ModalBox'\r\nimport Button from 'components/Button/Button'\r\nimport { AppearanceButton, AppearanceModal } from 'enums/appearance'\r\nimport { useHistory } from 'react-router-dom'\r\nimport Routes from 'enums/routes'\r\nimport API from 'utils/api'\r\nimport { handleErrors } from 'utils/errors'\r\nimport { useSetRecoilState } from 'recoil'\r\nimport { globalErrorState } from 'store/errors'\r\nimport Loading from 'components/Loading/Loading'\r\n\r\ntype LogoutButtonProps = {\r\n callback: () => void\r\n}\r\n\r\nexport type LogoutProps = {\r\n negativeBtn: LogoutButtonProps\r\n positiveBtn: LogoutButtonProps\r\n onClose?: () => void\r\n icon?: string\r\n className?: string\r\n}\r\n\r\nexport const LogoutModal = ({\r\n negativeBtn,\r\n positiveBtn,\r\n}: LogoutProps): JSX.Element => {\r\n const { t } = useTranslation()\r\n const history = useHistory()\r\n const [loading, setLoading] = useState(false)\r\n const setGlobalErrors = useSetRecoilState(globalErrorState)\r\n\r\n const handleLogout = () => {\r\n setLoading(true)\r\n API.post('/me/logout')\r\n .then(() => {\r\n positiveBtn.callback()\r\n history.push(Routes.AUTH_LOGOUT)\r\n })\r\n .catch(handleErrors(null, setGlobalErrors))\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n return (\r\n \r\n

{t('text.logout_confirm')}

\r\n
\r\n {loading ? (\r\n \r\n ) : (\r\n <>\r\n {\r\n handleLogout()\r\n }}\r\n >\r\n {t('btn.okey')}\r\n \r\n negativeBtn.callback()}\r\n >\r\n {t('btn.give_up')}\r\n \r\n \r\n )}\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default LogoutModal\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"GlobalOnIdleDialog_content__2oKyf\",\"timer\":\"GlobalOnIdleDialog_timer__28uhG\",\"modalIndex\":\"GlobalOnIdleDialog_modalIndex__YUZGu\"};","import classNames from 'classnames'\r\nimport React from 'react'\r\nimport styles from './Heading.module.scss'\r\n\r\nexport type HeadingProps = {\r\n level?: number\r\n className?: string\r\n}\r\n\r\nconst Heading: React.FC = ({\r\n children,\r\n level = 2,\r\n className,\r\n}): JSX.Element => {\r\n const Tag = `h${level}`\r\n return React.createElement(\r\n Tag,\r\n {\r\n className: classNames(styles[Tag], className),\r\n },\r\n children\r\n )\r\n}\r\n\r\nexport default Heading\r\n","import React from 'react'\nimport { Step } from 'react-joyride'\nimport { TFunction } from 'react-i18next'\nimport Routes from './routes'\n\ntype RoutesKeys = keyof typeof Routes\nexport type TutorialStepsReturnType = { [key in RoutesKeys]?: Step[] }\n\nexport const TutorialButtons = (t: TFunction) => {\n return {\n skip: {t('tutorial.close')},\n back: {t('tutorial.back')},\n next: {t('tutorial.next')},\n last: {t('tutorial.last')},\n }\n}\n\nexport enum TutorialListViewTabClasses {\n FILESUMMARY = 'step-filter-filesummary',\n PENDING_APPROVAL = 'step-filter-approve',\n IN_PROCESS = 'step-filter-in-process',\n COMPLETED = 'step-filter-completed',\n CANCELLED = 'step-filter-cancelled',\n}\n\nexport const TutorialSteps = (t: TFunction): TutorialStepsReturnType => {\n return {\n AUTH_LOGIN: [\n {\n content: (\n
\n

{t('tutorial.login_form_text_1')}

\n

{t('tutorial.login_form_text_2')}

\n
\n ),\n placement: 'bottom',\n target: '#step-1',\n disableBeacon: true,\n spotlightClicks: true,\n },\n {\n content:

{t('tutorial.login_forgot_password')}

,\n placement: 'bottom',\n target: '.step-2',\n },\n {\n content:

{t('tutorial.login_install_now')}

,\n placement: 'bottom',\n target: '.step-3',\n },\n ],\n DASHBOARD: [\n {\n content:

{t('tutorial.dashboard_sidebar')}

,\n placement: 'right',\n target: '.step-dashboard-1',\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.dashboard_total_amount')}

,\n placement: 'bottom',\n target: '.step-dashboard-2',\n },\n {\n content:

{t('tutorial.dashboard_circle')}

,\n placement: 'bottom',\n target: '.step-dashboard-3',\n },\n {\n content:

{t('tutorial.dashboard_accounts')}

,\n placement: 'bottom',\n target: '.step-dashboard-4',\n },\n {\n content:

{t('tutorial.dashboard_your_approve')}

,\n placement: 'bottom',\n target: '.step-dashboard-5',\n },\n {\n content:

{t('tutorial.dashboard_approve')}

,\n placement: 'bottom',\n target: '.step-dashboard-6',\n },\n {\n content:

{t('tutorial.dashboard_upper_title')}

,\n placement: 'bottom',\n target: '.step-dashboard-7',\n },\n {\n content:

{t('tutorial.dashboard_notification')}

,\n placement: 'bottom',\n target: '.step-dashboard-8',\n },\n {\n content:

{t('tutorial.dashboard_user_profile')}

,\n placement: 'auto',\n target: '.step-dashboard-9',\n },\n ],\n ACCOUNTS: [\n {\n content:

{t('tutorial.accounts')}

,\n placement: 'left',\n target: '.step-accounts-1',\n disableBeacon: true,\n },\n ],\n ACCOUNTS_DETAIL: [\n {\n content:

{t('tutorial.accounts_detail')}

,\n placement: 'left',\n target: '.step-accounts-2',\n disableBeacon: true,\n },\n ],\n ACCOUNTS_ACTIVITIES: [\n {\n content:

{t('tutorial.accounts_activities')}

,\n placement: 'left',\n target: '.step-accounts-3',\n disableBeacon: true,\n },\n ],\n INSTRUCTIONAL_TRANSACTIONS: [\n {\n content:

{t('tutorial.instuctional_transactions_approve')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.PENDING_APPROVAL}`,\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.instuctional_transactions_in_process')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.IN_PROCESS}`,\n },\n {\n content:

{t('tutorial.instuctional_transactions_completed')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.COMPLETED}`,\n },\n {\n content:

{t('tutorial.instuctional_transactions_cancelled')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.CANCELLED}`,\n },\n ],\n INSTRUCTIONAL_TRANSACTIONS_CREATE: [\n {\n content: (\n

{t('tutorial.instuctional_transactions_create_process_type')}

\n ),\n placement: 'bottom',\n target: '.step-instuctional_transactions_create-1',\n disableBeacon: true,\n },\n {\n content: (\n

{t('tutorial.instuctional_transactions_create_priority')}

\n ),\n placement: 'bottom',\n target: '.step-instuctional_transactions_create-2',\n },\n {\n content: (\n

{t('tutorial.instuctional_transactions_create_process_count')}

\n ),\n placement: 'bottom',\n target: '.step-instuctional_transactions_create-3',\n },\n {\n content: (\n

{t('tutorial.instuctional_transactions_create_process_amount')}

\n ),\n placement: 'bottom',\n target: '.step-instuctional_transactions_create-4',\n },\n ],\n REMITTANCE_AND_EFT_LIST: [\n {\n content:

{t('tutorial.remittance_eft_approve')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.PENDING_APPROVAL}`,\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.remittance_eft_in_process')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.IN_PROCESS}`,\n },\n {\n content:

{t('tutorial.remittance_eft_completed')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.COMPLETED}`,\n },\n {\n content:

{t('tutorial.remittance_eft_cancelled')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.CANCELLED}`,\n },\n ],\n REMITTANCE_AND_EFT_CREATE: [\n {\n content:

{t('tutorial.remittance_eft_create_center')}

,\n placement: 'left',\n target: '.step-remittance_eft_create_1',\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.remittance_eft_create_process_date')}

,\n placement: 'bottom',\n target: '.step-remittance_eft_create_2',\n },\n {\n content: (\n

{t('tutorial.remittance_eft_create_excel_download_import')}

\n ),\n placement: 'bottom',\n target: '.step-remittance_eft_create_3',\n },\n {\n content: (\n

{t('tutorial.remittance_eft_create_excel_download_export')}

\n ),\n placement: 'left',\n target: '.step-remittance_eft_create_4',\n },\n {\n content:

{t('tutorial.remittance_eft_create_process')}

,\n placement: 'bottom',\n target: '.step-remittance_eft_create_5',\n },\n ],\n INSTANT_REMITTANCE_AND_EFT_LIST: [\n {\n content:

{t('tutorial.instant_remittance_eft_approve')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.PENDING_APPROVAL}`,\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.instant_remittance_eft_in_process')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.IN_PROCESS}`,\n },\n {\n content:

{t('tutorial.instant_remittance_eft_completed')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.COMPLETED}`,\n },\n {\n content:

{t('tutorial.instant_remittance_eft_cancelled')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.CANCELLED}`,\n },\n ],\n INSTANT_REMITTANCE_AND_EFT_CREATE: [\n {\n content:

{t('tutorial.instant_remittance_eft_create_center')}

,\n placement: 'left',\n target: '.step-instant_remittance_eft_create_1',\n disableBeacon: true,\n },\n {\n content: (\n

\n {t('tutorial.instant_remittance_eft_create_excel_download_import')}\n

\n ),\n placement: 'bottom',\n target: '.step-instant_remittance_eft_create_2',\n },\n {\n content: (\n

\n {t('tutorial.instant_remittance_eft_create_excel_download_export')}\n

\n ),\n placement: 'left',\n target: '.step-instant_remittance_eft_create_3',\n },\n {\n content:

{t('tutorial.instant_remittance_eft_create_process')}

,\n placement: 'bottom',\n target: '.step-instant_remittance_eft_create_4',\n },\n ],\n REMITTANCE_AND_EFT_EDIT: [\n {\n content:

{t('tutorial.remittance_eft_create_center')}

,\n placement: 'left',\n target: '.step-remittance_eft_create_1',\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.remittance_eft_create_process_date')}

,\n placement: 'bottom',\n target: '.step-remittance_eft_create_2',\n },\n {\n content: (\n

{t('tutorial.remittance_eft_create_excel_download_import')}

\n ),\n placement: 'bottom',\n target: '.step-remittance_eft_create_3',\n },\n {\n content: (\n

{t('tutorial.remittance_eft_create_excel_download_export')}

\n ),\n placement: 'left',\n target: '.step-remittance_eft_create_4',\n },\n {\n content:

{t('tutorial.remittance_eft_create_process')}

,\n placement: 'bottom',\n target: '.step-remittance_eft_create_5',\n },\n ],\n TAX_COLLECTIONS_LIST: [\n {\n content:

{t('tutorial.tax_collections_filesummray')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.FILESUMMARY}`,\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.tax_collections_approve')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.PENDING_APPROVAL}`,\n },\n {\n content:

{t('tutorial.tax_collections_in_process')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.IN_PROCESS}`,\n },\n {\n content:

{t('tutorial.tax_collections_completed')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.COMPLETED}`,\n },\n {\n content:

{t('tutorial.tax_collections_cancelled')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.CANCELLED}`,\n },\n ],\n TAX_COLLECTIONS_CREATE: [\n {\n content:

{t('tutorial.tax_collections_create_center')}

,\n placement: 'left',\n target: '.step-tax_collections_create-1',\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.tax_collections_create_tax_raio')}

,\n placement: 'bottom',\n target: '.step-tax_collections_create-2',\n },\n {\n content: (\n

{t('tutorial.tax_collections_create_excel_download_import')}

\n ),\n placement: 'bottom',\n target: '.step-tax_collections_create-3',\n },\n {\n content: (\n

{t('tutorial.tax_collections_create_excel_download_export')}

\n ),\n placement: 'bottom',\n target: '.step-tax_collections_create-4',\n },\n {\n content:

{t('tutorial.tax_collections_create_process')}

,\n placement: 'bottom',\n target: '.step-tax_collections_create-5',\n },\n ],\n INSTITUTION_COLLECTIONS_LIST: [\n {\n content:

{t('tutorial.institution_collections_filesummray')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.FILESUMMARY}`,\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.institution_collections_approve')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.PENDING_APPROVAL}`,\n },\n {\n content:

{t('tutorial.institution_collections_in_process')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.IN_PROCESS}`,\n },\n {\n content:

{t('tutorial.institution_collections_completed')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.COMPLETED}`,\n },\n {\n content:

{t('tutorial.institution_collections_cancelled')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.CANCELLED}`,\n },\n ],\n INSTITUTION_COLLECTIONS_CREATE: [\n {\n content:

{t('tutorial.institution_collections_create_center')}

,\n placement: 'left',\n target: '.step-institution_collections_create-1',\n disableBeacon: true,\n },\n {\n content: (\n

\n {t('tutorial.institution_collections_create_excel_download_import')}\n

\n ),\n placement: 'bottom',\n target: '.step-institution_collections_create-3',\n },\n {\n content: (\n

\n {t('tutorial.institution_collections_create_excel_download_export')}\n

\n ),\n placement: 'bottom',\n target: '.step-institution_collections_create-4',\n },\n {\n content:

{t('tutorial.institution_collections_create_process')}

,\n placement: 'bottom',\n target: '.step-institution_collections_create-5',\n },\n ],\n SALARY_TRANSACTIONS_LIST: [\n {\n content:

{t('tutorial.salary_transactions_approve')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.PENDING_APPROVAL}`,\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.salary_transactions_in_process')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.IN_PROCESS}`,\n },\n {\n content:

{t('tutorial.salary_transactions_completed')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.COMPLETED}`,\n },\n {\n content:

{t('tutorial.salary_transactions_cancelled')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.CANCELLED}`,\n },\n ],\n SALARY_TRANSACTIONS_CREATE: [\n {\n content:

{t('tutorial.salary_transactions_create_center')}

,\n placement: 'left',\n target: '.step-salary_transactions_create-1',\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.salary_transactions_create_process_date')}

,\n placement: 'bottom',\n target: '.step-salary_transactions_create-2',\n },\n {\n content: (\n

\n {t('tutorial.salary_transactions_create_excel_download_import')}\n

\n ),\n placement: 'bottom',\n target: '.step-salary_transactions_create-3',\n },\n {\n content: (\n

\n {t('tutorial.salary_transactions_create_excel_download_export')}\n

\n ),\n placement: 'left',\n target: '.step-salary_transactions_create-4',\n },\n {\n content:

{t('tutorial.salary_transactions_create_process')}

,\n placement: 'bottom',\n target: '.step-salary_transactions_create-5',\n },\n ],\n SALARY_TRANSACTIONS_EDIT: [\n {\n content:

{t('tutorial.salary_transactions_create_center')}

,\n placement: 'left',\n target: '.step-salary_transactions_create-1',\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.salary_transactions_create_process_date')}

,\n placement: 'bottom',\n target: '.step-salary_transactions_create-2',\n },\n {\n content: (\n

\n {t('tutorial.salary_transactions_create_excel_download_import')}\n

\n ),\n placement: 'bottom',\n target: '.step-salary_transactions_create-3',\n },\n {\n content: (\n

\n {t('tutorial.salary_transactions_create_excel_download_export')}\n

\n ),\n placement: 'left',\n target: '.step-salary_transactions_create-4',\n },\n {\n content:

{t('tutorial.salary_transactions_create_process')}

,\n placement: 'bottom',\n target: '.step-salary_transactions_create-5',\n },\n ],\n CURRENCY_TRANSFER_CREATE: [\n {\n content:

{t('tutorial.curreny_create_center')}

,\n placement: 'left',\n target: '.step-currency_transactions_create-1',\n disableBeacon: true,\n },\n {\n content: (\n

{t('tutorial.remittance_eft_create_excel_download_import')}

\n ),\n placement: 'bottom',\n target: '.step-currency_transactions_create-2',\n },\n {\n content:

{t('tutorial.current_create_excel_download_export')}

,\n placement: 'left',\n target: '.step-currency_transactions_create-3',\n },\n {\n content:

{t('tutorial.curreny_create_process')}

,\n placement: 'auto',\n target: '.step-currency_transactions_create-4',\n },\n ],\n CURRENCY_TRANSFER_LIST: [\n {\n content:

{t('tutorial.salary_transactions_approve')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.PENDING_APPROVAL}`,\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.salary_transactions_in_process')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.IN_PROCESS}`,\n },\n {\n content:

{t('tutorial.salary_transactions_completed')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.COMPLETED}`,\n },\n {\n content:

{t('tutorial.salary_transactions_cancelled')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.CANCELLED}`,\n },\n ],\n ADVANCE_IMPORT_CREATE: [\n {\n content:

{t('tutorial.advanced_create_center')}

,\n placement: 'left',\n target: '.step-advanceImport_transactions_create-1',\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.currency_create_lorem')}

,\n placement: 'bottom',\n target: '.step-advanceImport_transactions_create-2',\n styles: {\n spotlight: { maxHeight: 65 },\n },\n },\n {\n content: (\n

{t('tutorial.remittance_eft_create_excel_download_import')}

\n ),\n placement: 'bottom',\n target: '.step-advanceImport_transactions_create-3',\n },\n {\n content:

{t('tutorial.advanced_create_excel_download_export')}

,\n placement: 'bottom',\n target: '.step-advanceImport_transactions_create-4',\n },\n {\n content:

{t('tutorial.advanced_create_process')}

,\n placement: 'auto',\n target: '.step-advanceImport_transactions_create-5',\n },\n ],\n ADVANCE_IMPORT_LIST: [\n {\n content:

{t('tutorial.salary_transactions_approve')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.PENDING_APPROVAL}`,\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.salary_transactions_in_process')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.IN_PROCESS}`,\n },\n {\n content:

{t('tutorial.salary_transactions_completed')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.COMPLETED}`,\n },\n {\n content:

{t('tutorial.salary_transactions_cancelled')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.CANCELLED}`,\n },\n ],\n CURRENCY_IMPORT_TRANSFER_CREATE: [\n {\n content:

{t('tutorial.currency_import_create_center')}

,\n placement: 'left',\n target: '.step-currencyImport_transactions_create-1',\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.currency_import_create_lorem')}

,\n placement: 'bottom',\n target: '.step-currencyImport_transactions_create-2',\n styles: {\n spotlight: { maxHeight: 65 },\n },\n },\n {\n content: (\n

{t('tutorial.currency_import_create_excel_download_import')}

\n ),\n placement: 'bottom',\n target: '.step-currencyImport_transactions_create-3',\n },\n {\n content: (\n

{t('tutorial.currency_import_create_excel_download_export')}

\n ),\n placement: 'bottom',\n target: '.step-currencyImport_transactions_create-4',\n },\n {\n content:

{t('tutorial.currency_import_create_process')}

,\n placement: 'auto',\n target: '.step-currencyImport_transactions_create-5',\n },\n ],\n CURRENCY_IMPORT_TRANSFER_LIST: [\n {\n content:

{t('tutorial.salary_transactions_approve')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.PENDING_APPROVAL}`,\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.salary_transactions_in_process')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.IN_PROCESS}`,\n },\n {\n content:

{t('tutorial.salary_transactions_completed')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.COMPLETED}`,\n },\n {\n content:

{t('tutorial.salary_transactions_cancelled')}

,\n placement: 'bottom',\n target: `.${TutorialListViewTabClasses.CANCELLED}`,\n },\n ],\n PENDING_YOUR_APPROVEL_PROCESSES: [\n {\n content:

{t('tutorial.pending_your_approvel_processes_center')}

,\n placement: 'left',\n target: '.step-pending_your_approvel_processes-1',\n disableBeacon: true,\n },\n ],\n PENDING_APPROVEL_PROCESSES: [\n {\n content:

{t('tutorial.pending_approvel_processes_center')}

,\n placement: 'left',\n target: '.step-pending_approvel_processes-1',\n disableBeacon: true,\n },\n ],\n USER_DEFINATION_MANAGEMENT: [\n {\n content:

{t('tutorial.user_defination_managment_table_head')}

,\n placement: 'left',\n target: '.step-user_defination_managment-1',\n disableBeacon: true,\n },\n {\n content:

{t('tutorial.user_defination_managment_add_new_user')}

,\n placement: 'bottom',\n target: '.step-user_defination_managment-2',\n },\n ],\n USER_DEFINATION_TRANSACTION_APPROVALS_DEFINE_RULE: [\n {\n content: (\n

\n {t(\n 'tutorial.user_defination_transactions_approvals_define_rule_table_head'\n )}\n

\n ),\n placement: 'left',\n target: '.step-user_defination_transactions_approvals_define_rule-1',\n disableBeacon: true,\n },\n {\n content: (\n

\n {t(\n 'tutorial.user_defination_transactions_approvals_define_rule_add_new_rule'\n )}\n

\n ),\n placement: 'bottom',\n target: '.step-user_defination_transactions_approvals_define_rule-2',\n },\n ],\n }\n}\n","import { atom } from 'recoil'\r\n\r\nexport type MobileMenuServerFieldResponse = {\r\n visible: boolean\r\n}\r\n\r\nexport const mobileMenuState = atom({\r\n key: 'mobileMenuState',\r\n default: null,\r\n})\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltipCont\":\"CustomTooltip_tooltipCont__1jEk1\",\"tooltipTail\":\"CustomTooltip_tooltipTail__Mzeen\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rejectedModal\":\"LogoutModal_rejectedModal__3hu9u\",\"btnWrap\":\"LogoutModal_btnWrap__2FLLN\"};","export enum ButtonVariant {\r\n CONTAIN = 'contain',\r\n OUTLINE = 'outline',\r\n TEXT = 'text',\r\n ICON = 'icon',\r\n}\r\n\r\nexport enum LoadingVariant {\r\n DARK = 'dark',\r\n LIGHT = 'light',\r\n}\r\n","import { AppearanceButton } from 'enums/appearance'\r\nimport { LoadingVariant } from 'enums/variant'\r\nimport { map, mapIndexed, prop, uniq } from 'rambdax'\r\nimport { OptionItem } from 'types/common/option'\r\nimport { Size } from './../enums/size'\r\n\r\nexport const maxLength = {\r\n tckn: 11,\r\n companyCustomerNumber: 9,\r\n}\r\n\r\nexport const getButtonLoadingVariant = (\r\n appearance: AppearanceButton\r\n): LoadingVariant => {\r\n switch (appearance) {\r\n case AppearanceButton.DARK:\r\n return LoadingVariant.LIGHT\r\n default:\r\n return LoadingVariant.DARK\r\n }\r\n}\r\n\r\nconst loadingSizes = {\r\n [Size.XS]: 11,\r\n [Size.SM]: 13,\r\n [Size.MD]: 15,\r\n [Size.LG]: 18,\r\n [Size.XL]: 22,\r\n}\r\n\r\nexport const getButtonLoadingSize = (size: Size): number =>\r\n prop(size, loadingSizes)\r\n\r\nexport const getElementPositon = (el: HTMLElement | null) => {\r\n const rect = el?.getBoundingClientRect()\r\n if (rect) {\r\n return {\r\n left: rect.top,\r\n top: rect.left,\r\n height: rect.height,\r\n width: rect.width,\r\n }\r\n } else {\r\n return {\r\n left: -9999,\r\n top: -9999,\r\n width: 0,\r\n height: 0,\r\n }\r\n }\r\n}\r\n\r\nexport const onlyNumber = (value: any) => {\r\n const regex = /[a-zA-ZıçğüçöşİÇÖĞŞÜ.*\"#,@æ$%&()=?!'^+/_é<>ß´~½{\\[\\]}\\\\\\-~;:¨|\\- ]/g\r\n if (value === '' || !regex.test(value)) {\r\n return value\r\n } else {\r\n return value.replace(regex, '')\r\n }\r\n}\r\n\r\nexport const onlyLetter = (value: any) => {\r\n const regex = /[1234567890.*\"#,@æ$%&()=?!'^+/_é<>£½{\\[\\]}\\\\\\-~;:¨|\\-]/g\r\n if (value === '' || !regex.test(value)) {\r\n return value\r\n } else {\r\n return value.replace(regex, '')\r\n }\r\n}\r\n\r\nexport const onlyLetterAndDot = (value: any) => {\r\n const regex = /[1234567890*\"#,@æ$%&()=?!'^+/_é<>£½{\\[\\]}\\\\\\-~;:¨|\\-]/g\r\n if (value === '' || !regex.test(value)) {\r\n return value\r\n } else {\r\n return value.replace(regex, '')\r\n }\r\n}\r\n\r\nexport const onlyNumberLetterAndSpace = (value: string): string => {\r\n const regex = /[\"#,@æ$%&()=?!'^+/_é<>£½{\\[\\]}\\\\\\-~;:¨|\\-]/g\r\n\r\n if (value === '' || !regex.test(value)) {\r\n return value\r\n } else {\r\n return value.replace(regex, '')\r\n }\r\n}\r\n\r\nexport const onlyNumberAndLetter = (value: any) => {\r\n const regex = /[.*\"#,@æ$%&()=?!'^+/_é<> £½{\\[\\]}\\\\\\-~;:¨|\\-]/g\r\n if (value === '' || !regex.test(value)) {\r\n return value\r\n } else {\r\n return value.replace(regex, '')\r\n }\r\n}\r\n\r\nexport const preventScript = (value: any) => {\r\n const regex = /[*#@æ$%&=?'^_é<>£½{\\[\\]}\\\\~;:¨|]/g\r\n if (value === '' || !regex.test(value)) {\r\n return value\r\n } else {\r\n return value.replace(regex, '')\r\n }\r\n}\r\n\r\nexport const preventScriptEftSalary = (value: any) => {\r\n const regex = /[*#æ&='^_é<>£½{\\[\\]}\\\\~¨|]/g\r\n if (value === '' || !regex.test(value)) {\r\n return value\r\n } else {\r\n return value.replace(regex, '')\r\n }\r\n}\r\n\r\nexport const limitNumber = (num: number, min: number, max: number): number => {\r\n const MIN = min || 0\r\n const MAX = max || Infinity\r\n return Math.min(Math.max(num, MIN), MAX)\r\n}\r\n\r\nexport function clientPriceParser(\r\n amount: any,\r\n decimalCount = 0,\r\n decimal = ',',\r\n thousands = '.'\r\n) {\r\n try {\r\n decimalCount = Math.abs(decimalCount)\r\n decimalCount = isNaN(decimalCount) ? 2 : decimalCount\r\n\r\n const negativeSign = amount < 0 ? '-' : ''\r\n amount = Number(amount.toString().replace(',', '.'))\r\n const i = parseInt(\r\n (amount = Math.abs(Number(amount) || 0).toFixed(decimalCount))\r\n ).toString()\r\n const j = i.length > 3 ? i.length % 3 : 0\r\n\r\n return (\r\n negativeSign +\r\n (j ? i.substr(0, j) + thousands : '') +\r\n i.substr(j).replace(/(\\d{3})(?=\\d)/g, '$1' + thousands) +\r\n (decimalCount\r\n ? decimal +\r\n Math.abs(amount - parseInt(i))\r\n .toFixed(decimalCount)\r\n .slice(2)\r\n : '')\r\n )\r\n } catch (e) {\r\n console.log(e)\r\n }\r\n}\r\n\r\nexport const priceParser = (price: string) => {\r\n price = price.toString()\r\n return price && price.trim().length > 0\r\n ? Number(price.replace(/\\./g, '').replace(/\\,/, '.'))\r\n : 0\r\n}\r\n\r\nexport const priceParserEmpty = (price: string) => {\r\n price = price.toString()\r\n return price && price.trim().length > 0\r\n ? Number(price.replace(/\\./g, '').replace(/\\,/, '.'))\r\n : ''\r\n}\r\n\r\nexport const getBalanceColor = (\r\n amount: number\r\n): 'colorGreen' | 'colorGrey' | 'colorRed' => {\r\n if (amount > 0) {\r\n return 'colorGreen'\r\n } else if (amount === 0) {\r\n return 'colorGrey'\r\n } else {\r\n return 'colorRed'\r\n }\r\n}\r\n\r\nexport const getStatusColor = (\r\n status: string\r\n): 'colorGreen' | 'colorGrey' | 'colorRed' => {\r\n switch (status) {\r\n case 'Active':\r\n return 'colorGreen'\r\n case 'Expired':\r\n return 'colorRed'\r\n default:\r\n return 'colorGrey'\r\n }\r\n}\r\n\r\nexport const getStatusColorRules = (\r\n status: string\r\n): 'colorGreen' | 'colorGrey' | 'colorRed' | 'colorGrey3' => {\r\n switch (status) {\r\n case 'Active':\r\n return 'colorGreen'\r\n case 'Deleted':\r\n return 'colorRed'\r\n case 'Created':\r\n return 'colorGrey3'\r\n default:\r\n return 'colorGrey'\r\n }\r\n}\r\n\r\nexport const getStatusColorUsers = (\r\n status: string\r\n): 'colorGreen' | 'colorGrey' | 'colorRed' | 'colorGrey3' => {\r\n switch (status) {\r\n case 'delete':\r\n return 'colorRed'\r\n case 'create':\r\n case 'edit':\r\n return 'colorGrey3'\r\n default:\r\n return 'colorGrey3'\r\n }\r\n}\r\n\r\nexport const bytesToSize = (bytes: number) => {\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']\r\n if (bytes === 0) return 'n/a'\r\n const i = Math.floor(Math.log(Math.abs(bytes)) / Math.log(1024))\r\n if (i === 0) return `${bytes} ${sizes[i]})`\r\n return `${(bytes / 1024 ** i).toFixed(1)} ${sizes[i]}`\r\n}\r\n\r\nexport function getOptions(\r\n value: string,\r\n label: string[],\r\n data: T[]\r\n): OptionItem[] {\r\n return [\r\n ...uniq(\r\n map((item: T) => {\r\n let labelText = ''\r\n mapIndexed(\r\n (labelItem: any, index: any) =>\r\n (labelText += `${index !== 0 ? ' - ' : ''}${\r\n prop(labelItem, item) === null\r\n ? ''\r\n : prop(labelItem, item)\r\n }`),\r\n label\r\n )\r\n return {\r\n label: labelText,\r\n value: prop(value, item),\r\n } as OptionItem\r\n }, data)\r\n ),\r\n ]\r\n}\r\n\r\nexport function phoneServerSideParser(phone: string) {\r\n return phone.replace(/\\+| |\\(|\\)/g, '')\r\n}\r\n\r\nexport function setCookie(cname: string, cvalue: string) {\r\n const d = new Date()\r\n d.setTime(d.getTime() + 8 * 24 * 60 * 60 * 1000)\r\n const expires = 'expires=' + d.toUTCString()\r\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/'\r\n}\r\n\r\nexport function getCookie(cname: string) {\r\n const name = cname + '='\r\n const decodedCookie = decodeURIComponent(document.cookie)\r\n const ca = decodedCookie.split(';')\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i]\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1)\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length)\r\n }\r\n }\r\n return ''\r\n}\r\n\r\nexport function isMobileOrTablet() {\r\n return window.matchMedia('(max-width: 991px)').matches\r\n}\r\n\r\nexport function invoiceDescriptionPretty(value?: string): string | undefined {\r\n if (!value) return\r\n const splitedValue = value.split('|')\r\n return splitedValue.length === 1\r\n ? value\r\n : splitedValue\r\n .map((item) => item.trim())\r\n .filter((item) => item)\r\n .join('
')\r\n}\r\n","import { atom } from 'recoil'\r\n\r\nexport type SuccessServerFieldResponse = {\r\n visible: boolean\r\n message?: string\r\n callBack?: () => void\r\n}\r\n\r\nexport const globalSuccessFulState = atom({\r\n key: 'globalSuccessFulState',\r\n default: null,\r\n})\r\n","import { atom } from 'recoil'\r\n\r\nexport type RefreshFieldResponse = {\r\n refresh: boolean\r\n callBack?: () => void\r\n}\r\n\r\nexport const globalRefreshState = atom({\r\n key: 'globalRefreshState',\r\n default: null,\r\n})\r\n","export default function CustomTooltip(\r\n tooltipRef: any,\r\n clientX: number,\r\n clientY: number,\r\n orientation?: string\r\n) {\r\n const halfTooltipWidth = Math.ceil(tooltipRef?.current?.clientWidth / 2)\r\n const distanceFromRigth = window.innerWidth - clientX\r\n\r\n const tail = tooltipRef.current.children.tooltipTail\r\n\r\n tail.style.opacity = '0.9'\r\n\r\n if (orientation === 'bottom') {\r\n tail.style.left = '50%'\r\n tail.style.top = 0\r\n tooltipRef.current.style.opacity = '0.8'\r\n tooltipRef.current.style.left = `${clientX - halfTooltipWidth}px`\r\n tooltipRef.current.style.top = `${clientY + 30}px`\r\n return\r\n }\r\n\r\n // RowCount\r\n if (tooltipRef?.current?.clientWidth > 800) {\r\n tooltipRef.current.style.whiteSpace = 'break-spaces'\r\n tooltipRef.current.style.width = '600px'\r\n }\r\n\r\n // Distance to sides\r\n\r\n if (tooltipRef?.current && distanceFromRigth >= halfTooltipWidth) {\r\n tooltipRef.current.style.opacity = '0.8'\r\n tooltipRef.current.style.left = `${clientX - halfTooltipWidth}px`\r\n tooltipRef.current.style.top = `${clientY - 50}px`\r\n return\r\n }\r\n\r\n if (tooltipRef?.current && distanceFromRigth < halfTooltipWidth) {\r\n tail.style.left = '100%'\r\n tail.style.top = '50%'\r\n\r\n tooltipRef.current.style.opacity = '0.8'\r\n tooltipRef.current.style.top = `${\r\n clientY - tooltipRef.current?.offsetHeight / 2 + 10\r\n }px`\r\n tooltipRef.current.style.left = `${\r\n clientX - tooltipRef.current?.offsetWidth - 20\r\n }px`\r\n return\r\n }\r\n}\r\n","import { atom } from 'recoil'\r\n\r\nexport type RefreshFieldResponse = {\r\n refresh: boolean\r\n callBack?: () => void\r\n}\r\n\r\nexport const dashboardRefreshState = atom({\r\n key: 'dashboardRefreshState',\r\n default: null,\r\n})\r\n","import classNames from 'classnames'\r\nimport CustomTooltipComponent from 'components/CustomTooltip/CustomTooltipModule'\r\nimport CustomTooltipStatic from 'components/CustomTooltip/CustomTooltipStatic'\r\nimport React, { useRef } from 'react'\r\n\r\ntype IconProps = {\r\n name: string\r\n className?: string\r\n tooltip?: string\r\n onClick?: (event: React.MouseEvent) => void\r\n}\r\n\r\nconst Icon = (props: IconProps) => {\r\n const { className, name, tooltip, onClick } = props\r\n const tooltipRef = useRef(null)\r\n const iconRef = useRef(null)\r\n\r\n return (\r\n <>\r\n {tooltip && (\r\n \r\n )}\r\n {\r\n if (!tooltip) return\r\n CustomTooltipStatic(\r\n tooltipRef,\r\n iconRef,\r\n iconRef.current.getBoundingClientRect()?.x,\r\n iconRef.current.getBoundingClientRect()?.y\r\n )\r\n }}\r\n onMouseLeave={() => {\r\n if (!tooltip) return\r\n if (tooltipRef.current) {\r\n tooltipRef.current.style.opacity = '0'\r\n }\r\n }}\r\n onClick={onClick}\r\n >\r\n \r\n )\r\n}\r\n\r\nexport default Icon\r\n","export default function CustomTooltipStatic(\r\n tooltipRef: any,\r\n iconRef: any,\r\n clientX: number,\r\n clientY: number\r\n) {\r\n const halfTooltipWidth = Math.ceil(tooltipRef?.current?.clientWidth / 2)\r\n tooltipRef.current.style.opacity = '0.8'\r\n\r\n const tail = tooltipRef.current.children.tooltipTail\r\n tail.style.opacity = '0.9'\r\n\r\n if (tooltipRef?.current?.clientWidth > 800) {\r\n tooltipRef.current.style.whiteSpace = 'break-spaces'\r\n tooltipRef.current.style.width = '600px'\r\n\r\n tooltipRef.current.style.left = `${\r\n clientX - 300 + iconRef.current?.offsetWidth / 2\r\n }px`\r\n tooltipRef.current.style.top = `${\r\n clientY - tooltipRef?.current.offsetHeight - 20\r\n }px`\r\n tooltipRef.current.style.opacity = '0.8'\r\n return\r\n }\r\n\r\n const distanceFromLeft = clientX\r\n const distanceFromRigth = window.innerWidth - clientX\r\n\r\n let orientation = 'top'\r\n if (halfTooltipWidth > distanceFromRigth) {\r\n orientation = 'left'\r\n }\r\n if (distanceFromLeft < halfTooltipWidth) {\r\n orientation = 'right'\r\n }\r\n\r\n if (\r\n tooltipRef?.current &&\r\n distanceFromRigth >= halfTooltipWidth &&\r\n distanceFromLeft > halfTooltipWidth\r\n ) {\r\n tooltipRef.current.style.left = `${\r\n clientX - halfTooltipWidth + iconRef.current?.offsetWidth / 2\r\n }px`\r\n tooltipRef.current.style.top = `${\r\n clientY - tooltipRef?.current.offsetHeight - 20\r\n }px`\r\n return\r\n }\r\n\r\n if (orientation === 'left') {\r\n tail.style.left = '100%'\r\n tail.style.top = '50%'\r\n\r\n tooltipRef.current.style.top = `${\r\n clientY - iconRef?.current?.offsetHeight / 2\r\n }px`\r\n tooltipRef.current.style.left = `${\r\n clientX - tooltipRef.current?.offsetWidth - 20\r\n }px`\r\n return\r\n }\r\n\r\n if (orientation === 'right') {\r\n tail.style.left = '0'\r\n tail.style.top = '50%'\r\n tooltipRef.current.style.top = `${clientY}px`\r\n tooltipRef.current.style.left = `${\r\n clientX + iconRef.current?.offsetWidth\r\n }px`\r\n }\r\n}\r\n","export enum Appearance {\r\n DEFAULT = 'alertSecondary',\r\n WARNING = 'alertWarning',\r\n DANGER = 'alertDanger',\r\n SUCCESS = 'alertSuccess',\r\n}\r\n\r\nexport enum AppearanceButton {\r\n DARK = 'dark',\r\n OUTLINE_DARK = 'outlineDark',\r\n RED = 'red',\r\n ICON_ONLY = 'iconOnly',\r\n}\r\n\r\nexport enum AppearanceInput {\r\n RADIUS = 'radius',\r\n BORDER_LINE = 'borderLine',\r\n}\r\n\r\nexport enum AppearanceBox {\r\n GREY = 'grey',\r\n ARROW = 'arrow',\r\n}\r\n\r\nexport enum AppearanceModal {\r\n CONTENT = 'content',\r\n WARNING = 'warning',\r\n}\r\n","import { atom } from 'recoil'\r\n\r\nexport const RememberMeItem = atom({\r\n key: 'RememberMeItem',\r\n default: null,\r\n})\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrap\":\"LeftMenu_wrap__2XFzI\",\"fixedContainer\":\"LeftMenu_fixedContainer__1CoYV\",\"logo\":\"LeftMenu_logo__2XEdS\",\"dashBoardRefresh\":\"LeftMenu_dashBoardRefresh__23TQ9\",\"list\":\"LeftMenu_list__32qkE\",\"arrow\":\"LeftMenu_arrow__3rVbX\",\"subMenu\":\"LeftMenu_subMenu__-ggAx\",\"thirdSubMenu\":\"LeftMenu_thirdSubMenu__1_WEF\",\"noThirdChilds\":\"LeftMenu_noThirdChilds__ToAgg\",\"navFooter\":\"LeftMenu_navFooter__3X4bG\",\"layer\":\"LeftMenu_layer__3JuDz\",\"iconBtn\":\"LeftMenu_iconBtn__2juiB\",\"hideEm\":\"LeftMenu_hideEm__WEuiZ\",\"showEm\":\"LeftMenu_showEm__3T9Og\",\"svgPath\":\"LeftMenu_svgPath__2wKDI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"h2\":\"Heading_h2__M7wi-\",\"h1\":\"Heading_h1__3z0r-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"GlobalErrorDialog_content__P6TYD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"GlobalSuccessfulDialog_content__edB95\"};","import i18n, { InitOptions } from 'i18next'\r\nimport { initReactI18next } from 'react-i18next'\r\nimport tr from 'i18n/tr'\r\n\r\nconst resources = {\r\n tr,\r\n}\r\n\r\ni18n.use(initReactI18next).init({\r\n resources,\r\n lng: 'tr',\r\n react: {\r\n transSupportBasicHtmlNodes: true,\r\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i'],\r\n },\r\n keySeperator: false,\r\n interpolation: {\r\n escapeValue: false,\r\n },\r\n} as InitOptions)\r\n\r\nexport default i18n\r\n","import label from './label.json'\r\nimport btn from './btn.json'\r\nimport title from './title.json'\r\nimport text from './text.json'\r\nimport tooltip from './tooltip.json'\r\nimport validation from './validation.json'\r\nimport tutorial from './tutorial.json'\r\n\r\nexport default {\r\n translation: {\r\n label,\r\n btn,\r\n title,\r\n text,\r\n tooltip,\r\n validation,\r\n tutorial,\r\n },\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dialog\":\"ModalBox_dialog__2OL5W\",\"container\":\"ModalBox_container__3HKlL\",\"header\":\"ModalBox_header__Zl3JH\",\"foreignTradeDoc\":\"ModalBox_foreignTradeDoc__3ag0P\",\"title\":\"ModalBox_title__I9nUz\",\"close\":\"ModalBox_close__cOMMG\",\"body\":\"ModalBox_body__1yRs1\",\"dialog_warning\":\"ModalBox_dialog_warning__2oI9T\",\"iconWrap\":\"ModalBox_iconWrap__2MyDY\",\"icon\":\"ModalBox_icon__M4ase\",\"resendEvalModal\":\"ModalBox_resendEvalModal__YI78W\",\"foreingTradeScrollContainer\":\"ModalBox_foreingTradeScrollContainer__2Q7nM\"};","enum Routes {\n DASHBOARD = '/',\n\n AUTH = '/kullanici/',\n AUTH_LOGIN = '/kullanici/giris',\n AUTH_LOGOUT = '/kullanici/cikis',\n AUTH_RESET_PASSWORD = '/kullanici/yeni-sifre',\n AUTH_FORGOT_PASSWORD = '/kullanici/parola-sifirla',\n\n ACCOUNTS = '/hesaplar',\n ACCOUNTS_DETAIL = '/hesaplar/detay/:additionalNo',\n ACCOUNTS_ACTIVITIES = '/hesaplar/detay/:additionalNo/hareketler',\n\n COMPANY_OPERATION_LIST = '/firma-islemleri',\n\n INSTRUCTIONAL_TRANSACTIONS = '/talimatli-islemler',\n INSTRUCTIONAL_TRANSACTIONS_CREATE = '/talimatli-islemler/is-talebi-olustur',\n INSTRUCTIONAL_TRANSACTIONS_EDIT = '/talimatli-islemler/is-talebi-olustur/:id',\n INSTRUCTIONAL_TRANSACTIONS_DETAIL = '/talimatli-islemler/islem-detay/:id',\n\n BATCH_TRANSACTIONS = '/toplu-islemler',\n\n REMITTANCE_AND_EFT_LIST = '/toplu-islemler/havale-eft-islemleri',\n REMITTANCE_AND_EFT_CREATE = '/toplu-islemler/havale-eft-islemleri/islem-olustur',\n REMITTANCE_AND_EFT_EDIT = '/toplu-islemler/havale-eft-islemleri/is-talebi-olustur/:id',\n REMITTANCE_AND_EFT_DETAIL = '/toplu-islemler/havale-eft-islemleri/islem-detay/:id',\n\n INSTANT_REMITTANCE_AND_EFT_CREATE = '/toplu-islemler/anlik-havale-eft-islemleri/islem-olustur',\n INSTANT_REMITTANCE_AND_EFT_LIST = '/toplu-islemler/anlik-havale-eft-islemleri',\n INSTANT_REMITTANCE_AND_EFT_EDIT = '/toplu-islemler/anlik-havale-eft-islemleri/is-talebi-olustur/:id',\n INSTANT_REMITTANCE_AND_EFT_DETAIL = '/toplu-islemler/anlik-havale-eft-islemleri/islem-detay/:id',\n\n TAX_COLLECTIONS_LIST = '/toplu-islemler/vergi-tahsilatlari',\n TAX_COLLECTIONS_CREATE = '/toplu-islemler/vergi-tahsilatlari/islem-olustur',\n TAX_COLLECTIONS_EDIT = '/toplu-islemler/vergi-tahsilatlari/is-talebi-olustur/:id',\n TAX_COLLECTIONS_DETAIL = '/toplu-islemler/vergi-tahsilatlari/islem-detay/:id',\n\n INSTITUTION_COLLECTIONS_LIST = '/toplu-islemler/kurum-tahsilatlari',\n INSTITUTION_COLLECTIONS_CREATE = '/toplu-islemler/kurum-tahsilatlari/islem-olustur',\n INSTITUTION_COLLECTIONS_EDIT = '/toplu-islemler/kurum-tahsilatlari/is-talebi-olustur/:id',\n INSTITUTION_COLLECTIONS_DETAIL = '/toplu-islemler/kurum-tahsilatlari/islem-detay/:id',\n\n SALARY_TRANSACTIONS_LIST = '/toplu-islemler/maas-islemleri',\n SALARY_TRANSACTIONS_CREATE = '/toplu-islemler/maas-islemleri/islem-olustur',\n SALARY_TRANSACTIONS_EDIT = '/toplu-islemler/maas-islemleri/is-talebi-olustur/:id',\n SALARY_TRANSACTIONS_DETAIL = '/toplu-islemler/maas-islemleri/islem-detay/:id',\n\n ADVANCE_IMPORT_LIST = '/toplu-islemler/pesin-ithalat-islemleri',\n ADVANCE_IMPORT_CREATE = '/toplu-islemler/pesin-ithalat-islemleri/islem-olustur',\n ADVANCE_IMPORT_EDIT = '/toplu-islemler/pesin-ithalat-islemleri/islem-olustur/:id',\n ADVANCE_IMPORT_DETAIL = '/toplu-islemler/pesin-ithalat-islemleri/islem-detay/:id',\n\n CURRENCY_TRANSFER_LIST = '/toplu-islemler/dis-ticaret-islemleri',\n CURRENCY_TRANSFER_CREATE = '/toplu-islemler/dis-ticaret-islemleri/islem-olustur',\n CURRENCY_TRANSFER_EDIT = '/toplu-islemler/dis-ticaret-islemleri/islem-olustur/:id',\n CURRENCY_TRANSFER_DETAIL = '/toplu-islemler/dis-ticaret-islemleri/islem-detay/:id',\n\n CURRENCY_IMPORT_TRANSFER_LIST = '/toplu-islemler/dovizveithalattransferi-islemleri',\n CURRENCY_IMPORT_TRANSFER_CREATE = '/toplu-islemler/dovizveithalattransferi-islemleri/islem-olustur',\n CURRENCY_IMPORT_TRANSFER_EDIT = '/toplu-islemler/dovizveithalattransferi-islemleri/islem-olustur/:id',\n CURRENCY_IMPORT_TRANSFER_DETAIL = '/toplu-islemler/dovizveithalattransferi-islemleri/islem-detay/:id',\n\n APPROVEL_PROCESSES = '/onay-islemleri',\n PENDING_YOUR_APPROVEL_PROCESSES = '/onay-islemleri/onayinizi-bekleyen-islemler',\n PENDING_APPROVEL_PROCESSES = '/onay-islemleri/onay-bekleyen-islemler',\n\n REPORTS = '/raporlar',\n\n USER_DEFINATION = '/kullanici-tanimlari',\n USER_DEFINATION_MANAGEMENT = '/kullanici-tanimlari/kullanici-yonetimi',\n USER_DEFINATION_NEW_CREATE_USER = '/kullanici-tanimlari/yeni-alt-kullanici-ekleme',\n USER_DEFINATION_EDIT_USER = '/kullanici-tanimlari/yeni-alt-kullanici-ekleme/:id',\n USER_DEFINATION_TRANSACTION_APPROVALS_DEFINE_RULE = '/kullanici-tanimlari/islem-onaylari-kural-tanimlari',\n\n PROFILE = '/profil',\n PROFILE_CHANGE_PASSWORD = '/profil/sifre-degistirme',\n NOTIFICATION_PREF = '/profil/bildirim-tercihleri',\n\n HELP = '/yardim',\n}\n\nexport default Routes\n","import { AxiosResponse } from 'axios'\r\nimport Loading from 'components/Loading/Loading'\r\nimport Routes from 'enums/routes'\r\nimport React, { ReactNode, useEffect, useState } from 'react'\r\nimport { useHistory, useLocation } from 'react-router-dom'\r\nimport { useRecoilState, useRecoilValue, useSetRecoilState } from 'recoil'\r\nimport { globalErrorState } from 'store/errors'\r\nimport { RememberMeItem } from 'store/rememberMe'\r\nimport {\r\n currentUserState,\r\n currentUserTokenState,\r\n isLoggedInState,\r\n isUserMustChangePassword,\r\n} from 'store/user'\r\nimport { MeEntity } from 'types/entities/user'\r\nimport API from 'utils/api'\r\nimport { handleErrors } from 'utils/errors'\r\nimport { isNonAuthPage } from 'utils/urls'\r\nimport storage from 'store2'\r\n\r\ntype AuthGuardProps = {\r\n children: ReactNode\r\n}\r\n\r\nif (process.env.NODE_ENV !== 'development') {\r\n window.onunload = function () {\r\n sessionStorage.removeItem('accessToken')\r\n }\r\n}\r\n\r\nconst AuthGuard = ({ children }: AuthGuardProps): JSX.Element => {\r\n const history = useHistory()\r\n const location = useLocation()\r\n const [isAuthenticated, setAuth] = useRecoilState(currentUserState)\r\n const setGlobalErrors = useSetRecoilState(globalErrorState)\r\n const [accessToken] = useRecoilState(currentUserTokenState)\r\n const isLoggedIn = useRecoilValue(isLoggedInState)\r\n const rememberInfo = useRecoilValue(RememberMeItem)\r\n\r\n const [appStatus, setAppStatus] = useState(isLoggedIn)\r\n const shouldUserChangePassword = useRecoilValue(isUserMustChangePassword)\r\n\r\n useEffect(() => {\r\n API.get('/me')\r\n .then((response: AxiosResponse) => {\r\n setAuth(response.data)\r\n setAppStatus(true)\r\n if (isNonAuthPage(location.pathname) && !shouldUserChangePassword) {\r\n if (rememberInfo) {\r\n storage.local.set(\r\n 'rememberMe',\r\n JSON.stringify({\r\n ...rememberInfo,\r\n username: `${\r\n response.data?.firstName + ' ' + response.data?.lastName\r\n }`,\r\n })\r\n )\r\n }\r\n history.push(Routes.DASHBOARD)\r\n }\r\n })\r\n .catch(\r\n handleErrors(() => {\r\n setAppStatus(true)\r\n setAuth(null)\r\n if (!isNonAuthPage(location.pathname)) {\r\n history.push(Routes.AUTH_LOGIN)\r\n }\r\n }, setGlobalErrors)\r\n )\r\n }, [accessToken, shouldUserChangePassword])\r\n\r\n useEffect(() => {\r\n if (appStatus && !isAuthenticated && !isNonAuthPage(location.pathname)) {\r\n history.push(Routes.AUTH_LOGIN)\r\n }\r\n }, [location.pathname])\r\n\r\n return appStatus ? <>{children} : \r\n}\r\n\r\nexport default AuthGuard\r\n","import Button from 'components/Button/Button'\r\nimport ModalBox from 'components/ModalBox/ModalBox'\r\nimport { AppearanceButton, AppearanceModal } from 'enums/appearance'\r\nimport Routes from 'enums/routes'\r\nimport React, { useEffect, useRef } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { useRecoilState } from 'recoil'\r\nimport { globalErrorState } from 'store/errors'\r\nimport styles from './GlobalErrorDialog.module.scss'\r\n\r\nconst GlobalErrorDialog = () => {\r\n const { t } = useTranslation()\r\n const history = useHistory()\r\n const [error, setError] = useRecoilState(globalErrorState)\r\n\r\n const btnRef = useRef(null)\r\n\r\n useEffect(() => {\r\n if (btnRef.current) {\r\n btnRef.current.focus()\r\n }\r\n }, [btnRef.current, error])\r\n\r\n if (!error) {\r\n return null\r\n }\r\n\r\n return (\r\n setError(null)}\r\n >\r\n {error && (\r\n
\r\n

\r\n {error?.errorCode === '500'\r\n ? t('text.500_modal_text')\r\n : error?.errorMessage\r\n ? error.errorMessage\r\n : error?.ErrorMessage}\r\n

\r\n
\r\n )}\r\n {\r\n if (error?.errorCode === '500') {\r\n history.push(Routes.DASHBOARD)\r\n }\r\n if (error.callBack) {\r\n error.callBack()\r\n }\r\n setError(null)\r\n }}\r\n >\r\n {t('btn.okey')}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default GlobalErrorDialog\r\n","import Button from 'components/Button/Button'\r\nimport ModalBox from 'components/ModalBox/ModalBox'\r\nimport { AppearanceButton, AppearanceModal } from 'enums/appearance'\r\nimport React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useRecoilState } from 'recoil'\r\nimport { globalSuccessFulState } from '../../store/successful'\r\nimport styles from './GlobalSuccessfulDialog.module.scss'\r\n\r\nconst GlobalSuccessfulDialog = () => {\r\n const { t } = useTranslation()\r\n const [successFull, setSuccessFull] = useRecoilState(globalSuccessFulState)\r\n if (!successFull?.visible) {\r\n return null\r\n }\r\n return (\r\n setSuccessFull(null)}\r\n >\r\n
\r\n

{successFull?.message || t('text.send_email_success_modal')}

\r\n
\r\n {\r\n setSuccessFull(null)\r\n if (successFull.callBack) {\r\n successFull.callBack()\r\n }\r\n }}\r\n >\r\n {t('btn.okey')}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default GlobalSuccessfulDialog\r\n","import { TFunction } from 'i18next'\nimport Routes from 'enums/routes'\nimport { LeftNavigationLink } from 'types/common/navigation'\n\nexport const leftNavigation = (t: TFunction): LeftNavigationLink[] => [\n {\n to: Routes.ACCOUNTS,\n icon: 'policeler',\n label: t('label.account_transactions'),\n },\n {\n to: Routes.INSTRUCTIONAL_TRANSACTIONS,\n icon: 'talimatli-islemler',\n label: t('label.instructional_transactions'),\n children: {\n items: [\n {\n to: Routes.INSTRUCTIONAL_TRANSACTIONS_CREATE,\n label: t('title.create_transaction'),\n },\n {\n to: Routes.INSTRUCTIONAL_TRANSACTIONS,\n label: t('title.process_monitoring'),\n },\n ],\n },\n },\n {\n to: Routes.BATCH_TRANSACTIONS,\n icon: 'toplu-islemler',\n label: t('label.batch_transactions'),\n children: {\n items: [\n {\n to: Routes.REMITTANCE_AND_EFT_LIST,\n icon: 'havale-eft',\n label: t('title.money_order_eft_transactions'),\n children: {\n items: [\n {\n to: Routes.REMITTANCE_AND_EFT_CREATE,\n label: t('title.create_transaction'),\n },\n {\n to: Routes.REMITTANCE_AND_EFT_LIST,\n label: t('title.process_monitoring'),\n },\n ],\n },\n },\n {\n to: Routes.INSTANT_REMITTANCE_AND_EFT_LIST,\n icon: 'anlik-havale-eft',\n label: t('title.instant_money_order_eft_transactions'),\n children: {\n items: [\n {\n to: Routes.INSTANT_REMITTANCE_AND_EFT_CREATE,\n label: t('title.create_transaction'),\n },\n {\n to: Routes.INSTANT_REMITTANCE_AND_EFT_LIST,\n label: t('title.process_monitoring'),\n },\n ],\n },\n },\n {\n to: Routes.TAX_COLLECTIONS_LIST,\n icon: 'vergi-tahsilat-two',\n label: t('title.tax_custom_collections'),\n children: {\n items: [\n {\n to: Routes.TAX_COLLECTIONS_CREATE,\n label: t('title.create_transaction'),\n },\n {\n to: Routes.TAX_COLLECTIONS_LIST,\n label: t('title.process_monitoring'),\n },\n ],\n },\n },\n {\n to: Routes.INSTITUTION_COLLECTIONS_LIST,\n icon: 'sgk-is-talebi',\n label: t('title.institution_collections'),\n children: {\n items: [\n {\n to: Routes.INSTITUTION_COLLECTIONS_CREATE,\n label: t('title.create_transaction'),\n },\n {\n to: Routes.INSTITUTION_COLLECTIONS_LIST,\n label: t('title.process_monitoring'),\n },\n ],\n },\n },\n {\n to: Routes.SALARY_TRANSACTIONS_LIST,\n icon: 'maas-odemeleri',\n label: 'Maaş İşlemleri',\n children: {\n items: [\n {\n to: Routes.SALARY_TRANSACTIONS_CREATE,\n label: t('title.create_transaction'),\n },\n {\n to: Routes.SALARY_TRANSACTIONS_LIST,\n label: t('title.process_monitoring'),\n },\n ],\n },\n },\n\n {\n to: Routes.CURRENCY_TRANSFER_LIST,\n svgPath: '/img/currency-transfer.svg',\n label: 'Döviz Transferi',\n children: {\n items: [\n {\n to: Routes.CURRENCY_TRANSFER_CREATE,\n label: t('title.create_transaction'),\n },\n {\n to: Routes.CURRENCY_TRANSFER_LIST,\n label: t('title.process_monitoring'),\n },\n ],\n },\n },\n\n {\n to: Routes.ADVANCE_IMPORT_LIST,\n svgPath: '/img/advance-import.svg',\n label: 'Peşin/Mal Mukabili İthalat Transferi',\n children: {\n items: [\n {\n to: Routes.ADVANCE_IMPORT_CREATE,\n label: t('title.create_transaction'),\n },\n {\n to: Routes.ADVANCE_IMPORT_LIST,\n label: t('title.process_monitoring'),\n },\n ],\n },\n },\n\n {\n to: Routes.CURRENCY_IMPORT_TRANSFER_LIST,\n svgPath: '/img/currency-import-transfer.svg',\n label: 'Döviz ve İthalat Transferi',\n children: {\n items: [\n {\n to: Routes.CURRENCY_IMPORT_TRANSFER_CREATE,\n label: t('title.create_transaction'),\n },\n {\n to: Routes.CURRENCY_IMPORT_TRANSFER_LIST,\n label: t('title.process_monitoring'),\n },\n ],\n },\n },\n ],\n },\n },\n {\n to: Routes.APPROVEL_PROCESSES,\n icon: 'onay',\n label: t('label.approval_processes'),\n children: {\n items: [\n {\n to: Routes.PENDING_YOUR_APPROVEL_PROCESSES,\n icon: 'onayinizi-bekleyen',\n label: t('title.pending_your_approvel_process'),\n },\n {\n to: Routes.PENDING_APPROVEL_PROCESSES,\n icon: 'onay-bekleyen',\n label: t('title.pending_approvel_process'),\n },\n ],\n },\n },\n {\n to: Routes.USER_DEFINATION,\n icon: 'kullanici',\n label: t('label.user_definitions'),\n children: {\n items: [\n {\n to: Routes.USER_DEFINATION_MANAGEMENT,\n icon: 'kullanicilar',\n label: t('title.user_management'),\n },\n {\n to: Routes.USER_DEFINATION_TRANSACTION_APPROVALS_DEFINE_RULE,\n icon: 'islem-onay-kurallari',\n label: t('title.transaction_approval_rules'),\n },\n ],\n },\n },\n]\n","import classNames from 'classnames'\r\nimport Icon from 'components/Icon/Icon'\r\nimport Permalink from 'components/Permalink/Permalink'\r\nimport Routes from 'enums/routes'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Menu, MenuItem } from 'react-aim-menu'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useLocation } from 'react-router-dom'\r\nimport { LeftNavigationLink } from 'types/common/navigation'\r\nimport { leftNavigation } from 'utils/navigation'\r\nimport { isNonAuthPage } from 'utils/urls'\r\nimport styles from './LeftMenu.module.scss'\r\nimport LogoutModal from 'components/LogoutModal/LogoutModal'\r\nimport { runTutorial } from 'store/tutorial'\r\nimport { useSetRecoilState } from 'recoil'\r\nimport { dashboardRefreshState } from 'store/dashboardRefresh'\r\nimport { globalRefreshState } from 'store/refresh'\r\n\r\nconst LeftMenu = (): JSX.Element => {\r\n const { t } = useTranslation()\r\n const [showSubmenu, setShowSubmenu] = useState(null)\r\n const [thirdShowSubmenu, setThirdShowSubmenu] = useState(null)\r\n const location = useLocation()\r\n const [confirmModal, setConfirmModal] = useState(false)\r\n const setRunRide = useSetRecoilState(runTutorial)\r\n\r\n useEffect(() => {\r\n setThirdShowSubmenu(null)\r\n\r\n // Blur all focused select elements when the leftmenu is opened.\r\n if (showSubmenu) {\r\n const selectElements = window.document.querySelectorAll('select')\r\n selectElements.forEach((select) => select.blur())\r\n }\r\n }, [showSubmenu])\r\n\r\n const setDashboardRefresh = useSetRecoilState(dashboardRefreshState)\r\n\r\n const refreshDashboardInfo = () => {\r\n if (location.pathname === '/') {\r\n setDashboardRefresh({\r\n refresh: true,\r\n })\r\n }\r\n }\r\n\r\n const setGlobalRefresh = useSetRecoilState(globalRefreshState)\r\n\r\n return (\r\n <>\r\n {!isNonAuthPage(location.pathname) ? (\r\n <>\r\n \r\n
\r\n {confirmModal && (\r\n {\r\n setConfirmModal(false)\r\n },\r\n }}\r\n positiveBtn={{\r\n callback: () => {\r\n setConfirmModal(false)\r\n },\r\n }}\r\n />\r\n )}\r\n
\r\n \r\n refreshDashboardInfo()}\r\n >
\r\n refreshDashboardInfo()}\r\n src=\"/img/ziraat-logo-menu.svg\"\r\n alt={t('label.ziraat_logo')}\r\n />\r\n \r\n setShowSubmenu(null)}\r\n className=\"step-dashboard-1\"\r\n >\r\n
    \r\n {leftNavigation(t).map(\r\n (item: LeftNavigationLink, index: number) => {\r\n return (\r\n {\r\n if (\r\n item.to === location.pathname &&\r\n !item?.children\r\n ) {\r\n setGlobalRefresh({\r\n refresh: true,\r\n })\r\n }\r\n }}\r\n >\r\n {\r\n item.children\r\n ? setShowSubmenu(index)\r\n : setShowSubmenu(null)\r\n }}\r\n >\r\n {!item.children && (\r\n \r\n {item.icon && }\r\n {item.label}\r\n \r\n )}\r\n {item.children && (\r\n <>\r\n \r\n {item.icon && }\r\n {item.label}\r\n \r\n \r\n \r\n
      \r\n {item.children.items.map(\r\n (\r\n subItem: LeftNavigationLink,\r\n twoIndex: number\r\n ) => {\r\n return (\r\n {\r\n if (\r\n subItem.to ===\r\n location.pathname &&\r\n !subItem?.children\r\n ) {\r\n setGlobalRefresh({\r\n refresh: true,\r\n })\r\n }\r\n }}\r\n key={twoIndex + '-subitem'}\r\n className={classNames({\r\n [styles.noThirdChilds]: !subItem.children,\r\n })}\r\n >\r\n {!subItem.children && (\r\n
      \r\n \r\n \r\n setShowSubmenu(null)\r\n }\r\n >\r\n {subItem.icon && (\r\n \r\n )}\r\n \r\n {subItem.label}\r\n \r\n \r\n \r\n
      \r\n )}\r\n {subItem.children && (\r\n <>\r\n {\r\n setThirdShowSubmenu(\r\n twoIndex\r\n )\r\n }}\r\n >\r\n \r\n {subItem.icon && (\r\n \r\n )}\r\n\r\n {subItem.svgPath && (\r\n \r\n )}\r\n \r\n {subItem.label}\r\n \r\n \r\n \r\n
        \r\n {subItem.children.items.map(\r\n (\r\n thirdSubItem: LeftNavigationLink,\r\n thirdIndex: number\r\n ) => {\r\n return (\r\n {\r\n if (\r\n thirdSubItem.to ===\r\n location.pathname\r\n ) {\r\n setGlobalRefresh(\r\n {\r\n refresh: true,\r\n }\r\n )\r\n }\r\n setShowSubmenu(\r\n null\r\n )\r\n setThirdShowSubmenu(\r\n null\r\n )\r\n }}\r\n >\r\n \r\n \r\n {\r\n thirdSubItem.label\r\n }\r\n \r\n \r\n \r\n )\r\n }\r\n )}\r\n
      \r\n
\r\n \r\n \r\n )}\r\n \r\n )\r\n }\r\n )}\r\n \r\n {item.children.text && (\r\n

{item.children.text}

\r\n )}\r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n }\r\n )}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {showSubmenu !== null &&
}\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n )\r\n}\r\nexport default LeftMenu\r\n","import classNames from 'classnames'\r\nimport Icon from 'components/Icon/Icon'\r\nimport Routes from 'enums/routes'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useLocation, useHistory } from 'react-router-dom'\r\nimport { leftNavigation } from 'utils/navigation'\r\nimport { isNonAuthPage } from 'utils/urls'\r\nimport styles from './MobileMenu.module.scss'\r\nimport { mobileMenuState } from '../../store/mobileMenu'\r\nimport { useRecoilState, useSetRecoilState } from 'recoil'\r\nimport LogoutModal from 'components/LogoutModal/LogoutModal'\r\n\r\nconst MobileMenu = (): JSX.Element => {\r\n const { t } = useTranslation()\r\n\r\n const [children, setChildren] = useState([leftNavigation(t)][0])\r\n const [currentIndex, setCurrentIndex] = useState('')\r\n const [title, setTitle] = useState('')\r\n const [mobileMenu] = useRecoilState(mobileMenuState)\r\n const setGlobalMenu = useSetRecoilState(mobileMenuState)\r\n\r\n useEffect(() => {\r\n const index = currentIndex.split('')\r\n switch (currentIndex.length) {\r\n case 0:\r\n setChildren([leftNavigation(t)][0])\r\n setTitle('')\r\n return\r\n case 1:\r\n setChildren(leftNavigation(t)[Number(index[0])].children?.items)\r\n if (currentIndex === '2') {\r\n setTitle('Toplu İşlemler')\r\n }\r\n return\r\n case 2:\r\n setChildren(\r\n leftNavigation(t)[Number(index[0])].children?.items[Number(index[1])]\r\n .children?.items\r\n )\r\n return\r\n }\r\n }, [currentIndex])\r\n\r\n const location = useLocation()\r\n const [confirmModal, setConfirmModal] = useState(false)\r\n const history = useHistory()\r\n\r\n if (!mobileMenu?.visible) {\r\n return <>\r\n }\r\n\r\n return (\r\n <>\r\n {!isNonAuthPage(location.pathname) ? (\r\n <>\r\n \r\n
\r\n {confirmModal && (\r\n {\r\n setConfirmModal(false)\r\n },\r\n }}\r\n positiveBtn={{\r\n callback: () => {\r\n setConfirmModal(false)\r\n setCurrentIndex('')\r\n setGlobalMenu({ visible: false })\r\n },\r\n }}\r\n />\r\n )}\r\n
\r\n setConfirmModal(true)} />\r\n {\r\n history.push(Routes.DASHBOARD)\r\n setCurrentIndex('')\r\n setGlobalMenu({ visible: false })\r\n }}\r\n className={styles.logo}\r\n >\r\n {t('label.opi_logo')}\r\n \r\n {\r\n history.push(Routes.PROFILE)\r\n setCurrentIndex('')\r\n setGlobalMenu({ visible: false })\r\n }}\r\n />\r\n
\r\n
\r\n
    \r\n {title === '' ? (\r\n ''\r\n ) : (\r\n
  • \r\n \r\n {\r\n if (currentIndex.length === 1) {\r\n setCurrentIndex('')\r\n } else {\r\n setCurrentIndex(currentIndex[0])\r\n }\r\n }}\r\n >\r\n {title}\r\n \r\n
  • \r\n )}\r\n {children.map((item: any) => {\r\n const index = children.indexOf(item)\r\n return (\r\n <>\r\n
  • \r\n {\r\n if (item.children === undefined) {\r\n history.push(item.to)\r\n setCurrentIndex('')\r\n setGlobalMenu({ visible: false })\r\n } else {\r\n setCurrentIndex(`${currentIndex}` + `${index}`)\r\n setTitle(item.label)\r\n }\r\n }}\r\n >\r\n {item.icon && }\r\n {item.label}\r\n {item.children && (\r\n \r\n )}\r\n \r\n
  • \r\n
    \r\n \r\n )\r\n })}\r\n
\r\n
\r\n
\r\n {\r\n setGlobalMenu({ visible: false })\r\n setCurrentIndex('')\r\n }}\r\n >\r\n \r\n

{t('label.mobileMenu_close')}

\r\n
\r\n
\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n )\r\n}\r\nexport default MobileMenu\r\n","import React from 'react'\r\nimport { TooltipRenderProps } from 'react-joyride'\r\nimport styles from './TutorialTooltip.module.scss'\r\nimport cx from 'classnames'\r\nimport Icon from 'components/Icon/Icon'\r\n\r\nexport default function TutorialTooltip({\r\n index,\r\n isLastStep,\r\n step,\r\n backProps,\r\n primaryProps,\r\n skipProps,\r\n tooltipProps,\r\n size: sizeOfContent,\r\n}: TooltipRenderProps) {\r\n const size = Array.from(Array(sizeOfContent))\r\n return (\r\n
\r\n
\r\n {index + 1}\r\n
\r\n
\r\n {step.content}\r\n
\r\n {size.map((_, idx) => {\r\n return (\r\n \r\n ●\r\n \r\n )\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n {index !== 0 && backProps && (\r\n \r\n \r\n {backProps.title}\r\n \r\n )}\r\n {!isLastStep && primaryProps && (\r\n \r\n {primaryProps.title}\r\n \r\n \r\n )}\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import React, { useMemo, useRef, useState } from 'react'\r\nimport styles from './CircleBar.module.scss'\r\nimport cx from 'classnames'\r\n\r\nexport default React.memo(function CircleBar({\r\n percent = 100,\r\n defaultOffset = 20,\r\n}: {\r\n percent?: number\r\n defaultOffset?: number\r\n}) {\r\n const [circum] = useState(2 * Math.PI * 53.5)\r\n const [offset, setOffset] = useState()\r\n\r\n const circumRef = useRef(null)\r\n\r\n useMemo(() => {\r\n if (circumRef && circumRef?.current !== null) {\r\n circumRef.current.style.strokeDasharray = circum\r\n circumRef.current.style.strokeDashoffset = offset\r\n }\r\n setOffset(circum - (circum * percent) / defaultOffset)\r\n }, [percent])\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n})\r\n","import React, { useMemo, useState } from 'react'\r\nimport cx from 'classnames'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport styles from './CircleBar.module.scss'\r\nimport Icon from 'components/Icon/Icon'\r\nimport Circle from './Circle'\r\n\r\nconst strPadLeft = (string: string) => {\r\n return (new Array(2 + 1).join('0') + string).slice(-2)\r\n}\r\n\r\nconst displayerCountDown = (remainingTime: number) => {\r\n const minutes = Math.floor(remainingTime / 60)\r\n const seconds = Math.floor(remainingTime - minutes * 60)\r\n return strPadLeft(minutes.toString()) + ':' + strPadLeft(seconds.toString())\r\n}\r\n\r\nconst CircleBar = ({ duration, onDurationEnd, className }: any) => {\r\n const [timer, setTimer] = useState()\r\n const [otpTime] = useState(duration)\r\n const [countDown, setCountDown] = useState(otpTime)\r\n const [status, setStatus] = useState(false)\r\n\r\n const { t } = useTranslation()\r\n\r\n useMemo(() => {\r\n setTimer(\r\n setInterval(() => {\r\n setCountDown((prevState) => prevState - 1)\r\n }, 1000)\r\n )\r\n return () => clearInterval(timer)\r\n }, [])\r\n\r\n useMemo(() => {\r\n if (countDown === 0) {\r\n setCountDown(otpTime)\r\n clearInterval(timer)\r\n setStatus(true)\r\n onDurationEnd()\r\n }\r\n }, [countDown])\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {!status ? (\r\n displayerCountDown(countDown)\r\n ) : (\r\n \r\n \r\n {t('text.timer_end_time')}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default CircleBar\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useIdleTimer } from 'react-idle-timer'\r\nimport Button from 'components/Button/Button'\r\nimport ModalBox from 'components/ModalBox/ModalBox'\r\nimport { AppearanceButton, AppearanceModal } from 'enums/appearance'\r\nimport styles from './GlobalOnIdleDialog.module.scss'\r\nimport { useRecoilValue, useSetRecoilState } from 'recoil'\r\nimport { isLoggedInState } from 'store/user'\r\nimport { useHistory } from 'react-router-dom'\r\nimport Routes from 'enums/routes'\r\nimport API from 'utils/api'\r\nimport { handleErrors } from 'utils/errors'\r\nimport { globalErrorState } from 'store/errors'\r\nimport CircleBar from 'components/CircleBar/CircleBar'\r\nimport storage from 'store2'\r\n\r\nconst GlobalOnIdleDialog = () => {\r\n const { t } = useTranslation()\r\n const history = useHistory()\r\n const isLoggedIn = useRecoilValue(isLoggedInState)\r\n const [showDialog, setShowDialog] = useState(false)\r\n const [showLogout, setShowLogout] = useState(false)\r\n const setGlobalErrors = useSetRecoilState(globalErrorState)\r\n const [isLoading, setLoading] = useState(false)\r\n const [modalTimers, setModalTimers] = useState({\r\n beforeIdle: 240,\r\n afterIdle: 60,\r\n })\r\n\r\n const beforeIdle = storage.session.get('beforeModalWaitSecond')\r\n const afterIdle = storage.session.get('afterModalWaitSecond')\r\n\r\n const handleOnIdle = () => {\r\n setShowDialog(true)\r\n }\r\n\r\n const { reset, start, pause } = useIdleTimer({\r\n timeout: 1000 * modalTimers.beforeIdle, // 1000 * 300 - 5 dk\r\n onIdle: handleOnIdle,\r\n })\r\n\r\n useEffect(() => {\r\n if (!isLoggedIn) pause()\r\n if (!afterIdle || !beforeIdle) return\r\n setModalTimers({\r\n beforeIdle: beforeIdle,\r\n afterIdle: afterIdle,\r\n })\r\n if (isLoggedIn) start()\r\n }, [isLoggedIn, afterIdle, beforeIdle])\r\n\r\n const handleLogout = () => {\r\n setLoading(true)\r\n API.post('/me/logout')\r\n .then(() => {\r\n setShowDialog(false)\r\n setShowLogout(false)\r\n })\r\n .catch(handleErrors(null, setGlobalErrors))\r\n .finally(() => {\r\n setLoading(false)\r\n history.push(Routes.AUTH_LOGOUT)\r\n })\r\n }\r\n\r\n if (!showDialog) {\r\n return null\r\n }\r\n\r\n return (\r\n \r\n
\r\n {showLogout ? (\r\n

{t('text.on_idle_time_ends')}

\r\n ) : (\r\n <>\r\n {\r\n storage.session.remove('accessToken')\r\n setShowLogout(true)\r\n }}\r\n />\r\n

{t('text.on_idle_modal_message')}

{' '}\r\n \r\n )}\r\n
\r\n {\r\n if (showLogout) {\r\n handleLogout()\r\n } else {\r\n reset()\r\n setShowDialog(false)\r\n }\r\n }}\r\n >\r\n {t('btn.okey')}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default GlobalOnIdleDialog\r\n","import AuthGuard from 'components/AuthGuard/AuthGuard'\r\nimport GlobalErrorDialog from 'components/GlobalErrorDialog/GlobalErrorDialog'\r\nimport GlobalSuccessfulDialog from 'components/GlobalSuccessfulDialog/GlobalSuccessfulDialog'\r\nimport LeftMenu from 'components/LeftMenu/LeftMenu'\r\nimport MobileMenu from 'components/MobileMenu/MobileMenu'\r\nimport Loading from 'components/Loading/Loading'\r\nimport Routes from 'enums/routes'\r\nimport React, { lazy, Suspense, useEffect, useState } from 'react'\r\nimport { Route, Switch, useLocation, matchPath } from 'react-router-dom'\r\nimport { isMobileOrTablet } from 'utils/ui'\r\nimport { TutorialButtons, TutorialSteps } from 'enums/tutorials'\r\nimport Joyride, {\r\n ACTIONS,\r\n CallBackProps,\r\n EVENTS,\r\n STATUS,\r\n Step,\r\n} from 'react-joyride'\r\nimport TutorialTooltip from 'components/TutorialTooltip/TutorialTooltip'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useRecoilState, useRecoilValue } from 'recoil'\r\nimport { displayedTutorials, runTutorial } from 'store/tutorial'\r\nimport storage from 'store2'\r\nimport { isUserFirstLogin } from 'store/user'\r\nimport GlobalOnIdleDialog from 'components/GlobalOnIdleDialog/GlobalOnIdleDialog'\r\nimport { isLoggedInState } from 'store/user'\r\n\r\nconst Pages = {\r\n AUTH: lazy(() => import('pages/Auth')),\r\n DASHBOARD: lazy(() => import('pages/Dashboard/Dashboard')),\r\n BATCH_TRANSACTIONS: lazy(() => import('pages/BatchTransactions')),\r\n INSTRUCTIONAL_TRANSACTIONS: lazy(\r\n () => import('pages/InstructionalTransactions')\r\n ),\r\n ACCOUNTS: lazy(() => import('pages/Accounts')),\r\n COMPANY_OPERATIONS: lazy(() => import('pages/CompanyOperations')),\r\n USER_DEFINATION: lazy(() => import('pages/UserDefination')),\r\n REPORTS: lazy(() => import('pages/Reports')),\r\n APPROVEL_PROCESSES: lazy(() => import('pages/ApprovalProcesses')),\r\n PROFILE: lazy(() => import('pages/Profile')),\r\n}\r\n\r\nconst SwicthContent = () => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst App = (): JSX.Element => {\r\n const { t } = useTranslation()\r\n const location = useLocation()\r\n const [runRide, setRunRide] = useRecoilState(runTutorial)\r\n const userFirstLogin = useRecoilValue(isUserFirstLogin)\r\n const [tutorials, setTutorials] = useRecoilState(displayedTutorials)\r\n const isLoggedIn = useRecoilValue(isLoggedInState)\r\n\r\n const [ride, setRide] = useState([])\r\n const [stepIndex, setStepIndex] = useState()\r\n const steps = TutorialSteps(t)\r\n\r\n const handleJoyrideCallback = (data: CallBackProps) => {\r\n const { status, type, index, action } = data\r\n\r\n const finishedStatuses: string[] = [STATUS.FINISHED, STATUS.SKIPPED]\r\n const eventSteps: string[] = [EVENTS.STEP_AFTER, EVENTS.TARGET_NOT_FOUND]\r\n\r\n const path: any = Object.keys(Routes)?.find((k: any) => {\r\n const key: keyof typeof Routes = k as any\r\n\r\n if (Routes[key].includes(':id')) {\r\n const regex = new RegExp(\r\n '^' + Routes[key].replace(':id', '[^/]+') + '$'\r\n )\r\n return regex.test(location.pathname)\r\n }\r\n return Routes[key] === location.pathname\r\n })\r\n\r\n if (!Object.keys(steps)?.find((k: any) => k === path)) {\r\n setRunRide(false)\r\n return\r\n }\r\n\r\n if (eventSteps.includes(type)) {\r\n setStepIndex(index + (action === ACTIONS.PREV ? -1 : 1))\r\n } else if (finishedStatuses.includes(status)) {\r\n setRunRide(false)\r\n setStepIndex(0)\r\n }\r\n }\r\n useEffect(() => {\r\n let path: string | number | symbol | undefined\r\n let url = ''\r\n Object.keys(Routes).forEach((keys) => {\r\n const key: keyof typeof Routes = keys as any\r\n if (\r\n matchPath(location.pathname, {\r\n path: Routes[key],\r\n exact: true,\r\n strict: true,\r\n })\r\n ) {\r\n path = key\r\n url = Routes[key]\r\n }\r\n })\r\n\r\n if (path && steps.hasOwnProperty(path) && url) {\r\n // Routes[Routes.AUTH_LOGIN] giving error\r\n if (path === 'AUTH_LOGIN') {\r\n if (storage.get('loginTutorial') === null) {\r\n setRide(steps[path] || [])\r\n setTimeout(() => {\r\n if (path && steps.hasOwnProperty(path)) {\r\n setStepIndex(0)\r\n setRunRide(true)\r\n storage.set('loginTutorial', false)\r\n }\r\n }, 900)\r\n }\r\n } else {\r\n const stepPath = path as never\r\n setRide(steps[stepPath] || [])\r\n setTutorials([...tutorials, url])\r\n }\r\n }\r\n if (userFirstLogin) {\r\n if (\r\n !tutorials.find((tutorial) =>\r\n matchPath(location.pathname, {\r\n path: tutorial,\r\n exact: true,\r\n strict: true,\r\n })\r\n )\r\n ) {\r\n setTimeout(() => {\r\n if (path && steps.hasOwnProperty(path)) {\r\n setStepIndex(0)\r\n setRunRide(true)\r\n }\r\n }, 900)\r\n }\r\n }\r\n }, [location.pathname, userFirstLogin])\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isLoggedIn && !isMobileOrTablet() ? : }\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default App\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n)\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void\r\n}\r\n\r\nexport function register(config?: Config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href)\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config)\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n )\r\n })\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing\r\n if (installingWorker == null) {\r\n return\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n )\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration)\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.')\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.error('Error during service worker registration:', error)\r\n })\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type')\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload()\r\n })\r\n })\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n )\r\n })\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then((registration) => {\r\n registration.unregister()\r\n })\r\n .catch((error) => {\r\n console.error(error.message)\r\n })\r\n }\r\n}\r\n","import 'react-app-polyfill/ie11'\r\nimport 'react-app-polyfill/stable'\r\nimport React from 'react'\r\nimport ReactDOM from 'react-dom'\r\nimport App from './App'\r\nimport { RecoilRoot } from 'recoil'\r\nimport { BrowserRouter as Router } from 'react-router-dom'\r\n\r\nimport * as serviceWorker from './serviceWorker'\r\nimport './i18n'\r\n\r\nimport './styles/fonts.scss'\r\nimport './styles/icon/style.scss'\r\nimport './styles/bootstrap.scss'\r\nimport './styles/layout.scss'\r\nimport './styles/forms.scss'\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n)\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister()\r\n","import { atom, selector } from 'recoil'\r\nimport { MeEntity } from './../types/entities/user'\r\nimport storage from 'store2'\r\n\r\nexport const currentUserState = atom({\r\n key: 'currentUserState',\r\n default: null,\r\n})\r\n\r\nexport const currentUserTokenState = atom({\r\n key: 'currentUserTokenState',\r\n default: storage.session.get('accessToken'),\r\n})\r\nexport const isUserFirstLogin = atom({\r\n key: 'isUserFirstLogin',\r\n default: false,\r\n})\r\n\r\nexport const isUserMustChangePassword = atom({\r\n key: 'isUserMustChangePassword',\r\n default: false,\r\n})\r\n\r\nexport const isLoggedInState = selector({\r\n key: 'isLoggedInState',\r\n get: ({ get }) => {\r\n return !!get(currentUserState)\r\n },\r\n})\r\n\r\nexport const userRSAPublicKey = atom({\r\n key: 'userPublicKey',\r\n default: undefined,\r\n})\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrap\":\"MobileMenu_wrap__DrKQ_\",\"fixedContainer\":\"MobileMenu_fixedContainer__2BsFT\",\"navHeader\":\"MobileMenu_navHeader__c4hyB\",\"logo\":\"MobileMenu_logo__3QFpV\",\"list\":\"MobileMenu_list__2Kw-L\",\"redArrow\":\"MobileMenu_redArrow__1aPNp\",\"backTitle\":\"MobileMenu_backTitle__JEer5\",\"reverseArrow\":\"MobileMenu_reverseArrow__2FBkb\",\"navFooter\":\"MobileMenu_navFooter__uxeTP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"hopscotchBubble\":\"TutorialTooltip_hopscotchBubble__M5UbS\",\"hopscotchBubbleContainer\":\"TutorialTooltip_hopscotchBubbleContainer__D4rjN\",\"hopscotchActions\":\"TutorialTooltip_hopscotchActions__2jpPk\",\"hopscotchBubbleClose\":\"TutorialTooltip_hopscotchBubbleClose__2zv_j\",\"hopscotchBubbleNumber\":\"TutorialTooltip_hopscotchBubbleNumber__7NC6R\",\"hopscotchBubbleContent\":\"TutorialTooltip_hopscotchBubbleContent__VrJzf\",\"hopscotchNavButtonNext\":\"TutorialTooltip_hopscotchNavButtonNext__1StuZ\",\"hopscotchNavButtonPrev\":\"TutorialTooltip_hopscotchNavButtonPrev__17-ov\",\"bullet\":\"TutorialTooltip_bullet__1pTiv\",\"active\":\"TutorialTooltip_active__1CZvS\",\"list\":\"TutorialTooltip_list__1Rldn\"};","import Routes from 'enums/routes'\r\nimport { includes } from 'rambdax'\r\n\r\nexport const isNonAuthPage = (path: string): boolean =>\r\n includes(Routes.AUTH, path)\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"regularStyling\":\"Loading_regularStyling__vhFRm\",\"buttonStyling\":\"Loading_buttonStyling__XQ9l3\",\"spinner\":\"Loading_spinner__3GNG9\",\"bounce\":\"Loading_bounce__1DO2G\",\"bounce3\":\"Loading_bounce3__2raSg\",\"bounce2\":\"Loading_bounce2__1lyyT\",\"bounce1\":\"Loading_bounce1__2Gs3c\",\"sk-bouncedelay\":\"Loading_sk-bouncedelay__xVV3t\"};","import classNames from 'classnames'\r\nimport CustomTooltipComponent from 'components/CustomTooltip/CustomTooltipModule'\r\nimport CustomTooltip from 'components/CustomTooltip/CustomTooltip'\r\nimport Loading from 'components/Loading/Loading'\r\nimport { AppearanceButton } from 'enums/appearance'\r\nimport { Size } from 'enums/size'\r\nimport React, { ReactNode, useRef } from 'react'\r\nimport { EventProps } from 'types/common/events'\r\nimport styles from './Button.module.scss'\r\n\r\nexport type ButtonProps = {\r\n children: ReactNode\r\n target?: string\r\n appearance?: AppearanceButton\r\n size?: Size\r\n className?: string\r\n autoFocus?: boolean\r\n isBlock?: boolean\r\n isLoading?: boolean\r\n isDisabled?: boolean\r\n tooltip?: string\r\n type?: 'submit' | 'button'\r\n} & Omit<\r\n EventProps,\r\n 'onKeyPress' | 'onKeyUp' | 'onKeydown' | 'onChange'\r\n>\r\n\r\nconst Button = React.forwardRef(\r\n (\r\n {\r\n children,\r\n target,\r\n size,\r\n isLoading,\r\n isDisabled,\r\n isBlock,\r\n type,\r\n className,\r\n appearance = AppearanceButton.DARK,\r\n tooltip,\r\n onClick,\r\n },\r\n ref\r\n ): JSX.Element => {\r\n const shouldDisable = isDisabled || isLoading\r\n const btnClassName = classNames(\r\n 'btn',\r\n styles.btn,\r\n {\r\n 'btn-block': isBlock,\r\n [styles[`disabled`]]: shouldDisable,\r\n [styles[`btn__${appearance}`]]: appearance,\r\n [styles[`btn__${size}`]]: size,\r\n },\r\n className\r\n )\r\n\r\n const tooltipRef = useRef(null)\r\n\r\n return (\r\n <>\r\n {tooltip && (\r\n \r\n )}\r\n {\r\n if (!tooltip) return\r\n CustomTooltip(tooltipRef, e.clientX, e.clientY)\r\n }}\r\n onMouseLeave={() => {\r\n if (!tooltip) return\r\n if (tooltipRef.current) {\r\n tooltipRef.current.style.opacity = '0'\r\n }\r\n }}\r\n >\r\n {isLoading ? (\r\n \r\n ) : (\r\n children\r\n )}\r\n \r\n \r\n )\r\n }\r\n)\r\n\r\nexport default Button\r\n","import { AxiosError } from 'axios'\r\nimport Routes from 'enums/routes'\r\nimport { forEach, map, replace } from 'rambdax'\r\nimport { SetterOrUpdater } from 'recoil'\r\nimport { isNonAuthPage } from './urls'\r\n\r\nexport type ErrorServerField = {\r\n propertyName: string\r\n errorMessage: string\r\n attemptedValue: any\r\n errorCode: string\r\n}\r\nexport type ErrorServerFieldResponse = {\r\n errors?: ErrorServerField[]\r\n errorCode?: string\r\n errorMessage: string\r\n ErrorMessage?: string\r\n}\r\n\r\nexport type ErrorResultType = {\r\n type: string\r\n error: ErrorServerFieldResponse\r\n}\r\n\r\nconst HTTP_STATUS = {\r\n 400: 'BAD_REQUEST',\r\n 401: 'UNAUTHORIZED',\r\n 403: 'FORBIDDEN',\r\n 404: 'NOT_FOUND',\r\n 405: 'METHOD_NOT_ALLOWED',\r\n 500: 'INTERNAL_ERROR',\r\n}\r\n\r\nexport function handleFormErrors(\r\n error: ErrorServerFieldResponse,\r\n setError?: (name: any, error: any) => void\r\n): void {\r\n console.error('GLOBAL_HANDLER:', HTTP_STATUS['400'])\r\n const errors = map(\r\n ({ propertyName, errorMessage }) => ({\r\n name: replace('$.', '', propertyName),\r\n message: errorMessage,\r\n type: 'server',\r\n }),\r\n error.errors || []\r\n )\r\n if (setError) {\r\n forEach((fieldErrorItem) => {\r\n const { name, type, message } = fieldErrorItem\r\n setError(name, { type, message })\r\n }, errors)\r\n }\r\n}\r\n\r\nexport function handleForbidden(): void {\r\n console.error('GLOBAL_HANDLER:', HTTP_STATUS['403'])\r\n}\r\nexport function handleUnauthorized(): void {\r\n console.error('GLOBAL_HANDLER:', HTTP_STATUS['401'])\r\n if (!isNonAuthPage(window.location.pathname)) {\r\n window.location.href = Routes.AUTH_LOGOUT\r\n }\r\n}\r\nexport function handleServerFault(e: ErrorServerFieldResponse): void {\r\n console.error('GLOBAL_HANDLER:', HTTP_STATUS['500'], e)\r\n}\r\nexport function handleNotFound(e: ErrorServerFieldResponse): void {\r\n console.error('GLOBAL_HANDLER:', HTTP_STATUS['404'], e)\r\n}\r\n\r\nexport const handleErrors = (\r\n callback: ((e: ErrorResultType) => void) | null,\r\n setGlobalErrors: SetterOrUpdater | null,\r\n setError?: (name: any, error: any) => void\r\n) => {\r\n return (e: ErrorResultType): void => {\r\n switch (e.type) {\r\n case HTTP_STATUS['400']:\r\n handleFormErrors(e.error, setError)\r\n setGlobalErrors && setGlobalErrors(e.error)\r\n break\r\n case HTTP_STATUS['401']:\r\n handleUnauthorized()\r\n break\r\n case HTTP_STATUS['403']:\r\n handleForbidden()\r\n setGlobalErrors && setGlobalErrors(e.error)\r\n break\r\n case HTTP_STATUS['404']:\r\n handleNotFound(e.error)\r\n break\r\n case HTTP_STATUS['500']:\r\n handleServerFault(e.error)\r\n setGlobalErrors && setGlobalErrors({ ...e.error, errorCode: '500' })\r\n break\r\n }\r\n callback && callback(e)\r\n }\r\n}\r\n\r\nexport const normalizeErrors = (\r\n error: AxiosError\r\n): Promise => {\r\n const status = error.response?.status || 500\r\n const errorResult = { type: HTTP_STATUS['500'], error: error.response?.data }\r\n switch (status) {\r\n case 400: {\r\n errorResult.type = HTTP_STATUS['400']\r\n break\r\n }\r\n case 401: {\r\n errorResult.type = HTTP_STATUS['401']\r\n break\r\n }\r\n case 403: {\r\n errorResult.type = HTTP_STATUS['403']\r\n break\r\n }\r\n case 404: {\r\n errorResult.type = HTTP_STATUS['404']\r\n break\r\n }\r\n }\r\n return Promise.reject(errorResult)\r\n}\r\n","import { atom } from 'recoil'\r\nimport { ErrorServerFieldResponse } from 'utils/errors'\r\n\r\ntype globalErrorState = {\r\n callBack?: () => void\r\n} & ErrorServerFieldResponse\r\n\r\nexport const globalErrorState = atom({\r\n key: 'globalErrorState',\r\n default: null,\r\n})\r\n","import React from 'react'\r\nimport classNames from 'classnames'\r\nimport styles from './Loading.module.scss'\r\n\r\nexport type LoadingProps = {\r\n size?: number\r\n className?: string\r\n color?: string\r\n}\r\n\r\nconst Loading = ({\r\n // size = 15,\r\n color = '#df0e21',\r\n className,\r\n}: LoadingProps): JSX.Element => {\r\n // const sizeInPx = `${size}px`\r\n // const loadingItemProp = {\r\n // width: sizeInPx,\r\n // height: sizeInPx,\r\n // backgroundColor: color,\r\n // }\r\n\r\n const buttonClasses = {\r\n [styles.buttonStyling]: color === '#FFF',\r\n }\r\n\r\n const regularClasses = {\r\n [styles.regularStyling]: color !== '#FFF',\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Loading\r\n","import classNames from 'classnames'\r\nimport Heading from 'components/Heading/Heading'\r\nimport Icon from 'components/Icon/Icon'\r\nimport { AppearanceModal } from 'enums/appearance'\r\nimport React, { ReactNode } from 'react'\r\nimport ReactDOM from 'react-dom'\r\nimport styles from './ModalBox.module.scss'\r\n\r\nexport type ModalBoxProps = {\r\n children: ReactNode\r\n title?: string\r\n className?: string\r\n appearance?: AppearanceModal\r\n icon?: string\r\n onClose?: () => void\r\n resendForEvaluation?: boolean\r\n foreignTradeScroll?: boolean | null\r\n foreignTradeDoc?: boolean | null\r\n}\r\n\r\nconst ModalBox = ({\r\n children,\r\n title,\r\n className,\r\n resendForEvaluation,\r\n appearance = AppearanceModal.CONTENT,\r\n icon = 'question',\r\n foreignTradeScroll = null,\r\n foreignTradeDoc = null,\r\n onClose,\r\n}: ModalBoxProps): JSX.Element => {\r\n return ReactDOM.createPortal(\r\n \r\n \r\n {appearance !== AppearanceModal.WARNING && (\r\n \r\n \r\n \r\n \r\n {title && {title}}\r\n \r\n )}\r\n
\r\n {appearance === AppearanceModal.WARNING && (\r\n <>\r\n
\r\n \r\n
\r\n \r\n {title}\r\n \r\n \r\n )}\r\n {children}\r\n
\r\n \r\n ,\r\n document.getElementById('dialog') as HTMLElement\r\n )\r\n}\r\n\r\nexport default ModalBox\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"defaultOffSet\":\"CircleBar_defaultOffSet__2F_WT\",\"wrap\":\"CircleBar_wrap__2SppM\",\"text\":\"CircleBar_text__3XjVt\",\"endTime\":\"CircleBar_endTime__1g-PF\",\"circleArea\":\"CircleBar_circleArea__3G463\",\"error\":\"CircleBar_error__3e2GW\",\"circleBar\":\"CircleBar_circleBar__1SzEe\"};","import axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios'\r\nimport { setupCache } from 'axios-cache-adapter'\r\nimport qs from 'qs'\r\nimport { isEmpty } from 'rambdax'\r\nimport { normalizeErrors } from './errors'\r\nimport storage from 'store2'\r\n\r\nexport const CACHE_TIME = {\r\n SHORT: 1 * 60 * 1000, // 1 min\r\n MEDIUM: 60 * 60 * 1000, // 1 hour\r\n LONG: 24 * 60 * 60 * 1000, // 1 day\r\n}\r\n\r\nconst cacheAdapter = setupCache({\r\n maxAge: 0,\r\n exclude: {\r\n query: false,\r\n },\r\n})\r\n\r\naxios.defaults.withCredentials = true\r\naxios.defaults.paramsSerializer = function (params) {\r\n return qs.stringify(params, { indices: false })\r\n}\r\n\r\nexport const API_URL =\r\n process.env.NODE_ENV === 'development'\r\n ? process.env.REACT_APP_OPI_API_URL ||\r\n process.env.REACT_APP_API_FALLBACK_URL\r\n : (window as any).REACT_APP_OPI_API_URL ||\r\n (window as any).REACT_APP_API_FALLBACK_URL\r\nexport const MEDIA_URL = API_URL?.replace('/api', '/files')\r\n\r\nconst API = axios.create({\r\n baseURL: API_URL,\r\n withCredentials: true,\r\n adapter: cacheAdapter.adapter,\r\n})\r\n\r\nconst requestBefore = (config: AxiosRequestConfig): AxiosRequestConfig => {\r\n const { params = {} } = config\r\n if (!isEmpty(storage.session.get('accessToken'))) {\r\n if (storage.session.get('accessToken') !== null) {\r\n config.headers.Authorization = `Bearer ${storage.session.get(\r\n 'accessToken'\r\n )}`\r\n }\r\n }\r\n config.headers.get['X-Bone-Limit'] = params.limit || 10\r\n config.headers.get['X-Bone-PageIndex'] = params.page || 1\r\n if (params.sortBy) {\r\n config.headers.get['X-Bone-SortBy'] = params.sortBy\r\n config.headers.get['X-Bone-SortDirection'] = params.sortBy\r\n }\r\n return config\r\n}\r\nconst requestError = (error: AxiosError): Promise =>\r\n Promise.reject(error)\r\nconst responseError = normalizeErrors\r\n\r\nconst responseBefore = (response: AxiosResponse): AxiosResponse => response\r\n\r\nAPI.interceptors.request.use(requestBefore, requestError)\r\nAPI.interceptors.response.use(responseBefore, responseError)\r\n\r\nexport default API\r\n","import Routes from 'enums/routes'\r\nimport React from 'react'\r\nimport { Link, NavLink } from 'react-router-dom'\r\nimport { pathToPermalink } from 'utils/permalink'\r\n\r\nexport type PermalinkProps = {\r\n to: Routes\r\n params?: Record\r\n activeClassName?: string\r\n className?: string\r\n component?: 'link' | 'navlink'\r\n}\r\nconst Permalink: React.FC = ({\r\n to,\r\n component,\r\n params,\r\n children,\r\n className,\r\n activeClassName,\r\n}): JSX.Element => {\r\n const link = pathToPermalink(to, params)\r\n const Component = component === 'link' ? Link : NavLink\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default Permalink\r\n","import R from 'enums/routes'\r\nimport * as pathToRegexp from 'path-to-regexp'\r\n\r\nexport const pathToPermalink = (\r\n to: R,\r\n params?: Record\r\n): string => {\r\n const toPath = pathToRegexp.compile(to || '')\r\n return toPath(params)\r\n}\r\n"],"sourceRoot":""}