{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/@core/core.module.ts","webpack:///src/app/@core/data/country-order.ts","webpack:///src/app/@core/data/earning.ts","webpack:///src/app/@core/data/electricity.ts","webpack:///src/app/@core/data/orders-chart.ts","webpack:///src/app/@core/data/orders-profit-chart.ts","webpack:///src/app/@core/data/profit-bar-animation-chart.ts","webpack:///src/app/@core/data/profit-chart.ts","webpack:///src/app/@core/data/security-cameras.ts","webpack:///src/app/@core/data/smart-table.ts","webpack:///src/app/@core/data/solar.ts","webpack:///src/app/@core/data/stats-bar.ts","webpack:///src/app/@core/data/stats-progress-bar.ts","webpack:///src/app/@core/data/temperature-humidity.ts","webpack:///src/app/@core/data/traffic-bar.ts","webpack:///src/app/@core/data/traffic-chart.ts","webpack:///src/app/@core/data/traffic-list.ts","webpack:///src/app/@core/data/user-activity.ts","webpack:///src/app/@core/data/users.ts","webpack:///src/app/@core/data/visitors-analytics.ts","webpack:///src/app/@core/mock/country-order.service.ts","webpack:///src/app/@core/mock/earning.service.ts","webpack:///src/app/@core/mock/electricity.service.ts","webpack:///src/app/@core/mock/mock-data.module.ts","webpack:///src/app/@core/mock/orders-chart.service.ts","webpack:///src/app/@core/mock/orders-profit-chart.service.ts","webpack:///src/app/@core/mock/periods.service.ts","webpack:///src/app/@core/mock/profit-bar-animation-chart.service.ts","webpack:///src/app/@core/mock/profit-chart.service.ts","webpack:///src/app/@core/mock/security-cameras.service.ts","webpack:///src/app/@core/mock/smart-table.service.ts","webpack:///src/app/@core/mock/solar.service.ts","webpack:///src/app/@core/mock/stats-bar.service.ts","webpack:///src/app/@core/mock/stats-progress-bar.service.ts","webpack:///src/app/@core/mock/temperature-humidity.service.ts","webpack:///src/app/@core/mock/traffic-bar.service.ts","webpack:///src/app/@core/mock/traffic-chart.service.ts","webpack:///src/app/@core/mock/traffic-list.service.ts","webpack:///src/app/@core/mock/user-activity.service.ts","webpack:///src/app/@core/mock/users.service.ts","webpack:///src/app/@core/mock/visitors-analytics.service.ts","webpack:///src/app/@core/module-import-guard.ts","webpack:///src/app/@core/utils/analytics.service.ts","webpack:///src/app/@core/utils/index.ts","webpack:///src/app/@core/utils/layout.service.ts","webpack:///src/app/@core/utils/player.service.ts","webpack:///src/app/@core/utils/ripple.service.ts","webpack:///src/app/@core/utils/seo.service.ts","webpack:///src/app/@core/utils/state.service.ts","webpack:///src/app/@theme/components/footer/footer.component.ts","webpack:///src/app/@theme/components/header/header.component.ts","webpack:///src/app/@theme/components/header/header.component.html","webpack:///src/app/@theme/components/index.ts","webpack:///src/app/@theme/components/layout-direction-switcher/layout-direction-switcher.component.ts","webpack:///src/app/@theme/components/switcher/switcher.component.ts","webpack:///src/app/@theme/layouts/index.ts","webpack:///src/app/@theme/layouts/one-column/one-column.layout.ts","webpack:///src/app/@theme/layouts/three-columns/three-columns.layout.ts","webpack:///src/app/@theme/layouts/two-columns/two-columns.layout.ts","webpack:///src/app/@theme/pipes/capitalize.pipe.ts","webpack:///src/app/@theme/pipes/index.ts","webpack:///src/app/@theme/pipes/number-with-commas.pipe.ts","webpack:///src/app/@theme/pipes/plural.pipe.ts","webpack:///src/app/@theme/pipes/round.pipe.ts","webpack:///src/app/@theme/pipes/timing.pipe.ts","webpack:///src/app/@theme/styles/material/theme.material-dark.ts","webpack:///src/app/@theme/styles/material/theme.material-light.ts","webpack:///src/app/@theme/styles/theme.corporate.ts","webpack:///src/app/@theme/styles/theme.cosmic.ts","webpack:///src/app/@theme/styles/theme.dark.ts","webpack:///src/app/@theme/styles/theme.default.ts","webpack:///src/app/@theme/theme.module.ts","webpack:///src/app/AccountMaster/account-link-master/account-link-master.component.ts","webpack:///src/app/AccountMaster/account-link-master/account-link-master.component.html","webpack:///src/app/AccountMaster/accountlink/accountlink.component.ts","webpack:///src/app/AccountMaster/accountlink/accountlink.component.html","webpack:///src/app/AccountMaster/add-account/add-account.component.ts","webpack:///src/app/AccountMaster/add-account/add-account.component.html","webpack:///src/app/AccountMaster/manage-account/manage-account.component.ts","webpack:///src/app/AccountMaster/manage-account/manage-account.component.html","webpack:///src/app/AccountMaster/sweep-execution/sweep-execution.component.ts","webpack:///src/app/AccountMaster/sweep-execution/sweep-execution.component.html","webpack:///src/app/Common/LoginDetail.ts","webpack:///src/app/Common/constant.ts","webpack:///src/app/Common/must-match.directive.ts","webpack:///src/app/Common/must-match.validator.ts","webpack:///src/app/CustomDirectives/numbers-only.directive.ts","webpack:///src/app/Home/error-page/error-page.component.ts","webpack:///src/app/Home/error-page/error-page.component.html","webpack:///src/app/Home/index/index.component.ts","webpack:///src/app/Home/index/index.component.html","webpack:///src/app/Home/login/login-page.component.html","webpack:///src/app/Home/login/login-page.component.ts","webpack:///src/app/Home/reset-password/reset-password.component.ts","webpack:///src/app/Home/reset-password/reset-password.component.html","webpack:///src/app/Home/sign-up/sign-up.component.ts","webpack:///src/app/Home/sign-up/sign-up.component.html","webpack:///src/app/Home/site-configuration/site-configuration.component.ts","webpack:///src/app/Home/site-configuration/site-configuration.component.html","webpack:///src/app/ManageMaster/branch-master/branch-master.component.ts","webpack:///src/app/ManageMaster/branch-master/branch-master.component.html","webpack:///src/app/ManageMaster/customer-mapping/customer-mapping.component.ts","webpack:///src/app/ManageMaster/customer-mapping/customer-mapping.component.html","webpack:///src/app/ManageMaster/customer-master/customer-master.component.ts","webpack:///src/app/ManageMaster/customer-master/customer-master.component.html","webpack:///src/app/ManageMaster/edit-branch-master/edit-branch-master.component.ts","webpack:///src/app/ManageMaster/edit-branch-master/edit-branch-master.component.html","webpack:///src/app/ManageMaster/holiday-master-setup/holiday-master-setup.component.ts","webpack:///src/app/ManageMaster/holiday-master-setup/holiday-master-setup.component.html","webpack:///src/app/ManageMaster/holiday-master/holiday-master.component.ts","webpack:///src/app/ManageMaster/holiday-master/holiday-master.component.html","webpack:///src/app/ManageMaster/manage-access/manage-access.component.ts","webpack:///src/app/ManageMaster/manage-access/manage-access.component.html","webpack:///src/app/ManageMaster/manage-branch-master/manage-branch-master.component.ts","webpack:///src/app/ManageMaster/manage-branch-master/manage-branch-master.component.html","webpack:///src/app/ManageMaster/manage-customer-master/manage-customer-master.component.ts","webpack:///src/app/ManageMaster/manage-customer-master/manage-customer-master.component.html","webpack:///src/app/ManageMaster/manage-role-master/manage-role-master.component.ts","webpack:///src/app/ManageMaster/manage-role-master/manage-role-master.component.html","webpack:///src/app/ManageMaster/manage-user-master/manage-user-master.component.ts","webpack:///src/app/ManageMaster/manage-user-master/manage-user-master.component.html","webpack:///src/app/ManageMaster/role-master/role-master.component.ts","webpack:///src/app/ManageMaster/role-master/role-master.component.html","webpack:///src/app/ManageMaster/sweep-charges-master/sweep-charges-master.component.ts","webpack:///src/app/ManageMaster/sweep-charges-master/sweep-charges-master.component.html","webpack:///src/app/ManageMaster/user-master/user-master.component.ts","webpack:///src/app/ManageMaster/user-master/user-master.component.html","webpack:///src/app/ManageMaster/view-branch-master/view-branch-master.component.ts","webpack:///src/app/ManageMaster/view-branch-master/view-branch-master.component.html","webpack:///src/app/MasterService/AccountLinkMaster.ts","webpack:///src/app/MasterService/Biz-RuleMaster.service.ts","webpack:///src/app/MasterService/Holiday.service.ts","webpack:///src/app/MasterService/Login.service.ts","webpack:///src/app/MasterService/Login.ts","webpack:///src/app/MasterService/SiteConfiguration.Service.ts","webpack:///src/app/MasterService/account-link-master.service.ts","webpack:///src/app/MasterService/account-master.service.ts","webpack:///src/app/MasterService/all-master-api.service.ts","webpack:///src/app/MasterService/auto-logout.service.ts","webpack:///src/app/MasterService/branch.service.ts","webpack:///src/app/MasterService/charges-sweep.service.ts","webpack:///src/app/MasterService/customer.service.ts","webpack:///src/app/MasterService/customvalidation.service.ts","webpack:///src/app/MasterService/encryptdecrypt.service.ts","webpack:///src/app/MasterService/fund-disbursment.service.ts","webpack:///src/app/MasterService/payments.service.ts","webpack:///src/app/MasterService/role-access.service.ts","webpack:///src/app/MasterService/role.service.ts","webpack:///src/app/MasterService/scheme-account-link.service.ts","webpack:///src/app/MasterService/scheme-master.service.ts","webpack:///src/app/MasterService/sweep-charges-model.service.ts","webpack:///src/app/MasterService/sweep-charges.ts","webpack:///src/app/MasterService/token.service.ts","webpack:///src/app/MasterService/user-customer.service.ts","webpack:///src/app/MasterService/user.service.ts","webpack:///src/app/MasterService/userauditreport.service.ts","webpack:///src/app/MasterService/validateUserName.directive.ts","webpack:///src/app/Paging/pagination.service.ts","webpack:///src/app/Reports/account-audit-report/account-audit-report.component.ts","webpack:///src/app/Reports/account-audit-report/account-audit-report.component.html","webpack:///src/app/Reports/customer-audit-report/customer-audit-report.component.ts","webpack:///src/app/Reports/customer-audit-report/customer-audit-report.component.html","webpack:///src/app/Reports/payments-report/payments-report.component.ts","webpack:///src/app/Reports/payments-report/payments-report.component.html","webpack:///src/app/Reports/rule-summary-reports/rule-summary-reports.component.ts","webpack:///src/app/Reports/rule-summary-reports/rule-summary-reports.component.html","webpack:///src/app/Reports/sweepsummaryreports/sweepsummaryreports.component.ts","webpack:///src/app/Reports/sweepsummaryreports/sweepsummaryreports.component.html","webpack:///src/app/Reports/user-audit-report/user-audit-report.component.ts","webpack:///src/app/Reports/user-audit-report/user-audit-report.component.html","webpack:///src/app/ReportsServices/payments-report.service.ts","webpack:///src/app/ReportsServices/rule-summary-reports.service.ts","webpack:///src/app/ReportsServices/sweep-surmmary-reports.service.ts","webpack:///src/app/SchemeMaster/add-rule-master/add-rule-master.component.ts","webpack:///src/app/SchemeMaster/add-rule-master/add-rule-master.component.html","webpack:///src/app/SchemeMaster/add-scheme/add-scheme.component.ts","webpack:///src/app/SchemeMaster/add-scheme/add-scheme.component.html","webpack:///src/app/SchemeMaster/manage-rule-master/manage-rule-master.component.ts","webpack:///src/app/SchemeMaster/manage-rule-master/manage-rule-master.component.html","webpack:///src/app/SchemeMaster/manage-scheme/manage-scheme.component.ts","webpack:///src/app/SchemeMaster/manage-scheme/manage-scheme.component.html","webpack:///src/app/SchemeMaster/scheme-account-link/scheme-account-link.component.ts","webpack:///src/app/SchemeMaster/scheme-account-link/scheme-account-link.component.html","webpack:///src/app/SweepManagement/add-edit-funddisbursement/add-edit-funddisbursement.component.ts","webpack:///src/app/SweepManagement/add-edit-funddisbursement/add-edit-funddisbursement.component.html","webpack:///src/app/SweepManagement/master-fund-disbursement-component/master-fund-disbursement-component.component.ts","webpack:///src/app/SweepManagement/master-fund-disbursement-component/master-fund-disbursement-component.component.html","webpack:///src/app/SweepManagement/sweepcharges-list/sweepcharges-list.component.ts","webpack:///src/app/SweepManagement/sweepcharges-list/sweepcharges-list.component.html","webpack:///src/app/UploadBranch/branch-bulk-upload/branch-bulk-upload.component.ts","webpack:///src/app/UploadBranch/branch-bulk-upload/branch-bulk-upload.component.html","webpack:///src/app/UploadCustomer/customerbulkupload/customerbulkupload.component.ts","webpack:///src/app/UploadCustomer/customerbulkupload/customerbulkupload.component.html","webpack:///src/app/UploadHoliday/holidaybulk-upload/holidaybulk-upload.component.ts","webpack:///src/app/UploadHoliday/holidaybulk-upload/holidaybulk-upload.component.html","webpack:///src/app/UploadUser/user-bullk-upload/user-bullk-upload.component.ts","webpack:///src/app/UploadUser/user-bullk-upload/user-bullk-upload.component.html","webpack:///src/app/Upload_Account/accountbulkupload/accountbulkupload.component.ts","webpack:///src/app/Upload_Account/accountbulkupload/accountbulkupload.component.html","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/bar-chart-scheme-details/bar-chart-scheme-details.component.ts","webpack:///src/app/bar-chart-scheme-details/bar-chart-scheme-details.component.html","webpack:///src/app/dashboard/dashboard.component.ts","webpack:///src/app/dashboard/dashboard.component.html","webpack:///src/app/layout/default/default.component.ts","webpack:///src/app/layout/default/default.component.html","webpack:///src/app/layout/default/default.module.ts","webpack:///src/app/line-chart-scheme-details/line-chart-scheme-details.component.ts","webpack:///src/app/line-chart-scheme-details/line-chart-scheme-details.component.html","webpack:///src/app/line-chart-sweep-transaction/line-chart-sweep-transaction.component.ts","webpack:///src/app/line-chart-sweep-transaction/line-chart-sweep-transaction.component.html","webpack:///src/app/payments/payments.component.ts","webpack:///src/app/payments/payments.component.html","webpack:///src/app/shared/account-master.service.ts","webpack:///src/app/upload-payments/upload-payments.component.ts","webpack:///src/app/upload-payments/upload-payments.component.html","webpack:///src/environments/environment.ts","webpack:///src/main.ts","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","map","webpackContext","webpackContextResolve","__webpack_require__","o","webpackContextKeys","Object","socialLinks","url","target","icon","DATA_SERVICES","provide","useClass","NbSimpleRoleProvider","NB_CORE_PROVIDERS","forRoot","providers","strategies","setup","name","delay","forms","login","register","accessControl","guest","view","user","parent","create","edit","remove","CoreModule","parentModule","ngModule","imports","declarations","CountryOrderData","EarningData","ElectricityData","OrdersChartData","OrdersProfitChartData","ProfitBarAnimationChartData","ProfitChartData","SecurityCamerasData","SmartTableData","SolarData","StatsBarData","StatsProgressBarData","TemperatureHumidityData","TrafficBarData","TrafficChartData","TrafficListData","UserActivityData","UserData","VisitorsAnalyticsData","CountryOrderService","countriesCategories","countriesCategoriesLength","length","nPoints","Array","from","Math","round","random","country","generateRandomData","EarningService","http","_token","currentDate","Date","currentValue","ONE_DAY","rootURL","apiURL","pieChartData","value","liveUpdateChartData","bitcoin","liveChart","delta","up","dailyIncome","tether","ethereum","elementsNumber","item","generateRandomLiveChartData","getFullYear","getMonth","getDate","join","currency","fnGetSweepVolumeForGraph","subscribe","result","liveUpdateChart","localStorage","setItem","JSON","stringify","data","parse","getItem","defaultResult","Number","type","fnrenewToken","httpOptions","headers","token","get","fnGetStateContributionData","dashboardDataList","GetStateContributionData","ElectricityService","listData","title","months","month","down","kWatts","cost","active","chartPoints","chartData","p","index","label","SERVICES","MockDataModule","OrdersChartService","_encreptdecrept","year","WeekchartLabel","WeeklinesData","MonthchartLabel","MonthlinesData","YearchartLabel","YearlinesData","week","getDataForWeekPeriod","getDataForMonthPeriod","getDataForYearPeriod","encryptUsingAES256","fnGetTransactionDataForGraph","WeekData","chartLabel","forEach","element","push","linesData","MonthData","YearData","labelsArray","labelsArrayLength","step","dataIndex","period","OrdersProfitChartService","ordersChartService","profitChartService","summary","SummaryData","dataList","getOrdersChartData","getProfitChartData","PeriodsService","ProfitBarAnimationChartService","CustomerCountList","CurrentBalanceList","firstLineList","secondLineList","GetTotalNumberOfCustomersForGraph","firstLine","getDataForFirstLine","secondLine","getDataForSecondLine","setTimeout","fnGetTotalNumberOfCustomers","console","log","providedIn","ProfitChartService","SecurityCamerasService","cameras","source","SmartTableService","firstName","lastName","username","email","age","SolarService","StatsBarService","CustomerRelationshipValue","fnGetCustomerRelationshipValue","statsBarData","StatsProgressBarService","ProgressInfoArray","progressInfoData","activeProgress","description","fnGetDataForProgressInfoGraph","ProgressInfoList","TemperatureHumidityService","temperatureDate","min","max","humidityDate","TrafficBarService","WeekStateName","WeekCurrentBalance","MonthStateName","MonthCurrentBalance","YearStateName","YearCurrentBalance","maxCOunt","isweekloaded","ismonthloaded","isyearloaded","fnGetRelationshipValueByRegions","pltBal","labels","formatter","TrafficChartService","TrafficListService","getRandom","roundTo","getDataWeek","getDataMonth","getDataYear","fnGetCustomerCountByRegions","timePeriods","getFirstDateInPeriod","reduce","timePeriod","hasResult","prevDate","comparison","nextDate","prevValue","nextValue","deltaValue","date","abs","UserActivityService","periods","pagesVisitCount","deltaUp","newVisits","getWeeks","generateUserActivityRandomData","days","getMonths","_","getYears","UserService","time","users","nick","picture","eva","jack","lee","alan","kate","types","mobile","home","work","contacts","recentUsers","setHours","VisitorsAnalyticsService","periodService","pieChartValue","innerLinePoints","outerLinePoints","getInnerLineChartData","getOutlineLineChartData","getPieChartData","outerLinePointsLength","monthsLength","monthIndex","fnGetDataForUserAnalyticsGraph","innerLinePointsList","currentMonth","MonthYear","OutlineDataList","OutlineData","pieChartNewUserValue","throwIfAlreadyLoaded","moduleName","AnalyticsService","location","router","enabled","events","pipe","event","ga","hitType","page","path","eventName","LayoutService","layoutSize$","layoutSizeChange$","refCount","next","Track","PlayerService","playlist","artist","cover","current","floor","getNextTrack","getPrevTrack","RippleService","disabled","SeoService","document","platformId","destroy$","isBrowser","dom","createCanonicalTag","complete","linkCanonical","createElement","setAttribute","head","appendChild","getCanonicalUrl","origin","pathname","StateService","directionService","layouts","selected","sidebars","layoutState$","sidebarState$","alive","onDirectionChange","direction","updateSidebarIcons","getDirection","startSidebar","endSidebar","isLtr","LTR","startIconClass","endIconClass","state","asObservable","FooterComponent","selector","styleUrls","template","HeaderComponent","sidebarService","menuService","themeService","userService","layoutService","breakpointService","rippleService","_login","_user","_encrypt","userPictureOnly","UserName","DashboardDirection","LoginRoleName","themes","currentTheme","counterValue","ToggleValue","materialTheme$","onThemeChange","theme","themeName","startsWith","showModalLogout","decryptUsingAES256","LastLoginDate","headingLabel","$","css","eq","find","getBreakpointsMap","xl","onMediaQueryChange","currentBreakpoint","width","isLessThanXl","toggle","changeTheme","click","changeLayoutSize","className","navigateHome","lblMessageLogout","showLogout","hideLogout","UserId","fnUpdateTokenInDb","clear","navigate","displaystart","displayLogin","reload","toggleSidebar","Hide","YesLogout","templateUrl","LayoutDirectionSwitcherComponent","directions","vertical","currentDirection","newDirection","children","setDirection","toggleDirection","SwitcherComponent","valueChange","firstValue","secondValue","isFirstValue","firstValueLabel","secondValueLabel","emit","changeValue","OneColumnLayoutComponent","LogoutPopup","ThreeColumnsLayoutComponent","TwoColumnsLayoutComponent","CapitalizePipe","input","charAt","toUpperCase","slice","toLowerCase","NumberWithCommasPipe","Intl","NumberFormat","format","PluralPipe","pluralLabel","RoundPipe","TimingPipe","minutes","seconds","initZero","palette","primary","success","info","warning","danger","baseTheme","base","variables","fontMain","fontSecondary","bg","bg2","bg3","bg4","border","border2","border3","border4","border5","fg","fgHeading","fgText","fgHighlight","layoutBg","separator","primaryLight","successLight","infoLight","warningLight","dangerLight","baseThemeVariables","MATERIAL_DARK_THEME","temperature","arcFill","arcEmpty","thumbBg","thumbBorder","solar","gradientLeft","gradientRight","shadowColor","secondSeriesFill","radius","traffic","tooltipBg","tooltipBorderColor","tooltipExtraCss","tooltipTextColor","tooltipFontWeight","yAxisSplitLine","lineBg","lineShadowBlur","itemColor","itemBorderColor","itemEmphasisBorderColor","shadowLineDarkBg","shadowLineShadow","gradFrom","gradTo","electricity","tooltipLineColor","tooltipLineWidth","axisLineColor","xAxisTextColor","lineStyle","lineWidth","lineGradFrom","lineGradTo","lineShadow","areaGradFrom","areaGradTo","bubbleMap","titleColor","areaColor","areaHoverColor","areaBorderColor","profitBarAnimationEchart","textColor","firstAnimationBarColor","secondAnimationBarColor","splitLineStyleOpacity","splitLineStyleWidth","splitLineStyleColor","tooltipFontSize","tooltipBorderWidth","trafficBarEchart","gradientFrom","gradientTo","shadow","shadowBlur","axisTextColor","axisFontSize","countryOrders","countryBorderColor","countryFillColor","countryBorderWidth","hoveredCountryBorderColor","hoveredCountryFillColor","hoveredCountryBorderWidth","chartAxisLineColor","chartAxisTextColor","chartAxisFontSize","chartGradientTo","chartGradientFrom","chartAxisSplitLine","chartShadowLineColor","chartLineBottomShadowColor","chartInnerLineColor","echarts","splitLineColor","itemHoverShadowColor","tooltipBackgroundColor","areaOpacity","chartjs","orders","firstAreaGradFrom","firstAreaGradTo","firstShadowLineDarkBg","secondLineGradFrom","secondLineGradTo","secondAreaGradFrom","secondAreaGradTo","secondShadowLineDarkBg","thirdLineGradFrom","thirdLineGradTo","thirdAreaGradFrom","thirdAreaGradTo","thirdShadowLineDarkBg","profit","firstLineGradFrom","firstLineGradTo","firstLineShadow","secondLineShadow","thirdLineShadow","orderProfitLegend","firstItem","secondItem","thirdItem","visitors","innerLineStyle","innerLineWidth","innerAreaGradFrom","innerAreaGradTo","visitorsLegend","firstIcon","secondIcon","visitorsPie","firstPieGradientLeft","firstPieGradientRight","firstPieShadowColor","firstPieRadius","secondPieGradientLeft","secondPieGradientRight","secondPieShadowColor","secondPieRadius","shadowOffsetX","shadowOffsetY","visitorsPieLegend","firstSection","secondSection","earningPie","center","fontSize","thirdPieGradientLeft","thirdPieGradientRight","thirdPieShadowColor","earningLine","MATERIAL_LIGHT_THEME","CORPORATE_THEME","COSMIC_THEME","DARK_THEME","DEFAULT_THEME","NB_MODULES","COMPONENTS","PIPES","ThemeModule","AccountLinkMasterComponent","_customerService","_accountLinkMaster","_roleAccess","_spinner","today","myDpOptions","dateRange","dateFormat","disableSince","day","AccountLinkingList","FilteredAccountLinkList","allCustList","ascendingOrder","checkedList","BulkDelete","LoginUserID","AccountLinkStatus","IsShowBulkExecutionToChecker","showModal","ready","focus","showMsg","showerrormsg","is","AccountLink","ClearAccLinkStatus","show","onTop","removeItem","fnGetCustomerDataForAClink","customerList","err","GetPrivillageRoles","fnGetAccountLinkStatus","config","itemsPerPage","currentPage","ddlshowvalue","ddlshowStartValue","sortTableAccountLinkMst","fnGetRoleAccess","roleAccess","RoleAccess","CheckerPrivillage","CheckerAccess","EditPriv","EditAccess","DeletePrivllage","DeleteAccess","AddPrivillage","AddAccess","SweepExecutionPrivillage","SweepExecutionAccess","ViewAccess","ViewPrivllage","AccountLinkList","navigateByUrl","skipLocationChange","fnGetAccountLinkList","accountsLink","ele","i","IsaccLinkSelected","status","IsAuthorizeDisable","sweepStatus","AccLinkSweepStatus","isGearMenuVisible","AccLinkStatusName","CreatedById","isAuthorizeVisible","aclinkinglist","filter","row","lengthAcLinkList","undefined","listLengthForSelect","OnSearch","hide","CustomerName","Name","CreatedName","CustomerStatus","pageChanged","match","AccLinkName","toLocaleLowerCase","CreatedBy","CreatedDate","singleDate","formatted","searchCount","toString","filterCount","accountLinkMaster","AccountType","AclinkId","CustomerId","window","scroll","top","left","behavior","showModalForAllDelete","isActive","AllCheckAccount","fnDeleteAccountLinkMaster","res","lblMessage","showlbl","AllDeletehide","AllDeleteShow","accountlinMaster","acclinkId","lblMessageDelete","newObj","field","obj","lastSortedByField","sort","a","b","AllSelected","accLinkSelected","getCheckedItemList","ConfirmationMsg","charCode","formData","OutputJson","Comments","DateCreated","UpdatedBy","UpdatedDate","Oldcomment","StructorId","StructorName","Priority","InactiveCustomer","IsEditDisabled","UpdatedById","SweepExecutionApproval","NewAccLinkName","IsAcLinkSelected","IsDisableCheckbox","SweepApprovalRequestedBy","RefAclinkId","IsLastApproved","accountsLinkStatus","mxDate","inputDate","jsDate","futureDateError","disabledsearchbtn","viewMode","navigationExtras","queryParams","hidelbl","hideerror","checkDateValidity","onKeyDown","fnShowonchange","fnSortAccountLinkMaster","DeleteAccountLinkMasterMethod","AllDeleteConfirm","AccountlinkComponent","httpService","_AccountService","_schemeLinkService","TTUMCopyUrl","TTUMUrl","sweepmethodList","showUpdatedDiv","showCreatedDiv","divCommenthideshow","showSweepAndReversSweepButton","Status","IsEdit","IsViewMode","CommentView","IsSendForApproval","IsSweepMode","AllStructorTypes","isSavePropertyButtonShow","AccountTypeList","FilteredAccountTypeList","IsCustomerInactive","aclinkname","IsCreatedByOtherChecker","buttonValue","IsSweepReqByLoginUser","IsSweepBalanceApproved","SweepBalanceVerify","IsReverseBalanceApproved","ReverseBalanceVerify","DeleteVerify","OldAccLinkName","BackPageValue","IsAuthorize","Is4eyeCustomer","MinsweepAmountValue","viewModeAccess","lbltitle","acLinkId","custpkId","LoginUserId","EditedformData","parseInt","GetCustomerList","StructorType","DownloadTTUM","fnGetSweepMethodSiteConfiguration","BackPage","hideSweep","userid","newMsg","fnGetAccountLinkMaster","aclinkObj","AccountLinkClassObj","GetAccounlinkMasterAfterSweep","split","form","IsConfirm","aclinkName","replace","lbl1","lbl2","values","controls","control","markAsTouched","Save","hideRevserSweep","resetTree","list","x","CustPkId","fnGetAccountListForAccountLink","response","Accounts","AccountsList","FilteredAccountList","fnGetAccountLinkMasterMaxPriority","maxPriority","HideShowAccountsfromLeftPanel","getAllProperties","getAllPropertiesEdited","openNav","closeNav","fnDuplicateAccountLinkName","hideResetTree","fnResetTree","AccLink","GetAccounlinkMaster","fnGetAccountLinkMasterEdited","aclinkMasterObj","list1","dbStructType","IsCheckerCreate","getAllPropertiesOnSweepMode","IsCheckerRole","GetAccountLinkingMasterData","showSweepModal","showReverseSweepModal","flowy","output","showModalClearTree","showError","fnResetTreelable","msg","resetTreeLbl","showModalResetTree","accountsList","accountTypeObj","AccountTypeName","AccountTypeValue","accTypeValue","hideClearTree","fnGetStructorType","getElementById","IsMinSweepAmountValue","SaveAccountProperties","fndownloadTTUM","ttumFile","disabledTTUMFile","TTUMnewUrl","TTUMfnName","href","attr","fnAccountLinkNameduplicate","sweepName","SweepBalance","ReverseSweepBalance","StuctorId","IsRTGSEnable","triggerPoint","sweepDirection","style","display","checked","changeTriggerPoint","backbutton","SelectCustomer","SelectAccountType","SelectStructorType","ClearTreeStructure","resetToOrginal","hidelblerror","encapsulation","None","AddAccountComponent","_routeWithQuerystring","_userService","allBranchList","editedAccountInfo","accountNumlength","validStatus","IsCustomerInActive","hiddenCurrentBalance","AccountExistInAclink","AccountLinkNameList","CurrentBalanceValue","isValueChange","AccNameContainsOnlySpace","key","Utf8","iv","decString","decrypted","decrypt","keySize","mode","CBC","padding","Pkcs7","editedAcountId","params","disableButton","disableClear","lblTitle","fnGetCustomerName","fncheckUserType","fnGetBranchName","includes","fnGetCustomerListForDropdown","loginUser_UserType","BranchId","loginUser_UserTypeBranchId","fnGetUserData","Users","branchselectblock","branchId","decryptUserID","fnGetAccountList","accounts","showApprovalInfo","AccountStatus","CurrentBalance","IsPendingStatus","String","reviewStatus","pendingStatus","deletePending","buttonvalue","AccountNumber","disableStatus","AccountId","ContactPerson","MobileNumber","EmailId","AccountName","BranchName","CurrencyCode","BaseCurrency","ForeignCurrency","AccountDiscription","BranchCode","CorporationCode","btnTitle","IsNegative","userId","IsAccountTypeDisable","filterStatus","filterNewStatus","RequestType","UpdatedName","IsAccountSelected","BankName","IFSCCode","IsCorrespondentBank","AccountlistCount","ParentAccountNumber","editedAccountId","fnGetEditedAccountValue","editemail","fnIsIDBIBank","fnGetCreatedNUpdatedAccount","fnGetAccountInfobyAccountId","GetEditedAccountMasterValues","bal","which","keyCode","addCurrency","resetForm","acconutstatus","valid","fnAccountNameduplicate","AccName","fnAccountNumberduplicate","IsAccountNumberExist","hdnCurrentBalance","fnSaveAccountMasterDetails","fnPageRefresh","error","fnGetCreatedUpdateAccount","userdates","AccountCreatedUpdated1","createdDate","userNameCreated","usernameUpdte","updtedDate","fnFetchBalance","alert","AccNumber","trim","fnAccountExistinAccountLink","aclinkNameList","returnValue","preventDefault","BackButton","onSubmit","fnHideSuccessMsg","fnAccountName","onBlurEvent","countAccountNumber","fnAccountExistINAcLinkMaster","handleKeyboardEvent","checkStatusVlidaity","Document","ManageAccountComponent","SpinnerService","_encryption","_PaginationService","ngbDateParserFormatter","ExportAccounts","FilterExportAccounts","ComingFromExport","pageNo","pageNumber","sortOrder","order","pageField","orderBy","ComingFromLast","ComingFromFirst","IndentId","AccountMaster","sortTableAccountMst","temppage","showModalDelete","AllAccchk","AddImportAccess","AddExportAccess","PrivillageImportExportdv","AccountList","IndentRecordsList","CreatedData","CorpCode","requestType","SortOrder","IsDisableAccount","j","deleteIconDisable","totalCount","totalNoOfPages","ddlDropdownValue","getCheckedBulkAuthorize","AddEditBulkApproval","AddEditBulkApprovalLabel","GetHistoryPrivillage","showBackButton","fnGetIndentAccountList","Account","accountId","fnDeleteAccount","showFirstPage","comingFromPreAndNext","accountType","ddlValue","fileName","ws","table_to_sheet","tblAccountMasterhide","nativeElement","wb","book_new","book_append_sheet","blob","Blob","innerHTML","DATA","tblAccountMasterhidepdf","doc","handleElement","renderer","fromHTML","save","fnGetAccountListForExport","account","exportaccount","AccountSelected","fnBulkDeleteAccount","checkall","singleCheck","checkedBulkList","selectAccountList","fnBulkAccountAuthorize","AuthorizeStatus","UncheckAllcheckbox","LoginAccessList","menuName","moduleList","HistoryPrivllage","trigger","pageNumberShow","paginationData","tempPageData","toFixed","exactPageList","disabledPrevBtn","disabledNextBtn","pageOnLoad","showNoOfCurrentPage","FirstValue","ceil","LastValue","NewAccountMaster","sortByHeading","DeleteAccountMethod","BulkAuthorizeConfirm","SweepExecutionComponent","SelectStatus","VerifyStatus","IsSubmitted","allStatus","AddEditAccess","isCheckerBulkRequest","AllCustomerSelect","TriggerPointList","CustselectedItems","TriggerPointselectedItems","CustomerdropdownSettings","TriggerPointdropdownSettings","is4EyeCustomer","OtherUserAccountLink","CustomerType","showApprovalButton","AccountlinkLists1","isAccLinkApproved","AcLinkSelected","DisableSweepReverseButton","showErrorMsg","singleSelection","idField","textField","selectAllText","unSelectAllText","itemsShowLimit","allowSearchFilter","enableCheckAll","items","SelectCustomerType","custObj","AccountLinkId","showSuccessModal","fnSweepExecute","message","showErrorlbl","fnBulkSweepExecute","hideReverseSweep","fnReverseSweepExecute","sts","fnUpdateBulkStatusOfAccountLink","string","ShowSuccessModal","VerifyBulkApprovalLabel","SelectedStatus","fnUpdateStatus","getCustomerList","Type","ActionType","isAlldisable","fnActionType","isExistCustomer","SelectCustomers","Id","BankButton","hideErrorlbl","checkUncheckAllBulkApproval","Sweep","ReverseSweep","HideSuccessModal","SendforApprovalFunction","LoginDetails","Email","FirstName","LastName","Constants","tokenURL","InvoiceCopyUrl","tokenExpiryTime","MustMatchDirective","mustMatch","formGroup","useExisting","multi","MustMatch","controlName","matchingControlName","matchingControl","errors","setErrors","NumberDirective","_el","initalValue","stopPropagation","ErrorPageComponent","IndexComponent","userID","fnGetLoginUserID","LoginPageComponent","_cookie","LoginData","isLogin","Invalid","DisbaleID","errorMsg","emailpattern","mobNumberPattern","isRememberme","loginUserName","InvaidAttempt","loginUserType","isCorporateUser","userOtp","showOTPSuccess","userNameFromCookie","passwordFromCookie","loginPassword","forgotPasswordShowModal","validationMessage","forgotPassWordModal","password","encrypted","encrypt","encryptPass","GetToken","usertype","access_token","token_type","dateTime","sessionStorage","Login","set","post","Return_Device","test","navigator","userAgent","timer","NavigateToIndex","currentTarget","showForgotPass","username1","markAsUntouched","forgotPasswordUserName","forgotPasswordMobileNumber","mobileNumber","fnForgotPassword","resetUserid","userExist","ForgotPasswordHideModal","resetOTPShowmodal","resetOTPModal","_tokenMsg","fnValidateToken","tokenMatched","OTPtimer","pswd","actpswd","fval","repVal","lastIndexOf","substring","numberOnly","ForgotPasswordValidation","resetOTPHideModal","ValidateToken","ResetPasswordComponent","fnUpdatePassword","SignUpComponent","_userServive","signUpForm","MiddleName","Password","CnfrmPassword","Gender","BirthDate","AltMobileNumber","Address","AltAddress","CountryId","StateId","CityId","Pincode","fnUserRegisteration","SiteConfigurationComponent","_Siteconfig","SweepTransaction","GetSiteConfiguration","GetSiteConfigurationDetail","ModalForBOD","BODvalue","BODTimeTrue","BODTime","BODExecutionType","defaultBODTime","_savedTimeBOD","_savedBODTimeObject","hour","minute","EODvalue","EODTimeTrue","EODTime","EODExecutionType","defaultEODTime","_savedTimeEOD","_savedEODTimeObject","SiteConfId","SweepMethod","SweepTransactionToCustomer","DateFrom","DateTo","IsFinancialYear","CBSIntegration","FinancialCalender","_savedStartDateFROM","isRange","epoc","Datefrom","toObject","years","_savedStartDateTO","newObj1","fnGetSiteConfigurationDetails","BODSweepExecution_value","EODSweepExecution_value","fnGetCreatedNUpdatedSiteconfigutaion","_savedStartDate","Calenderchecklabel","checkUncheckSweepTransaction","BODchangeToAuto","EODchangeToAuto","_savedStartTime","_savedStartTimeObject","_savedStartTime1","_savedStartTimeObject1","newdate1","newdate2","newBODTime","newEODTime","fnSaveSiteConfigurationDetails","Message","Siteconfig","fnGetCreatedUpdateSiteConfig","SiteconfigCreatedUpdated","Calendercheck","BODSweepExecutionchange","EODSweepExecutionchange","CancelButton","close","BranchMasterComponent","_branchService","_allServiceMasterApi","bankNameDisable","submitted","CorrespondentBank","HiddenClr","countryList","stateList","cityList","isDisabledState","isValidbank","showStatusDiv","editedBranchInfo","IsAnyOneSelected","OLDRTGS","IsCheckerCustomer","iUserId","editedBranchId","branchFlag","fnGetCreatedNUpdatedBranch","Correspondent","RTGS","NewBranchMaster","fncountry","fnGetBranchData","allbranchdetails","ReviewStatus","GetEditedBranchMasterValues","BICCode","MICRCode","Address1","Address2","Country","State","City","CurrentBranchId","IsBranchExistInAccount","LoggedInUser","BranchNewStatus","_val","disbankNameDisable","showIfscCode","fnIsBranchCodeExists","fnSaveBranchMasterDetails","fnIsBranchCodeExistsEditMode","fnGetCountryMaster","allCountry","fnGetStateMaster","allState","fnGetCityMaster","allCity","k","fnGetCreatedUpdateBranchc","BranchCreatedUpdated1","GetBranchInformation","fnGetEditedBranchValue","GetBranchStateNCountry","fnstate","fncity","IFSCCodes","fnGetIFSCCode","ifscData","IsSelected","IDI_IFSC_CODE","showIfscModal","ifsccode","NoOneSelected","hideIfscModal","IDI_BRANCH_CODE","fnselectIFSCCode","ifscData1","jQuery","prop","EnableTextbox","blur","branchForm","CorrespondentRadio","RemoveIFSCCOde","DisableTextbox","ifsccodevalue","omit_special_char","fnIFSCCodeList","$event","StateCity","OnStatechange","isselect","CustomerMappingComponent","_UserCustomerService","route","_allMasterApiService","CustomersForSelect","FilterCustomer","AllSelectedFilterCustomer","_custfillter","mspCustomer","fnGetAllCity","fnGetAllState","encryptUserId","decryptUserId","fnGetAllCustomer","customerSelected","fnGetCustomerListForUser","isCustomerSelected","mapCustomer","StateN","StateList","_mapCutomerType","IsCustomerSelected","showValidation","postData","custList","CustObj","fnAddUserCustomer","hideValidationmsg","fnGetAllCityMaster","AllCity","fnGetAllStateMaster","AllState","checkUncheckAllCustomer","CustomerMasterComponent","_roleQuerystring","model","validDate","isError","errorMessage","HideClr","editedCustomerInfo","checkFormData","isnum","maxDate","editedCustomerId","CustomerFlag","viewModeValue","GeCustomerInfo","GetEditedCustomerInfo","GetEditedCustomerMasterValues","fnGetEditedCustomerMasterValues","DateOfEshtablishment","EditedEshtablishmentDate","GetCustomerStateNCountry","fnGetCreatedNUpatedDateOfCustomerMaster","CustomerCreatedUpdated","fnGetCustomerData","allCustomers","EshtablishmentDate","sweepapproval","FundDisbursementApproval","fundapproval","Description","SweepChargeId","SweepChargeType","Rate","SweepChargeStatus","SweepChargereviewstatus","d","newdate","fnCheckCorporationCodeExists","isCodeExist","createdBy","fnSaveCustomerMasterDetails","fnzipcode","EditBranchMasterComponent","_BranchId","fnViewBranchMaster","fnGetBranchDetailsById","setValue","HolidayMasterSetupComponent","_holidayService","fromDate","toDate","disbaleName","isValidDate","isAllDataValid","validDateFrom","validDateTo","editedHolidayInfo","filterBranchList","IsSingleDay","IsMultiDay","leave","futureDateErrorTo","futureDateErrorFrom","DecryptUserId","editedHolidayId","HolidayEditView","IsHolidayWorking","HolidayType","vBranchCode","showModalWoking","NoDays","Holiday","moreDayOption","oneDayOption","oneDay","First","firstDate","Second","secondDate","firstDateFrom","secondDateTo","validateDates","lblMessageWorking","YESWorkingHoliday","showwoking","getHolidayHistory","fnGetHolidayData","allHoliday","CountryName","formatedDate","formatedFrDate","formatedToDate","GetEditedHolidayMasterValues","HolidayId","Leave","displaycheckboxForHoliday","IsHolidaySelected","StateName","CityName","CorrespondentName","IsHolidayWorkingName","HolidayNewStatus","fnGetCreatedNUpatedDateOfHolidayMaster","holidayDate","holidayId","fnSaveHolidayAsWorking","hidewoking","DupHolidayId","DubLeave","DubBankName","DubBranchName","dubDateFrom","dubDateTo","fnGHolidayAlreadyExist","IsHolidayExist","HolidayExist","fnSaveHolidayMasterDetails","_savedStartDate1","_savedStartDate2","newObj2","sDate","eDate","fnGetEditedHolidayValue","GetHoildayDetails","brcId","fnBranchCode","onechk","morechk","YesHoliday","YESWorking","HolidayMasterComponent","myDpOptions1","todayDate","FilteredHolidayList","ExportHoliday","FilterExportHoliday","sortTableHolidayMst","holiday","AllHolidayCheck","fnDeleteHoliday","HolidayReviewstatus","lblMessageDeletesuccess","redlblMessage","showerror","HolidayName","HolidayDate","IsholidayDisabled","makerchecherDisabled","HolidayListCount","deleteDisable","fnGetHolidayDataForExport","IsUserDisabled","ReqType","DateFroExportSearch","HolidayDateFroExportSearch","fnGetAllHolidayDetails","MappingPriv","HolidayListForExport","tblHolidayMasterhide","tblHolidayMasterhidepdf","HolidaySelected","selectHolidayList","fnBulkUHolidayAuthorize","confirm","fnHolidayasWorking","removeonchange","NewHoliday","DeleteHolidayMethod","ManageAccessComponent","FilterAccountList","makerSelected","CheckerSelected","listLength","val","MakerValue","isCheckerSelected","CheckerValue","isMakerSelected","UserRoleAccessAccountList","UserAccessObj","EmptyDataMsg","checkUncheckAllMaker","checkUncheckAllChecker","ManageBranchMasterComponent","FilteredBranchList","SelectedCorrespondent","IsComingFromExport","ExportBranch","FilterExportBranch","_Name","BranchMaster","sortTableBranchMst","branch","fnGetBranchDetails","showModalInformation","_Val","IsBranchSelected","IsBranchDisabled","IsUserSelected","BranchListCount","BulkApprovalAuthorize","flag","AllBranchCheck","LoginId","fnDeleteBulkBranchDataById","BranchSelected","BranchStatus","showDelete","fnIsBranchInUsed","IsBranchInUsed","fnDeleteBranchDetailsById","hideDelete","BrachName","BicCode","dateForExport","fnGetBranchDataForExport","Branch","ExportForBranch","tblBranchMasterhide","ExportForBranchPDF","tblBranchMasterhidepdf","BrachId","ExportAllCheckboxCheck","ExportOneCheckbox","selectBranchList","fnBulkBranchAuthorize","fnConfirmDelete","hideInformation","ManageCustomerMasterComponent","_chargesService","FilteredCustList","chargeTypeList","isComingFromCheckbox","ExportCustomerList","FilterExportCustomerList","Customer","fnGetAllChargeType","sortTableCustomerMst","fnGetAllCustomerDetails","cust","AllCustChk","fnDeleteCustomer","CustomerSelected","ExportCreatedDate","fnGetCustomerDataExport","allcustomer","IsCustomerDisable","SweepchargesDisabled","CustomerListCount","swobj","SweepCharges","ChargesMethod","FrequencyId","Frequency","TypeId","TypeName","RangeType","OldChargesMethodName","OldRate","OldFrequency","OldChargeType","OldRangeType","IsApproved","WithEffectDate","flatChargeObj","FromRange","ToRange","Total","sweepChargeLsts","fnGetChargeTypeData","charge","ExportCustomer","tblCustomerMasterhide","ExportCustomerPDF","tblCustomerMasterhidepdf","inputDate1","splitDate1","day1","month1","year1","FromDatechk","MaxSdate","CreatedDateError","fromDateError","SelectAllBulkCheckbox","CustId","isCustomerCheckbox","check","selectCustumerList","fnBulkAuthorize","inputDate2","NewCustomer","DeleteCustomerMethod","ManageRoleMasterComponent","_roleService","allRoleList","filterRoleList","RoleInUsedMessage","DeleteCount","RoleMaster","fnGetAllRole","sortTableRoleMst","roleID","roleName","IsRoleSelected","Role","editStatus","IsRoleDisable","RoleSelected","RoleName","IsActive","Createdby","GetRolesWithStatus","RoleListCount","fnDeleteRoleDetailsById","_roleID","iRoleId","fnIsRoleInUsed","IsRoleInUsed","tblRoleMaster","canvas","imgWidth","pageHeight","imgHeight","height","heightLeft","contentDataURL","toDataURL","pdf","position","addImage","selectdeselect","fndownloadReport","NewRoleMaster","ManageUserMasterComponent","allUsers","FilteredUserList","Roles","Roles2","ExportUsers","FilterExportUsers","UsreMaster","sortTableUserMst","checkerAccess","fnGetAllUserDetails","RoleId","TransactionLimit","limit","UserType","BankCorpUser","BranchUser","UserTypedesc","UserTypeName","formatedBithDate","RoleNames","UserlistCount","User","Phone","loggedInUserDisable","UserModel","UserStatus","fnDeleteUserMasterDetails","showDeleteMsg","chkValue","lblDeleteMessage","showDeletelbl","UserSelected","dateForExportSearch","fnGetUserListForExport","ExportForUser","tblUserMasterhide","ExportUserPDF","tblUserMasterhidepdf","ExportAllCheckbox","selectUserList","fnBulkUserAuthorize","hideDeletelbl","NewUser","DeleteConfirm","RoleMasterComponent","ModuleList","FilteredModuleList","editedRoleId","roleFlag","editRoleName","editRoleStatus","fnGetRoleName","fnGetCreatedNUpdatedRole","editMode","Add","IsAddSelected","Edit","IsEditSelected","View","IsViewSelected","Delete","IsDeleteSelected","Checker","IsCheckerSelected","Import","IsImportSelected","Export","IsExportSelected","SweepExecute","IsSweepExecuteSelected","fnGetModule","moduleListLength","editedroleid","fnGetAllRoleMaster","isChecked","ModuleId","CheckListLength","showValidationmsg","IsValidFlag","fnRoleNameduplicate","ErrorMsg","RoleList","roleObj","fnInsertUpdateRole","fnRoleInUsed","roleId","fnGetCreatedNUpdatedRoleMaster","RoleCreatedUpdated1","ModuleName","SweepChargesMasterComponent","_sweepChargesService","txtRate","IsFlatduplicate","disabledfourinone","enabledisableFlatRange","enabledisableothercharges","_disabledflatrange","allChargeType","dynamicArray","newDynamic","allFrequency","allType","editedSweepChargesInfo","_CustId","_CustName","fnNewSweepCharges","fnGetFrequencyTypeData","loadTime","performance","timing","domContentLoadedEventEnd","navigationStart","divFrequ","divType","divFlatFee","divhideshow","lblAsperName","fnRateType","FromRangemsg","IsFlatFromRangeExceed","ToRangemsg","IsFlatToRangeExceed","RateRangemsg","IsRateRangeExceed","Rangemsg","divCount","splice","frequencylst","typelst","iChargeId","isNaN","fnGetChargeTypeById","_oldFrequency","_oldChargeType","_oldRangeType","OldsweepChargeLsts","fnGetEditedSweepChargeTypeById","swpClassObje","fnInsertUpdateSweepCharges","fnGetCreatedNUpdatedSweep","_FromRange","_ToRange","freqval","typeval","_rateMargin","rateType","fromPlaceHolder","fromToName","rateLable","_ichargedId","_customerId","sId","fnGetCreatedUpdateSweep","SweepCreatedUpdated1","fnonChargesMethodchange","UserMasterComponent","_masterService","Rolesedit","Rolesedit1","Rolesave","bankcorporatelist","editedUserInfo","Roles21","roleLabel","selfCheckerShuoldNotDisplay","showStatusMessage","minDate","editedUserId","UserEditView","fnGetRoles","GetUserDataByUserId","fnUserTypeDetails","loginUser_UserTypeCorpId","bankblock","corpblock","branchblock","corpselectblock","fnBankCorporateUser","hidelist","hideBranch","male","dateParts","_userType","_userType1","fnonUserTypechange","decryptUserIDs","fnCreatedByUpdatedBy","fnGetRoleByUserId","role","formatedGender","setButtonValue","fnGetEditedUserData","editedUser","UserShowDummyPassword","fnEditedUserTypeDetails","arr","duplicatesIndices","comparisonIndex","currentKeys","comparisonKeys","currentKeysString","comparisonKeysString","valuesEqual","pass","fnEmailExists","password1","GetfnUserPasswordExist","fnSaveUserMasterDetails","fnGetCreatedNUpdatedUserMaster","UserCreatedUpdated1","ret","fnGetOldRoleByUserId","MaleRadio","passwordToStar","ConfimrPasswordToStar","selectOldrole","ViewBranchMasterComponent","AccountLinkMaster","AccountRelation","AccoutnLinkClass","SweepMethodClass","BizRuleService","SchemeId","FromAccountId","encryptSchemeId","encryptFromAccountId","encryptRuleId","RuleID","RuleId","frequency","schemeId","encryptfrequency","ruleId","SchemeAcLinkid","encryptSchemeAcLinkid","RuleName","HolidayService","encryptHolidayId","PageNo","PageSize","loginId","encryptReviewStatus","put","uploadHoliday","headerColumns","UserID","encryptBranchId","encryptStatus","listAccount","decHolidayId","decLeave","decBankName","decBranchId","decDate","decDateFrom","decDateTo","LoginService","menuModuleListForDashboard","resetUserId","uid","ForgotPassword","SiteConfigurationService","AccountLinkMasterService","customerId","custid","AcLinkId","acclinkList","accLinkName","accLinkId","aclinkid","custId","Accountlink","TriggerPoints","AccountMasterService","accauditrootURL","corpCode","_userId","_CustomerId","uploadAccount","accNumber","accName","accId","AllMasterApiService","MINUTES_UNITL_AUTO_LOGOUT","CHECK_INTERVAL","STORE_KEY","AutoLogoutService","initListener","initInterval","now","lastAction","body","addEventListener","reset","setLastAction","setInterval","timeleft","getLastAction","diff","isTimeout","BranchService","branchID","branchMaster","loginUserId","uploadBranch","iBranchId","bankname","branchname","ifscCode","transactionType","ChargesSweepService","chargeTypeId","sweepcharges","SweepID","CustomerService","editCustomerId","editedcustId","customerid","Code","uploadCustomer","listCustomer","CustPKId","CustomvalidationService","UserEmailList","userControl","validateUserName","userNameNotAvailable","userName","UserList","indexOf","EncryptdecryptService","encryptString","FundDisbursmentService","RequestDate","Amount","encryptFundId","editid","FundId","deleteid","FromAccId","ToAccId","PaymentsService","payment","payments","RoleAccessService","pageName","RoleService","httpHeaders","rolId","SchemeAccountLinkService","scAclinkId","scAccountId","scAccountid","sclinkId","Data","SchemeMasterService","schedmeid","SchemeID","SchemeName","DecryptSchemeName","DecryptSchemeId","SweepChargesModelService","customerName","chargeStatus","waiveOffStatus","pageSize","custName","encryptedcustomerId","pagenumber","checkedWaiveOffList","comment","sweepChargeType","FlatSweepCharges","SweepChargesClass","FrequencyTypecls","EditedSweepChargesClass","EditedSweepCharges","SweepCreatedUpdated","TokenService","fromObject","grant_type","handleError","toPromise","error_description","getTokenExpiryTime","tokenExipryTimeForCalculatin","currentTime","tokenGeneratedTime","dif","getTime","Seconds_from_T1_to_T2","Seconds_Between_Dates","expiryTimeToken","differenceSeconds","RenewToken","renewTokenTime","UserCustomerService","Mobile","loggedinUserId","userSignUp","uploadUser","vEmail","vMobile","UserMasterid","UserauditreportService","ValidateUserNameDirective","customValidator","userNameValidator","PaginationService","pageNumberPerPage","showPageOnlyOntabsChange","lastPage","prevtrue","nexttrue","AccountAuditReportComponent","_AccountAuditService","DpOptions1","accountAudit","FilteredAccountAuditReports","AuditAccId","encryptAuditAccId","decryptAuditAccId","fnAccountAuditReport","fnGetAccountAuditHistory","sortTableAccountAuditReport","BackBtnDisplay","showAccountNameFiled","AuditFormData","fieldValue","oldValue","newValue","action","modifiedUser","allaccount","Action","CretedDate","fnSortAccountAuditRpt","CustomerAuditReportComponent","EditAuditCustId","encryptAuditcustomerId","decryptAuditCustomerId","custAuditReport","GetAuditHistory","sortTableCustomerAuditReport","showCustomerNameFiled","FilteredCutomerAuditReports","fnGetUserAuditHistory","customerAuditReport","custoformData","CreatedUser","fnSortCustomerAuditSummaryRpt","PaymentsReportComponent","_PaymentsReportsService","datePipe","_PaymentsService","FromDate","ToDate","allPaymentsReports","FilteredPaymentsReports","getMethod","GetAccounts","fnGetAllPaymentsReports","DebitAccountNumber","CreditAccountNumber","RefNo","ExecutionDate","datefilter","StructureTypeName","dtFrmDate","dtToDate","tblAccountMaster","tblPaymentsRpthidepdf","n","table","hdr","rows","cells","html","sortTablePaymentsRpt","getAccounts","checkValidFromDate","checkValidDate","fnSortPaymentsRpt","RuleSummaryReportsComponent","_ruleSummaryReportsService","getSummaryReports","FilteredRuleSummaryReports","allSchemeList","GetSchemeList","RulesSummaryReports","fnGetSummaryReports","sortTableRuleSummaryRpt","clickRulesummary","fnGetSchemeList","schemeList","TrancationType","TransactionType","ExecutionDetail","fnGetRulesSummaryReports","rule","FromAccountType","Field","Condition","Value","ToAccountType","ToAccountId","TransactionAmount","IsFailed","FromAccountName","ToAccountName","ParentBalance","ChildBalance","fnSortruleSummaryRpt","SweepsummaryreportsComponent","_SweepSummaryReportsService","allSweepSummaryReports","FilteredSweepSummaryReports","fnGetAllsweepSummaryReports","FromAccountNumber","ToAccountNumber","BalanceTransfer","IntrestRate","IntrestType","IntrestAmount","SweepCharge","SweepMessage","SweepStatus","UTRNo","fnGetAllSweepSummaryReports","allsweepSummaryReports","tblSweepSummaryRpthidepdf","sortTableSweepSummaryRpt","fnOpengearMenu","fnsubOpengearMenu","fnSortSweepSummaryRpt","UserAuditReportComponent","_userAudit","AuditUserId","userAudit","decryptAuditId","encryptAuditUserId","decryptAuditUserId","UserAuditReport","sortTableUserAuditReport","FilteredUserAuditReports","fnSortUserAuditSummaryRpt","PaymentsReports","PaymentsReportService","ruleSummaryReportService","SweepSurmmaryReportsService","AddRuleMasterComponent","_bizRuleServic","_accountService","FromAccountNumberList","TOAccountNumberList","validAccount","isIDBIACcount","childSelectOnParentDropdown","childAccountCreditOrDebit","editRuleId","editRuleFlag","corrporationCode","schemeID","schemeAcLinkId","GetBIZRuleData","fngetCreatedByUpdatedBy","fnGetBizRuleBySchemeId","ToSAccountNumber","TransferType","isReadOnlyModeTransactionType","TxValue","fromAccNumber","ParentBudgetAmt","ChildBudgetAmt","TransferTypeValue","AllChildAccountList","l","ParentAccount","IsIDBIAccount","showParentAccountNumber","FilterParentAccount","FilterChildAccount","ChildAccount","TransactionTypeChange","fnAccount","FromAccount","ToAccount","fromID","toID","fnGetBIZRulePriority","fnDublcateRuleName","RuleNameExist","fnSaveBIZMasterDetails","fnGetCreatedNUpdatedNBIZRuleMaster","BizRuleCreatedUpdated1","tranferType","isIDBIAccountCredit","disableTrancastion","MaxPriority","AddSchemeComponent","_schemeMasterService","editedSchemeInfo","IsEditApproved","editedSchemeId","fnGetCreatedNUpdatedScheme","lblNameTitle","schedmid","fnGetSchemeBySchemeId","ChangeCorporationCode","StatusTitle","SchemestartDate","SchemeStartDate","reviewstatus","BudgetAmount","UtilizedAmount","UnutilizedAmount","TransferLimit","SweepAmount","Updatedby","SchAccLinkId","SchAccLinkStatus","SchAccLinkStatusTitle","sclinkCreatedBy","outputjson","schemeid","fnGetEditedSchemeBySchemeId","fnGetAccountListForSchemeParentAccount","EditedSchemeStartDate","fnGetCustomerCorporationCode","GetEditedSchemeData","AccountBalance","accountNo","fnSchemeNameduplicate","schemeExist","fnAddEditScheme","SchemeCreatedUpdated1","GetSchemeData","ChangeUnulizedAmount","AccountIdChange","handleKeyboardEventForUnutilized","CheckDateValidity","ManageRuleMasterComponent","_SchemeService","FilteredRule","IsDisplayExecutionRule","FilteredRuleForExecute","ShowBulkRuleExecution","ddlshowDropdownValues","BulkRuleExecutionDetail","BulkRuleExecsummary","GetBizRule","sortTableRuleMst","fnGetSchemMasterList","Scheme","bizRule","AllBIZRule","fnDeleteBIZRule","fnSaveBIZRuleExecute","RuleExecutionDetail","RuleExecsummary","showRuleEx","HideBulkExecuteModal","fnSaveBIZBulkRuleExecute","failedlist","passlist","partialList","showBulkRuleExecute","schemId","fromAccountId","fnGetBIZRuleData","disableExecutionRule","IsdisableExecutionRule","disableExecutionicon","IsruleUserSelected","showbulkExecute","showRuleExecute","showbulkRuleExecute","RuleSelected","IsRuleSelected","ruleSelected","getCheckedBulkRule","viewReport","NewRulesMaster","fnSortRuleMaster","DeleteBIZRuleMethod","hideRuleExecute","BulkExecuteRule","hideBulkRuleExecute","ManageSchemeComponent","allScheme","FilteredScheme","smdate","BackPageStatus","SchemeMaster","sortTableSchemeMst","deleteButtonDisable","disableAccountLink","IsSchemeDisabled","IsSchemeSelected","SchemeList","scheme","schemeMaster","fnDeleteSchemeById","AllSchmeChk","fnBulkDeleteSchemeById","SchemeSelected","tblSchemaMasterhide","tblSchemaMasterhidepdf","selectSchemeList","fnBulkSchemeAuthorize","NewSchemeMaster","fnSortSchemeMaster","SchemeAccountLinkComponent","ngZone","AccountTypes","SweepMode","dropdownList","selectedItems","dropdownSettings","SchemeReady","component","zone","loadAngularFunction","angularFunctionCalled","SchemeBudgetAmount","UnUtilizedAmount","SchemeSweepMode","schemeAccLinkId","SchemeAccountstatus","SchemeAclinkId","rulelist1","selectedRule","newSelectedRule","invalid","SaveSchemeAccountLink","fnGetAccountType","filteredlist","fnGetSchemeAccountLinkMaster","scaclinkObj","SchemeAccountLink","SchemeAccountLinkClassObj","SchemeAccountLinkStatus","getAllSchemeAccountProperties","GetSchemeAccounlinkMaster","fnGetSchemeAccountLinkMasterMaxPriority","fnGetCreatedUpdateSchemeAccount","SchemeAcCreatedUpdated","resetSchemeAccountLinkTree","ScAcLinkClass","ParentAccountId","SchemeAccountLinkRelationDetails","ParentId","scBudgetedAmount","schemeclass","fnClearTree","GetAccountLinkingMasterDataEdited","SaveSchemeAccountProperties","fngetschemeaccountmasterlinkEdited","SaveFunction","Allrulemethod","ruleSemethod","ruleDemethod","AddSchemeAccountProperties","HideModalConfirmation","AddEditFunddisbursementComponent","_fundDisbursment","formBuilder","httpClient","allCustomersselectedval","disabledAuthorize","disabledApprove","disableReject1","disableReject2","FromToAccountNumber","IsDisableDeleteButton","isNotValidAmount","editedFundId","Flag","uploadForm","group","profile","AddPriv","fnGetFundById","InValidCustomer","fnGetAccountForFund","ChangeTransferType","fnScheme","FilterScheme","RequestedDate","RequestedTime","newtime","Comment1","Comment2","list2","Uploadedinvoice","fnAddEditFundDisbursmentDetails","Statusmsg","fnGetCreatedNUpdatedFund","IsSweepSuccess","fnFundTranfer","files","size","file","FormData","append","fnUploadFile","fndefaultRequestTime","IndentStatus","readonly","AuthorizeHide","RequestedDateAndTime","StatusByUserId","TransferTypeDesc","GetIndentDataById","AllFund","ISFileExists","IsfileView","oldstatus","fnGetSchemeListforDropDown","IsSchemeIsInactive","Comment1blockshow","Comment2blockshow","fnGetCreatedNUpatedDateOfFundDisbursement","FundCreatedUpdated1","fnDeleteInvoceCopy","dt","_savedStartTimeObjectnew","getHours","getMinutes","NewFilterScheme","NavigateToAcccountMaster","AmountValidation","StatusChange","SchemeOnChange","uploadFile","AuthorizeReject","DeleteInvoiceMethod","MasterFundDisbursementComponentComponent","_FundDisbursmentService","FundDisbursmentList","FilteredFundDisbursmentList","ExportFundlist","FilterExportFundList","DecryptedUserId","FundMaster","sortTableIndentMst","FnFundDisbursment","CreateDate","PageNumber","fnGetFundDisbursmenetList","IsFundSelected","FundListCount","CraredDateforExportSrch","RequestedDateforExportSrch","AmountList","AllIndentChk","fnDeleteIndent","FundSelected","showerrorlbl","Indent","fnGetExportFundDisbursmenetList","Fund","ExportForFund","tblIndentMasterhide","ExportForFundPDF","tblIndentMasterhidePDF","hideerrorlbl","NewFundMaster","DeleteIndentById","SweepchargesListComponent","_SweepChargesModelService","allCustomerList","FilteredCustomerList","allSweepChargesList","FilteredSweepChargesList","allDailyFlatDailySweepChargesList","FilteredDailyFlatDailySweepChargesList","allMonthlyFlatMonthlySweepChargesList","FilteredMonthlyFlatMonthlySweepChargesList","chargeType","IsMonthlyOrFlatMontlhy","ddlMonth","ddlYear","disableCustomer","BulkWaiveOffButton","allSweepChargesListExport","FilterallSweepChargesListExport","allDailyFlatDailySweepChargesListExport","FilterallDailyFlatDailySweepChargesListExport","allMonthlyFlatMonthlySweepChargesListExport","FilterallMonthlyFlatMonthlySweepChargesListExport","isComingFromCheckBox","isCheckBoxSelected","GetFormData","TransactionId","charges","ChargeType","TransactionCount","AclinkName","SweepMonth","WaiveStatus","SweepId","DropDownValue","fnGetAllSweepChargesListExport","respose","hideWaiveOffAndCharge","disableWaiveOff","accLinCreatedBy","chargestatus","fromSearch","listCust","fnGetAllSweepChargesList","IsWaiveOffSelected","sweepChargeCount","perSweepSearch","sortTableSweepChargesMst","fnGetAllDailyAndFlatDailySweepChargesListExport","fnGetAllDailyAndFlatDailySweepChargesList","checkedDailyflatList","IsDailyFlatWaiveOffSelected","hideWaiveOff","DailySearchMethod","fnGetAllMonthlyAndFlatMonthlySweepChargesListExport","fnGetAllMonthlyAndFlatMonthlySweepChargesList","checkedMonthlyFlatList","IsMonthlyFlatWaiveOffSelected","MonthlySearchMethod","fnGetCustomerListForSweepCharges","waiveStatus","chargeDisable","fnGetAllSweepChargeList","fnGetAllDailyFlatDailySweepChargeList","fnGetAllMonthlyFlatMonthlySweepChargeList","newDate","frmDt","allPerSweepDisbale","allDailyDisbale","allMonthDisbale","fnPerSweepCharges","count","fnDailyAndFlatDailySweepCharges","fnMonthlyAndFlatMonthlySweepCharges","ExportSweepCharges","tblForExport","tblPerSweephide","tblDailyOrFlatDailyhide","tblMonthlyOrFlatMontlhyhide","sortTableDailySweepCharges","sortTableMonthlySweepCharges","showModalForWaiveOff","Prevcomment","MakershowModalForWaiveOff","MakershowModalForCharge","showModalForCharge","CheckAllCheckBoxPerSweep","WaiveOffSelected","chargestatuss","SweepCheckedBulkWaiveOff","SinglePersweep","BulkChargeButton","BulkChargeButtonChecker","bulkChargePreCheckerToChecker","BulkWaiveOffCheckerButton","BulkWaiveOffCheckertocheckerButton","showMakerCharge","BulkChargeDailyChecker","bulkChargeDailyCheckerToChecker","AuthorizeWaiveOffStatus","BulkChargeMonthlyChecker","bulkChargeMonthlyCheckerToChecker","showMakerWaiveOff","BulkDailyflatWaiveOffCheckerTocheckerButton","BulkMonthlyflatWaiveOffCheckerToCheckerButton","showWaiveOff","comment1","waiveComment","fnPerSweepChargesApply","fnDailyAndFlatChargesApply","BulkDailyflatChargeButton","DailyFlatWaiveOffSelected","fnMonthlyAndFlatChargesApply","BulkMonthlyflatChargeButton","MonthlyFlatWaiveOffSelected","fnUpdateWaiveOffStatusAndBalance","hideMakeWaiveOff","BulkDailyflatWaiveOffButton","BulkMonthlyflatWaiveOffButton","DailyCheckedBulkWaiveOff","MonthlyCheckedBulkWaiveOff","CheckAllDailyflatCheckBox","DailySingleChecks","BulkDailyflatWaiveOffCheckerButton","FilterdSweepcheckedList","CheckAllMonthlyCheckBox","MonthlySingleCheck","BulkMonthlyflatWaiveOffCheckerButton","isMonthlyCheckBoxSelected","changeChargeType","ValidateDateRange","Charge","GetCommentValue","BulkhideWaiveOffConfirm","hideMakerCharge","BulkChargeConfirm","hideChargeModal","BranchBulkUploadComponent","_branchservice","ErrorList","FileValid","errorFileURL","GetAndInsertImportFileData","uploadList","splitFileName","FILENAME","originalFileName","STATUS","ShowLogFile","FileLength","open","addfile","ErrorMessage","showOrangemsg","viewresult","filename","fileReader","FileReader","readAsArrayBuffer","onload","arrayBuffer","Uint8Array","fromCharCode","bstr","workbook","first_sheet_name","SheetNames","worksheet","Sheets","arraylist","sheet_to_json","raw","headerArrayList","header","ExcelHeader","headerColumnsArrays","IsMaxFileSize","filelist","rowNumber","sbresult","IsValid","hideOrangeerror","CustomerbulkuploadComponent","_customerservice","showOrangeerrormsg","HolidaybulkUploadComponent","fnUploadHoliay","splitResult","m_StringValue","UserBullkUploadComponent","AccountbulkuploadComponent","routes","loadChildren","m","PagesModule","CustomerPagesModule","AppRoutingModule","onSameUrlNavigation","AppComponent","autoLogout","removeAttr","AppModule","messageGoogleMapKey","schemas","bootstrap","BarChartSchemeDetailsComponent","SchemeNameList","BudgetAmountList","UtilizedAmountList","UnUtilizedAmountList","barChartOptions","responsive","barChartLabels","barChartType","barChartLegend","barChartPlugins","barChartData","stack","fnGetCustomerMasterList","DashboardComponent","DefaultComponent","AdminPrivllage","IsLastLoginPopupDisplay","RuleSummaryPrivillage","ReportExistinMenu","bool","showLastLogin","ngOnInit","substr","fnGetMenuModuleListForDashboard","fnGetLoginMenuNModule","HideLastLogin","DefaultModule","LineChartSchemeDetailsComponent","lineChartData","yAxisID","lineChartLabels","lineChartOptions","scales","xAxes","yAxes","gridLines","color","ticks","fontColor","annotation","annotations","scaleID","borderColor","borderWidth","content","lineChartColors","backgroundColor","pointBackgroundColor","pointBorderColor","pointHoverBackgroundColor","pointHoverBorderColor","lineChartLegend","lineChartType","lineChartPlugins","isHidden","chart","isDatasetHidden","hideDataset","chartHovered","chartClicked","LineChartSweepTransactionComponent","WDays","FixedBalanceTransfer","ReverseBalanceTransfer","ZeroBalanceTransfer","TargetBalanceTransfer","FixedSweepList","ReverseSweepList","ZeroBalSweepList","TargetBalSweepList","fnGetSweepTransGraphData","SweepTransGraphDataList","isExcuted","PaymentsComponent","paymentObj","DebitAccountsList","add","DebitAccountDetails","GetAccountDetails","CreditAccountDetails","parseFloat","DebitAccountId","AcId","CreditAccountId","DebitBankName","CreditBankName","DebitACHName","ACHName","CreditACHName","acNo","retval","AcNo","PaymentsTrackingId","StructureId","addAccounts","Execute","el","sortTable","execute","addClick","fnSortTable","UploadPaymentsComponent","_paymentservice","environment","production","bootstrapModule"],"mappings":"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AAmB6pB,OAA1B;AACD,eAFyB,CAA1B;AAEI;;AACJ,gBAAG79B,MAAM,IAAG,EAAZ,EAAe;AACd,kBAAGA,MAAM,IAAG,GAAZ,EAAgB;AACfA,sBAAM,GAAC,QAAP;AACA,eAFD,MAGK,IAAGA,MAAM,IAAG,GAAZ,EAAgB;AACnBA,sBAAM,GAAC,UAAP;AACA,eAFG,MAGA,IAAGA,MAAM,IAAE,GAAX,EAAe;AAClBA,sBAAM,GAAC,SAAP;AAAiB,eADd,MAEEA,MAAM,GAAC,EAAP;;AACR,mBAAKigC,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBx/B,MAAxB,CAA+B,UAAAC,GAAG,EAAE;AAC5D,uBAAOA,GAAG,CAACsG,MAAJ,IAAchH,MAArB;AACA,eAFwB,CAA1B;AAGC;;AACG,iBAAK+/B,kBAAL,GAAwB,KAAxB;AACC,WArEoF,CAuE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAED;;;uCAEc38B,M,EAAQ+Q,Q,EAAShB,U,EAAWK,U,EAAWkb,O,EAAQR,a,EAAczsB,W,EAAYP,W,EAAY8S,W,EAAYob,e,EAAe;AAC7H,eAAKzV,gBAAL,GAAuBvW,MAAM,CAAC1uB,MAAP,CAAcsE,KAArC;AACA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S,CAACD,iBAAV,EAA1C,CAAP;AACD,aAFsB,CAAvB;AAGA,iBAAKw+B,kBAAL,GAA0B,KAA1B;AACD,WA/DqE,CAgExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACC;;;6CACiB;AAChB,eAAKoL,YAAL,GAAkB,KAAlB;AACA,eAAKrxB,wBAAL,GAA8B,KAA9B;;AACA,eAAK,IAAIha,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKupC,gBAAL,CAAsBxxD,MAA1C,EAAkDioB,CAAC,EAAnD,EAAuD;AACrD,iBAAKupC,gBAAL,CAAsBvpC,CAAtB,EAAyB6gC,cAAzB,GAA0C,KAA1C,CADqD,CAErD;AACD;;AACD,eAAK,IAAI7gC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK2pC,iBAAL,CAAuB5xD,MAA3C,EAAmDioB,CAAC,EAApD,EAAwD;AACtD,iBAAK2pC,iBAAL,CAAuB3pC,CAAvB,EAA0B6gC,cAA1B,GAA2C,KAA3C,CADsD,CAEtD;AACD,WAVe,CAWjB;;AAEA,S,CACD;;;;uCACev9B,M,EAAO1X,Q,EAASk2B,K,EAAM8oB,K,EAAM1jC,M,EAAOxjB,I,EAAKyhC,Q,EAAS7L,W,EAAY5X,S,EAAS;AACnF,eAAKmY,gBAAL,GAAuBvW,MAAM,CAAC1uB,MAAP,CAAcsE,KAArC;AACA,eAAKslB,YAAL,GAAoB8E,MAAM,CAAC1uB,MAAP,CAAcsE,KAAlC;AACE,eAAKulB,iBAAL,GAAyB,CAAzB;AACA,eAAKF,WAAL,GAAmB,CAAnB;AACA,eAAKF,MAAL,GAAc;AACZC,wBAAY,EAAE,KAAKE,YADP;AAEZD,uBAAW,EAAE;AAFD,WAAd;AAIA,eAAK2Z,UAAL,GAAkB,EAAlB;AACA,eAAKA,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,eAAKN,kBAAL,CAAwB4C,oBAAxB,GAA+C,KAA/C;AACA,cAAG92B,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAIod,SAAxB,IAAqCpd,IAAI,IAAI,EAAhD,EACAA,IAAI,GAAG,EAAP,CADA,KAEK,IAAIA,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAE,EAA1B,EAA8B;AACjCA,gBAAI,GAAG,KAAKm0B,sBAAL,CAA4BrnB,MAA5B,CAAmC9M,IAAI,CAACke,UAAL,CAAgBle,IAAnD,CAAP;AACD;AACD,eAAKqmD,mBAAL,CAAyBn+C,QAAzB,EAAkCk2B,KAAlC,EAAwC8oB,KAAxC,EAA8C1jC,MAA9C,EAAqDxjB,IAArD,EAA0DyhC,QAA1D,EAAmE7L,WAAnE,EAA+E5X,SAA/E,EAAyF,KAAKyW,SAA9F,EAAwG,GAAxG;AACH;;;oCAEQ;AACP,eAAK1a,YAAL,GAAoB,KAApB;AACD,S,CAED;;;;uCACe;AAEb,eAAK3W,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,kBAAD,CAArB;AACD;;;yCAIgBwsB,Q,EAAQ;AAAA;;AACvB,cAAG,KAAKivB,iBAAL,CAAuB5xD,MAAvB,IAAiC,CAAjC,IAAsC,KAAK4xD,iBAAL,IAA0B,IAAhE,IAAwE,KAAKA,iBAAL,IAA0B7oC,SAArG,EAA+G;AAC/G,iBAAKzE,QAAL,CAAcwB,IAAd;;AACA,iBAAK6R,YAAL,CAAkB67B,sBAAlB,CAAyChxD,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAzC,EAA8ET,SAA9E,CAAwF,UAAA23B,KAAK,EAAE;AAC7F,sBAAI,CAAC23B,WAAL,GAAmB33B,KAAnB;;AACA,mBAAI,IAAI/R,CAAC,GAAG,CAAZ,EAAeA,CAAC,GAAG,QAAI,CAAC0pC,WAAL,CAAiB3xD,MAApC,EAA4CioB,CAAC,EAA7C,EAAgD;AAC/C,wBAAI,CAAC0pC,WAAL,CAAiB1pC,CAAjB,EAAoB4nC,QAApB,GAA6B,QAAI,CAACn7C,kBAAL,CAAwB,QAAI,CAACi9C,WAAL,CAAiB1pC,CAAjB,EAAoB4nC,QAA5C,CAA7B;AACA,wBAAI,CAAC8B,WAAL,CAAiB1pC,CAAjB,EAAoByqC,SAApB,GAA8B,QAAI,CAACh+C,kBAAL,CAAwB,QAAI,CAACi9C,WAAL,CAAiB1pC,CAAjB,EAAoByqC,SAA5C,CAA9B;AACC;;AACD,sBAAI,CAACd,iBAAL,GAAyB,QAAI,CAACD,WAA9B;AACA,sBAAI,CAACzJ,kBAAL,GAA0B,IAA1B;;AACA,sBAAI,CAACj/B,QAAL,CAAe,QAAI,CAAC0O,YAAL,CAAkBxL,QAAlB,CAA2B6d,SAA1C,EAAqD,QAAI,CAACrS,YAAL,CAAkBxL,QAAlB,CAA2BiP,OAAhF,EAAwF,QAAI,CAACzD,YAAL,CAAkBxL,QAAlB,CAA2BgP,YAAnH,EACE,QAAI,CAACxD,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAD7B,EACuC,QAAI,CAACn4B,YAAL,CAAkBxL,QAAlB,CAA2BvC,WADlE,EAC+E,QAAI,CAAC+N,YAAL,CAAkBxL,QAAlB,CAA2BomC,YAD1G,EAEE,QAAI,CAAC56B,YAAL,CAAkBxL,QAAlB,CAA2BgQ,WAF7B,EAE0C,QAAI,CAACxE,YAAL,CAAkBxL,QAAlB,CAA2B9C,WAFrE;;AAGA5hB,wBAAU,CAAC,YAAM;AAChB,wBAAI,CAACgsD,aAAL,CAAmB9wB,QAAnB;;AACA,wBAAI,CAACre,QAAL,CAAc4E,IAAd;AACE,eAHO,EAGL,GAHK,CAAV;AAIC,aAfJ,EAeK,UAAC/C,GAAD,EAAO;AACV,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aAjBD;AAkBD,WApBC,MAqBE;AACF,iBAAKmO,QAAL,CAAcwB,IAAd;;AACA,iBAAKoiC,kBAAL,GAA0B,IAA1B;AACA,iBAAKj/B,QAAL,CAAe,KAAK0O,YAAL,CAAkBxL,QAAlB,CAA2B6d,SAA1C,EAAqD,KAAKrS,YAAL,CAAkBxL,QAAlB,CAA2BiP,OAAhF,EAAwF,KAAKzD,YAAL,CAAkBxL,QAAlB,CAA2BgP,YAAnH,EACE,KAAKxD,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAD7B,EACuC,KAAKn4B,YAAL,CAAkBxL,QAAlB,CAA2BvC,WADlE,EAC+E,KAAK+N,YAAL,CAAkBxL,QAAlB,CAA2BomC,YAD1G,EAEE,KAAK56B,YAAL,CAAkBxL,QAAlB,CAA2BgQ,WAF7B,EAE0C,KAAKxE,YAAL,CAAkBxL,QAAlB,CAA2B9C,WAFrE;AAGC5hB,sBAAU,CAAC,YAAM;AACjB,sBAAI,CAACgsD,aAAL,CAAmB9wB,QAAnB;;AACA,sBAAI,CAACre,QAAL,CAAc4E,IAAd;AACE,aAHQ,EAGN,GAHM,CAAV;AAIA;AACF,S,CAAC;;;;sCAEYyZ,Q,EAAQ;AACpB,cAAGA,QAAQ,KAAK,OAAhB,EAAwB;AACtB,iBAAKC,QAAL,GAAe,uBAAf,CADsB,CAEtB;;AACA,gBAAMC,EAAE,GAAmB,2CAAWC,cAAX,CAA0B,KAAK4wB,iBAAL,CAAuB1wB,aAAjD,CAA3B;AAEA;;AACA,gBAAMC,EAAE,GAAkB,2CAAWC,QAAX,EAA1B;AACA,uDAAWC,iBAAX,CAA6BF,EAA7B,EAAiCJ,EAAjC,EAAqC,QAArC;AAEA;;AACA,2DAAeI,EAAf,EAAmB,KAAKL,QAAxB;AACD,WAZmB,CAcpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,cAAGD,QAAQ,KAAK,KAAhB,EAAsB;AACpB,iBAAKC,QAAL,GAAgB,sBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,sBAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,sHAAoHrb,GAAG,CAACsb,SAAxH,GAAkI,UAAnI,CAAT,EAAyJ;AAClKrgC,kBAAI,EAAE;AAD4J,aAAzJ,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;;AAED,cAAGD,QAAQ,KAAK,MAAhB,EAAuB;AACrB,iBAAKC,QAAL,GAAgB,uBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,mBAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,sHAAoHrb,GAAG,CAACsb,SAAxH,GAAkI,UAAnI,CAAT,EAAyJ;AAClKrgC,kBAAI,EAAE;AAD4J,aAAzJ,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;AACF;;;4CAGmBD,Q,EAAQ;AAAA;;AAC1B,cAAG,KAAKivB,iBAAL,CAAuB5xD,MAAvB,IAAiC,CAAjC,IAAsC,KAAK4xD,iBAAL,IAA0B,IAAhE,IAAwE,KAAKA,iBAAL,IAA0B7oC,SAArG,EAA+G;AAC/G,iBAAKzE,QAAL,CAAcwB,IAAd;;AACA,iBAAK6R,YAAL,CAAkB67B,sBAAlB,CAAyChxD,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAzC,EAA8ET,SAA9E,CAAwF,UAAA23B,KAAK,EAAE;AAC7F,sBAAI,CAAC23B,WAAL,GAAmB33B,KAAnB;;AACA,mBAAI,IAAI/R,CAAC,GAAG,CAAZ,EAAeA,CAAC,GAAG,QAAI,CAAC0pC,WAAL,CAAiB3xD,MAApC,EAA4CioB,CAAC,EAA7C,EAAgD;AAC/C,wBAAI,CAAC0pC,WAAL,CAAiB1pC,CAAjB,EAAoB4nC,QAApB,GAA6B,QAAI,CAACn7C,kBAAL,CAAwB,QAAI,CAACi9C,WAAL,CAAiB1pC,CAAjB,EAAoB4nC,QAA5C,CAA7B;AACA,wBAAI,CAAC8B,WAAL,CAAiB1pC,CAAjB,EAAoByqC,SAApB,GAA8B,QAAI,CAACh+C,kBAAL,CAAwB,QAAI,CAACi9C,WAAL,CAAiB1pC,CAAjB,EAAoByqC,SAA5C,CAA9B;AACC;;AACD,sBAAI,CAACd,iBAAL,GAAyB,QAAI,CAACD,WAA9B;AACA,sBAAI,CAACzJ,kBAAL,GAA0B,IAA1B;;AACA,sBAAI,CAACj/B,QAAL,CAAe,QAAI,CAAC0O,YAAL,CAAkBxL,QAAlB,CAA2B6d,SAA1C,EAAqD,QAAI,CAACrS,YAAL,CAAkBxL,QAAlB,CAA2BiP,OAAhF,EAAwF,QAAI,CAACzD,YAAL,CAAkBxL,QAAlB,CAA2BgP,YAAnH,EACE,QAAI,CAACxD,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAD7B,EACuC,QAAI,CAACn4B,YAAL,CAAkBxL,QAAlB,CAA2BvC,WADlE,EAC+E,QAAI,CAAC+N,YAAL,CAAkBxL,QAAlB,CAA2BomC,YAD1G,EAEE,QAAI,CAAC56B,YAAL,CAAkBxL,QAAlB,CAA2BgQ,WAF7B,EAE0C,QAAI,CAACxE,YAAL,CAAkBxL,QAAlB,CAA2B9C,WAFrE;;AAGA5hB,wBAAU,CAAC,YAAM;AAChB,wBAAI,CAACksD,aAAL,CAAmBhxB,QAAnB;;AACA,wBAAI,CAACre,QAAL,CAAc4E,IAAd;AACE,eAHO,EAGL,GAHK,CAAV;AAIC,aAfJ,EAeK,UAAC/C,GAAD,EAAO;AACV,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aAjBD;AAkBD,WApBC,MAqBE;AACF,iBAAKmO,QAAL,CAAcwB,IAAd;;AACA,iBAAKoiC,kBAAL,GAA0B,IAA1B;AACA,iBAAKj/B,QAAL,CAAe,KAAK0O,YAAL,CAAkBxL,QAAlB,CAA2B6d,SAA1C,EAAqD,KAAKrS,YAAL,CAAkBxL,QAAlB,CAA2BiP,OAAhF,EAAwF,KAAKzD,YAAL,CAAkBxL,QAAlB,CAA2BgP,YAAnH,EACE,KAAKxD,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAD7B,EACuC,KAAKn4B,YAAL,CAAkBxL,QAAlB,CAA2BvC,WADlE,EAC+E,KAAK+N,YAAL,CAAkBxL,QAAlB,CAA2BomC,YAD1G,EAEE,KAAK56B,YAAL,CAAkBxL,QAAlB,CAA2BgQ,WAF7B,EAE0C,KAAKxE,YAAL,CAAkBxL,QAAlB,CAA2B9C,WAFrE;AAGA5hB,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAACksD,aAAL,CAAmBhxB,QAAnB;;AACA,sBAAI,CAACre,QAAL,CAAc4E,IAAd;AACE,aAHO,EAGL,GAHK,CAAV;AAID;AACA;;;sCACayZ,Q,EAAQ;AACpB,cAAGA,QAAQ,KAAK,KAAhB,EAAsB;AACnB,gBAAIY,IAAI,GAAG,KAAKqwB,oBAAL,CAA0B5wB,aAArC;AACD,gBAAIhb,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,sBAAxB,CAAV;AACA,gBAAI+N,GAAG,GAAG,IAAI,kCAAJ,CAAU,GAAV,EAAc,IAAd,EAAmB,CAAC,IAAD,EAAM,IAAN,CAAnB,CAAV;AACA,gBAAIL,IAAI,GAAG,IAAIC,IAAJ,CAAS,EAAT,EAAa,EAAb,CAAX;AAEA,gBAAIK,aAAa,GAAG;AAClB,yBAAU,gBAAS99B,OAAT,EAAiB+9B,QAAjB,EAAyB;AACjC,uBAAO,IAAP;AACD;AAHiB,aAApB;AAKAF,eAAG,CAACG,QAAJ,CAAa,oHAAkHL,IAAI,CAACD,SAAvH,GAAiI,UAA9I,EAAyJ,EAAzJ,EAA4J,EAA5J,EAA+J;AAC7J,uBAAQ,IADqJ;AAE7J,iCAAmBI;AAF0I,aAA/J;AAIAD,eAAG,CAACI,IAAJ,CAAS,sBAAT;AAED;AACF,S,CACD;;;;yCACiBrY,K,EAAMC,G,EAAK;AAC1B;;AACA,cAAG,KAAKC,iBAAL,KAA2BF,KAA9B,EAAqC;AACnC,iBAAKxG,cAAL,GAAsB,CAAC,KAAKA,cAA5B;AAEA8sC,4BAAgB,CAACrmC,GAAD,EAAK,KAAKzG,cAAV,CAAhB;AACD,WAJD,MAKK;AACH,iBAAK0G,iBAAL,GAAyBF,KAAzB;AACA,iBAAKxG,cAAL,GAAsB,IAAtB;AAEA8sC,4BAAgB,CAACrmC,GAAD,EAAK,KAAKzG,cAAV,CAAhB;AACD;;AAED,cAAG,KAAKA,cAAR,EAAwB;AACtB,iBAAKwsC,gBAAL,GAAwB,KAAKA,gBAAL,CAAsB7lC,IAAtB,CAA2B,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAC3D,kBAAGL,KAAK,KAAI,aAAZ,EAA0B;AACxB,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAP;AACD,eALD,MAMI;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACA,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACD;AACI,aAbiB,CAAxB;AAcD,WAfD,MAeO;AACL,iBAAKm5C,gBAAL,GAAwB,KAAKA,gBAAL,CAAsB7lC,IAAtB,CAA2B,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAC3D,kBAAGL,KAAK,KAAI,aAAZ,EAA0B;AACxB,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAP;AACD,eALD,MAMI;AACJ,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACD;AACF,aAbuB,CAAxB;AAcD;AACF;;;kCAESlJ,K,EAAsB;AAC9B,cAAIyc,CAAC,GAAGzc,KAAK,CAAC+c,QAAN,IAAkB,CAAlB,IAAuB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAzC,IAA+C/c,KAAK,CAAC+c,QAAN,IAAkB,CAAlE,GAA0E,IAA1E,GAAiF/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlB,IAAwB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlI;AACF,iBAAON,CAAP;AACC;;;0CAGiBjgB,I,EAAI;AACjB,cAAM6hB,MAAM,GAAG,IAAI3sB,IAAJ,EAAf;AACC,eAAK4sB,SAAL,GAAiB9hB,IAAI,CAACke,UAAL,CAAgB6D,MAAjC;;AAED,cAAI,KAAKD,SAAL,GAAiBD,MAArB,EAA6B;AAC1B,iBAAKG,eAAL,GAAuB,IAAvB;AACA,iBAAKC,iBAAL,GAAyB,IAAzB;AACF,WAHD,MAII;AACF,iBAAKD,eAAL,GAAuB,KAAvB;AACA,iBAAKC,iBAAL,GAAyB,KAAzB;AACD;;AACD,iBAAO,KAAKD,eAAZ;AACH,S,CACD;;;;sDAC2B;AAAA;;AACzB,cAAG,KAAKikC,iBAAL,CAAuB5xD,MAAvB,IAAiC,CAAjC,IAAsC,KAAK4xD,iBAAL,IAA0B,IAAhE,IAAwE,KAAKA,iBAAL,IAA0B7oC,SAArG,EAA+G;AAChH,iBAAKzE,QAAL,CAAcwB,IAAd;;AACA,iBAAK6R,YAAL,CAAkB67B,sBAAlB,CAAyChxD,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAzC,EAA8ET,SAA9E,CAAwF,UAAA23B,KAAK,EAAE;AAC7F,sBAAI,CAAC23B,WAAL,GAAmB33B,KAAnB;;AACA,mBAAI,IAAI/R,CAAC,GAAG,CAAZ,EAAeA,CAAC,GAAG,QAAI,CAAC0pC,WAAL,CAAiB3xD,MAApC,EAA4CioB,CAAC,EAA7C,EAAgD;AACzC,oBAAG,QAAI,CAAC0pC,WAAL,CAAiB1pC,CAAjB,EAAoB0B,SAApB,IAAgC,QAAI,CAACjV,kBAAL,CAAwBlS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxB,CAAnC,EAAgG;AAChG,0BAAI,CAAC6uD,WAAL,CAAiB1pC,CAAjB,EAAoB89B,cAApB,GAAqC,IAArC;AACJ;AACD;;AACD,sBAAI,CAAC6L,iBAAL,GAAyB,QAAI,CAACD,WAA9B;AACA,sBAAI,CAACzJ,kBAAL,GAA0B,IAA1B;;AACA,sBAAI,CAACj/B,QAAL,CAAe,QAAI,CAAC0O,YAAL,CAAkBxL,QAAlB,CAA2B6d,SAA1C,EAAqD,QAAI,CAACrS,YAAL,CAAkBxL,QAAlB,CAA2BiP,OAAhF,EAAwF,QAAI,CAACzD,YAAL,CAAkBxL,QAAlB,CAA2BgP,YAAnH,EACE,QAAI,CAACxD,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAD7B,EACuC,QAAI,CAACn4B,YAAL,CAAkBxL,QAAlB,CAA2BvC,WADlE,EAC+E,QAAI,CAAC+N,YAAL,CAAkBxL,QAAlB,CAA2BomC,YAD1G,EAEE,QAAI,CAAC56B,YAAL,CAAkBxL,QAAlB,CAA2BgQ,WAF7B,EAE0C,QAAI,CAACxE,YAAL,CAAkBxL,QAAlB,CAA2B9C,WAFrE;;AAGA5hB,wBAAU,CAAC,YAAM;AAChB,wBAAI,CAACosD,iBAAL;;AACA,wBAAI,CAACvvC,QAAL,CAAc4E,IAAd;AACE,eAHO,EAGL,GAHK,CAAV;AAIC,aAhBJ,EAgBK,UAAC/C,GAAD,EAAO;AACV,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aAlBD;AAmBA,WArBC,MAsBG;AACF,iBAAKmO,QAAL,CAAcwB,IAAd;;AACA,iBAAKoiC,kBAAL,GAA0B,IAA1B;AACA,iBAAKj/B,QAAL,CAAe,KAAK0O,YAAL,CAAkBxL,QAAlB,CAA2B6d,SAA1C,EAAqD,KAAKrS,YAAL,CAAkBxL,QAAlB,CAA2BiP,OAAhF,EAAwF,KAAKzD,YAAL,CAAkBxL,QAAlB,CAA2BgP,YAAnH,EACE,KAAKxD,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAD7B,EACuC,KAAKn4B,YAAL,CAAkBxL,QAAlB,CAA2BvC,WADlE,EAC+E,KAAK+N,YAAL,CAAkBxL,QAAlB,CAA2BomC,YAD1G,EAEE,KAAK56B,YAAL,CAAkBxL,QAAlB,CAA2BgQ,WAF7B,EAE0C,KAAKxE,YAAL,CAAkBxL,QAAlB,CAA2B9C,WAFrE;AAGC5hB,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAACosD,iBAAL;;AACD,sBAAI,CAACvvC,QAAL,CAAc4E,IAAd;AACE,aAHQ,EAGN,GAHM,CAAV;AAIC,WAjCsB,CAmC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACC;;;4CACgB;AACf,eAAKoqC,YAAL,IAAqB,KAAKA,YAA1B;;AACA,cAAI,KAAK9B,gBAAL,CAAsBxxD,MAAtB,GAA+B,CAAnC,EAAsC;AACpC,iBAAK,IAAIioB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKupC,gBAAL,CAAsBxxD,MAA1C,EAAkDioB,CAAC,EAAnD,EAAuD;AACrD,kBAAG,KAAKupC,gBAAL,CAAsBvpC,CAAtB,EAAyB89B,cAAzB,IAA2C,IAA9C,EAAmD;AACnD,qBAAKyL,gBAAL,CAAsBvpC,CAAtB,EAAyB6gC,cAAzB,GAA0C,KAAKwK,YAA/C;AACC;AACF;AACF,WAND,MAQA;AACE,iBAAK,IAAIrrC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKe,mBAAzB,EAA8Cf,CAAC,EAA/C,EAAmD;AACjD,kBAAG,KAAKspC,QAAL,CAActpC,CAAd,EAAiB89B,cAAjB,IAAmC,IAAtC,EAA2C;AAC3C,qBAAKwL,QAAL,CAActpC,CAAd,EAAiB6gC,cAAjB,GAAkC,KAAKwK,YAAvC;AACC;AACF;AACF;;AACD,cAAI,KAAK1B,iBAAL,CAAuB5xD,MAAvB,GAAgC,CAApC,EAAuC;AACrC,iBAAK,IAAI0hC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKkwB,iBAAL,CAAuB5xD,MAA3C,EAAmD0hC,CAAC,EAApD,EAAwD;AACtD,kBAAG,KAAKkwB,iBAAL,CAAuBlwB,CAAvB,EAA0BqkB,cAA1B,IAA4C,IAA/C,EAAoD;AACpD,qBAAK6L,iBAAL,CAAuBlwB,CAAvB,EAA0BonB,cAA1B,GAA2C,KAAKwK,YAAhD;AACC;AACF;AACF,WAND,MAQA;AACE,iBAAK,IAAI5xB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKiwB,WAAL,CAAiB3xD,MAArC,EAA6C0hC,CAAC,EAA9C,EAAkD;AAChD,kBAAG,KAAKiwB,WAAL,CAAiBjwB,CAAjB,EAAoBqkB,cAApB,IAAsC,IAAzC,EAA8C;AAC9C,qBAAK4L,WAAL,CAAiBjwB,CAAjB,EAAoBonB,cAApB,GAAqC,KAAKwK,YAA1C;AACC;AACF;AACF;;AACH,eAAKvxB,uBAAL;AACC;;;6CACoB/rB,M,EAAOmS,M,EAAM;AAAA;;AAChC,cAAG,KAAKypC,iBAAL,CAAuB5xD,MAAvB,IAAiC,CAAjC,IAAsC,KAAK4xD,iBAAL,IAA0B,IAAhE,IAAwE,KAAKA,iBAAL,IAA0B7oC,SAArG,EAA+G;AAC/G,iBAAKzE,QAAL,CAAcwB,IAAd;;AACA,iBAAK6R,YAAL,CAAkB67B,sBAAlB,CAAyChxD,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAzC,EAA8ET,SAA9E,CAAwF,UAAA23B,KAAK,EAAE;AAC7F,sBAAI,CAAC23B,WAAL,GAAmB33B,KAAnB;;AACA,mBAAI,IAAI/R,CAAC,GAAG,CAAZ,EAAeA,CAAC,GAAG,QAAI,CAAC0pC,WAAL,CAAiB3xD,MAApC,EAA4CioB,CAAC,EAA7C,EAAgD;AACzC,oBAAG,QAAI,CAAC0pC,WAAL,CAAiB1pC,CAAjB,EAAoB0B,SAApB,IAAgC,QAAI,CAACjV,kBAAL,CAAwBlS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxB,CAAnC,EAAgG;AAChG,0BAAI,CAAC6uD,WAAL,CAAiB1pC,CAAjB,EAAoB89B,cAApB,GAAqC,IAArC;AACH;AACF;;AACD,sBAAI,CAAC6L,iBAAL,GAAyB,QAAI,CAACD,WAA9B;AACA,sBAAI,CAACzJ,kBAAL,GAA0B,IAA1B;;AACA,sBAAI,CAACj/B,QAAL,CAAe,QAAI,CAAC0O,YAAL,CAAkBxL,QAAlB,CAA2B6d,SAA1C,EAAqD,QAAI,CAACrS,YAAL,CAAkBxL,QAAlB,CAA2BiP,OAAhF,EAAwF,QAAI,CAACzD,YAAL,CAAkBxL,QAAlB,CAA2BgP,YAAnH,EACE,QAAI,CAACxD,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAD7B,EACuC,QAAI,CAACn4B,YAAL,CAAkBxL,QAAlB,CAA2BvC,WADlE,EAC+E,QAAI,CAAC+N,YAAL,CAAkBxL,QAAlB,CAA2BomC,YAD1G,EAEE,QAAI,CAAC56B,YAAL,CAAkBxL,QAAlB,CAA2BgQ,WAF7B,EAE0C,QAAI,CAACxE,YAAL,CAAkBxL,QAAlB,CAA2B9C,WAFrE;;AAGC5hB,wBAAU,CAAC,YAAM;AACjB,wBAAI,CAAC8iD,iBAAL,CAAuBv0C,MAAvB,EAA8BmS,MAA9B;;AACA,wBAAI,CAAC7D,QAAL,CAAc4E,IAAd;AACE,eAHQ,EAGN,GAHM,CAAV;AAIA,aAhBJ,EAgBK,UAAC/C,GAAD,EAAO;AACV,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aAlBD;AAmBD,WArBC,MAsBE;AACF,iBAAKmO,QAAL,CAAcwB,IAAd;;AACA,iBAAKoiC,kBAAL,GAA0B,IAA1B;AACA,iBAAKj/B,QAAL,CAAe,KAAK0O,YAAL,CAAkBxL,QAAlB,CAA2B6d,SAA1C,EAAqD,KAAKrS,YAAL,CAAkBxL,QAAlB,CAA2BiP,OAAhF,EAAwF,KAAKzD,YAAL,CAAkBxL,QAAlB,CAA2BgP,YAAnH,EACE,KAAKxD,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAD7B,EACuC,KAAKn4B,YAAL,CAAkBxL,QAAlB,CAA2BvC,WADlE,EAC+E,KAAK+N,YAAL,CAAkBxL,QAAlB,CAA2BomC,YAD1G,EAEE,KAAK56B,YAAL,CAAkBxL,QAAlB,CAA2BgQ,WAF7B,EAE0C,KAAKxE,YAAL,CAAkBxL,QAAlB,CAA2B9C,WAFrE;AAGA5hB,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAAC8iD,iBAAL,CAAuBv0C,MAAvB,EAA8BmS,MAA9B;;AACA,sBAAI,CAAC7D,QAAL,CAAc4E,IAAd;AACE,aAHO,EAGL,GAHK,CAAV;AAIE,WAjC8B,CAkCjC;AAED;AACA;AACA;AACA;AACA;;AACC;;;0CACiBlT,M,EAAOmS,M,EAAM;AAC7B,eAAK,IAAIF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKupC,gBAAL,CAAsBxxD,MAA1C,EAAkDioB,CAAC,EAAnD,EAAuD;AACrD,gBAAG,KAAKupC,gBAAL,CAAsBvpC,CAAtB,EAAyBjS,MAAzB,IAAiCA,MAApC,EAA2C;AACzC,mBAAKw7C,gBAAL,CAAsBvpC,CAAtB,EAAyB6gC,cAAzB,GAA0C3gC,MAA1C;AACD;AACJ;;AACD,eAAK,IAAIuZ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKkwB,iBAAL,CAAuB5xD,MAA3C,EAAmD0hC,CAAC,EAApD,EAAwD;AACtD,gBAAG,KAAKkwB,iBAAL,CAAuBlwB,CAAvB,EAA0B1rB,MAA1B,IAAkCA,MAArC,EAA4C;AAC1C,mBAAK47C,iBAAL,CAAuBlwB,CAAvB,EAA0BonB,cAA1B,GAA4C3gC,MAA5C;AACD;AACF;;AACD,eAAK4Z,uBAAL;AACC;;;kDACsB;AACrB;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA,eAAKsC,eAAL,GAAuB,EAAvB;;AACA,eAAK,IAAIpc,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK2pC,iBAAL,CAAuB5xD,MAA3C,EAAmDioB,CAAC,EAApD,EAAwD;AACtD,gBAAG,KAAK2pC,iBAAL,CAAuB3pC,CAAvB,EAA0B6gC,cAA1B,IAA4C,IAA/C,EACC,KAAKzkB,eAAL,CAAqBx+B,IAArB,CAA0B,KAAK+rD,iBAAL,CAAuB3pC,CAAvB,CAA1B;AACF;;AACD,eAAKhD,WAAL,GAAmB,KAAKof,eAAxB;;AACA,cAAG,KAAKA,eAAL,CAAqBrkC,MAArB,IAA+B,CAAlC,EAAoC;AAClC,iBAAKiiC,wBAAL,GAA8B,IAA9B;AAAqC,WADvC,MAEI;AACF,iBAAKA,wBAAL,GAA8B,KAA9B;AACD;AACF;;;mCACO;AAEN,eAAKtX,qBAAL,GAA2B,IAA3B;AACA,6CAAC,CAACja,QAAD,CAAD,CAAY6U,KAAZ,CAAkB,YAAY;AAC5B,+CAAC,CAAC,0BAAD,CAAD,CAA8BxQ,EAA9B,CAAiC,CAAjC,EAAoCyQ,KAApC;AACD,WAFD;AAGA,eAAKyG,eAAL,GAAqB,SAArB;AACA,eAAKuY,eAAL,GAAqB,CAArB;AACA,eAAK7M,YAAL,CAAkBxL,QAAlB,CAA2BgQ,WAA3B,GAAyC,EAAzC;AACA,eAAKxE,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAA3B,GAAsC,GAAtC;AACD;;;kCAEM;AACL,eAAKnlC,qBAAL,GAA2B,IAA3B;AACA,6CAAC,CAACja,QAAD,CAAD,CAAY6U,KAAZ,CAAkB,YAAY;AAC5B,+CAAC,CAAC,0BAAD,CAAD,CAA8BxQ,EAA9B,CAAiC,CAAjC,EAAoCyQ,KAApC;AACD,WAFD;AAGA,eAAKyG,eAAL,GAAqB,QAArB;AACA,eAAKuY,eAAL,GAAqB,CAArB;AACA,eAAK7M,YAAL,CAAkBxL,QAAlB,CAA2BgQ,WAA3B,GAAyC,EAAzC;AACA,eAAKxE,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAA3B,GAAsC,GAAtC;AACD;;;+CAEmB;AAAA;;AAElB,eAAKgE,cAAL,GAAoB,EAApB;;AAED,eAAI,IAAI7rC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,KAAK2pC,iBAAL,CAAuB5xD,MAArC,EAA4CioB,CAAC,EAA7C,EAAgD;AAC9C,gBAAG,KAAK2pC,iBAAL,CAAuB3pC,CAAvB,EAA0B6gC,cAA1B,IAA0C,IAA7C,EAAkD;AACjD,mBAAKgL,cAAL,CAAoBjuD,IAApB,CAAyB,KAAK+rD,iBAAL,CAAuB3pC,CAAvB,CAAzB;AACA;AACF;;AAED,cAAG,KAAK6rC,cAAL,CAAoB9zD,MAApB,GAA2B,CAA9B,EAAgC;AAC/B,iBAAK23B,YAAL,CAAkBo8B,mBAAlB,CAAsC,KAAKD,cAA3C,EAA0DtxD,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA1D,EAA8F,KAAK0hC,eAAnG,EAAoHniC,SAApH,CAA8H,UAAA0oB,GAAG,EAAI;AACnI,sBAAI,CAACinC,mBAAL,CAAyB,EAAzB,EAA4B,EAA5B,EAA+B,EAA/B,EAAkC,GAAlC,EAAsC,EAAtC,EAAyC,EAAzC,EAA4C,EAA5C,EAA+C,EAA/C,EAAkD,QAAI,CAAC5xB,SAAvD,EAAiE,GAAjE;;AACA,sBAAI,CAACD,UAAL,GAAgB,EAAhB;AACA,sBAAI,CAACA,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,sBAAI,CAAC8B,wBAAL,GAA8B,KAA9B;AACI,sBAAI,CAACtX,qBAAL,GAA2B,KAA3B;;AACA,sBAAI,CAAC5E,KAAL;;AACA,sBAAI,CAACN,OAAL,GAAa,IAAb;AACA,sBAAI,CAACuF,UAAL,GAAgB,+DAAhB,CAR+H,CAS7H;AACP,aAVD,EAWC,UAAC7E,GAAD,EAAO;AACN,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aAbD;AAcA;AACD,S,CACD;;;;yCAEc;AACZ,6CAAC,CAAC,WAAD,CAAD,CAAe2uB,OAAf,CAAuB,OAAvB;AACD;;;4CACgB;AACf,6CAAC,CAAC,yBAAD,CAAD,CAA6BA,OAA7B,CAAqC,OAArC,EAA8ChwB,GAA9C,CAAkD,SAAlD,EAA4D,OAA5D;AACD;;;yCAiBgB;AACf,cAAG,KAAK0rB,cAAL,IAAuB,IAA1B,EAA+B;AAC7B,iBAAKL,UAAL,GAAkB,EAAlB;AACA,iBAAKA,UAAL,CAAgB,KAAKN,kBAAL,CAAwBkF,cAAxB,GAAyC,CAAzD,IAA8D,IAA9D;AACA,iBAAKvE,cAAL,GAAsB,KAAtB;AACD;;AACD,cAAG,KAAKC,eAAL,IAAwB,IAA3B,EAAgC;AAC9B,iBAAKN,UAAL,GAAkB,EAAlB;AACA,iBAAKA,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,iBAAKM,eAAL,GAAuB,KAAvB;AACD;;AACD,eAAKxW,WAAL,GAAmB,KAAK2X,UAAxB;AACA,eAAKoD,cAAL,GAAsBhiC,MAAM,CAAC,KAAK4+B,UAAL,GAAgB,KAAKtb,MAAL,CAAYC,YAA7B,CAA5B;AACA,cAAI0e,YAAY,GAAG,KAAKD,cAAL,CAAoBE,OAApB,EAAnB;;AACA,cAAIliC,MAAM,CAACiiC,YAAD,CAAN,GAAuB,KAAKD,cAAhC,EAAgD;AAC9C,iBAAKG,aAAL,GAAqBniC,MAAM,CAACiiC,YAAD,CAAN,GAAuB,CAA5C;AACA,iBAAKpF,kBAAL,CAAwBsF,aAAxB,GAAwC,KAAKA,aAA7C;AACD,WAHD,MAGO;AACL,iBAAKA,aAAL,GAAqBniC,MAAM,CAACiiC,YAAD,CAA3B;AACA,iBAAKpF,kBAAL,CAAwBsF,aAAxB,GAAwC,KAAKA,aAA7C;AACD;;AACD,cAAG,KAAKtF,kBAAL,CAAwBsF,aAAxB,GAAwC,EAA3C,EAA8C;AAC5C;AACA,iBAAKtF,kBAAL,CAAwBkF,cAAxB,GAA0C,KAAKlF,kBAAL,CAAwBsF,aAAlE;AACA,iBAAKtF,kBAAL,CAAwBuF,eAAxB,GAA0C,IAA1C;AACA,iBAAKvF,kBAAL,CAAwBwF,eAAxB,GAA0C,IAA1C;AACD,WALD,MAMI;AACF;AACA,iBAAKxF,kBAAL,CAAwBkF,cAAxB,GAA0C,EAA1C;AACD;;AACD,eAAKlF,kBAAL,CAAwByF,UAAxB;;AACA,eAAKhF,SAAL,GAAiB,KAAKT,kBAAL,CAAwBS,SAAzC;;AAEA,cAAG,KAAKA,SAAL,CAAetgC,MAAf,GAAwB,EAA3B,EAA8B;AAC5B,iBAAK6/B,kBAAL,CAAwBwF,eAAxB,GAA0C,IAA1C;AACA,iBAAKxF,kBAAL,CAAwBuF,eAAxB,GAA0C,IAA1C;AACD;AACF;;;sCAEajkC,K,EAAehF,E,EAAG0X,Q,EAASk2B,K,EAAM8oB,K,EAAM1jC,M,EAAOxjB,I,EAAKyhC,Q,EAAS7L,W,EAAY5X,S,EAAS;AAC7F,eAAKyW,SAAL,GAAiBj/B,KAAjB;AACA,eAAKk/B,KAAL,GAAYl/B,KAAZ;;AACA,cAAI,KAAKo/B,OAAL,IAAgB,MAApB,EAA4B;AAC1B,iBAAKA,OAAL,GAAe,KAAf;AACA,iBAAKH,SAAL,GAAgB,KAAKA,SAAL,GAAe,MAA/B;AACA0xB,4BAAgB,CAAC31D,EAAD,EAAI,IAAJ,CAAhB;AACD,WAJD,MAIO;AACL,iBAAKokC,OAAL,GAAe,MAAf;AACA,iBAAKH,SAAL,GAAgB,KAAKA,SAAL,GAAe,OAA/B;AACA0xB,4BAAgB,CAAC31D,EAAD,EAAI,KAAJ,CAAhB;AACD;;AAED,cAAGwP,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAIod,SAAxB,IAAqCpd,IAAI,IAAI,EAAhD,EACAA,IAAI,GAAG,EAAP,CADA,KAEO,IAAIA,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAE,EAA1B,EAA8B;AACjCA,gBAAI,GAAG,KAAKm0B,sBAAL,CAA4BrnB,MAA5B,CAAmC9M,IAAI,CAACke,UAAL,CAAgBle,IAAnD,CAAP;AACD;AAEH,eAAKqmD,mBAAL,CAAyBn+C,QAAzB,EAAkCk2B,KAAlC,EAAwC8oB,KAAxC,EAA8C1jC,MAA9C,EAAqDxjB,IAArD,EAA0DyhC,QAA1D,EAAmE7L,WAAnE,EAA+E5X,SAA/E,EAAyF,KAAKyW,SAA9F;AACE,eAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AAEH;;;sCAEarsB,Q,EAASk2B,K,EAAM8oB,K,EAAM1jC,M,EAAOxjB,I,EAAKyhC,Q,EAAS7L,W,EAAY5X,S,EAAS;AAC3E;AACE,eAAKkW,kBAAL,CAAwBgB,QAAxB,GAAmC,EAAnC;AACA,eAAKhB,kBAAL,CAAwBkF,cAAxB,GAAyC,EAAzC;AACA,eAAKlF,kBAAL,CAAwB0F,mBAAxB,GAA8C,CAA9C;;AACA,eAAK1F,kBAAL,CAAwB2F,UAAxB,GALyE,CAMzE;AACA;;;AACA,eAAKhf,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAnB;AACA,eAAKJ,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAd;AAEA,cAAG30B,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAIod,SAAxB,IAAqCpd,IAAI,IAAI,EAAhD,EACAA,IAAI,GAAG,EAAP,CADA,KAEK,IAAIA,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAE,EAA1B,EAA8B;AACjCA,gBAAI,GAAG,KAAKm0B,sBAAL,CAA4BrnB,MAA5B,CAAmC9M,IAAI,CAACke,UAAL,CAAgBle,IAAnD,CAAP;AACD;AACD,eAAKqmD,mBAAL,CAAyBn+C,QAAzB,EAAkCk2B,KAAlC,EAAwC8oB,KAAxC,EAA8C1jC,MAA9C,EAAqDxjB,IAArD,EAA0DyhC,QAA1D,EAAmE7L,WAAnE,EAA+E5X,SAA/E,EAAyF,KAAKyW,SAA9F;AACA,eAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACA,eAAKO,eAAL,GAAuB,IAAvB,CAlByE,CAmB3E;AACD;;;yCAEgB5sB,Q,EAASk2B,K,EAAM8oB,K,EAAM1jC,M,EAAOxjB,I,EAAKyhC,Q,EAAS7L,W,EAAY5X,S,EAAW;AAChF,cAAI,KAAKkW,kBAAL,CAAwB0F,mBAAxB,IAA+C,CAAnD,EAAsD;AACpD,iBAAK1F,kBAAL,CAAwBkF,cAAxB,GAAyC,EAAzC;;AACA,iBAAKlF,kBAAL,CAAwBr0B,SAAxB;;AACA,iBAAK20B,UAAL,GAAkB,EAAlB;AACA,iBAAKA,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,iBAAK3Z,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAnB;AACA,iBAAKJ,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAd;AACA,gBAAG30B,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAIod,SAAxB,IAAqCpd,IAAI,IAAI,EAAhD,EACAA,IAAI,GAAG,EAAP,CADA,KAEK,IAAIA,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAE,EAA1B,EAA8B;AACjCA,kBAAI,GAAG,KAAKm0B,sBAAL,CAA4BrnB,MAA5B,CAAmC9M,IAAI,CAACke,UAAL,CAAgBle,IAAnD,CAAP;AACD;AACD,iBAAKqmD,mBAAL,CAAyBn+C,QAAzB,EAAkCk2B,KAAlC,EAAwC8oB,KAAxC,EAA8C1jC,MAA9C,EAAqDxjB,IAArD,EAA0DyhC,QAA1D,EAAmE7L,WAAnE,EAA+E5X,SAA/E,EAAyF,KAAKyW,SAA9F;AACA,iBAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACD;AAEF;;;iDAEwB5wB,I,EAAM2Y,C,EAAEpU,Q,EAASk2B,K,EAAM8oB,K,EAAM1jC,M,EAAOxjB,I,EAAKyhC,Q,EAAS7L,W,EAAY5X,S,EAAW;AAChG;AACA,eAAKwW,UAAL,GAAkB,EAAlB;AACA,eAAKA,UAAL,CAAgBlY,CAAhB,IAAqB,IAArB;AACA,eAAKiY,MAAL,GAAc5wB,IAAd;AACA,eAAKkX,WAAL,GAAkBlX,IAAlB;AACA,cAAG3D,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAIod,SAAxB,IAAqCpd,IAAI,IAAI,EAAhD,EACAA,IAAI,GAAG,EAAP,CADA,KAEO,IAAIA,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAE,EAA1B,EAA8B;AACjCA,gBAAI,GAAG,KAAKm0B,sBAAL,CAA4BrnB,MAA5B,CAAmC9M,IAAI,CAACke,UAAL,CAAgBle,IAAnD,CAAP;AACD;AACH,eAAKqmD,mBAAL,CAAyBn+C,QAAzB,EAAkCk2B,KAAlC,EAAwC8oB,KAAxC,EAA8C1jC,MAA9C,EAAqDxjB,IAArD,EAA0DyhC,QAA1D,EAAmE7L,WAAnE,EAA+E5X,SAA/E,EAAyF,KAAKyW,SAA9F;AACA,eAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACD;;;iCAEQrsB,Q,EAASk2B,K,EAAM8oB,K,EAAM1jC,M,EAAOxjB,I,EAAKyhC,Q,EAAS7L,W,EAAY5X,S,EAAW;AAExE,cAAI,KAAKkW,kBAAL,CAAwBwF,eAAxB,IAA2C,KAA/C,EAAsD;AACpD,iBAAKlF,UAAL,GAAkB,EAAlB;;AACA,iBAAKN,kBAAL,CAAwBp0B,SAAxB;;AACA,iBAAK00B,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,iBAAK3Z,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAnB;AACA,iBAAKJ,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAd;AAEA,gBAAG30B,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAIod,SAAxB,IAAqCpd,IAAI,IAAI,EAAhD,EACAA,IAAI,GAAG,EAAP,CADA,KAEK,IAAIA,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAE,EAA1B,EAA8B;AACjCA,kBAAI,GAAG,KAAKm0B,sBAAL,CAA4BrnB,MAA5B,CAAmC9M,IAAI,CAACke,UAAL,CAAgBle,IAAnD,CAAP;AACD;AACD,iBAAKqmD,mBAAL,CAAyBn+C,QAAzB,EAAkCk2B,KAAlC,EAAwC8oB,KAAxC,EAA8C1jC,MAA9C,EAAqDxjB,IAArD,EAA0DyhC,QAA1D,EAAmE7L,WAAnE,EAA+E5X,SAA/E,EAAyF,KAAKyW,SAA9F;AACA,iBAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACD;AACF;;;qCAEYrsB,Q,EAASk2B,K,EAAM8oB,K,EAAM1jC,M,EAAOxjB,I,EAAKyhC,Q,EAAS7L,W,EAAY5X,S,EAAS;AAC1E;AAEI,eAAKkW,kBAAL,CAAwBgB,QAAxB,GAAmC,KAAKhB,kBAAL,CAAwBsF,aAA3D;AACA,cAAG,KAAKtF,kBAAL,CAAwBsF,aAAxB,GAAsC,EAAtC,IAA4C,CAA/C,EACE,KAAKtF,kBAAL,CAAwBkF,cAAxB,GAAyC,EAAzC,CADF,KAGE,KAAKlF,kBAAL,CAAwBkF,cAAxB,GAAyC,KAAKlF,kBAAL,CAAwBsF,aAAxB,GAAsC,EAA/E;AAEF,eAAKtF,kBAAL,CAAwB0F,mBAAxB,GAA8CnlC,IAAI,CAACqlC,IAAL,CAAU,KAAK5F,kBAAL,CAAwBsF,aAAxB,GAAsC,EAAhD,CAA9C;AACA,eAAKtF,kBAAL,CAAwB4C,oBAAxB,GAA+C,IAA/C;;AACA,eAAK5C,kBAAL,CAAwB6F,SAAxB;;AAEA,eAAKlf,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,KAAKT,kBAAL,CAAwBkF,cAAxB,GAAyC,CAA3E,CAAnB;AACA,eAAK7E,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,KAAKT,kBAAL,CAAwBkF,cAAxB,GAAyC,CAA3E,CAAd;AAEA,cAAGp5B,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAIod,SAAxB,IAAqCpd,IAAI,IAAI,EAAhD,EACAA,IAAI,GAAG,EAAP,CADA,KAEK,IAAIA,IAAI,IAAI,IAAR,IAAgBA,IAAI,IAAE,EAA1B,EAA8B;AACjCA,gBAAI,GAAG,KAAKm0B,sBAAL,CAA4BrnB,MAA5B,CAAmC9M,IAAI,CAACke,UAAL,CAAgBle,IAAnD,CAAP;AACD;AACD,eAAKqmD,mBAAL,CAAyBn+C,QAAzB,EAAkCk2B,KAAlC,EAAwC8oB,KAAxC,EAA8C1jC,MAA9C,EAAqDxjB,IAArD,EAA0DyhC,QAA1D,EAAmE7L,WAAnE,EAA+E5X,SAA/E,EAAyF,KAAKyW,SAA9F;AACA,eAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACA,eAAKM,cAAL,GAAsB,IAAtB,CAvBsE,CAwB3E;AACA;;;kCAESoyB,I,EAAgB;AACtBpwD,sBAAY,CAACC,OAAb,CAAqB,aAArB,EAAoCC,IAAI,CAACC,SAAL,CAAeiwD,IAAI,CAAC58C,MAApB,CAApC;AACAxT,sBAAY,CAACC,OAAb,CAAqB,YAArB,EAAkCi4B,MAAM,CAAEk4B,IAAI,CAAC58C,MAAP,CAAxC;AACAxT,sBAAY,CAACC,OAAb,CAAqB,cAArB,EAAoCi4B,MAAM,CAAC,WAAD,CAA1C;AACA,eAAK/C,YAAL,CAAkBxL,QAAlB,GAA6BymC,IAA7B;AACA,eAAK7jD,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,aAAD,CAArB;AACD;;;;;;;uBAnhDUm7C,yB,EAAyB,wI,EAAA,uH,EAAA,qJ,EAAA,8H,EAAA,kJ,EAAA,oK,EAAA,qJ,EAAA,mJ;AAAA,K;;;YAAzBA,yB;AAAyB,6C;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;AC5BtC;;AACI;;AAEE;;AACE;;AACE;;AAA6I;;AAAW;;AAC1J;;AACF;;AAEA;;AAEE;;AACA;;AACA;;AACC;;AAAiB;AAAA,mBAAS,IAAArjC,SAAA,EAAT;AAAoB,WAApB;;AAAyC;;AAAO;;AACjE;;AAAQ;;AAAM;;AAAU;;AAC1B;;AACD;;AAEA;;AAEE;;AACC;;AAAiB;AAAA,mBAAS,IAAAD,OAAA,EAAT;AAAkB,WAAlB;;AAAuC;;AAAO;;AAC/D;;AAAQ;;AAAQ;;AAAU;;AAC3B;;AAEF;;AACA;;AAEE;;AACC;;AAAiB;AAAA,mBAAS,IAAAgmC,aAAA,EAAT;AAAwB,WAAxB;;AAA6C;;AAAO;;AACrE;;AACD;;AAEF;;AACF;;AAEE;;AAEE;;AACE;;AAAqE;;AAAS;;AAC9E;;AACsC;AAAA;AAAA,aAA6C,eAA7C,EAA6C;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAE7C,IAAA/qC,QAAA,2FAF6C;AAEqG,WAFlJ;;AADtC;;AAMA;;AAIF;;AAEA;;AACE;;AAAkE;;AAAK;;AACvE;;AACkC;AAAA;AAAA,aAA2C,eAA3C,EAA2C;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAE5D,IAAAA,QAAA,2FAF4D;AAEsF,WAFjI;;AADlC;;AAMA;;AAIF;;AAEA;;AACE;;AAAkE;;AAAK;;AACvE;;AAC4C;AAAA;AAAA,aAAgD,eAAhD,EAAgD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAE3E,IAAAA,QAAA,2FAF2E;AAEuE,WAFvH;;AAD5C;;AAMA;;AAIF;;AAAQ;;AACN;;AAAqE;;AAAS;;AAAQ;;AACtF;;AAC4C;AAAA;AAAA,aAAiD,QAAjD,EAAiD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACnF,IAAAA,QAAA,2FADmF;AAC+D,WADhH;;AAExC;;AAA0B;;AAAG;;AAC7B;;AAAkB;;AAAS;;AAC3B;;AAAkB;;AAAc;;AAChC;;AAAkB;;AAAW;;AACjC;;AACF;;AAEA;;AACE;;AAAwE;;AAAU;;AAClF;;AAC0C;AAAA;AAAA,aAA+C,eAA/C,EAA+C;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACxE,IAAAA,QAAA,2FADwE;AAC0E,WADzH;;AAD1C;;AAKA;;AAIF;;AAEA;;AACE;;AAA2E;;AAAY;;AAEvF;;AAEE;;AAA4H;AAAA,mBAAY,IAAAkF,SAAA,QAAZ;AAA6B,WAA7B,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACzI,IAAAlF,QAAA,2FADyI;AACS,WADvC,EAA8B,eAA9B,EAA8B;AAAA;AAAA,WAA9B,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA,mBAE/C,IAAAiF,iBAAA,YAF+C;AAEX,WAFnB;;AAA5H;;AAKE;;AACE;;AAA8E;AAAA;;AAAA;;AAAA,mBAAS,qBAAT;AAA2B,WAA3B;;AAC5E;;AACF;;AACF;;AACJ;;AACA;;AAIA;;AAGF;;AAGF;;AACA;;AACE;;AACE;;AAAwE;;AAAY;;AAAQ;;AAC5F;;AAC0C;AAAA;AAAA,aAA+C,eAA/C,EAA+C;AAAA,mBACxE,IAAAuW,kBAAA,EADwE;AACpD,WADK,EAA+C,QAA/C,EAA+C;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACvC,IAAAxb,QAAA,2FADuC;AAC2G,WAD1J;;AAEtC;;AAA0B;;AAAG;;AAC7B;;AAAkB;;AAAoB;;AACtC;;AAAkB;;AAAY;;AAC9B;;AAAkB;;AAAY;;AAC9B;;AAAkB;;AAAqB;;AACvC;;AAAkB;;AAAa;;AAC/B;;AAAkB;;AAAa;;AAC/B;;AAAkB;;AAAuB;;AACzC;;AAAkB;;AAAe;;AACjC;;AAAkB;;AAAe;;AACrC;;AACF;;AACA;;AACE;;AAAmE;;AAAM;;AAAQ;;AACjF;;AACoC;AAAA;AAAA,aAA6C,QAA7C,EAA6C;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACvE,IAAAA,QAAA,2FADuE;AAC2E,WADxH;;AAEhC;;AAAiB;;AAAG;;AACpB;;AAA2B;;AAAM;;AACjC;;AAAkB;;AAAQ;;AAC1B;;AAAkB;;AAAO;;AAC7B;;AACF;;AAMA;;AACE;;AACE;;AAAkE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,QAAA,2FAAT;AAA2J,WAA3J;;AAEhE;;AAAwD;;AAAO;;AACnE;;AACJ;;AAEA;;AAEA;;AAEE;;AACE;;AACE;;AAA6D;;AAAI;;AACnE;;AACF;;AACE;;AAA6B;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAU,IAAAmF,cAAA,mGAAV;AAAyK,WAAzK;;AAE3B;;AAA4B;;AAAE;;AAC9B;;AAAmB;;AAAE;;AACrB;;AAAmB;;AAAE;;AACrB;;AAAoB;;AAAG;;AAC3B;;AACA;;AACA;;AACE;;AAAqE;;AAAO;;AAC9E;;AACA;;AAEA;;AAKA;;AACA;;AAqCC;;AAoCD;;AACE;;AACE;;AACF;AAAA,mBAAS,IAAA6lC,OAAA,EAAT;AAAkB,WAAlB;;AADE;;AAGF;;AAEF;;AAGF;;AAEA;;AACU;;AAGE;;AACI;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAruB,aAAA,CAAc,UAAd,EAAyB,CAAzB,EAA0B,SAA1B,EAA0B,SAA1B,EAA0B,SAA1B,EAA0B,UAA1B,EAA0B,UAA1B,EAA0B,SAA1B,EAA0B,UAA1B,EAA0B,SAA1B,CAAjB;AAAqL,WAArL,EAAuL,OAAvL,EAAuL;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC/L,IAAAA,aAAA,CAAc,UAAd,EAAyB,CAAzB,EAA0B,SAA1B,EAA0B,SAA1B,EAA0B,SAA1B,EAA0B,UAA1B,EAA0B,UAA1B,EAA0B,SAA1B,EAA0B,UAA1B,EAA0B,SAA1B,CAD+L;AAC3B,WAD5J;;AAEI;;AAAS;;AAClC;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,SAAd,EAAwB,CAAxB,EAAyB,SAAzB,EAAyB,SAAzB,EAAyB,SAAzB,EAAyB,UAAzB,EAAyB,UAAzB,EAAyB,SAAzB,EAAyB,UAAzB,EAAyB,SAAzB,CAAjB;AAAoL,WAApL,EAAsL,OAAtL,EAAsL;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACzL,IAAAA,aAAA,CAAc,SAAd,EAAwB,CAAxB,EAAyB,SAAzB,EAAyB,SAAzB,EAAyB,SAAzB,EAAyB,UAAzB,EAAyB,UAAzB,EAAyB,SAAzB,EAAyB,UAAzB,EAAyB,SAAzB,CADyL;AACtB,WADhK;;AAES;;AAAK;;AAC/B;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,cAAd,EAA6B,CAA7B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,UAA9B,EAA8B,UAA9B,EAA8B,SAA9B,EAA8B,UAA9B,EAA8B,SAA9B,CAAjB;AAAyL,WAAzL,EAA2L,OAA3L,EAA2L;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC9L,IAAAA,aAAA,CAAc,cAAd,EAA6B,CAA7B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,UAA9B,EAA8B,UAA9B,EAA8B,SAA9B,EAA8B,UAA9B,EAA8B,SAA9B,CAD8L;AACtB,WADrK;;AAEO;;AAAK;;AAC7B;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,UAAd,EAAyB,CAAzB,EAA0B,SAA1B,EAA0B,SAA1B,EAA0B,SAA1B,EAA0B,UAA1B,EAA0B,UAA1B,EAA0B,SAA1B,EAA0B,UAA1B,EAA0B,SAA1B,CAAjB;AAAqL,WAArL,EAAuL,OAAvL,EAAuL;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC3L,IAAAA,aAAA,CAAc,UAAd,EAAyB,CAAzB,EAA0B,SAA1B,EAA0B,SAA1B,EAA0B,SAA1B,EAA0B,UAA1B,EAA0B,UAA1B,EAA0B,SAA1B,EAA0B,UAA1B,EAA0B,SAA1B,CAD2L;AACvB,WADhK;;AAEQ;;AAAI;;AAC5B;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,aAAd,EAA4B,CAA5B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,UAA7B,EAA6B,UAA7B,EAA6B,SAA7B,EAA6B,UAA7B,EAA6B,SAA7B,CAAjB;AAAwL,WAAxL,EAA0L,OAA1L,EAA0L;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC9L,IAAAA,aAAA,CAAc,aAAd,EAA4B,CAA5B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,UAA7B,EAA6B,UAA7B,EAA6B,SAA7B,EAA6B,UAA7B,EAA6B,SAA7B,CAD8L;AACvB,WADnK;;AAEO;;AAAY;;AACrC;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,UAAd,EAAyB,CAAzB,EAA0B,SAA1B,EAA0B,SAA1B,EAA0B,SAA1B,EAA0B,UAA1B,EAA0B,UAA1B,EAA0B,SAA1B,EAA0B,UAA1B,EAA0B,SAA1B,CAAjB;AAAqL,WAArL,EAAuL,OAAvL,EAAuL;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACzL,IAAAA,aAAA,CAAc,UAAd,EAAyB,CAAzB,EAA0B,SAA1B,EAA0B,SAA1B,EAA0B,SAA1B,EAA0B,UAA1B,EAA0B,UAA1B,EAA0B,SAA1B,EAA0B,UAA1B,EAA0B,SAA1B,CADyL;AACrB,WADlK;;AAEQ;;AAAM;;AAC9B;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,aAAd,EAA4B,CAA5B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,UAA7B,EAA6B,UAA7B,EAA6B,SAA7B,EAA6B,UAA7B,EAA6B,SAA7B,CAAjB;AAAwL,WAAxL,EAA0L,OAA1L,EAA0L;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC5L,IAAAA,aAAA,CAAc,aAAd,EAA4B,CAA5B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,UAA7B,EAA6B,UAA7B,EAA6B,SAA7B,EAA6B,UAA7B,EAA6B,SAA7B,CAD4L;AACrB,WADrK;;AAEQ;;AAAU;;AACnC;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,aAAd,EAA4B,CAA5B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,UAA7B,EAA6B,UAA7B,EAA6B,SAA7B,EAA6B,UAA7B,EAA6B,SAA7B,CAAjB;AAAwL,WAAxL,EAA0L,OAA1L,EAA0L;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC7L,IAAAA,aAAA,CAAc,aAAd,EAA4B,CAA5B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,UAA7B,EAA6B,UAA7B,EAA6B,SAA7B,EAA6B,UAA7B,EAA6B,SAA7B,CAD6L;AACtB,WADpK;;AAEQ;;AAA6B;;AACtD;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,cAAd,EAA6B,CAA7B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,UAA9B,EAA8B,UAA9B,EAA8B,SAA9B,EAA8B,UAA9B,EAA8B,SAA9B,CAAjB;AAAyL,WAAzL,EAA2L,OAA3L,EAA2L;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC7L,IAAAA,aAAA,CAAc,cAAd,EAA6B,CAA7B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,UAA9B,EAA8B,UAA9B,EAA8B,SAA9B,EAA8B,UAA9B,EAA8B,SAA9B,CAD6L;AACrB,WADtK;;AAEQ;;AAAS;;AAC7B;;AACA;;AACA;;AAQE;;AASD;;AACT;;AACA;;AACE;;AAqDA;;AASF;;AACF;;AACA;;AACG;;AACC;;AAA0B;;AAAsG;;AAElI;;AAEE;;AAGE;;AACE;;AACE;;AAsCF;;AACF;;AACF;;AAEF;;AAgBF;;AAMT;;AACH;;AACF;;AAGF;;AACE;;AAEE;;AACE;;AACE;;AAA+D;;AAAM;;AACrE;;AAAoD;;AAAW;;AAC/D;;AAAoD;;AAAW;;AAC/D;;AAAoD;;AAAU;;AAC9D;;AAAoD;;AAAO;;AAC3D;;AAAoD;;AAAW;;AAC/D;;AAAoD;;AAAQ;;AAC5D;;AAAoD;;AAAa;;AACjE;;AAAoD;;AAAY;;AAChE;;AAAoD;;AAAmB;;AACvE;;AAAoD;;AAAK;;AACzD;;AAAoD;;AAAW;;AAC/D;;AAAqD;;AAAS;;AAC9D;;AAAoD;;AAAU;;AAC9D;;AAAoD;;AAAY;;AAChE;;AAAoD;;AAAU;;AAC9D;;AAAoD;;AAAY;;AAC/D;;AACL;;AACA;;AAEI;;AAmBJ;;AACF;;AACF;;AACA;;AACE;;AAEE;;AACI;;AACG;;AAAoE;;AAAS;;AAC7E;;AAAoE;;AAAK;;AACzE;;AAAqE;;AAAK;;AAC1E;;AAAoE;;AAAI;;AACxE;;AAAoE;;AAAY;;AAChF;;AAAoE;;AAAM;;AAC1E;;AAAoE;;AAAU;;AAC9E;;AAAoE;;AAAmB;;AACvF;;AAAoE;;AAAS;;AAC9E;;AACN;;AACA;;AAEI;;AAWJ;;AACF;;AAEF;;AACA;;AACE;;AAEE;;AACI;;AACG;;AAAoE;;AAAS;;AAC7E;;AAAoE;;AAAK;;AACzE;;AAAqE;;AAAK;;AAC1E;;AAAoE;;AAAI;;AACxE;;AAAoE;;AAAY;;AAChF;;AAAoE;;AAAM;;AAC1E;;AAAoE;;AAAU;;AAC9E;;AAAoE;;AAAmB;;AACvF;;AAAoE;;AAAS;;AAC9E;;AACN;;AACA;;AAEI;;AAWJ;;AACF;;AAEF;;AAGE;;AAEE;;AACE;;AACE;;AACE;;AAA0D;;AAAY;;AACtE;;AAA0F;AAAA,mBAAW,IAAA1c,IAAA,EAAX;AAAiB,WAAjB;;AACxF;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACA;;AAAqC;;AAAgC;;AACrE;;AACA;;AACE;;AAA6F;AAAA,mBAAS,IAAAgrC,aAAA,EAAT;AAAwB,WAAxB;;AAA7F;;AACA;;AAAQ;AAAA,mBAAS,IAAAhrC,IAAA,EAAT;AAAe,WAAf;;AAEc;;AAAK;;AAC3B;;AACA;;AACJ;;AACJ;;AAEA;;AACE;;AACE;;AACE;;AACE;;AAA0D;;AAAY;;AACtE;;AAAyF;AAAA,mBAAW,IAAAgC,aAAA,EAAX;AAA0B,WAA1B;;AACvF;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AAAoC;;AAAyB;;AAAQ;;AAAmB;;AAAU;;AAAqB;;AACzH;;AACA;;AACE;;AAAwF;AAAA,mBAAS,IAAA4a,oBAAA,EAAT;AAA+B,WAA/B;;AAAxF;;AACA;;AAAqB;AAAA,mBAAS,IAAA5a,aAAA,EAAT;AAAwB,WAAxB;;AAEA;;AAAK;;AAC1B;;AACA;;AACJ;;AACJ;;AAEA;;;;;;;;;;;;;;AA1nB2C;;AAAA;;AAGZ;;AAAA;;AAIW;;AAAA;;AAIT;;AAAA;;AAIS;;AAAA;;AAInC;;AAAA;;AAWuC;;AAAA,mHAA6C,SAA7C,EAA6C,mFAA7C;;AAKR;;AAAA;;AASI;;AAAA,iHAA2C,SAA3C,EAA2C,mFAA3C;;AAKJ;;AAAA;;AASc;;AAAA,sHAAgD,SAAhD,EAAgD,mFAAhD;;AAKd;;AAAA;;AAOc;;AAAA;;AAYF;;AAAA,qHAA+C,SAA/C,EAA+C,mFAA/C;;AAIZ;;AAAA;;AAWwE;;AAAA,+FAAuB,SAAvB,EAAuB,qCAAvB,EAAuB,SAAvB,EAAuB,mIAAvB;;AAWxE;;AAAA;;AAIA;;AAAA;;AAWY;;AAAA;;AAiBN;;AAAA;;AAeC;;AAAA;;AAiClC;;AAAA;;AACA;;AAAA;;AAqCC;;AAAA;;AAsCgC;;AAAA;;AAqD2C;;AAAA;;AAYjE;;AAAA;;AAqDA;;AAAA;;AAasB;;AAAA;;AASf;;AAAA;;AA0CR;;AAAA;;AAqDX;;AAAA;;AAwCA;;AAAA;;AAiCA;;AAAA;;AAiBL;;AAAA;;AAuBA;;AAAA;;AAUwE;;AAAA;;AAYE;;AAAA;;;;;;;;;sED1mBpEomC,yB,EAAyB;cALrC,uDAKqC;eAL3B;AACTx+C,kBAAQ,EAAE,wBADD;AAET4D,qBAAW,EAAE,qCAFJ;AAGT3D,mBAAS,EAAE,CAAC,oCAAD;AAHF,S;AAK2B,Q;;;;;;;;;;;;;;;;;;;;gBAm6BrC,uD;iBAAU,mB;;;gBA6FV,uD;iBAAU,sB,EAAwB;AAAC,sBAAQ;AAAT,W;;;;;;;;;;;;;;;;;;;;AE7hCnC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACsHgB;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AAZF;;AAOE;;AAGA;;AAGF;;;;;;;;AANO;;AAAA;;AAGA;;AAAA;;;;;;AA+BP;;AAOE;;AACF;;;;;;;;AA2EQ;;AAME;;AAGE;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA;;AAAA,4DAQpC,CARoC,EAQnC,yBARmC;AAQnC,SARD;;AAHF;;AAgBA;;AAIF;;;;;;;;AAfI;;AAAA;;AACA,+FAAqB,SAArB,EAAqB,yBAArB;;AAYA;;AAAA;;;;;;;;AAKJ;;AAIE;;AAIE;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA;;AAAA,6DAOpC,CAPoC,EAOnC,0BAPmC;AAOnC,SAPD;;AAJF;;AAgBA;;AAIF;;;;;;;;AAdI;;AAAA;;AAHA,+FAAqB,SAArB,EAAqB,0BAArB;;AAeA;;AAAA;;;;;;;;AA+BJ;;AAIE;;AAIE;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA;;AAAA,+DAOpC,CAPoC,EAOnC,4BAPmC;AAOnC,SAPD;;AAJF;;AAgBA;;AAIF;;;;;;;;AAdI;;AAAA;;AAHA,+FAAqB,SAArB,EAAqB,4BAArB;;AAeA;;AAAA;;;;;;;;AAKJ;;AAcE;;AAKE;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA;;AAAA,gEAMpC,CANoC,EAMnC,6BANmC;AAMnC,SAND;;AALF;;AAgBA;;AAIF;;;;;;;;AAdI;;AAAA;;AAHA,+FAAqB,SAArB,EAAqB,6BAArB;;AAeA;;AAAA;;;;;;;;AAKJ;;AAGE;;AAAyB;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA;;AAAA,+DAEnB,CAFmB,EAElB,4BAFkB;AAElB,SAFlB;;AAAzB;;AAIA;;AACF;;;;;;;;AAJ+D;;AAAA;;AAA7D,+FAAqB,SAArB,EAAqB,4BAArB;;AAGoC;;AAAA;;;;;;;;AAItC;;AAIE;;AAAyB;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA;;AAAA,+DAEnB,CAFmB,EAElB,4BAFkB;AAElB,SAFlB;;AAAzB;;AAIA;;AACF;;;;;;;;AAJ+D;;AAAA;;AAA7D,+FAAqB,SAArB,EAAqB,4BAArB;;AAGoC;;AAAA;;;;;;;;AAItC;;AACE;;AAAyB;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA;;AAAA,qEAEb,CAFa,EAEZ,kCAFY;AAEZ,SAFxB;;AAAzB;;AAGA;;AACF;;;;;;;;AAH+D;;AAAA;;AAA7D,+FAAqB,SAArB,EAAqB,kCAArB;;AAEoC;;AAAA;;;;;;;;AAhL1C;;AACE;;AAAI;;AAAwB;;AAC5B;;AACE;;AA2BF;;AACA;;AACE;;AAyBF;;AACA;;AACE;;AAGE;;AAIE;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA;;AAAA,6DAOpC,CAPoC,EAOnC,0BAPmC;AAOnC,SAPD;;AAJF;;AAgBA;;AAIF;;AACF;;AACA;;AACE;;AAyBF;;AACA;;AACE;;AAmCF;;AACA;;AACE;;AASF;;AACA;;AACE;;AAUF;;AACA;;AACE;;AAMF;;AACF;;;;;;;;AAlLM;;AAAA;;AAEG;;AAAA;;AA6BA;;AAAA;;AAoCD;;AAAA;;AAHA,8FAAqB,SAArB,EAAqB,0BAArB;;AAeA;;AAAA;;AAKC;;AAAA;;AA6BH;;AAAA;;AAmCgE;;AAAA;;AAWA;;AAAA;;AAYA;;AAAA;;;;;;AAQtE;;AACE;;AAAgB;;AAAgB;;AAClC;;;;;;;;;;QD9YLohD,mB;AAqDV,mCAAmBrF,YAAnB,EAAsDrgC,WAAtD,EAAwFgsB,KAAxF,EAAsH1rC,MAAtH,EACQuV,QADR,EAC2C3f,eAD3C,EACkF;AAAA;;AAD/D,aAAAmqD,YAAA,GAAAA,YAAA;AAAmC,aAAArgC,WAAA,GAAAA,WAAA;AAAkC,aAAAgsB,KAAA,GAAAA,KAAA;AAA8B,aAAA1rC,MAAA,GAAAA,MAAA;AAC9G,aAAAuV,QAAA,GAAAA,QAAA;AAAmC,aAAA3f,eAAA,GAAAA,eAAA;AApC3C,aAAAyvD,UAAA,GAAiB,EAAjB;AAEA,aAAAC,kBAAA,GAAyB,EAAzB;AAoBD,aAAArlC,cAAA,GAAuB,KAAvB;AACA,aAAAD,cAAA,GAAuB,KAAvB;AACA,aAAAsK,YAAA,GAAqB,KAArB;AACA,aAAAic,SAAA,GAAkB,KAAlB;AACA,aAAAgf,YAAA,GAAoB,CAApB;AAUsF;;;;mCAE9E;AAAA;;AACN,mBADM,CAEN;;AACA,cAAG9xD,YAAY,CAACM,OAAb,CAAqB,aAArB,KAAqC,IAAxC,EAA6C;AAC3C,iBAAKiM,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,EAAD,CAArB;AACA;AACD;;AAED,eAAKmO,QAAL,CAAcwB,IAAd;;AACA,eAAKwuC,YAAL,GAAoB,CAAC9xD,YAAY,CAACM,OAAb,CAAqB,YAArB,CAArB;AACA,eAAKyxD,QAAL,GAAgB/xD,YAAY,CAACM,OAAb,CAAqB,UAArB,CAAhB;AACA,eAAK0xD,YAAL,GAAoBhyD,YAAY,CAACM,OAAb,CAAqB,cAArB,CAApB;AACA,eAAK2xD,cAAL,GAAsBjyD,YAAY,CAACM,OAAb,CAAqB,gBAArB,CAAtB;AAIA,cAAG,KAAKwxD,YAAL,IAAqBvrC,SAAxB,EACE,KAAKurC,YAAL,GAAkB,CAAlB;AACF,eAAKl7B,aAAL,GAAqB,KAArB;;AAEA,cAAG,KAAKk7B,YAAL,GAAoB,CAAvB,EAAyB;AACvB;AACA,iBAAKI,aAAL,CAAmB,KAAKJ,YAAxB,EAFuB,CAGvB;;AACA,iBAAKK,wBAAL,CAA8B,KAAKL,YAAnC;;AAEA,gBAAG,KAAKC,QAAL,IAAiB,MAApB,EAA2B;AAC3B,mBAAKj7B,QAAL,GAAc,kBAAd;AACA,mBAAKD,YAAL,GAAoB,IAApB;AACA,mBAAKic,SAAL,GAAiB,IAAjB;AACA,mBAAKzZ,QAAL,GAAc,QAAd;AACC,aALD,MAMK,IAAG,KAAK04B,QAAL,IAAiB,MAApB,EAA2B;AAC9B,mBAAKj7B,QAAL,GAAc,kBAAd;AACA,mBAAKF,aAAL,GAAqB,IAArB;AACA,mBAAKvL,QAAL,GAAgB,IAAhB;AACD;AAEF,WAlBD,MAmBI;AACF,iBAAKihC,YAAL,CAAkB3iC,QAAlB,GAA6B;AAC3BmjC,oBAAM,EAAC,CADoB;AAE3BC,sBAAQ,EAAC,EAFkB;AAG3BpgC,oBAAM,EAAC,GAHoB;AAI3BvE,sBAAQ,EAAC,GAJkB;AAK3BoK,iBAAG,EAAC,EALuB;AAM3BsE,sBAAQ,EAAC,iBANkB;AAO3BuC,sBAAQ,EAAC,QAPkB;AAQ3BvP,yBAAW,EAAC,EARe;AAS3B1C,yBAAW,EAAC,EATe;AAU1BP,yBAAW,EAAC,EAVc;AAW1BmmC,4BAAc,EAAC;AAXW,aAA7B;AAcA,iBAAKl2B,QAAL,GAAc,iBAAd;AACA,iBAAKuC,QAAL,GAAc,QAAd;AACD,WAxDK,CAyDN;;;AACA,eAAKuzB,YAAL;AAEA,eAAK3U,KAAL,CAAW1sB,WAAX,CAAuB1rB,SAAvB,CAAiC,UAAA82B,MAAM,EAAI;AACzC,oBAAI,CAACy7B,QAAL,GAAgBz7B,MAAM,CAAC,MAAD,CAAtB;AACA,WAFF;;AAIC,cAAG,KAAKy7B,QAAL,IAAe,MAAlB,EAAyB;AACvB,iBAAKx7B,aAAL,GAAmB,IAAnB;AACD;;AAEF,eAAK9S,MAAL,GAAc;AACZC,wBAAY,EAAE,CADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAKA,eAAKwE,UAAL,GAAkBxoB,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAlB;;AACA,cAAI,KAAKkoB,UAAL,IAAmB,IAAnB,IAA2B,KAAKA,UAAL,IAAmB,EAAlD,EAAsD;AACpD,iBAAKjF,KAAL;AACD,WAFD,MAEK;AACH,iBAAKiF,UAAL,IAAmBxoB,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAnB;AACA,iBAAK2iB,OAAL,GAAe,IAAf;AACA,iBAAKC,YAAL,GAAoB,KAApB;AACAljB,wBAAY,CAACwjB,UAAb,CAAwB,KAAxB;AACA,iBAAKD,KAAL;AACD;AAEF;;;0CAEiB5W,K,EAAK;AACrB,eAAKsW,OAAL,GAAe,KAAf;AACA,eAAKC,YAAL,GAAoB,KAApB;AACD;;;+BAEM;AAAE,eAAKJ,SAAL,GAAiB,IAAjB;AAAwB;;;+BAC1B;AAAE,eAAKA,SAAL,GAAiB,KAAjB;AAAyB;;;kCAC3B;AAAG,eAAKG,OAAL,GAAe,IAAf;AAAsB;;;kCACzB;AAAG,eAAKA,OAAL,GAAe,KAAf;AAAsB;;;oCACvB;AAAG,eAAKC,YAAL,GAAoB,IAApB;AAA0B;;;oCAC7B;AAAG,eAAKA,YAAL,GAAoB,KAApB;AAA2B;;;4CACtB;AAAG,eAAKm2B,cAAL,GAAsB,IAAtB;AAA4B;;;4CAC/B;AAAG,eAAKA,cAAL,GAAsB,KAAtB;AAA6B,S,CAEjD;;;;oCACY1sC,K,EAAO;AACjB;AACA,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACD,S,CACD;;;;kCACU6iB,I,EAAe;AACvB;;AACA,cAAI,KAAKuiC,QAAL,IAAiB,MAAjB,IAA2B,KAAKD,YAAL,GAAoB,CAAnD,EAAsD;AACtD,gBAAItiC,IAAI,IAAI,IAAZ,EACA,KAAKjM,KAAL,GAFsD,CAIpD;;AACA,iBAAK+oC,YAAL,CAAkB3iC,QAAlB,GAA6B;AAC3BmjC,oBAAM,EAAC,KAAKgF,YADe;AAE3B/E,sBAAQ,EAAC,KAAKiF,YAFa;AAG3BrlC,oBAAM,EAAC,KAAKslC,cAHe;AAI3Bz/B,iBAAG,EAAC,EAJuB;AAK3BsE,sBAAQ,EAAC,kBALkB;AAM3BuC,sBAAQ,EAAC,QANkB;AAO3BjR,sBAAQ,EAAE,KAAK6pC,cAPY;AAQ3BnoC,yBAAW,EAAC,EARe;AAS3B1C,yBAAW,EAAC,EATe;AAU1BP,yBAAW,EAAC,EAVc;AAW1BmmC,4BAAc,EAAC;AAXW,aAA7B;;AAaE,iBAAK,IAAIvnC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAC/C,mBAAKmsC,UAAL,CAAgBnsC,CAAhB,EAAmB4sC,GAAnB,GAAyB,CAAzB;AACA,mBAAKT,UAAL,CAAgBnsC,CAAhB,EAAmB6sC,aAAnB,GAAmC,KAAnC;AACA,mBAAKV,UAAL,CAAgBnsC,CAAhB,EAAmB8sC,IAAnB,GAA0B,CAA1B;AACA,mBAAKX,UAAL,CAAgBnsC,CAAhB,EAAmB+sC,cAAnB,GAAoC,KAApC;AACA,mBAAKZ,UAAL,CAAgBnsC,CAAhB,EAAmBgtC,IAAnB,GAA0B,CAA1B;AACA,mBAAKb,UAAL,CAAgBnsC,CAAhB,EAAmBitC,cAAnB,GAAoC,KAApC;AACA,mBAAKd,UAAL,CAAgBnsC,CAAhB,EAAmBktC,MAAnB,GAA4B,CAA5B;AACA,mBAAKf,UAAL,CAAgBnsC,CAAhB,EAAmBmtC,gBAAnB,GAAsC,KAAtC;AACA,mBAAKhB,UAAL,CAAgBnsC,CAAhB,EAAmBotC,OAAnB,GAA6B,CAA7B;AACA,mBAAKjB,UAAL,CAAgBnsC,CAAhB,EAAmBqtC,iBAAnB,GAAuC,KAAvC;AACA,mBAAKlB,UAAL,CAAgBnsC,CAAhB,EAAmBstC,MAAnB,GAA4B,CAA5B;AACA,mBAAKnB,UAAL,CAAgBnsC,CAAhB,EAAmButC,gBAAnB,GAAsC,KAAtC;AACA,mBAAKpB,UAAL,CAAgBnsC,CAAhB,EAAmBwtC,MAAnB,GAA4B,CAA5B;AACA,mBAAKrB,UAAL,CAAgBnsC,CAAhB,EAAmBytC,gBAAnB,GAAsC,KAAtC;AACA,mBAAKtB,UAAL,CAAgBnsC,CAAhB,EAAmB0tC,YAAnB,GAAkC,CAAlC;AACA,mBAAKvB,UAAL,CAAgBnsC,CAAhB,EAAmB2tC,sBAAnB,GAA4C,KAA5C;AACD;;AACD,iBAAKnwC,OAAL,GAAa,KAAb;AACA,iBAAKC,YAAL,GAAoB,KAApB;AAED,WAvCH,MAwCM;AACF,gBAAIsM,IAAI,IAAI,IAAZ,EACAA,IAAI,CAACsL,SAAL;AACA,iBAAKwxB,YAAL,CAAkB3iC,QAAlB,GAA6B;AAC3BmjC,oBAAM,EAAC,CADoB;AAE3BC,sBAAQ,EAAC,EAFkB;AAG3BpgC,oBAAM,EAAC,GAHoB;AAI3B6F,iBAAG,EAAC,EAJuB;AAK3BsE,sBAAQ,EAAC,iBALkB;AAM3BuC,sBAAQ,EAAC,QANkB;AAO3BjR,sBAAQ,EAAC,GAPkB;AAQ3B0B,yBAAW,EAAC,EARe;AAS3B1C,yBAAW,EAAC,EATe;AAU1BP,yBAAW,EAAC,EAVc;AAW1BmmC,4BAAc,EAAE;AAXU,aAA7B;AAaD;AACJ,S,CACD;;;;sCACcx9B,I,EAAI;AAChB,cAAI,KAAKuiC,QAAL,IAAiB,MAAjB,IAA2B,KAAKD,YAAL,GAAoB,CAAnD,EAAsD;AACpD,iBAAKh3B,SAAL,CAAetL,IAAf;AACA,iBAAKjM,KAAL;AACD,WAHD,MAIG;AACH,iBAAKuX,SAAL,CAAetL,IAAf,EADG,CAEJ;AACA;;AAECvqB,sBAAU,CAAC;AACX,mBAAKiJ,QAAL,CAAc5B,QAAd,CAAuBwH,MAAvB;AACC,aAFS,EAEP,IAFO,CAAV;AAGD;AACD,S,CACD;;;;uCACa;AAAA;;AACP,cAAIna,EAAE,GAAG,CAACqG,YAAY,CAACM,OAAb,CAAqB,YAArB,CAAV;AACA,cAAG3G,EAAE,KAAI,CAAT,EACCA,EAAE,GAAC,CAAH;;AACD,eAAK2yD,YAAL,CAAkB+G,WAAlB,CAA8B15D,EAAE,CAAC6tB,QAAH,EAA9B,EAA6C3nB,SAA7C,CAAuD,UAAAO,IAAI,EAAE;AAC7D,oBAAI,CAACwxD,UAAL,GAAkBxxD,IAAlB;AACA;AACA,oBAAI,CAACkzD,gBAAL,GAAwB,QAAI,CAAC1B,UAAL,CAAgBp0D,MAAxC;AACA,oBAAI,CAACq0D,kBAAL,GAA0B,QAAI,CAACD,UAA/B;;AACA,oBAAI,CAAC9vC,QAAL,CAAc4E,IAAd;AACF,WANE,EAMA,UAAC/C,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WARE;AASJ,S,CACD;;;;sCACc4/C,Y,EAAmB;AAAA;;AAC/B,cAAGA,YAAY,GAAE,CAAjB,EAAmB;AACjB,iBAAKjH,YAAL,CAAkBkH,kBAAlB,CAAqCD,YAAY,CAAC/rC,QAAb,EAArC,EAA8D3nB,SAA9D,CAAwE,UAAAO,IAAI,EAAE;AAC5E,sBAAI,CAACksD,YAAL,CAAkB3iC,QAAlB,GAA2BvpB,IAAI,CAAC,CAAD,CAA/B;AACD,aAFD,EAEG,UAACujB,GAAD,EAAS;AACV,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aAJD,EADiB,CAMjB;;AACD;;AACD,eAAKmO,QAAL,CAAc4E,IAAd;AACD,S,CACD;;;;qCACa/sB,E,EAAGkrD,G,EAAI4O,S,EAAS;AAC1B,eAAKnB,aAAL,GAAqB,CAACmB,SAAtB;;AACD,eAAK,IAAIhuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAC/C;AAEA,gBAAG,KAAKmsC,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAKyN,aAAL,IAAsB,IAA1E,EAA+E;AAC5E,mBAAKV,UAAL,CAAgBnsC,CAAhB,EAAmB4sC,GAAnB,GAAyB,CAAzB;AACA,mBAAKT,UAAL,CAAgBnsC,CAAhB,EAAmB6sC,aAAnB,GAAmC,IAAnC;AACF;;AACD,gBAAG,KAAKV,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAKyN,aAAL,IAAsB,KAA1E,EAAgF;AAC9E,mBAAKV,UAAL,CAAgBnsC,CAAhB,EAAmB4sC,GAAnB,GAAyB,CAAzB;AACA,mBAAKT,UAAL,CAAgBnsC,CAAhB,EAAmB6sC,aAAnB,GAAmC,KAAnC;AACD;;AACD,gBAAG,KAAKV,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B,EAA/B,IAAsC/5D,EAAE,IAAI,EAA5C,IAAkDkrD,GAAG,IAAE,CAA1D,EAA6D;AAC3D,kBAAG,KAAK+M,UAAL,CAAgBnsC,CAAhB,EAAmBqtC,iBAAnB,IAAwC,IAAxC,IAAgDn5D,EAAE,IAAI,EAAzD,EAA4D;AACxD,qBAAKi4D,UAAL,CAAgBnsC,CAAhB,EAAmBotC,OAAnB,GAA6B,CAA7B;AACA,qBAAKjB,UAAL,CAAgBnsC,CAAhB,EAAmBqtC,iBAAnB,GAAuC,KAAvC;AACH;AACF;AACF;;AACD,eAAKtpC,kBAAL;AACD,S,CACD;;;;sCACc7vB,E,EAAGkrD,G,EAAI4O,S,EAAS;AAC3B,eAAKjB,cAAL,GAAsB,CAACiB,SAAvB;;AAED,eAAK,IAAIhuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAC9C;AAGD,gBAAG,KAAKmsC,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAK2N,cAAL,IAAuB,IAA3E,EAAgF;AAC7E,mBAAKZ,UAAL,CAAgBnsC,CAAhB,EAAmB8sC,IAAnB,GAA0B,CAA1B;AACA,mBAAKX,UAAL,CAAgBnsC,CAAhB,EAAmB+sC,cAAnB,GAAoC,IAApC;AACF;;AAED,gBAAG,KAAKZ,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAK2N,cAAL,IAAuB,KAA3E,EAAiF;AAC/E,mBAAKZ,UAAL,CAAgBnsC,CAAhB,EAAmB8sC,IAAnB,GAA0B,CAA1B;AACA,mBAAKX,UAAL,CAAgBnsC,CAAhB,EAAmB+sC,cAAnB,GAAoC,KAApC;AACD;AACF;;AACD,eAAKhpC,kBAAL;AACD,S,CACD;;;;sCACc7vB,E,EAAGkrD,G,EAAI4O,S,EAAS;AAC3B,eAAKf,cAAL,GAAsB,CAACe,SAAvB;;AAED,eAAK,IAAIhuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAE/C,gBAAG,KAAKmsC,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAK6N,cAAL,IAAuB,IAA3E,EAAgF;AAC7E,mBAAKd,UAAL,CAAgBnsC,CAAhB,EAAmBgtC,IAAnB,GAA0B,CAA1B;AACA,mBAAKb,UAAL,CAAgBnsC,CAAhB,EAAmBitC,cAAnB,GAAoC,IAApC;AACF;;AACD,gBAAG,KAAKd,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAK6N,cAAL,IAAuB,KAA3E,EAAiF;AAC/E,mBAAKd,UAAL,CAAgBnsC,CAAhB,EAAmBgtC,IAAnB,GAA0B,CAA1B;AACA,mBAAKb,UAAL,CAAgBnsC,CAAhB,EAAmBitC,cAAnB,GAAoC,KAApC;AACD;AACF;;AACD,eAAKlpC,kBAAL;AACD,S,CACH;;;;wCACkB7vB,E,EAAGkrD,G,EAAI4O,S,EAAS;AAC9B,eAAKb,gBAAL,GAAwB,CAACa,SAAzB;;AAEA,eAAK,IAAIhuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAE/C,gBAAG,KAAKmsC,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAK+N,gBAAL,IAAyB,IAA7E,EAAkF;AAC/E,mBAAKhB,UAAL,CAAgBnsC,CAAhB,EAAmBktC,MAAnB,GAA4B,CAA5B;AACA,mBAAKf,UAAL,CAAgBnsC,CAAhB,EAAmBmtC,gBAAnB,GAAsC,IAAtC;AACF;;AACD,gBAAG,KAAKhB,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAK+N,gBAAL,IAAyB,KAA7E,EAAmF;AACjF,mBAAKhB,UAAL,CAAgBnsC,CAAhB,EAAmBktC,MAAnB,GAA4B,CAA5B;AACA,mBAAKf,UAAL,CAAgBnsC,CAAhB,EAAmBmtC,gBAAnB,GAAsC,KAAtC;AACD;AACF;;AACD,eAAKppC,kBAAL;AACD,S,CACH;;;;yCACmB7vB,E,EAAGkrD,G,EAAI4O,S,EAAS;AAC/B,eAAKX,iBAAL,GAAyB,CAACW,SAA1B;;AAEA,eAAK,IAAIhuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAE/C,gBAAG,KAAKmsC,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAKiO,iBAAL,IAA0B,IAA9E,EAAmF;AAChF,mBAAKlB,UAAL,CAAgBnsC,CAAhB,EAAmBotC,OAAnB,GAA6B,CAA7B;AACA,mBAAKjB,UAAL,CAAgBnsC,CAAhB,EAAmBqtC,iBAAnB,GAAuC,IAAvC;AACF;;AACD,gBAAG,KAAKlB,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAKiO,iBAAL,IAA0B,KAA9E,EAAoF;AAClF,mBAAKlB,UAAL,CAAgBnsC,CAAhB,EAAmBotC,OAAnB,GAA6B,CAA7B;AACA,mBAAKjB,UAAL,CAAgBnsC,CAAhB,EAAmBqtC,iBAAnB,GAAuC,KAAvC;AACD;;AACD,gBAAG,KAAKlB,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B,EAA/B,IAAqC/5D,EAAE,IAAI,EAA3C,IAAiDkrD,GAAG,IAAE,CAAzD,EAA4D;AAC1D,kBAAG,KAAK+M,UAAL,CAAgBnsC,CAAhB,EAAmB6sC,aAAnB,IAAoC,IAApC,IAA4C34D,EAAE,IAAI,EAArD,EAAwD;AACpD,qBAAKi4D,UAAL,CAAgBnsC,CAAhB,EAAmB4sC,GAAnB,GAAyB,CAAzB;AACA,qBAAKT,UAAL,CAAgBnsC,CAAhB,EAAmB6sC,aAAnB,GAAmC,KAAnC;AACH;AACF;AACF;;AACD,eAAK9oC,kBAAL;AACD,S,CACH;;;;wCACkB7vB,E,EAAGkrD,G,EAAI4O,S,EAAS;AAC9B,eAAKT,gBAAL,GAAwB,CAACS,SAAzB;;AAEA,eAAK,IAAIhuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAE/C,gBAAG,KAAKmsC,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAKmO,gBAAL,IAAyB,IAA7E,EAAkF;AAC/E,mBAAKpB,UAAL,CAAgBnsC,CAAhB,EAAmBstC,MAAnB,GAA4B,CAA5B;AACA,mBAAKnB,UAAL,CAAgBnsC,CAAhB,EAAmButC,gBAAnB,GAAsC,IAAtC;AACF;;AACD,gBAAG,KAAKpB,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAKmO,gBAAL,IAAyB,KAA7E,EAAmF;AACjF,mBAAKpB,UAAL,CAAgBnsC,CAAhB,EAAmBstC,MAAnB,GAA4B,CAA5B;AACA,mBAAKnB,UAAL,CAAgBnsC,CAAhB,EAAmButC,gBAAnB,GAAsC,KAAtC;AACD;AACF;;AACD,eAAKxpC,kBAAL;AACD,S,CACH;;;;wCACkB7vB,E,EAAGkrD,G,EAAI4O,S,EAAS;AAC9B,eAAKP,gBAAL,GAAwB,CAACO,SAAzB;;AAEA,eAAK,IAAIhuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAE/C,gBAAG,KAAKmsC,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAKqO,gBAAL,IAAyB,IAA7E,EAAkF;AAC/E,mBAAKtB,UAAL,CAAgBnsC,CAAhB,EAAmBwtC,MAAnB,GAA4B,CAA5B;AACA,mBAAKrB,UAAL,CAAgBnsC,CAAhB,EAAmBytC,gBAAnB,GAAsC,IAAtC;AACF;;AACD,gBAAG,KAAKtB,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAKqO,gBAAL,IAAyB,KAA7E,EAAmF;AACjF,mBAAKtB,UAAL,CAAgBnsC,CAAhB,EAAmBwtC,MAAnB,GAA4B,CAA5B;AACA,mBAAKrB,UAAL,CAAgBnsC,CAAhB,EAAmBytC,gBAAnB,GAAsC,KAAtC;AACD;AACF;;AACD,eAAK1pC,kBAAL;AACD,S,CACD;;;;8CACsB7vB,E,EAAGkrD,G,EAAI4O,S,EAAS;AACpC;AACA,eAAKL,sBAAL,GAA8B,CAACK,SAA/B;;AAEA,eAAK,IAAIhuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAE/C,gBAAG,KAAKmsC,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAKuO,sBAAL,IAA+B,IAAnF,EAAwF;AACrF,mBAAKxB,UAAL,CAAgBnsC,CAAhB,EAAmB0tC,YAAnB,GAAkC,CAAlC;AACA,mBAAKvB,UAAL,CAAgBnsC,CAAhB,EAAmB2tC,sBAAnB,GAA4C,IAA5C;AACF;;AACD,gBAAG,KAAKxB,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAnB,IAA+B/5D,EAA/B,IAAqCkrD,GAAG,IAAI,CAA5C,IAAiD,KAAKuO,sBAAL,IAA+B,KAAnF,EAAyF;AACvF,mBAAKxB,UAAL,CAAgBnsC,CAAhB,EAAmB0tC,YAAnB,GAAkC,CAAlC;AACA,mBAAKvB,UAAL,CAAgBnsC,CAAhB,EAAmB2tC,sBAAnB,GAA4C,KAA5C;AACD;AACF;;AACD,eAAK5pC,kBAAL;AACD,S,CACH;;;;6CACoB;AAChB,eAAK/G,WAAL,GAAmB,EAAnB;;AACA,eAAK,IAAIgD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAC9C;AACD,gBAAG,KAAKmsC,UAAL,CAAgBnsC,CAAhB,EAAmB6sC,aAAnB,IAAoC,IAApC,IAA4C,KAAKV,UAAL,CAAgBnsC,CAAhB,EAAmB+sC,cAAnB,IAAqC,IAAjF,IAAyF,KAAKZ,UAAL,CAAgBnsC,CAAhB,EAAmBitC,cAAnB,IAAqC,IAA9H,IACD,KAAKd,UAAL,CAAgBnsC,CAAhB,EAAmBmtC,gBAAnB,IAAuC,IADtC,IAC8C,KAAKhB,UAAL,CAAgBnsC,CAAhB,EAAmBqtC,iBAAnB,IAAwC,IADtF,IAC8F,KAAKlB,UAAL,CAAgBnsC,CAAhB,EAAmButC,gBAAnB,IAAuC,IADrI,IAEE,KAAKpB,UAAL,CAAgBnsC,CAAhB,EAAmBytC,gBAAnB,IAAuC,IAFzC,IAEiD,KAAKtB,UAAL,CAAgBnsC,CAAhB,EAAmB2tC,sBAAnB,IAA6C,IAFjG,EAGC,KAAK3wC,WAAL,CAAiBpf,IAAjB,CAAsB,KAAKuuD,UAAL,CAAgBnsC,CAAhB,CAAtB;AACF;;AAED,eAAKhD,WAAL,GAAmBviB,IAAI,CAACC,SAAL,CAAe,KAAKsiB,WAApB,CAAnB;AACA,eAAKkxC,eAAL,GAAuB,KAAKlxC,WAAL,CAAiBjlB,MAAxC;;AAEA,cAAG,KAAKilB,WAAL,CAAiBjlB,MAAjB,IAA0B,CAA7B,EAA+B;AAC7B,iBAAKk8C,iBAAL;AACD,WAFD,MAGI;AACF,iBAAKka,iBAAL;AACD;AACF,S,CAGD;;;;iCACSpkC,I,EAAc;AAAA;;AACrB,cAAIu9B,QAAQ,GAAG,KAAKT,YAAL,CAAkB3iC,QAAlB,CAA2BojC,QAA1C;AACAA,kBAAQ,GAAGA,QAAQ,CAACp9B,OAAT,CAAiB,KAAjB,EAAwB,EAAxB,CAAX;;AACA,cAAIo9B,QAAQ,IAAI,EAAhB,EAAoB;AAClB,iBAAKT,YAAL,CAAkB3iC,QAAlB,CAA2BojC,QAA3B,GAAsCA,QAAtC;AACD;;AACD,cAAI,KAAKT,YAAL,CAAkB3iC,QAAlB,CAA2BojC,QAA3B,IAAuC,EAA3C,EAA+C;AACvC7yD,kBAAO,CAAC41B,MAAR,CAAeN,IAAI,CAACO,QAApB,EAA8B5sB,OAA9B,CAAsC,UAAA6sB,OAAO,EAAI;AACrDA,qBAAO,CAACC,aAAR;AACD,aAFK;AAGN,mBAAO,KAAP;AACD,WALD,MAMK;AACL,gBAAIT,IAAI,CAACwL,KAAT,EAAgB;AAChB,mBAAKpE,aAAL,GAAqB,IAArB;AACC;;AACD,iBAAKi9B,WAAL,GAAmB,IAAnB;AACA,gBAAIva,QAAQ,GAAG,EAAf;AAEA,gBAAG9pB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,IAA3B,EACA6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AAEA26C,oBAAQ,CAAC,QAAD,CAAR,GAAqB9pB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,CAArB;AACA26C,oBAAQ,CAAC,UAAD,CAAR,GAAuB9pB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,CAAvB;AACA26C,oBAAQ,CAAC,UAAD,CAAR,GAAuB9pB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,CAAvB;AACA26C,oBAAQ,CAAC,QAAD,CAAR,GAAqB,KAAKn3C,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAArB;;AAEA,iBAAKgsD,YAAL,CAAkBwH,mBAAlB,CAAsCtkC,IAAI,CAAC7wB,KAAL,CAAW,UAAX,CAAtC,EAA6D6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,CAA7D,EAAmFkB,SAAnF,CAA6F,UAAAO,IAAI,EAAE;AACjG,kBAAIA,IAAI,IAAI,CAAZ,EAAe;AACb,wBAAI,CAAC6iB,OAAL,GAAe,KAAf;AACA,wBAAI,CAACC,YAAL,GAAoB,IAApB;AACA,wBAAI,CAAC6wC,QAAL,GAAc,QAAd;AACA,wBAAI,CAACvrC,UAAL,GAAkB,0BAAlB;;AACA,wBAAI,CAACjF,KAAL;;AACA,wBAAI,CAACqT,aAAL,GAAqB,KAArB;AACA,wBAAI,CAACi9B,WAAL,GAAmB,KAAnB;AACD,eARD,MASI;AACN;AACA,oBAAI,QAAI,CAAC/B,YAAL,KAAsB,CAA1B,EAA6B;AAC3B;AACI,sBAAIkC,QAAQ,GAAG,EAAf;;AAEA,uBAAK,IAAIvuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAC7C,wBAAIwuC,OAAO,GAAG,EAAd;;AAEA,wBAAG,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmB6sC,aAAnB,IAAoC,IAApC,IAA4C,QAAI,CAACV,UAAL,CAAgBnsC,CAAhB,EAAmB+sC,cAAnB,IAAqC,IAAjF,IAAyF,QAAI,CAACZ,UAAL,CAAgBnsC,CAAhB,EAAmBitC,cAAnB,IAAqC,IAA9H,IACD,QAAI,CAACd,UAAL,CAAgBnsC,CAAhB,EAAmBmtC,gBAAnB,IAAuC,IADtC,IAC8C,QAAI,CAAChB,UAAL,CAAgBnsC,CAAhB,EAAmBqtC,iBAAnB,IAAwC,IADtF,IAC8F,QAAI,CAAClB,UAAL,CAAgBnsC,CAAhB,EAAmButC,gBAAnB,IAAuC,IADrI,IAEG,QAAI,CAACpB,UAAL,CAAgBnsC,CAAhB,EAAmBytC,gBAAnB,IAAuC,IAF1C,IAEkD,QAAI,CAACtB,UAAL,CAAgBnsC,CAAhB,EAAmB2tC,sBAAnB,IAA6C,IAFlG,EAEuG;AACvGa,6BAAO,CAAC,UAAD,CAAP,GAAsB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAzC;AACAO,6BAAO,CAAC,KAAD,CAAP,GAAiB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmB4sC,GAApC;AACA4B,6BAAO,CAAC,MAAD,CAAP,GAAkB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmB8sC,IAArC;AACA0B,6BAAO,CAAC,MAAD,CAAP,GAAkB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBgtC,IAArC;AACAwB,6BAAO,CAAC,QAAD,CAAP,GAAoB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBktC,MAAvC;AACAsB,6BAAO,CAAC,SAAD,CAAP,GAAqB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBotC,OAAxC;AACAoB,6BAAO,CAAC,QAAD,CAAP,GAAoB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBstC,MAAvC;AACAkB,6BAAO,CAAC,QAAD,CAAP,GAAoB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBwtC,MAAvC;AACAgB,6BAAO,CAAC,cAAD,CAAP,GAA0B,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmB0tC,YAA7C;AACAa,8BAAQ,CAAC3wD,IAAT,CAAc4wD,OAAd;AACD;AACF;;AAEC3a,0BAAQ,CAAC,aAAD,CAAR,GAA0B0a,QAA1B;;AAED,sBAAGA,QAAQ,CAACx2D,MAAT,IAAmB,CAAtB,EAAwB;AACnB,4BAAI,CAAC8uD,YAAL,CAAkB4H,kBAAlB,CAAqC5a,QAArC,EAA+Cz5C,SAA/C,CAAyD,UAAAO,IAAI,EAAE;AAC/D,8BAAI,CAACooB,UAAL,GAAkBpoB,IAAI,CAAC2sD,QAAL,GAAgB,GAAhB,GAAsB3sD,IAAI,CAACoyB,GAA7C,CAD+D,CAE/D;AACA;;AACA,8BAAI,CAACvP,OAAL,GAAe,IAAf;AACA,8BAAI,CAACC,YAAL,GAAoB,KAApB;;AACA,8BAAI,CAACw2B,iBAAL;;AAEA,8BAAI,CAAC9iB,aAAL,GAAqB,KAArB,CAR+D,CAS/D;;AACA,0BAAG,QAAI,CAACk7B,YAAL,GAAoB,CAAvB,EAAyB;AACzB,gCAAI,CAACK,wBAAL,CAA8B,QAAI,CAACL,YAAnC;;AACA,gCAAI,CAACvuC,KAAL;AACC,uBAHD,MAII;AACJ;AACE,gCAAI,CAACgY,aAAL,CAAmB/L,IAAnB;;AACA,gCAAI,CAAChH,UAAL,GAAgBpoB,IAAI,CAAC2sD,QAAL,GAAe,GAAf,GAAqB3sD,IAAI,CAACoyB,GAA1C;AACAxyB,oCAAY,CAACC,OAAb,CAAqB,KAArB,EAA2B,QAAI,CAACuoB,UAAhC;;AACA,gCAAI,CAACjF,KAAL;;AAEAiM,4BAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AACA26C,gCAAQ,GAAG,EAAX;;AACA,6BAAK,IAAI7zB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAC/C,kCAAI,CAACmsC,UAAL,CAAgBnsC,CAAhB,EAAmB4sC,GAAnB,GAAyB,CAAzB;AACA,kCAAI,CAACT,UAAL,CAAgBnsC,CAAhB,EAAmB6sC,aAAnB,GAAmC,KAAnC;AACA,kCAAI,CAACV,UAAL,CAAgBnsC,CAAhB,EAAmB8sC,IAAnB,GAA0B,CAA1B;AACA,kCAAI,CAACX,UAAL,CAAgBnsC,CAAhB,EAAmB+sC,cAAnB,GAAoC,KAApC;AACA,kCAAI,CAACZ,UAAL,CAAgBnsC,CAAhB,EAAmBgtC,IAAnB,GAA0B,CAA1B;AACA,kCAAI,CAACb,UAAL,CAAgBnsC,CAAhB,EAAmBitC,cAAnB,GAAoC,KAApC;AACA,kCAAI,CAACd,UAAL,CAAgBnsC,CAAhB,EAAmBktC,MAAnB,GAA4B,CAA5B;AACA,kCAAI,CAACf,UAAL,CAAgBnsC,CAAhB,EAAmBmtC,gBAAnB,GAAsC,KAAtC;AACA,kCAAI,CAAChB,UAAL,CAAgBnsC,CAAhB,EAAmBotC,OAAnB,GAA6B,CAA7B;AACA,kCAAI,CAACjB,UAAL,CAAgBnsC,CAAhB,EAAmBqtC,iBAAnB,GAAuC,KAAvC;AACA,kCAAI,CAAClB,UAAL,CAAgBnsC,CAAhB,EAAmBstC,MAAnB,GAA4B,CAA5B;AACA,kCAAI,CAACnB,UAAL,CAAgBnsC,CAAhB,EAAmButC,gBAAnB,GAAsC,KAAtC;AACA,kCAAI,CAACpB,UAAL,CAAgBnsC,CAAhB,EAAmBwtC,MAAnB,GAA4B,CAA5B;AACA,kCAAI,CAACrB,UAAL,CAAgBnsC,CAAhB,EAAmBytC,gBAAnB,GAAsC,KAAtC;AACA,kCAAI,CAACtB,UAAL,CAAgBnsC,CAAhB,EAAmB0tC,YAAnB,GAAkC,CAAlC;AACA,kCAAI,CAACvB,UAAL,CAAgBnsC,CAAhB,EAAmB2tC,sBAAnB,GAA4C,KAA5C;AACD,yBA1BC,CA2BP;;AACI;AACJ,qBA3CG,EA4CJ,UAAC53B,KAAD,EAAS;AACP;AACA,8BAAI,CAACvY,OAAL,GAAe,KAAf,CAFO,CAGP;AACA;;AACA,8BAAI,CAACM,KAAL;;AACA,8BAAI,CAACqT,aAAL,GAAqB,KAArB,CANO,CAOV;;AACC,8BAAI,CAACrqB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACC,qBArDG;AAsDL,mBAvDA,MAwDC;AACF,4BAAI,CAACijB,aAAL,GAAqB,KAArB,CADE,CAEH;;AACC,4BAAI,CAACg9B,iBAAL;;AACE,4BAAI,CAACprC,UAAL,GAAiB,sBAAjB;AACA,4BAAI,CAACtF,YAAL,GAAoB,IAApB;AACA,4BAAI,CAACD,OAAL,GAAa,KAAb;;AACA,4BAAI,CAACM,KAAL;AACH;AACA,iBA1FL,MA4FK,IAAI,QAAI,CAACuuC,YAAL,GAAoB,CAApB,IAAyBtiC,IAAI,CAAC7wB,KAAL,CAAW,QAAX,MAAyB,GAAtD,EAA2D;AAC9D,0BAAI,CAAC2tD,YAAL,CAAkB6H,YAAlB,CAA+B,QAAI,CAACrC,YAAL,CAAkBtqC,QAAlB,EAA/B,EAA6D3nB,SAA7D,CAAuE,UAAAO,IAAI,EAAE;AAE3E,wBAAIA,IAAI,IAAI,CAAZ,EAAe;AACb,8BAAI,CAAC6iB,OAAL,GAAe,KAAf;AACA,8BAAI,CAACC,YAAL,GAAoB,IAApB;AACA,8BAAI,CAACsF,UAAL,GAAkB,+CAAlB;;AACA,8BAAI,CAACjF,KAAL;;AACA,8BAAI,CAACqT,aAAL,GAAqB,KAArB;AACA,8BAAI,CAACi9B,WAAL,GAAmB,KAAnB;AACC,qBAPH,MAQM;AACF,0BAAIG,QAAQ,GAAG,EAAf;;AAEA,2BAAK,IAAIvuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAC7C,4BAAIwuC,OAAO,GAAG,EAAd;;AAEA,4BAAG,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmB6sC,aAAnB,IAAoC,IAApC,IAA4C,QAAI,CAACV,UAAL,CAAgBnsC,CAAhB,EAAmB+sC,cAAnB,IAAqC,IAAjF,IAAyF,QAAI,CAACZ,UAAL,CAAgBnsC,CAAhB,EAAmBitC,cAAnB,IAAqC,IAA9H,IACD,QAAI,CAACd,UAAL,CAAgBnsC,CAAhB,EAAmBmtC,gBAAnB,IAAuC,IADtC,IAC8C,QAAI,CAAChB,UAAL,CAAgBnsC,CAAhB,EAAmBqtC,iBAAnB,IAAwC,IADtF,IAC8F,QAAI,CAAClB,UAAL,CAAgBnsC,CAAhB,EAAmButC,gBAAnB,IAAuC,IADrI,IAEG,QAAI,CAACpB,UAAL,CAAgBnsC,CAAhB,EAAmBytC,gBAAnB,IAAuC,IAF1C,IAEkD,QAAI,CAACtB,UAAL,CAAgBnsC,CAAhB,EAAmB2tC,sBAAnB,IAA6C,IAFlG,EAEuG;AACvGa,iCAAO,CAAC,UAAD,CAAP,GAAsB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAzC;AACAO,iCAAO,CAAC,KAAD,CAAP,GAAiB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmB4sC,GAApC;AACA4B,iCAAO,CAAC,MAAD,CAAP,GAAkB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmB8sC,IAArC;AACA0B,iCAAO,CAAC,MAAD,CAAP,GAAkB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBgtC,IAArC;AACAwB,iCAAO,CAAC,QAAD,CAAP,GAAoB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBktC,MAAvC;AACAsB,iCAAO,CAAC,SAAD,CAAP,GAAqB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBotC,OAAxC;AACAoB,iCAAO,CAAC,QAAD,CAAP,GAAoB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBstC,MAAvC;AACAkB,iCAAO,CAAC,QAAD,CAAP,GAAoB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBwtC,MAAvC;AACAgB,iCAAO,CAAC,cAAD,CAAP,GAA0B,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmB0tC,YAA7C;AACAa,kCAAQ,CAAC3wD,IAAT,CAAc4wD,OAAd;AACD;AACF;;AACC3a,8BAAQ,CAAC,aAAD,CAAR,GAA0B0a,QAA1B;;AAGA,0BAAGA,QAAQ,CAACx2D,MAAT,IAAmB,CAAtB,EAAwB;AACtB;;AACE,gCAAI,CAAC8uD,YAAL,CAAkB4H,kBAAlB,CAAqC5a,QAArC,EAA+Cz5C,SAA/C,CAAyD,UAAAO,IAAI,EAAE;AAC/D,kCAAI,CAACooB,UAAL,GAAgBpoB,IAAI,CAAC2sD,QAAL,GAAgB,GAAhB,GAAsB3sD,IAAI,CAACoyB,GAA3C,CAD+D,CAE/D;AACA;;AACA,kCAAI,CAACvP,OAAL,GAAe,IAAf;AACA,kCAAI,CAACC,YAAL,GAAoB,KAApB;;AACA,kCAAI,CAACw2B,iBAAL;;AAEA,kCAAI,CAAC9iB,aAAL,GAAqB,KAArB,CAR+D,CAS/D;;AAEF,8BAAG,QAAI,CAACk7B,YAAL,GAAoB,CAAvB,EAAyB;AACxB,oCAAI,CAACK,wBAAL,CAA8B,QAAI,CAACL,YAAnC;;AACA,oCAAI,CAACvuC,KAAL;AACA,2BAHD,MAII;AACH;AACC,oCAAI,CAACgY,aAAL,CAAmB/L,IAAnB;;AACA,oCAAI,CAAChH,UAAL,GAAgBpoB,IAAI,CAAC2sD,QAAL,GAAe,GAAf,GAAqB3sD,IAAI,CAACoyB,GAA1C;AACAxyB,wCAAY,CAACC,OAAb,CAAqB,KAArB,EAA2B,QAAI,CAACuoB,UAAhC;;AACA,oCAAI,CAACjF,KAAL;;AAEAiM,gCAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AACA26C,oCAAQ,GAAG,EAAX;;AACA,iCAAK,IAAI7zB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAC/C,sCAAI,CAACmsC,UAAL,CAAgBnsC,CAAhB,EAAmB4sC,GAAnB,GAAyB,CAAzB;AACA,sCAAI,CAACT,UAAL,CAAgBnsC,CAAhB,EAAmB6sC,aAAnB,GAAmC,KAAnC;AACA,sCAAI,CAACV,UAAL,CAAgBnsC,CAAhB,EAAmB8sC,IAAnB,GAA0B,CAA1B;AACA,sCAAI,CAACX,UAAL,CAAgBnsC,CAAhB,EAAmB+sC,cAAnB,GAAoC,KAApC;AACA,sCAAI,CAACZ,UAAL,CAAgBnsC,CAAhB,EAAmBgtC,IAAnB,GAA0B,CAA1B;AACA,sCAAI,CAACb,UAAL,CAAgBnsC,CAAhB,EAAmBitC,cAAnB,GAAoC,KAApC;AACA,sCAAI,CAACd,UAAL,CAAgBnsC,CAAhB,EAAmBktC,MAAnB,GAA4B,CAA5B;AACA,sCAAI,CAACf,UAAL,CAAgBnsC,CAAhB,EAAmBmtC,gBAAnB,GAAsC,KAAtC;AACA,sCAAI,CAAChB,UAAL,CAAgBnsC,CAAhB,EAAmBotC,OAAnB,GAA6B,CAA7B;AACA,sCAAI,CAACjB,UAAL,CAAgBnsC,CAAhB,EAAmBqtC,iBAAnB,GAAuC,KAAvC;AACA,sCAAI,CAAClB,UAAL,CAAgBnsC,CAAhB,EAAmBstC,MAAnB,GAA4B,CAA5B;AACA,sCAAI,CAACnB,UAAL,CAAgBnsC,CAAhB,EAAmButC,gBAAnB,GAAsC,KAAtC;AACA,sCAAI,CAACpB,UAAL,CAAgBnsC,CAAhB,EAAmBwtC,MAAnB,GAA4B,CAA5B;AACA,sCAAI,CAACrB,UAAL,CAAgBnsC,CAAhB,EAAmBytC,gBAAnB,GAAsC,KAAtC;AACA,sCAAI,CAACtB,UAAL,CAAgBnsC,CAAhB,EAAmB0tC,YAAnB,GAAkC,CAAlC;AACA,sCAAI,CAACvB,UAAL,CAAgBnsC,CAAhB,EAAmB2tC,sBAAnB,GAA4C,KAA5C;AACD,6BA1BC,CA2BJ;;AACC;AACF,yBA5CG,EA6CJ,UAAC53B,KAAD,EAAS;AACP;AACA,kCAAI,CAACvY,OAAL,GAAe,KAAf,CAFO,CAGP;AACA;;AACA,kCAAI,CAACM,KAAL;;AACA,kCAAI,CAACqT,aAAL,GAAqB,KAArB,CANO,CAOR;;AACC,kCAAI,CAACrqB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,yBAtDG;AAuDL,uBAzDC,MA0DA;AACF,gCAAI,CAACijB,aAAL,GAAqB,KAArB,CADE,CAEH;;AACC,gCAAI,CAACg9B,iBAAL;;AACA,gCAAI,CAAC1wC,YAAL,GAAoB,IAApB;AACA,gCAAI,CAACD,OAAL,GAAa,KAAb;AACA,gCAAI,CAACuF,UAAL,GAAiB,sBAAjB;;AACE,gCAAI,CAACjF,KAAL;AACH;AAEA;AACF,mBAvGH,EAuGK,UAACI,GAAD,EAAS;AACV,4BAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,mBAzGH;AA0GC,iBA3GE,MA4GD;AACI,sBAAIqgD,QAAQ,GAAG,EAAf;AACZ;;AAEY,uBAAK,IAAIvuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAC7C,wBAAIwuC,OAAO,GAAG,EAAd;;AAEA,wBAAG,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmB6sC,aAAnB,IAAoC,IAApC,IAA4C,QAAI,CAACV,UAAL,CAAgBnsC,CAAhB,EAAmB+sC,cAAnB,IAAqC,IAAjF,IAAyF,QAAI,CAACZ,UAAL,CAAgBnsC,CAAhB,EAAmBitC,cAAnB,IAAqC,IAA9H,IACD,QAAI,CAACd,UAAL,CAAgBnsC,CAAhB,EAAmBmtC,gBAAnB,IAAuC,IADtC,IAC8C,QAAI,CAAChB,UAAL,CAAgBnsC,CAAhB,EAAmBqtC,iBAAnB,IAAwC,IADtF,IAC8F,QAAI,CAAClB,UAAL,CAAgBnsC,CAAhB,EAAmButC,gBAAnB,IAAuC,IADrI,IAEE,QAAI,CAACpB,UAAL,CAAgBnsC,CAAhB,EAAmBytC,gBAAnB,IAAuC,IAFzC,IAEkD,QAAI,CAACtB,UAAL,CAAgBnsC,CAAhB,EAAmB2tC,sBAAnB,IAA6C,IAFlG,EAEuG;AACvGa,6BAAO,CAAC,UAAD,CAAP,GAAsB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBiuC,QAAzC;AACAO,6BAAO,CAAC,KAAD,CAAP,GAAiB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmB4sC,GAApC;AACA4B,6BAAO,CAAC,MAAD,CAAP,GAAkB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmB8sC,IAArC;AACA0B,6BAAO,CAAC,MAAD,CAAP,GAAkB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBgtC,IAArC;AACAwB,6BAAO,CAAC,QAAD,CAAP,GAAoB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBktC,MAAvC;AACAsB,6BAAO,CAAC,SAAD,CAAP,GAAqB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBotC,OAAxC;AACAoB,6BAAO,CAAC,QAAD,CAAP,GAAoB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBstC,MAAvC;AACAkB,6BAAO,CAAC,QAAD,CAAP,GAAoB,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmBwtC,MAAvC;AACAgB,6BAAO,CAAC,cAAD,CAAP,GAA0B,QAAI,CAACrC,UAAL,CAAgBnsC,CAAhB,EAAmB0tC,YAA7C;AACAa,8BAAQ,CAAC3wD,IAAT,CAAc4wD,OAAd;AACD;AACV;;AAES3a,0BAAQ,CAAC,aAAD,CAAR,GAA0B0a,QAA1B;AAEA;;AACA,sBAAGA,QAAQ,CAACx2D,MAAT,IAAmB,CAAtB,EAAwB;AACpB,4BAAI,CAAC8uD,YAAL,CAAkB4H,kBAAlB,CAAqC5a,QAArC,EAA+Cz5C,SAA/C,CAAyD,UAAAO,IAAI,EAAE;AAC/D,8BAAI,CAACooB,UAAL,GAAiBpoB,IAAI,CAAC2sD,QAAL,GAAgB,GAAhB,GAAsB3sD,IAAI,CAACoyB,GAA5C,CAD+D,CAE/D;AACA;;AACA,8BAAI,CAACvP,OAAL,GAAe,IAAf;AACA,8BAAI,CAACC,YAAL,GAAoB,KAApB;;AACA,8BAAI,CAACw2B,iBAAL;;AAEA,8BAAI,CAAC9iB,aAAL,GAAqB,KAArB,CAR+D,CAS/D;;AACF,0BAAG,QAAI,CAACk7B,YAAL,GAAoB,CAAvB,EAAyB;AACtB,gCAAI,CAACK,wBAAL,CAA8B,QAAI,CAACL,YAAnC;;AACA,gCAAI,CAACvuC,KAAL;AACF,uBAHD,MAII;AACFiM,4BAAI,CAACsL,SAAL;;AACA,gCAAI,CAACS,aAAL,CAAmB/L,IAAnB;;AACA,gCAAI,CAAChH,UAAL,GAAgBpoB,IAAI,CAAC2sD,QAAL,GAAe,GAAf,GAAqB3sD,IAAI,CAACoyB,GAA1C;AACAxyB,oCAAY,CAACC,OAAb,CAAqB,KAArB,EAA2B,QAAI,CAACuoB,UAAhC;;AACA,gCAAI,CAACjF,KAAL;;AAEAiM,4BAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AACA26C,gCAAQ,GAAG,EAAX;;AACA,6BAAK,IAAI7zB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACmsC,UAAL,CAAgBp0D,MAApC,EAA4CioB,CAAC,EAA7C,EAAiD;AAC/C,kCAAI,CAACmsC,UAAL,CAAgBnsC,CAAhB,EAAmB4sC,GAAnB,GAAyB,CAAzB;AACA,kCAAI,CAACT,UAAL,CAAgBnsC,CAAhB,EAAmB6sC,aAAnB,GAAmC,KAAnC;AACA,kCAAI,CAACV,UAAL,CAAgBnsC,CAAhB,EAAmB8sC,IAAnB,GAA0B,CAA1B;AACA,kCAAI,CAACX,UAAL,CAAgBnsC,CAAhB,EAAmB+sC,cAAnB,GAAoC,KAApC;AACA,kCAAI,CAACZ,UAAL,CAAgBnsC,CAAhB,EAAmBgtC,IAAnB,GAA0B,CAA1B;AACA,kCAAI,CAACb,UAAL,CAAgBnsC,CAAhB,EAAmBitC,cAAnB,GAAoC,KAApC;AACA,kCAAI,CAACd,UAAL,CAAgBnsC,CAAhB,EAAmBktC,MAAnB,GAA4B,CAA5B;AACA,kCAAI,CAACf,UAAL,CAAgBnsC,CAAhB,EAAmBmtC,gBAAnB,GAAsC,KAAtC;AACA,kCAAI,CAAChB,UAAL,CAAgBnsC,CAAhB,EAAmBotC,OAAnB,GAA6B,CAA7B;AACA,kCAAI,CAACjB,UAAL,CAAgBnsC,CAAhB,EAAmBqtC,iBAAnB,GAAuC,KAAvC;AACA,kCAAI,CAAClB,UAAL,CAAgBnsC,CAAhB,EAAmBstC,MAAnB,GAA4B,CAA5B;AACA,kCAAI,CAACnB,UAAL,CAAgBnsC,CAAhB,EAAmButC,gBAAnB,GAAsC,KAAtC;AACA,kCAAI,CAACpB,UAAL,CAAgBnsC,CAAhB,EAAmBwtC,MAAnB,GAA4B,CAA5B;AACA,kCAAI,CAACrB,UAAL,CAAgBnsC,CAAhB,EAAmBytC,gBAAnB,GAAsC,KAAtC;AACD,yBAxBC,CAyBP;;AACI;AACF,qBAzCG,EA0CJ,UAAC13B,KAAD,EAAS;AACP;AACA,8BAAI,CAACvY,OAAL,GAAe,KAAf,CAFO,CAGP;AACA;;AACA,8BAAI,CAACM,KAAL;;AACA,8BAAI,CAACqT,aAAL,GAAqB,KAArB;;AACA,8BAAI,CAACrqB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB,EAPO,CAQR;;AACA,qBAnDG;AAoDL,mBArDC,MAsDA;AACF,4BAAI,CAACijB,aAAL,GAAqB,KAArB,CADE,CAEH;;AACC,4BAAI,CAACg9B,iBAAL;;AACA,4BAAI,CAAC1wC,YAAL,GAAoB,IAApB;AACA,4BAAI,CAACD,OAAL,GAAa,KAAb;AACA,4BAAI,CAACuF,UAAL,GAAiB,sBAAjB;;AACA,4BAAI,CAACjF,KAAL;AACD;AACJ;AACA;AACJ,aA/SC,EA+SC,UAACI,GAAD,EAAS;AACR,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACA,aAjTF;AAkTC;AACJ;;;gCAEM;AACHmU,gBAAM,CAACC,MAAP,CAAc;AACZC,eAAG,EAAE,CADO;AAEZC,gBAAI,EAAE,CAFM;AAGZC,oBAAQ,EAAC;AAHG,WAAd;AAKD;;;qCAES;AACRloB,sBAAY,CAACwjB,UAAb,CAAwB,YAAxB;AACAxjB,sBAAY,CAACwjB,UAAb,CAAwB,cAAxB;AACAxjB,sBAAY,CAACwjB,UAAb,CAAwB,gBAAxB;AACA,eAAKjX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,aAAD,CAArB;AACD,S,CACD;;;;iDACyBygD,M,EAAc;AAAA;;AACrC,eAAK9H,YAAL,CAAkB+H,8BAAlB,CAAiDD,MAAM,CAAC5sC,QAAP,EAAjD,EAAoE3nB,SAApE,CAA8E,UAAA67B,SAAS,EAAE;AACvF,oBAAI,CAAC44B,mBAAL,GAAyB54B,SAAzB;;AAEA,gBAAG,QAAI,CAAC44B,mBAAL,CAAyB,CAAzB,EAA4BltC,WAA5B,IAA2C,EAA9C,EAAiD;AAC/C,sBAAI,CAACoF,cAAL,GAAoB,IAApB;AACA,sBAAI,CAACoP,WAAL,GAAiB,QAAI,CAAC04B,mBAAL,CAAyB,CAAzB,EAA4BltC,WAA7C;AACA,sBAAI,CAACyU,eAAL,GAAqB,QAAI,CAACy4B,mBAAL,CAAyB,CAAzB,EAA4BjjD,QAAjD;AACD;;AACD,gBAAG,QAAI,CAACijD,mBAAL,CAAyB,CAAzB,EAA4BtqC,WAA5B,IAA2C,EAA9C,EAAiD;AAChD,sBAAI,CAACuC,cAAL,GAAoB,IAApB;AACC,sBAAI,CAACuP,aAAL,GAAmB,QAAI,CAACw4B,mBAAL,CAAyB,CAAzB,EAA4BjjD,QAA/C;AACA,sBAAI,CAAC0qB,UAAL,GAAgB,QAAI,CAACu4B,mBAAL,CAAyB,CAAzB,EAA4BtqC,WAA5C;AACD;AAEF,WAdD,EAcG,UAACrG,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAhBD;AAiBD,S,CACH;;;;iCACW4gD,U,EAAU;AACjB;AACA,eAAKxtC,WAAL,CAAiBpa,KAAjB;AAEA,eAAKklD,kBAAL,GAA0B,KAAKD,UAAL,CAAgBxrC,MAAhB,CAAuB,UAAAC,GAAG,EAAE;AACpD,mBAAOA,GAAG,CAACkuC,UAAJ,CAAertC,iBAAf,GAAmCF,KAAnC,CAAyCutC,UAAU,CAACrtC,iBAAX,EAAzC,CAAP;AACD,WAFyB,CAA1B;AAID;;;;;;;uBApzBUyqC,mB,EAAmB,wI,EAAA,gI,EAAA,+H,EAAA,uH,EAAA,8H,EAAA,mK;AAAA,K;;;YAAnBA,mB;AAAmB,sC;AAAA,gB;AAAA,c;AAAA,quI;AAAA;AAAA;;;AChBhC;;AACE;;AACE;;AACE;;AACE;;AAIE;;AACE;;AACE;;AAEE;AAAA,mBAAiB,IAAA5qB,UAAA,EAAjB;AAA6B,WAA7B,EAA8B,OAA9B,EAA8B;AAAA,mBACrB,IAAAA,UAAA,EADqB;AACT,WADrB;;AASD;;AAEH;;AACA;;AACE;;AACE;;AACF;;AACF;;AACA;;AACF;;AACF;;AAEA;;AAAwC;AAAA;;AAAA;;AAAA,qCAA+B,IAAAtK,QAAA,KAA/B;AAA6C,WAA7C;;AAItC;;AACE;;AAIE;;AACE;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAKE;;AAAiB;AAAA,mBAAS,IAAAjR,OAAA,EAAT;AAAkB,WAAlB;;AACd;;AAAO;;AAEV;;AAAQ;;AAAQ;;AAAU;;AAC5B;;AAEA;;AAKE;;AAAiB;AAAA,mBAAS,IAAAC,SAAA,EAAT;AAAoB,WAApB;;AACd;;AAAO;;AAEV;;AAAQ;;AAAY;;AAAU;;AAChC;;AACF;;AAIF;;AAEA;;AAEE;;AACE;;AAKE;AAAA;AAAA;;AALF;;AAQA;;AACG;;AAAS;;AAAkB;;AAAC;;AAAO;;AAGtC;;AAOE;AAAA;AAAA,aAA4C,UAA5C,EAA4C;AAAA,mBAEhC,IAAAgsB,iBAAA,QAFgC;AAEP,WAFrC;;AAPF;;AAoBA;;AAcF;;AAEA;;AACE;;AACG;;AAAO;;AAAkB;;AAAC;;AAAO;;AAGpC;;AAKE;AAAA;AAAA,aAA4C,QAA5C,EAA4C;AAAA,mBAElC,IAAAA,iBAAA,QAFkC;AAET,WAFnC;;AAYA;;AAAkB;;AAAM;;AACxB;;AAAkB;;AAAQ;;AAC5B;;AACA;;AASF;;AACF;;AACA;;AAUI;;AACA;;AAGC;AAAA;;AAAA;;AAAA,mBAAiB,IAAAhxB,QAAA,WAAjB;AAA4C,WAA5C,EAA6C,UAA7C,EAA6C;AAAA,mBACjC,IAAAgxB,iBAAA,QADiC;AACR,WADrC;;AAHD;;AAMF;;AAEA;;AACE;;AAAmC;AAAA;;AAAA;;AAAA,mBAAS,IAAAhxB,QAAA,WAAT;AAAoC,WAApC;;AAGjC;;AAAwD;;AAC5D;;AASF;;AAKA;;AASA;;AACE;;AACE;;AAME;;AACE;;AACE;;AAAwB;;AAAO;;AAC/B;;AAA2C;;AAAG;;AAC9C;;AAA2C;;AAAI;;AAC/C;;AAA2C;;AAAI;;AAC/C;;AAA2C;;AAAM;;AACjD;;AAA2C;;AAAO;;AAClD;;AAA2C;;AAAM;;AACjD;;AAA2C;;AAAM;;AACjD;;AAA4C;;AAAe;;AAC7D;;AACF;;AACA;;AACE;;AAoLA;;AAGF;;AACF;;AACA;;AAKF;;AACF;;AAKA;;AACE;;AAIE;;AAGF;;AACF;;AAGA;;AAIE;;AACG;;AAAqD;;AAE1D;;AACA;;AAIE;;AACG;;AAAkD;;AAEvD;;AAEF;;AACF;;AACF;;AACF;;AACF;;AAEA;;AASE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AAKE;AAAA,mBAAS,IAAAC,IAAA,EAAT;AAAe,WAAf;;AAEA;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AAME;;AACF;;AACF;;AACF;;AACF;;AACF;;AAEA;;;;;;;;;;AA7dgB;;AAAA;;AAwBA;;AAAA;;AAO0B;;AAAA;;AAI1B;;AAAA;;AAOQ;;AAAA;;AAAsB;;AAAA;;AAa9B;;AAAA,6FAAqB,SAArB,EAAqB,gCAArB;;AAaA;;AAAA,6FAAqB,SAArB,EAAqB,kCAArB,EAAqB,SAArB,EAAqB,kIAArB;;AAmBA;;AAAA;;AAuBA;;AAAA,6FAAqB,SAArB,EAAqB,kCAArB,EAAqB,SAArB,EAAqB,kIAArB;;AAkBA;;AAAA;;AAgDJ;;AAAA;;AA8BU;;AAAA;;AAoLA;;AAAA;;AAqBa;;AAAA;;AASvB;;AAAA;;AAGG;;AAAA;;AAKH;;AAAA;;AAGG;;AAAA;;AAWb;;AAAA;;AAuBM;;AAAA;;AAoBN;;AAAA;;;;;;;;;sED3eWirC,mB,EAAmB;cAL/B,uDAK+B;eALrB;AACTrhD,kBAAQ,EAAE,iBADD;AAET4D,qBAAW,EAAE,8BAFJ;AAGT3D,mBAAS,EAAE,CAAC,6BAAD;AAHF,S;AAKqB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEhBhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;AC+DgB;;AAA8E;;AAC9E;;;;;;AAD6C;;AAAiC;;AAAA;;;;;;AAMhF;;AAEE;;AAA4B;;;;;;AAGhC;;AACE;;AAA0B;;AAAU;;AAAkB;;AAAC;;AAAO;;AAChE;;;;;;AAUI;;AAAyE;;AAAmB;;;;;;AAAjD;;AAA8B;;AAAA;;;;;;AAI3E;;AAEE;;AACF;;;;;;;;;;;;;;AAfF;;AAEE;;AAAgD;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAA0C,eAA1C,EAA0C;AAAA;;AAAA;;AAAA;AAAA,SAA1C;;AAK9C;;AAA4B;;AAAgB;;AAC5C;;AAEF;;AAEA;;AAKF;;;;;;;;;;AAd2B;;AAAA,2IAAoE,SAApE,EAAoE,oIAApE;;AAKf;;AAAA;;AAKR;;AAAA;;;;;;AAiBF;;AAAuE;;AAAiB;;;;;;;;AAV5F;;AACE;;AACE;;AAA0B;;AAAK;;AAAkB;;AAAC;;AAAO;;AAC3D;;AACA;;AACE;;AAAwC;AAAA;;AAAA;;AAAA;AAAA,WAA+B,eAA/B,EAA+B;AAAA;;AAAA;;AAAA;AAAA,SAA/B;;AAAxC;;AAKA;;AACF;;AACA;;AACE;;AAA0B;;AAAgB;;AAC5C;;AACF;;;;;;;;;;AAVuB;;AAAA,6FAAoB,SAApB,EAAoB,sDAApB,EAAoB,SAApB,EAAoB,oIAApB;;AAKW;;AAAA;;AAGJ;;AAAA;;;;;;AAO1B;;AACE;;AAA0B;;AAAY;;AAAkB;;AAAC;;AAAO;;AAClE;;;;;;AAUI;;AAA+D;;AAAkB;;;;;;AAA3C;;AAAyB;;AAAA;;;;;;AAIjE;;AAEE;;AACF;;;;;;;;AAfF;;AAEE;;AAA6D;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAqC,eAArC,EAAqC;AAAA;;AAAA;;AAAA;AAAA,SAArC;;AAK3D;;AAA4B;;AAAW;;AACvC;;AAEF;;AAEA;;AAIF;;;;;;;;;;AAbI;;AAAA,uIAA+D,SAA/D,EAA+D,oIAA/D;;AAKQ;;AAAA;;AAKR;;AAAA;;;;;;AAKJ;;AACE;;AAA0B;;AAAU;;AACtC;;;;;;;;AAEA;;AACE;;AACE;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAsC,eAAtC,EAAsC;AAAA;;AAAA;;AAAA;AAAA,SAAtC;;AAIA;;AAA2B;;AAAkB;;AAC7C;;AAAkB;;AAAY;;AAChC;;AACF;;;;;;;;;;AANI;;AAAA,0IAAkE,SAAlE,EAAkE,oIAAlE;;;;;;AAhCR;;AAEE;;AACE;;AAIA;;AAkBA;;AAIA;;AAUF;;AACF;;;;;;AArCsD;;AAAA;;AAI5B;;AAAA;;AAkBA;;AAAA;;AAIA;;AAAA;;;;;;AAiCpB;;AAEE;;AACF;;;;;;AA0BE;;AAAoF;;AACpF;;;;;;AADoF;;AAAA;;;;;;AAWtF;;AAAsF;;AACtF;;;;;;AADsF;;AAAA;;;;;;AAYtF;;AAAmF;;AACnF;;;;;;AADmF;;AAAA;;;;;;AAarF;;AAA4D;;AAAY;;;;;;AAAZ;;AAAA;;;;;;AAC5D;;AAAuD;;AAAsD;;;;;;;;AAmBvG;;AACE;;AAAI;;AAAO;;AACX;;AAAI;;AAA8B;;AAClC;;AAAI;;AAAqB;;AACzB;;AAAI;;AAAmB;;AACvB;;AAAI;;AAAiB;;AACrB;;AACE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAuB;;AACyD;;AACrF;;AACF;;;;;;;;;AATM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAnBd;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAI;;AAAK;;AACT;;AAAI;;AAA8B;;AAClC;;AAAI;;AAAmB;;AACvB;;AAAI;;AAAiB;;AACrB;;AAAI;;AAAI;;AACR;;AAAI;;AAAM;;AACZ;;AACF;;AACA;;AACE;;AAWF;;AACF;;AACF;;AACF;;;;;;AAtBc;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAMF;;AAAA;;;;;;;;AA3Ed;;AACE;;AACE;;AAEA;;AACE;;AAA0C;;AAA+B;;AAC3E;;AACF;;AAEA;;AAEE;;AACE;;AAA0B;;AAAoB;;AAAkB;;AAAC;;AAAO;;AAC1E;;AAEA;;AACE;;AAAmD;AAAA;;AAAA;;AAAA;AAAA,WAA+B,eAA/B,EAA+B;AAAA;;AAAA;;AAAA;AAAA,SAA/B;;AAAnD;;AAGE;;AACQ;;AAEZ;;AACE;;AAA0B;;AAAkB;;AAAkB;;AAAC;;AAAO;;AACxE;;AAEA;;AACE;;AAAkC;AAAA;;AAAA;;AAAA;AAAA,WAA+B,eAA/B,EAA+B;AAAA;;AAAA;;AAAA;AAAA,SAA/B;;AAAlC;;AAGA;;AAEF;;AAEA;;AACE;;AAA0B;;AAAc;;AAAkB;;AAAC;;AAAO;;AACpE;;AAEA;;AACE;;AAAkC;AAAA;;AAAA;;AAAA;AAAA,WAA+B,eAA/B,EAA+B;AAAA;;AAAA;;AAAA;AAAA,SAA/B;;AAAlC;;AAGA;;AAGF;;AACA;;AACE;;AAAqD;AAAA;;AAAA;;AAAA;AAAA,WAA0B,OAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AACuC;;AAC9F;;AAEF;;AACA;;AACE;;AACF;;AACE;;AACA;;AACF;;AACA;;AACA;;AAAI;;AAEJ;;AA6BF;;;;;;AA9EgC;;AAAA;;AAK4C;;AAAA;;AAApE;;AAEwD;;AAAA;;AAIhC;;AAAA;;AAK0C;;AAAA;;AAAlE;;AAEwD;;AAAA;;AAKhC;;AAAA;;AAKxB;;AAAA;;AAEuD;;AAAA;;AAa7B;;AAAA;;AACA;;AAAA;;AAKW;;AAAA;;;;;;AAkIrC;;AACE;;AAAI;;AAAO;;AACX;;AAAI;;AAA8B;;AAClC;;AAAI;;AAAqB;;AACzB;;AAAI;;AAAmB;;AACvB;;AAAI;;AAAiB;;AAKvB;;;;;;;;;AATM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;QD/WXikD,2B;AAOX,2CAAmBC,oBAAnB,EAAsEloD,MAAtE,EAA8FuV,QAA9F,EACUD,WADV,EACiD1f,eADjD,EACyF;AAAA;;AADtE,aAAAsyD,oBAAA,GAAAA,oBAAA;AAAmD,aAAAloD,MAAA,GAAAA,MAAA;AAAwB,aAAAuV,QAAA,GAAAA,QAAA;AACpF,aAAAD,WAAA,GAAAA,WAAA;AAAuC,aAAA1f,eAAA,GAAAA,eAAA;AAQjD,aAAAuyD,OAAA,GAAmB,KAAnB;AASA,aAAAC,eAAA,GAA2B,IAA3B;AAaA,aAAAvhB,aAAA,GAAyB,KAAzB;AAIA,aAAA7d,WAAA,GAAuB,IAAvB;AACA,aAAAq/B,iBAAA,GAA6B,IAA7B;AACA,aAAAC,sBAAA,GAAkC,IAAlC;AACA,aAAAC,yBAAA,GAAqC,IAArC;AAIA,aAAAC,kBAAA,GAA8B,IAA9B;AAEA,aAAAvoC,cAAA,GAAuB,KAAvB;AACA,aAAAD,cAAA,GAAuB,KAAvB;AAOA,aAAAyoC,aAAA,GAAqB,EAArB;AAEA,aAAAC,YAAA,GAAwC,EAAxC;AAEA,aAAAC,UAAA,GAAkB,EAAlB;AAEA,aAAAC,YAAA,GAAoB,EAApB;AAEA,aAAAC,OAAA,GAAe,EAAf;AACA,aAAAC,sBAAA,GAA8B,EAA9B;AA5D4F;;;;mCAiEpF;AAAA;;AACN;AACA,eAAK9xC,KAAL;AAEA,eAAK+U,WAAL,GAAmB,QAAnB;AAEAt4B,sBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACA,eAAKq1D,OAAL,GAAet1D,YAAY,CAACM,OAAb,CAAqB,SAArB,CAAf;AACA,eAAKi1D,SAAL,GAAiBv1D,YAAY,CAACM,OAAb,CAAqB,WAArB,CAAjB;AACA,eAAKy9C,aAAL,GAAqB,CAAC,KAAK57C,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAAtB,CATM,CAWN;AACA;AACA;AACA;;AACA,eAAKk1D,iBAAL;AACA,eAAK5xC,kBAAL;AACA,eAAKinC,mBAAL;AACA,eAAK4K,sBAAL,GAlBM,CAmBN;;AACA,eAAK3zC,QAAL,CAAcwB,IAAd;;AAEA,cAAIoyC,QAAQ,GAAG5tC,MAAM,CAAC6tC,WAAP,CAAmBC,MAAnB,CAA0BC,wBAA1B,GAAqD/tC,MAAM,CAAC6tC,WAAP,CAAmBC,MAAnB,CAA0BE,eAA9F;AAEA7wD,oBAAU,CAAC,YAAM;AACf,oBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,WAFS,EAEP,GAFO,CAAV;AAGD;;;qCAEY;AACX,eAAKna,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,iBAAD,CAArB;AACD;;;kDAEyB;AACxB;;AACA,cAAI,KAAK0hD,sBAAL,CAA4B1L,aAA5B,IAA6C,GAAjD,EAAsD;AACpD,iBAAK8K,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,GAAkD;AAChD5N,2BAAa,EAAE,CADiC;AAEhDC,6BAAe,EAAE,EAF+B;AAGhDl0B,wBAAU,EAAE,CAAC,KAAKytC,OAH8B;AAIhD3uC,0BAAY,EAAE,KAAK4uC,SAJ6B;AAKhD5L,2BAAa,EAAE,GALiC;AAMhD3N,kBAAI,EAAE,EAN0C;AAOhDxoC,oBAAM,EAAE,EAPwC;AAQhDo2C,yBAAW,EAAE,IARmC;AAShDC,uBAAS,EAAE,EATqC;AAUhDC,oBAAM,EAAE,IAVwC;AAWhDC,sBAAQ,EAAE,EAXsC;AAYhDhY,qBAAO,EAAE,EAZuC;AAahDiY,uBAAS,EAAE,GAbqC;AAchDr9B,oBAAM,EAAE,IAdwC;AAehDwnB,0BAAY,EAAE,IAfkC;AAgBhDhtB,uBAAS,EAAE,CAhBqC;AAiBhD8iC,kCAAoB,EAAE,EAjB0B;AAkBhDC,qBAAO,EAAE,EAlBuC;AAmBhDC,0BAAY,EAAE,EAnBkC;AAoBhDC,2BAAa,EAAE,EApBiC;AAqBhDC,0BAAY,EAAE,EArBkC;AAsBhDC,wBAAU,EAAE,IAtBoC;AAuBhDC,4BAAc,EAAE;AAvBgC,aAAlD;AA0BA,iBAAKwL,QAAL,GAAgB,IAAhB;AACA,iBAAKC,OAAL,GAAe,IAAf;AACA,iBAAKC,UAAL,GAAkB,IAAlB;AACA,iBAAKC,WAAL,GAAmB,KAAnB;AACAl2D,wBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,wBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,KAAKw0D,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDC,aAAhD,CAA8DniC,QAA9D,EAAvC;AACD;;AAED,cAAI,KAAK6tC,sBAAL,CAA4B1L,aAA5B,IAA6C,GAAjD,EAAsD;AACpD,iBAAKoM,QAAL,GAAgB,KAAhB;AACA,iBAAKC,OAAL,GAAe,KAAf;AACA,iBAAKC,UAAL,GAAkB,KAAlB;AACA,iBAAKC,WAAL,GAAmB,IAAnB;AACA,iBAAKxB,OAAL,GAAe,KAAf;AACA,iBAAKyB,YAAL,GAAoB,WAApB;AACAn2D,wBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,wBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,KAAKw0D,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDC,aAAhD,CAA8DniC,QAA9D,EAAvC;AACA,iBAAKitC,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,GAAuD,KAAKyY,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,IAAwD,GAAxD,IAA+D,KAAKyY,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,CAAqDx+C,MAArD,GAA8D,CAA7H,GAAiI,EAAjI,GAAsI,KAAKi3D,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAA7O;AACD;;AAED,cAAI,KAAKqZ,sBAAL,CAA4B1L,aAA5B,IAA6C,GAAjD,EAAsD;AACpD,iBAAKoM,QAAL,GAAgB,KAAhB;AACA,iBAAKC,OAAL,GAAe,KAAf;AACA,iBAAKC,UAAL,GAAkB,KAAlB;AACA,iBAAKC,WAAL,GAAmB,IAAnB;AACA,iBAAKxB,OAAL,GAAe,KAAf;AACA,iBAAKyB,YAAL,GAAoB,SAApB;AACAn2D,wBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,wBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,KAAKw0D,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDC,aAAhD,CAA8DniC,QAA9D,EAAvC;AACA,iBAAKitC,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,GAAuD,KAAKyY,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,IAAwD,GAAxD,IAA+D,KAAKyY,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,CAAqDx+C,MAArD,GAA8D,CAA7H,GAAiI,EAAjI,GAAsI,KAAKi3D,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAA7O;AACD;;AAED,cAAI,KAAKqZ,sBAAL,CAA4B1L,aAA5B,IAA6C,GAAjD,EAAsD;AACpD,iBAAKoM,QAAL,GAAgB,KAAhB;AACA,iBAAKC,OAAL,GAAe,KAAf;AACA,iBAAKC,UAAL,GAAkB,KAAlB;AACA,iBAAKC,WAAL,GAAmB,IAAnB;AACA,iBAAKxB,OAAL,GAAe,KAAf;AACA,iBAAKyB,YAAL,GAAoB,WAApB;AACAn2D,wBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,wBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,KAAKw0D,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDC,aAAhD,CAA8DniC,QAA9D,EAAvC;AACA,iBAAKitC,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,GAAuD,KAAKyY,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,IAAwD,GAAxD,IAA+D,KAAKyY,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,CAAqDx+C,MAArD,GAA8D,CAA7H,GAAiI,EAAjI,GAAsI,KAAKi3D,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAA7O;AACD;;AAED,cAAI,KAAKqZ,sBAAL,CAA4B1L,aAA5B,IAA6C,GAAjD,EAAsD;AACpD,iBAAKoM,QAAL,GAAgB,KAAhB;AACA,iBAAKC,OAAL,GAAe,KAAf;AACA,iBAAKC,UAAL,GAAkB,KAAlB;AACA,iBAAKC,WAAL,GAAmB,IAAnB;AACAl2D,wBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,wBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,KAAKw0D,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDC,aAAhD,CAA8DniC,QAA9D,EAAvC;;AACA,gBAAI,KAAKitC,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,IAAwD,EAAxD,IAA8D,KAAKyY,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,IAAwD,EAA1H,EAA8H;AAC5H,mBAAKyY,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,GAAuD,GAAvD;AACD;;AACD,iBAAK0Y,OAAL,GAAe,IAAf;AACA,iBAAKyB,YAAL,GAAoB,EAApB;AACD;;AACD,eAAKC,UAAL,CAAgB,KAAK3B,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDM,SAAhE;AACD;;;iCAGQ;AAAA;;AACP;;AAEA,cAAI,KAAKyK,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDC,SAAjD,IAA8D,EAA9D,IAAoE,KAAKgK,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDE,OAAjD,IAA4D,EAAhI,IAAsI,KAAK+J,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDG,KAAjD,IAA0D,EAApM,EAAwM;AACtM,iBAAK0L,YAAL,GAAoB,EAApB;AACA,iBAAKA,YAAL,GAAoB,wBAApB;AACA,iBAAKC,qBAAL,GAA6B,IAA7B;AACA,iBAAKC,UAAL,GAAkB,EAAlB;AACA,iBAAKA,UAAL,GAAkB,sBAAlB;AACA,iBAAKC,mBAAL,GAA2B,IAA3B;AACA,iBAAKC,YAAL,GAAoB,EAApB;AACA,iBAAKA,YAAL,GAAoB,kBAApB;AACA,iBAAKC,iBAAL,GAAyB,IAAzB;AACA;AACD;;AACD,cAAI,KAAKjC,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDE,OAAjD,IAA4D,EAA5D,IAAkE,KAAK+J,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDG,KAAjD,IAA0D,EAAhI,EAAoI;AAClI,iBAAKgM,QAAL,GAAgB,EAAhB;AACA,iBAAKJ,UAAL,GAAkB,EAAlB;AACA,iBAAKA,UAAL,GAAkB,sBAAlB;AACA,iBAAKC,mBAAL,GAA2B,IAA3B;AACA,iBAAKC,YAAL,GAAoB,EAApB;AACA,iBAAKA,YAAL,GAAoB,kBAApB;AACA,iBAAKC,iBAAL,GAAyB,IAAzB;AACA;AACD;;AACD,cAAI,KAAKjC,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDC,SAAjD,IAA8D,EAA9D,IAAoE,KAAKgK,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDE,OAAjD,IAA4D,EAApI,EAAwI;AACtI,iBAAK+L,YAAL,GAAoB,EAApB;AACA,iBAAKJ,YAAL,GAAoB,EAApB;AACA,iBAAKA,YAAL,GAAoB,wBAApB;AACA,iBAAKC,qBAAL,GAA6B,IAA7B;AACA,iBAAKC,UAAL,GAAkB,EAAlB;AACA,iBAAKA,UAAL,GAAkB,sBAAlB;AACA,iBAAKC,mBAAL,GAA2B,IAA3B;AACA;AACD;;AACD,cAAI,KAAK/B,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDC,SAAjD,IAA8D,EAA9D,IAAoE,KAAKgK,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDG,KAAjD,IAA0D,EAAlI,EAAsI;AACpI,iBAAK4L,UAAL,GAAkB,EAAlB;AACA,iBAAKF,YAAL,GAAoB,EAApB;AACA,iBAAKA,YAAL,GAAoB,wBAApB;AACA,iBAAKC,qBAAL,GAA6B,IAA7B;AACA,iBAAKG,YAAL,GAAoB,EAApB;AACA,iBAAKA,YAAL,GAAoB,kBAApB;AACA,iBAAKC,iBAAL,GAAyB,IAAzB;AACA;AACD;;AAED,cAAI,KAAKjC,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDC,SAAjD,IAA8D,EAAlE,EAAsE;AACpE,iBAAK4L,YAAL,GAAoB,EAApB;AACA,iBAAKI,YAAL,GAAoB,EAApB;AACA,iBAAKF,UAAL,GAAkB,EAAlB;AACA,iBAAKF,YAAL,GAAoB,wBAApB;AACA,iBAAKC,qBAAL,GAA6B,IAA7B;AACA;AACD;;AACD,cAAI,KAAK7B,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDE,OAAjD,IAA4D,EAAhE,EAAoE;AAClE,iBAAK2L,YAAL,GAAoB,EAApB;AACA,iBAAKI,YAAL,GAAoB,EAApB;AACA,iBAAKF,UAAL,GAAkB,EAAlB;AACA,iBAAKA,UAAL,GAAkB,sBAAlB;AACA,iBAAKC,mBAAL,GAA2B,IAA3B;AACA;AACD;;AACD,cAAI,KAAK/B,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDG,KAAjD,IAA0D,EAA9D,EAAkE;AAChE,iBAAKgM,QAAL,GAAgB,EAAhB;AACA,iBAAKF,YAAL,GAAoB,EAApB;AACA,iBAAKF,UAAL,GAAkB,EAAlB;AACA,iBAAKE,YAAL,GAAoB,kBAApB;AACA,iBAAKC,iBAAL,GAAyB,IAAzB;AACA;AACD;;AACD,cAAI,KAAKjC,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDC,SAAjD,IAA8D,EAA9D,IAAoE,KAAKgK,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDE,OAAjD,IAA4D,EAAhI,IAAsI,KAAK+J,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDG,KAAjD,IAA0D,EAApM,EAAwM;AACtM,iBAAKgM,QAAL,GAAgB,EAAhB;AACA,iBAAKF,YAAL,GAAoB,EAApB;AACA,iBAAKF,UAAL,GAAkB,EAAlB;AACA,iBAAKF,YAAL,GAAoB,EAApB;AACD;;AAED,cAAI3nC,QAAQ,CAAC,KAAK+lC,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDC,SAAlD,CAAR,IAAwE/7B,QAAQ,CAAC,KAAK+lC,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDE,OAAlD,CAApF,EAAgJ;AAC9I,iBAAK4L,qBAAL,GAA6B,IAA7B;AACA,iBAAKK,QAAL,GAAgB,EAAhB;AACA,iBAAKA,QAAL,GAAgB,sDAAhB;AACA;AACD,WALD,MAMK;AACH,iBAAKL,qBAAL,GAA6B,IAA7B;AACA,iBAAKK,QAAL,GAAgB,EAAhB;AACD;;AAED,cAAIjoC,QAAQ,CAAC,KAAK+lC,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDC,SAAlD,CAAR,GAAuE/7B,QAAQ,CAAC,KAAK+lC,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDE,OAAlD,CAAnF,EAA+I;AAC7I,iBAAK4L,qBAAL,GAA6B,IAA7B;AACA,iBAAKK,QAAL,GAAgB,EAAhB;AACA,iBAAKA,QAAL,GAAgB,6CAAhB;AACA;AACD,WALD,MAMK;AACH,iBAAKL,qBAAL,GAA6B,IAA7B;AACA,iBAAKK,QAAL,GAAgB,EAAhB;AACD;;AAED,cAAI,KAAKlC,oBAAL,CAA0B9qC,QAA1B,CAAmCihC,eAAnC,CAAmDptD,MAAnD,GAA4D,CAAhE,EAAmE;AACjE;AACA,iBAAKm3D,eAAL,GAAuB,IAAvB;;AAEA,iBAAKF,oBAAL,CAA0B9qC,QAA1B,CAAmCihC,eAAnC,CAAmDznD,OAAnD,CAA2D,UAAAC,OAAO,EAAI;AAEpE,kBAAI,QAAI,CAACuxD,eAAT,EAA0B;AAExB;AACA;AACA;AAEA,oBAAK,CAAC,QAAI,CAACF,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDC,SAAjD,CAA2DjjC,QAA3D,EAAF,IAA6E,CAACpkB,OAAO,CAAC,WAAD,CAAP,CAAqBokB,QAArB,EAA9E,IACD,CAACpkB,OAAO,CAAC,WAAD,CAAP,CAAqBokB,QAArB,EAAF,IAAuC,CAAC,QAAI,CAACitC,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDE,OAAjD,CAAyDljC,QAAzD,EAD1C,EACgH;AAC9G,0BAAI,CAACmtC,eAAL,GAAuB,KAAvB;AACD;;AAED,oBAAK,CAAC,QAAI,CAACF,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDC,SAAjD,CAA2DjjC,QAA3D,EAAF,IAA6E,CAACpkB,OAAO,CAAC,SAAD,CAAP,CAAmBokB,QAAnB,EAA9E,IACD,CAACpkB,OAAO,CAAC,SAAD,CAAP,CAAmBokB,QAAnB,EAAF,IAAqC,CAAC,QAAI,CAACitC,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDE,OAAjD,CAAyDljC,QAAzD,EADxC,EAC8G;AAC5G,0BAAI,CAACmtC,eAAL,GAAuB,KAAvB;AACD;;AAED,oBAAK,CAACvxD,OAAO,CAAC,WAAD,CAAP,CAAqBokB,QAArB,EAAD,GAAoC,CAAC,QAAI,CAACitC,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDC,SAAjD,CAA2DjjC,QAA3D,EAAtC,IACD,CAAC,QAAI,CAACitC,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDE,OAAjD,CAAyDljC,QAAzD,EAAF,GAA0E,CAACpkB,OAAO,CAAC,SAAD,CAAP,CAAmBokB,QAAnB,EAD7E,EAC6G;AAC3G,0BAAI,CAACmtC,eAAL,GAAuB,KAAvB;AACD,iBAnBuB,CAqBxB;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAED;AACF,aAnCD;AAoCD;;AAED,cAAI,KAAKA,eAAT,EAA0B;AACxB,gBAAI,KAAKF,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDC,SAAjD,IAA8D,EAA9D,IAAoE,KAAKgK,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDE,OAAjD,IAA4D,EAAhI,IAAsI,KAAK+J,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDG,KAAjD,IAA0D,EAApM,EAAwM;AACtM,mBAAK8J,oBAAL,CAA0B9qC,QAA1B,CAAmCihC,eAAnC,CAAmDvnD,IAAnD,CAAwD,KAAKoxD,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAA3F;;AACA,mBAAKiK,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,GAAmD;AAAEC,yBAAS,EAAE,EAAb;AAAiBC,uBAAO,EAAE,EAA1B;AAA8BC,qBAAK,EAAE;AAArC,eAAnD;AACA,mBAAKiM,QAAL,GAAgB,IAAhB;AACD;AACF;AAEF;;;kCAES90D,K,EAAO;AACf,cAAI,KAAK2yD,oBAAL,CAA0B9qC,QAA1B,CAAmCihC,eAAnC,CAAmDptD,MAAnD,GAA4D,CAAhE,EAAmE;AACjE,iBAAKi3D,oBAAL,CAA0B9qC,QAA1B,CAAmCihC,eAAnC,CAAmDiM,MAAnD,CAA0D/0D,KAA1D,EAAiE,CAAjE;AACD;AACF;;;gCAEO;AACNgmB,gBAAM,CAACC,MAAP,CAAc;AACZC,eAAG,EAAE,CADO;AAEZC,gBAAI,EAAE,CAFM;AAGZC,oBAAQ,EAAE;AAHE,WAAd;AAKD;;;8CAEqB;AAAA;;AACpB,eAAKusC,oBAAL,CAA0B5J,mBAA1B,GAAgDhrD,SAAhD,CAA0D,UAAAO,IAAI,EAAI;AAChE,oBAAI,CAAC40D,aAAL,GAAqB50D,IAArB;AACD,WAFD,EAEG,UAACujB,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAJD;AAKD;;;iDAEwB;AAAA;;AACvB,eAAK8gD,oBAAL,CAA0BgB,sBAA1B,GAAmD51D,SAAnD,CAA6D,UAAAO,IAAI,EAAI;AACnE,oBAAI,CAAC+0D,YAAL,GAAoB/0D,IAAI,CAAC02D,YAAzB;AACA,oBAAI,CAAC1B,OAAL,GAAeh1D,IAAI,CAAC22D,OAApB;AACD,WAHD,EAGG,UAACpzC,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WALD;AAMD;;;8CAEqB;AAAA;;AACpB,eAAKqjD,SAAL,GAAiBC,KAAK,CAACvoC,QAAQ,CAAC1uB,YAAY,CAACM,OAAb,CAAqB,gBAArB,CAAD,CAAT,CAAL,GAA0D,CAA1D,GAA8DouB,QAAQ,CAAC1uB,YAAY,CAACM,OAAb,CAAqB,gBAArB,CAAD,CAAvF;;AAEA,eAAKm0D,oBAAL,CAA0ByC,mBAA1B,CAA8C,KAAKF,SAAL,CAAexvC,QAAf,EAA9C,EAAyExnB,YAAY,CAACM,OAAb,CAAqB,SAArB,CAAzE,EAA0GT,SAA1G,CAAoH,UAAAO,IAAI,EAAI;AAC1H;AACA,oBAAI,CAAC+3B,YAAL,GAAoB,CAAC/3B,IAAI,CAACspD,YAAL,CAAkBvV,YAAvC;;AAEA,gBAAI,QAAI,CAAChc,YAAL,IAAqB,CAArB,IAA0B,QAAI,CAACA,YAAL,IAAqB,CAA/C,IAAoD,QAAI,CAACA,YAAL,IAAqB,CAA7E,EAAgF;AAC9E,sBAAI,CAACib,aAAL,GAAqB,IAArB;AACD;;AAED,gBAAIhzC,IAAI,CAACspD,YAAL,CAAkB/8B,MAAlB,IAA4B,UAAhC,EAA4C;AAC1CvsB,kBAAI,CAACspD,YAAL,CAAkB/8B,MAAlB,GAA2B,GAA3B;AACD,aAFD,MAGK,IAAIvsB,IAAI,CAACspD,YAAL,CAAkB/8B,MAAlB,IAA4B,QAAhC,EAA0C;AAC7CvsB,kBAAI,CAACspD,YAAL,CAAkB/8B,MAAlB,GAA2B,GAA3B;AACD,aAFI,MAGA;AACHvsB,kBAAI,CAACspD,YAAL,CAAkB/8B,MAAlB,GAA2B,GAA3B;AACD;;AAED,gBAAI,CAAC,QAAI,CAACpI,iBAAN,IAA2BnkB,IAAI,CAACspD,YAAL,CAAkB/8B,MAAlB,IAA4B,GAA3D,EAAgE;AAC9D,sBAAI,CAACiK,aAAL,GAAqB,IAArB;AACD,aAFD,MAGK,IAAI,QAAI,CAACrS,iBAAL,IAA0BnkB,IAAI,CAACspD,YAAL,CAAkB/8B,MAAlB,IAA4B,GAAtD,IAA8DvsB,IAAI,CAACspD,YAAL,CAAkBviC,SAAlB,IAA+B,CAAC,QAAI,CAAChlB,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAAlG,EAAiL;AACpL,sBAAI,CAACs2B,aAAL,GAAqB,IAArB;AACD,aAFI,MAGA;AACH,sBAAI,CAACA,aAAL,GAAqB,KAArB;AACD;;AAED,gBAAI,QAAI,CAACrS,iBAAL,IAA0B,IAA1B,IAAmCnkB,IAAI,CAACspD,YAAL,CAAkBviC,SAAlB,IAA+B,CAAC,QAAI,CAAChlB,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAAvE,EAAsJ;AACpJ,sBAAI,CAACg4B,WAAL,GAAmB,QAAnB;AACA,sBAAI,CAACR,gBAAL,GAAwB,SAAxB;AACA,sBAAI,CAACU,aAAL,GAAqB,KAArB;;AAEA,kBAAI,QAAI,CAACjU,iBAAL,IAA0BnkB,IAAI,CAACspD,YAAL,CAAkB/8B,MAAlB,IAA4B,GAAtD,IAA6DvsB,IAAI,CAACspD,YAAL,CAAkB5N,aAAlB,IAAmC,CAAhG,IAAqG17C,IAAI,CAACspD,YAAL,CAAkBviC,SAAlB,IAA+B,CAAxI,EAA2I;AACzI,wBAAI,CAACmR,WAAL,GAAmB,QAAnB;AACA,wBAAI,CAACR,gBAAL,GAAwB,EAAxB;AACA,wBAAI,CAACU,aAAL,GAAqB,IAArB;AACD;AAEF,aAXD,MAYK;AACH,sBAAI,CAACF,WAAL,GAAmB,QAAnB;AACA,sBAAI,CAACR,gBAAL,GAAwB,EAAxB;;AACA,kBAAI,CAAC,QAAI,CAACvT,iBAAN,IAA2BnkB,IAAI,CAACspD,YAAL,CAAkB/8B,MAAlB,IAA4B,GAAvD,IAA8DvsB,IAAI,CAACspD,YAAL,CAAkB5N,aAAlB,IAAmC,CAArG,EAAwG;AACtG,wBAAI,CAACllB,aAAL,GAAqB,KAArB;AACD;AACF;;AAED,gBAAI,QAAI,CAACrS,iBAAL,IAA0BnkB,IAAI,CAACspD,YAAL,CAAkB/8B,MAAlB,IAA4B,GAAtD,IAA8DvsB,IAAI,CAACspD,YAAL,CAAkBviC,SAAlB,IAA+B,CAAC,QAAI,CAAChlB,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAAlG,EAAiL;AAC/K,sBAAI,CAAC8yC,aAAL,GAAqB,IAArB;AACA,sBAAI,CAAC5a,aAAL,GAAqB,IAArB;AACA,sBAAI,CAAC5B,aAAL,GAAqB,IAArB;AACD;;AAED,gBAAI,QAAI,CAACrS,iBAAL,IAA0BnkB,IAAI,CAACspD,YAAL,CAAkB/8B,MAAlB,IAA4B,GAA1D,EACEvsB,IAAI,CAACspD,YAAL,CAAkB/8B,MAAlB,GAA2B,IAA3B;;AAEF,gBAAIvsB,IAAI,CAACspD,YAAL,CAAkBC,aAAlB,KAAoC,GAAxC,EAA6C;AAC3C3pD,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkB5N,aAAlB,CAAgCt0B,QAAhC,EAAvC;AACAxnB,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkBC,aAAzD;AACA,sBAAI,CAACsM,UAAL,GAAkB,KAAlB;AACA,sBAAI,CAACF,QAAL,GAAgB,KAAhB;AACA,sBAAI,CAACC,OAAL,GAAe,KAAf;AACA,sBAAI,CAACE,WAAL,GAAmB,IAAnB;AACA,sBAAI,CAACxB,OAAL,GAAe,KAAf;AACA,sBAAI,CAACyB,YAAL,GAAoB,WAApB;AACA,sBAAI,CAACrB,yBAAL,GAAiC,KAAjC;;AAEA,kBAAI,QAAI,CAACvwC,iBAAL,IAA0B,QAAI,CAAC4T,YAAL,IAAqB,CAA/C,IACD/3B,IAAI,CAACspD,YAAL,CAAkBviC,SAAlB,IAA+B,CAAC,QAAI,CAAChlB,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CADnC,EACkH;AAC9G,wBAAI,CAACw0D,yBAAL,GAAiC,IAAjC;AACH;;AAED,sBAAI,CAACL,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,GAAkD;AAChD5N,6BAAa,EAAE17C,IAAI,CAACspD,YAAL,CAAkB5N,aADe;AAEhDC,+BAAe,EAAE,EAF+B;AAGhDl0B,0BAAU,EAAEznB,IAAI,CAACspD,YAAL,CAAkB7hC,UAHkB;AAIhDlB,4BAAY,EAAE3mB,YAAY,CAACM,OAAb,CAAqB,WAArB,CAJkC;AAKhDqpD,6BAAa,EAAEvpD,IAAI,CAACspD,YAAL,CAAkBC,aALe;AAMhD3N,oBAAI,EAAE57C,IAAI,CAACspD,YAAL,CAAkB1N,IANwB;AAOhDxoC,sBAAM,EAAE,EAPwC;AAQhDo2C,2BAAW,EAAE,CARmC;AAShDC,yBAAS,EAAE,EATqC;AAUhDC,sBAAM,EAAE,CAVwC;AAWhDC,wBAAQ,EAAE,EAXsC;AAYhDhY,uBAAO,EAAE,EAZuC;AAahDiY,yBAAS,EAAE5pD,IAAI,CAACspD,YAAL,CAAkBM,SAbmB;AAchDr9B,sBAAM,EAAE,IAdwC;AAehDwnB,4BAAY,EAAE,IAfkC;AAgBhDhtB,yBAAS,EAAE,CAhBqC;AAiBhD8iC,oCAAoB,EAAE,eAjB0B;AAkBhDC,uBAAO,EAAE9pD,IAAI,CAACspD,YAAL,CAAkB1N,IAlBqB;AAmBhDmO,4BAAY,EAAE,EAnBkC;AAoBhDC,6BAAa,EAAE,EApBiC;AAqBhDC,4BAAY,EAAE,EArBkC;AAsBhDC,0BAAU,EAAE,IAtBoC;AAuBhDC,8BAAc,EAAE;AAvBgC,eAAlD;AAyBD;;AAED,gBAAInqD,IAAI,CAACspD,YAAL,CAAkBC,aAAlB,KAAoC,GAAxC,EAA6C;AAC3C3pD,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkB5N,aAAlB,CAAgCt0B,QAAhC,EAAvC;AACAxnB,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkBC,aAAzD;AACA,sBAAI,CAACsM,UAAL,GAAkB,IAAlB;AACA,sBAAI,CAACF,QAAL,GAAgB,IAAhB;AACA,sBAAI,CAACC,OAAL,GAAe,IAAf;AACA,sBAAI,CAACE,WAAL,GAAmB,KAAnB;AACA,sBAAI,CAACxB,OAAL,GAAe,KAAf;AACA,sBAAI,CAACyB,YAAL,GAAoB,EAApB;AAEA,kBAAI,QAAI,CAACh+B,YAAL,IAAqB,CAAzB,EACI,QAAI,CAAC08B,sBAAL,GAA8B,KAA9B;;AAEJ,kBAAI,QAAI,CAACtwC,iBAAL,IAA0B,QAAI,CAAC4T,YAAL,IAAqB,CAA/C,IACC/3B,IAAI,CAACspD,YAAL,CAAkBviC,SAAlB,IAA+B,CAAC,QAAI,CAAChlB,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CADrC,EACoH;AAC9G,wBAAI,CAACu0D,sBAAL,GAA8B,IAA9B;AACL;;AAED,kBAAIz0D,IAAI,CAACspD,YAAL,CAAkBE,WAAlB,IAAiC,CAArC,EAAwC;AACtC,wBAAI,CAACuN,aAAL,GAAqB,EAArB;AACA,wBAAI,CAACA,aAAL,GAAqB,OAArB;AACD,eAHD,MAGO;AACL,wBAAI,CAACA,aAAL,GAAqB,EAArB;AACA,wBAAI,CAACA,aAAL,GAAqB,SAArB;AACD;;AAED,kBAAI/2D,IAAI,CAACspD,YAAL,CAAkBI,MAAlB,IAA4B,CAAhC,EAAmC;AACjC,wBAAI,CAACsN,cAAL,GAAsB,EAAtB;AACA,wBAAI,CAACA,cAAL,GAAsB,QAAtB;AACD,eAHD,MAGO;AACL,wBAAI,CAACA,cAAL,GAAsB,EAAtB;AACA,wBAAI,CAACA,cAAL,GAAsB,YAAtB;AACD;;AAED,kBAAIh3D,IAAI,CAACspD,YAAL,CAAkBM,SAAlB,IAA+B,GAAnC,EAAwC;AACtC,wBAAI,CAACqN,aAAL,GAAqB,EAArB;AACA,wBAAI,CAACA,aAAL,GAAqB,oBAArB;AACD,eAHD,MAGO;AACL,wBAAI,CAACA,aAAL,GAAqB,EAArB;AACA,wBAAI,CAACA,aAAL,GAAqB,cAArB;AACD;;AAED,sBAAI,CAAC5C,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,GAAkD;AAChD5N,6BAAa,EAAE17C,IAAI,CAACspD,YAAL,CAAkB5N,aADe;AAEhDC,+BAAe,EAAE,EAF+B;AAGhDl0B,0BAAU,EAAEznB,IAAI,CAACspD,YAAL,CAAkB7hC,UAHkB;AAIhDlB,4BAAY,EAAE3mB,YAAY,CAACM,OAAb,CAAqB,WAArB,CAJkC;AAKhDqpD,6BAAa,EAAEvpD,IAAI,CAACspD,YAAL,CAAkBC,aALe;AAMhD3N,oBAAI,EAAE57C,IAAI,CAACspD,YAAL,CAAkB1N,IANwB;AAOhDxoC,sBAAM,EAAE,EAPwC;AAQhDo2C,2BAAW,EAAExpD,IAAI,CAACspD,YAAL,CAAkBE,WARiB;AAShDC,yBAAS,EAAE,EATqC;AAUhDC,sBAAM,EAAE1pD,IAAI,CAACspD,YAAL,CAAkBI,MAVsB;AAWhDC,wBAAQ,EAAE,EAXsC;AAYhDhY,uBAAO,EAAE,EAZuC;AAahDiY,yBAAS,EAAE5pD,IAAI,CAACspD,YAAL,CAAkBM,SAbmB;AAchDr9B,sBAAM,EAAE,IAdwC;AAehDwnB,4BAAY,EAAE,IAfkC;AAgBhDhtB,yBAAS,EAAE,CAhBqC;AAiBhD8iC,oCAAoB,EAAE,gBAjB0B;AAkBhDC,uBAAO,EAAE,EAlBuC;AAmBhDC,4BAAY,EAAE,QAAI,CAACgN,aAnB6B;AAoBhD/M,6BAAa,EAAE,QAAI,CAACgN,cApB4B;AAqBhD/M,4BAAY,EAAE,QAAI,CAACgN,aArB6B;AAsBhD/M,0BAAU,EAAE,IAtBoC;AAuBhDC,8BAAc,EAAE;AAvBgC,eAAlD;AAyBA,sBAAI,CAACkK,oBAAL,CAA0B9qC,QAA1B,CAAmC2tC,kBAAnC,GAAwDl3D,IAAI,CAACwqD,eAA7D;AAEA,sBAAI,CAACgM,QAAL,GAAgB,IAAhB;AACD;;AAED,gBAAIx2D,IAAI,CAACspD,YAAL,CAAkBC,aAAlB,KAAoC,GAAxC,EAA6C;AAC3C3pD,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkB5N,aAAlB,CAAgCt0B,QAAhC,EAAvC;AACAxnB,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkBC,aAAzD;AACA,sBAAI,CAACsM,UAAL,GAAkB,KAAlB;AACA,sBAAI,CAACF,QAAL,GAAgB,KAAhB;AACA,sBAAI,CAACC,OAAL,GAAe,KAAf;AACA,sBAAI,CAACE,WAAL,GAAmB,IAAnB;AACA,sBAAI,CAACxB,OAAL,GAAe,KAAf;AACA,sBAAI,CAACyB,YAAL,GAAoB,SAApB;AACA,sBAAI,CAACrB,yBAAL,GAAiC,KAAjC;;AAEA,kBAAI,QAAI,CAACvwC,iBAAL,IAA0B,QAAI,CAAC4T,YAAL,IAAqB,CAA/C,IACD/3B,IAAI,CAACspD,YAAL,CAAkBviC,SAAlB,IAA+B,CAAC,QAAI,CAAChlB,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CADnC,EACkH;AAC9G,wBAAI,CAACw0D,yBAAL,GAAiC,IAAjC;AACH;;AAED,sBAAI,CAACL,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,GAAkD;AAChD5N,6BAAa,EAAE17C,IAAI,CAACspD,YAAL,CAAkB5N,aADe;AAEhDC,+BAAe,EAAE,EAF+B;AAGhDl0B,0BAAU,EAAEznB,IAAI,CAACspD,YAAL,CAAkB7hC,UAHkB;AAIhDlB,4BAAY,EAAE3mB,YAAY,CAACM,OAAb,CAAqB,WAArB,CAJkC;AAKhDqpD,6BAAa,EAAEvpD,IAAI,CAACspD,YAAL,CAAkBC,aALe;AAMhD3N,oBAAI,EAAE57C,IAAI,CAACspD,YAAL,CAAkB1N,IANwB;AAOhDxoC,sBAAM,EAAE,EAPwC;AAQhDo2C,2BAAW,EAAE,CARmC;AAShDC,yBAAS,EAAE,EATqC;AAUhDC,sBAAM,EAAE,CAVwC;AAWhDC,wBAAQ,EAAE,EAXsC;AAYhDhY,uBAAO,EAAE,EAZuC;AAahDiY,yBAAS,EAAE5pD,IAAI,CAACspD,YAAL,CAAkBM,SAbmB;AAchDr9B,sBAAM,EAAE,IAdwC;AAehDwnB,4BAAY,EAAE,IAfkC;AAgBhDhtB,yBAAS,EAAE,CAhBqC;AAiBhD8iC,oCAAoB,EAAE,uBAjB0B;AAkBhDC,uBAAO,EAAE9pD,IAAI,CAACspD,YAAL,CAAkB1N,IAlBqB;AAmBhDmO,4BAAY,EAAE,EAnBkC;AAoBhDC,6BAAa,EAAE,EApBiC;AAqBhDC,4BAAY,EAAE,EArBkC;AAsBhDC,0BAAU,EAAE,IAtBoC;AAuBhDC,8BAAc,EAAE;AAvBgC,eAAlD;AAyBD;;AAED,gBAAInqD,IAAI,CAACspD,YAAL,CAAkBC,aAAlB,KAAoC,GAAxC,EAA6C;AAC3C3pD,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkB5N,aAAlB,CAAgCt0B,QAAhC,EAAvC;AACAxnB,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkBC,aAAzD;AACA,sBAAI,CAACsM,UAAL,GAAkB,KAAlB;AACA,sBAAI,CAACF,QAAL,GAAgB,KAAhB;AACA,sBAAI,CAACC,OAAL,GAAe,KAAf;AACA,sBAAI,CAACE,WAAL,GAAmB,IAAnB;AACA,sBAAI,CAACxB,OAAL,GAAe,KAAf;AACA,sBAAI,CAACyB,YAAL,GAAoB,WAApB;AACA,sBAAI,CAACrB,yBAAL,GAAiC,KAAjC;;AAEA,kBAAI,QAAI,CAACvwC,iBAAL,IAA0B,QAAI,CAAC4T,YAAL,IAAqB,CAA/C,IACD/3B,IAAI,CAACspD,YAAL,CAAkBviC,SAAlB,IAA+B,CAAC,QAAI,CAAChlB,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CADnC,EACkH;AAC9G,wBAAI,CAACw0D,yBAAL,GAAiC,IAAjC;AACH;;AAED,sBAAI,CAACL,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,GAAkD;AAChD5N,6BAAa,EAAE17C,IAAI,CAACspD,YAAL,CAAkB5N,aADe;AAEhDC,+BAAe,EAAE,EAF+B;AAGhDl0B,0BAAU,EAAEznB,IAAI,CAACspD,YAAL,CAAkB7hC,UAHkB;AAIhDlB,4BAAY,EAAE3mB,YAAY,CAACM,OAAb,CAAqB,WAArB,CAJkC;AAKhDqpD,6BAAa,EAAEvpD,IAAI,CAACspD,YAAL,CAAkBC,aALe;AAMhD3N,oBAAI,EAAE57C,IAAI,CAACspD,YAAL,CAAkB1N,IANwB;AAOhDxoC,sBAAM,EAAE,EAPwC;AAQhDo2C,2BAAW,EAAE,CARmC;AAShDC,yBAAS,EAAE,EATqC;AAUhDC,sBAAM,EAAE,CAVwC;AAWhDC,wBAAQ,EAAE,EAXsC;AAYhDhY,uBAAO,EAAE,EAZuC;AAahDiY,yBAAS,EAAE5pD,IAAI,CAACspD,YAAL,CAAkBM,SAbmB;AAchDr9B,sBAAM,EAAE,IAdwC;AAehDwnB,4BAAY,EAAE,IAfkC;AAgBhDhtB,yBAAS,EAAE,CAhBqC;AAiBhD8iC,oCAAoB,EAAE,yBAjB0B;AAkBhDC,uBAAO,EAAE9pD,IAAI,CAACspD,YAAL,CAAkB1N,IAlBqB;AAmBhDmO,4BAAY,EAAE,EAnBkC;AAoBhDC,6BAAa,EAAE,EApBiC;AAqBhDC,4BAAY,EAAE,EArBkC;AAsBhDC,0BAAU,EAAE,IAtBoC;AAuBhDC,8BAAc,EAAE;AAvBgC,eAAlD;AA0BD;;AAED,gBAAInqD,IAAI,CAACspD,YAAL,CAAkBC,aAAlB,KAAoC,GAAxC,EAA6C;AAC3C3pD,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkB5N,aAAlB,CAAgCt0B,QAAhC,EAAvC;AACAxnB,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,0BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkBC,aAAzD;AACA,sBAAI,CAACsM,UAAL,GAAkB,KAAlB;AACA,sBAAI,CAACF,QAAL,GAAgB,KAAhB;AACA,sBAAI,CAACC,OAAL,GAAe,KAAf;AACA,sBAAI,CAACE,WAAL,GAAmB,IAAnB;AACA,sBAAI,CAACxB,OAAL,GAAe,IAAf;AACA,sBAAI,CAACyB,YAAL,GAAoB,EAApB;AACA,sBAAI,CAACrB,yBAAL,GAAiC,KAAjC;;AAEA,kBAAI,QAAI,CAACvwC,iBAAL,IAA0B,QAAI,CAAC4T,YAAL,IAAqB,CAA/C,IACD/3B,IAAI,CAACspD,YAAL,CAAkBviC,SAAlB,IAA+B,CAAC,QAAI,CAAChlB,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CADnC,EACkH;AAC9G,wBAAI,CAACw0D,yBAAL,GAAiC,IAAjC;AACH;;AAED,sBAAI,CAACL,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,GAAkD;AAChD5N,6BAAa,EAAE17C,IAAI,CAACspD,YAAL,CAAkB5N,aADe;AAEhDC,+BAAe,EAAE,EAF+B;AAGhDl0B,0BAAU,EAAEznB,IAAI,CAACspD,YAAL,CAAkB7hC,UAHkB;AAIhDlB,4BAAY,EAAE3mB,YAAY,CAACM,OAAb,CAAqB,WAArB,CAJkC;AAKhDqpD,6BAAa,EAAEvpD,IAAI,CAACspD,YAAL,CAAkBC,aALe;AAMhD3N,oBAAI,EAAE,GAN0C;AAOhDxoC,sBAAM,EAAE,EAPwC;AAQhDo2C,2BAAW,EAAE,CARmC;AAShDC,yBAAS,EAAE,EATqC;AAUhDC,sBAAM,EAAE,CAVwC;AAWhDC,wBAAQ,EAAE,EAXsC;AAYhDhY,uBAAO,EAAE,EAZuC;AAahDiY,yBAAS,EAAE5pD,IAAI,CAACspD,YAAL,CAAkBM,SAbmB;AAchDr9B,sBAAM,EAAE,IAdwC;AAehDwnB,4BAAY,EAAE,IAfkC;AAgBhDhtB,yBAAS,EAAE,CAhBqC;AAiBhD8iC,oCAAoB,EAAE,YAjB0B;AAkBhDC,uBAAO,EAAE9pD,IAAI,CAACspD,YAAL,CAAkB1N,IAlBqB;AAmBhDmO,4BAAY,EAAE,EAnBkC;AAoBhDC,6BAAa,EAAE,EApBiC;AAqBhDC,4BAAY,EAAE,EArBkC;AAsBhDC,0BAAU,EAAE,IAtBoC;AAuBhDC,8BAAc,EAAE;AAvBgC,eAAlD;AAyBD;;AAED,gBAAI,QAAI,CAAChmC,iBAAL,IAA0B,QAAI,CAAC4T,YAAL,IAAqB,CAAnD,EAAsD;AACpD,sBAAI,CAAC08B,sBAAL,GAA8B,IAA9B;AACA,sBAAI,CAACC,yBAAL,GAAiC,IAAjC;AACD;;AACD,gBAAI,QAAI,CAACvwC,iBAAL,KAA2BnkB,IAAI,CAACspD,YAAL,CAAkBvV,YAAlB,IAAkC,CAAlC,IAAuC/zC,IAAI,CAACspD,YAAL,CAAkBvV,YAAlB,IAAkC,CAAzE,IAC7B/zC,IAAI,CAACspD,YAAL,CAAkBvV,YAAlB,IAAkC,CADL,IACU/zC,IAAI,CAACspD,YAAL,CAAkBvV,YAAlB,IAAkC,CAD5C,IACiD/zC,IAAI,CAACspD,YAAL,CAAkBvV,YAAlB,IAAkC,CADnF,IACwF/zC,IAAI,CAACspD,YAAL,CAAkBvV,YAAlB,IAAkC,CADrJ,CAAJ,EAC6J;AAC3J,sBAAI,CAAC0gB,sBAAL,GAA8B,IAA9B;AACA,sBAAI,CAACC,yBAAL,GAAiC,IAAjC;AACD;;AAED,oBAAI,CAACsB,UAAL,CAAgB,QAAI,CAAC3B,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDM,SAAhE;;AAEA;;AACA,oBAAI,CAACuN,8BAAL,CAAoC,QAAI,CAAC9C,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD5N,aAAhD,CAA8Dt0B,QAA9D,EAApC,EAA8GxnB,YAAY,CAACM,OAAb,CAAqB,SAArB,CAA9G;AACD,WAjUD,EAiUG,UAACqjB,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAnUD;AAuUD;;;iCAEQ6b,I,EAAc;AAAA;;AACrB;;AACA,cAAIA,IAAI,CAACwL,KAAL,IAAc,KAAKzF,WAAL,IAAkB,IAApC,EAA0C;AACxC,iBAAKqB,aAAL,GAAqB,IAArB;AAEF,gBAAI4gC,YAAY,GAAG,IAAI,qFAAJ,EAAnB;AACA;;AACA,gBAAI,CAAC,KAAKjzC,iBAAV,EAA6B;AAC3BiL,kBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;;AAEA,kBAAI,KAAKw5B,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAAnD,EAAsD;AACpD3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B,CADoD,CACrB;AAChC,eAFD,MAGK,IAAI,KAAKw5B,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAAnD,EAAsD;AACzD3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACD,eAFI,MAGA,IAAI,KAAKw5B,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAAnD,EAAsD;AACzD3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACD,eAFI,MAGA;AACH6wB,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACD;AACF,aAfD,MAgBK;AACH,kBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,IAA6B,KAAKw5B,YAAL,IAAqB5R,SAAtD,EAAiE;AAC/DiJ,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACD,eAFD,MAGK,IAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,IAA6B,KAAKw5B,YAAL,IAAqB5R,SAAtD,EAAiE;AACpEiJ,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACD;;AACD,kBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,IAA6B,KAAKw5B,YAAL,IAAqB,CAAtD,EAAyD;AACvD3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACD,eAFD,MAGK,IAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,IAA6B,KAAKw5B,YAAL,IAAqB,CAAtD,EAAyD;AAC5D3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACD;;AAED,kBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,IAA6B,KAAKw5B,YAAL,IAAqB,CAAtD,EAAyD;AACvD3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACD,eAFD,MAGK,IAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,IAA6B,KAAKw5B,YAAL,IAAqB,CAAtD,EAAyD;AAC5D3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACD;;AAED,kBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,IAA6B,KAAKw5B,YAAL,IAAqB,CAAtD,EAAyD;AACvD3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACA6wB,oBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AACD,eAHD,MAIK,IAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,IAA6B,KAAKw5B,YAAL,IAAqB,CAAtD,EAAyD;AAC5D3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACA6wB,oBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AACD,eA5BE,CA8BH;;;AACA,kBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB4nB,SAAxB,KAAsC,KAAK4R,YAAL,IAAqB5R,SAArB,IAAkC,KAAK4R,YAAL,IAAqB,CAA7F,CAAJ,EAAqG;AACnG3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACA6wB,oBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AACD;;AACD,kBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,KAA8B,KAAKw5B,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAA7E,CAAJ,EAAqF;AACnF3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACA6wB,oBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AACD;;AACD,kBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,KAA8B,KAAKw5B,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAA7E,CAAJ,EAAqF;AACnF3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACA6wB,oBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AACD;;AACD,kBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,IAA6B,KAAKw5B,YAAL,IAAqB,CAAtD,EAAyD;AACvD3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACA6wB,oBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AACD;;AACD,kBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,KAA8B,KAAKw5B,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAA7E,CAAJ,EAAqF;AACnF3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACA6wB,oBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AACD;;AACD,kBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,IAA6B,KAAKw5B,YAAL,IAAqB,CAAtD,EAAyD;AACvD3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACA6wB,oBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AACD;;AACD,kBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB,CAAxB,IAA6B,KAAKw5B,YAAL,IAAqB,CAAtD,EAAyD;AACvD3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACA6wB,oBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AACD;;AACD,kBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB4nB,SAAxB,KAAsC,KAAK4R,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAA/C,IAAoD,KAAKA,YAAL,IAAqB,CAA/G,CAAJ,EAAuH;AACrH3I,oBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACA6wB,oBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB;AACD;AACF;AACD;;;AAIA64D,wBAAY,CAAC9N,YAAb,GAA4Bl6B,IAAI,CAAC7wB,KAAjC;AACA64D,wBAAY,CAAC9N,YAAb,CAA0B5N,aAA1B,GAA0CptB,QAAQ,CAAC1uB,YAAY,CAACM,OAAb,CAAqB,gBAArB,CAAD,CAAlD;AACAk3D,wBAAY,CAAC9N,YAAb,CAA0Bl2C,MAA1B,GAAoCxT,YAAY,CAACM,OAAb,CAAqB,aAArB,CAApC;;AAEA,gBAAI,KAAK41D,WAAT,EAAsB;AACpB,kBAAIsB,YAAY,CAAC9N,YAAb,CAA0BC,aAA1B,CAAwCniC,QAAxC,MAAsD,GAA1D,EACExnB,YAAY,CAACC,OAAb,CAAqB,OAArB,EAA8B,GAA9B,EADF,KAGED,YAAY,CAACC,OAAb,CAAqB,OAArB,EAA8Bu3D,YAAY,CAAC9N,YAAb,CAA0B1N,IAA1B,CAA+Bx0B,QAA/B,EAA9B;AACH;;AAED,gBAAIgwC,YAAY,CAAC9N,YAAb,CAA0BE,WAA1B,IAAyCrjC,SAA7C,EAAwD;AACtDvmB,0BAAY,CAACC,OAAb,CAAqB,cAArB,EAAqCu3D,YAAY,CAAC9N,YAAb,CAA0BE,WAA1B,CAAsCpiC,QAAtC,EAArC;AACD,aAFD,MAEO;AACLxnB,0BAAY,CAACC,OAAb,CAAqB,cAArB,EAAqC,GAArC;AACD;;AAED,gBAAIu3D,YAAY,CAAC9N,YAAb,CAA0BI,MAA1B,IAAoCvjC,SAAxC,EAAmD;AACjDvmB,0BAAY,CAACC,OAAb,CAAqB,SAArB,EAAgCu3D,YAAY,CAAC9N,YAAb,CAA0BI,MAA1B,CAAiCtiC,QAAjC,EAAhC;AACD,aAFD,MAEO;AACLxnB,0BAAY,CAACC,OAAb,CAAqB,SAArB,EAAgC,GAAhC;AACD;;AAEDu3D,wBAAY,CAAC5M,eAAb,GAA+B,KAAK6J,oBAAL,CAA0B9qC,QAA1B,CAAmCihC,eAAlE;AACA,gBAAGp7B,IAAI,CAAC7wB,KAAL,CAAW,MAAX,KAAsB4nB,SAAtB,IAAmCiJ,IAAI,CAAC7wB,KAAL,CAAW,eAAX,KAA+B,GAArE,EACA64D,YAAY,CAAC9N,YAAb,CAA0B1N,IAA1B,GAAiC,KAAKyY,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAjF;AACA,gBAAGxsB,IAAI,CAAC7wB,KAAL,CAAW,MAAX,KAAsB4nB,SAAtB,IAAmCiJ,IAAI,CAAC7wB,KAAL,CAAW,eAAX,KAA+B,GAAlE,KAA0E,KAAK81D,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,IAAwD,EAAxD,IAC7E,KAAKyY,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,IAAwD,IADrD,CAAH,EAEAwb,YAAY,CAAC9N,YAAb,CAA0B1N,IAA1B,GAAiC,GAAjC;;AAEA,iBAAKyY,oBAAL,CAA0BgD,0BAA1B,CAAqDD,YAArD,EAAmE33D,SAAnE,CAA6E,UAAAO,IAAI,EAAI;AACnF;;AACA,kBAAI,QAAI,CAACmkB,iBAAL,IAA0BnkB,IAAI,CAACspD,YAAL,CAAkB5N,aAAlB,GAAkC,CAA5D,KAAkE17C,IAAI,CAACspD,YAAL,CAAkBvV,YAAlB,IAAkC,CAAlC,IAAuC/zC,IAAI,CAACspD,YAAL,CAAkBvV,YAAlB,IAAkC,CAAzE,IACpE/zC,IAAI,CAACspD,YAAL,CAAkBvV,YAAlB,IAAkC,CADkC,IAC7B/zC,IAAI,CAACspD,YAAL,CAAkBvV,YAAlB,IAAkC,CADL,IACU/zC,IAAI,CAACspD,YAAL,CAAkBvV,YAAlB,IAAkC,CAD5C,IACiD/zC,IAAI,CAACspD,YAAL,CAAkBvV,YAAlB,IAAkC,CADrJ,CAAJ,EAC6J;AAC3J,wBAAI,CAACvd,aAAL,GAAqB,IAArB;AACD,eAHD,MAIK,IAAIx2B,IAAI,CAACspD,YAAL,CAAkBvV,YAAlB,IAAkC,CAAtC,EAAyC;AAC5C,wBAAI,CAACvd,aAAL,GAAqB,IAArB;AACD,eAFI,MAGA,CACJ;AACA;;AAED,kBAAIx2B,IAAI,CAACspD,YAAL,CAAkB5N,aAAlB,IAAmC,CAAC,CAAxC,EAA2C;AACzC,wBAAI,CAACtzB,UAAL,GAAkBpoB,IAAI,CAACspD,YAAL,CAAkB3X,OAApC;AACA,wBAAI,CAAC9uB,OAAL,GAAe,KAAf;AACA,wBAAI,CAACC,YAAL,GAAoB,IAApB;AACA,wBAAI,CAAC0T,aAAL,GAAqB,KAArB;AACD,eALD,MAKO;AACL,wBAAI,CAACpO,UAAL,GAAkBpoB,IAAI,CAACspD,YAAL,CAAkB3X,OAApC;AACA,wBAAI,CAAC9uB,OAAL,GAAe,IAAf;AACA,wBAAI,CAACC,YAAL,GAAoB,KAApB;;AACA,wBAAI,CAACw0C,yBAAL,CAA+Bt3D,IAAI,CAACspD,YAAL,CAAkB5N,aAAlB,CAAgCt0B,QAAhC,EAA/B;AACD,eAvBkF,CAwBnF;;;AACA,sBAAI,CAACjE,KAAL;AACD,aA1BD,EA0BG,UAACiY,KAAD,EAAW;AACZ,sBAAI,CAACvY,OAAL,GAAe,KAAf;;AACA,sBAAI,CAAC1W,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA,sBAAI,CAAC4P,KAAL;AACD,aA9BD;AAgCD;AACF;;;kCACW;AACR,eAAKN,OAAL,GAAe,IAAf;AACD;;;kCACS;AACR,eAAKA,OAAL,GAAe,KAAf;AACD;;;oCAEW;AACV,eAAKC,YAAL,GAAoB,IAApB;AACD;;;oCACW;AACV,eAAKA,YAAL,GAAoB,KAApB;AACD;;;kCAESsM,I,EAAe;AAEvB,eAAKilC,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,GAAkD;AAChD5N,yBAAa,EAAE,CADiC;AAEhDC,2BAAe,EAAE,EAF+B;AAGhDl0B,sBAAU,EAAE6G,QAAQ,CAAC1uB,YAAY,CAACM,OAAb,CAAqB,SAArB,CAAD,CAH4B;AAIhDqmB,wBAAY,EAAE3mB,YAAY,CAACM,OAAb,CAAqB,WAArB,CAJkC;AAKhDqpD,yBAAa,EAAE3pD,YAAY,CAACM,OAAb,CAAqB,gBAArB,CALiC;AAMhD07C,gBAAI,EAAEh8C,YAAY,CAACM,OAAb,CAAqB,OAArB,CAN0C;AAOhDkT,kBAAM,EAAE,EAPwC;AAQhDo2C,uBAAW,EAAEl7B,QAAQ,CAAC1uB,YAAY,CAACM,OAAb,CAAqB,cAArB,CAAD,CAR2B;AAShDupD,qBAAS,EAAE,EATqC;AAUhDC,kBAAM,EAAEp7B,QAAQ,CAAC1uB,YAAY,CAACM,OAAb,CAAqB,SAArB,CAAD,CAVgC;AAWhDypD,oBAAQ,EAAE,EAXsC;AAYhDhY,mBAAO,EAAE,EAZuC;AAahDiY,qBAAS,EAAE,GAbqC;AAchDr9B,kBAAM,EAAE,IAdwC;AAehDwnB,wBAAY,EAAE,IAfkC;AAgBhDhtB,qBAAS,EAAE,CAhBqC;AAiBhD8iC,gCAAoB,EAAE,EAjB0B;AAkBhDC,mBAAO,EAAE,EAlBuC;AAmBhDC,wBAAY,EAAE,EAnBkC;AAoBhDC,yBAAa,EAAE,EApBiC;AAqBhDC,wBAAY,EAAE,EArBkC;AAsBhDC,sBAAU,EAAE,IAtBoC;AAuBhDC,0BAAc,EAAE;AAvBgC,WAAlD;AAyBA,eAAKkK,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,GAAmD;AACjDC,qBAAS,EAAE,EADsC;AAEjDC,mBAAO,EAAE,EAFwC;AAGjDC,iBAAK,EAAE;AAH0C,WAAnD,CA3BuB,CAiCvB;AACD;;;mCAEUh+C,K,EAAK;AACd,cAAM+c,QAAQ,GAAI/c,KAAK,CAACguB,KAAP,GAAgBhuB,KAAK,CAACguB,KAAtB,GAA8BhuB,KAAK,CAACiuB,OAArD,CADc,CAEd;AACA;AACA;;AACA,cAAIlR,QAAQ,IAAI,EAAZ,IAAkBA,QAAQ,GAAG,EAA7B,KAAoCA,QAAQ,GAAG,EAAX,IAAiBA,QAAQ,GAAG,EAAhE,CAAJ,EAAyE;AACvE,mBAAO,KAAP;AACD;;AACD,iBAAO,IAAP,CARc,CASd;AACD;;;iDAEwB;AACvB,cAAIiuC,UAAU,GAAG,KAAKlD,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDC,SAAlE;AAEA,cAAImN,QAAQ,GAAG,KAAKnD,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,CAAiDE,OAAhE;;AAEA,cAAIiN,UAAU,GAAGC,QAAjB,EAA2B,CAE1B;AACF;;;4CAEmB;AAClB;AACA,cAAInO,KAAK,GAAG,IAAI,qFAAJ,EAAZ;AACA,eAAKgL,oBAAL,CAA0B9qC,QAA1B,GAAqC8/B,KAArC;AAEA,eAAKjxB,aAAL,GAAqB,IAArB;AAEA,eAAKi8B,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,GAAkD;AAChD5N,yBAAa,EAAE,CADiC;AAEhDC,2BAAe,EAAE,EAF+B;AAGhDl0B,sBAAU,EAAE,CAAC,KAAKytC,OAH8B;AAIhD3uC,wBAAY,EAAE,KAAK4uC,SAJ6B;AAKhD5L,yBAAa,EAAE,EALiC;AAMhD3N,gBAAI,EAAE,EAN0C;AAOhDxoC,kBAAM,EAAE,EAPwC;AAQhDo2C,uBAAW,EAAE,IARmC;AAShDC,qBAAS,EAAE,EATqC;AAUhDC,kBAAM,EAAE,IAVwC;AAWhDC,oBAAQ,EAAE,EAXsC;AAYhDhY,mBAAO,EAAE,EAZuC;AAahDiY,qBAAS,EAAE,EAbqC;AAchDr9B,kBAAM,EAAE,IAdwC;AAehDwnB,wBAAY,EAAE,IAfkC;AAgBhDhtB,qBAAS,EAAE,CAhBqC;AAiBhD8iC,gCAAoB,EAAE,EAjB0B;AAkBhDC,mBAAO,EAAE,EAlBuC;AAmBhDC,wBAAY,EAAE,EAnBkC;AAoBhDC,yBAAa,EAAE,EApBiC;AAqBhDC,wBAAY,EAAE,EArBkC;AAsBhDC,sBAAU,EAAE,IAtBoC;AAuBhDC,0BAAc,EAAE;AAvBgC,WAAlD;AA0BA,eAAKkK,oBAAL,CAA0B9qC,QAA1B,CAAmC6gC,aAAnC,GAAmD;AACjDC,qBAAS,EAAE,EADsC;AAEjDC,mBAAO,EAAE,EAFwC;AAGjDC,iBAAK,EAAE;AAH0C,WAAnD;AAMA,eAAK8J,oBAAL,CAA0B9qC,QAA1B,CAAmCihC,eAAnC,GAAqD,EAArD;AACD;;;qCAEYiN,O,EAAS;AACpB;AACA,cAAIA,OAAO,IAAI,MAAf,EACE,KAAKpD,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDE,WAAhD,GAA8D,IAA9D;AACH;;;qCAEYkO,O,EAAS;AACpB;AACA,cAAIA,OAAO,IAAI,MAAf,EACE,KAAKrD,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDI,MAAhD,GAAyD,IAAzD;;AAEF,cAAI,KAAK2K,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDI,MAAhD,IAA0D,CAA9D,EAAiE;AAC/D,iBAAK2K,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDM,SAAhD,GAA4D,GAA5D;AACA,iBAAKoM,UAAL,CAAgB,GAAhB;AACA,iBAAK2B,WAAL,GAAmB,OAAnB;AACD,WAJD,MAKK,IAAI,KAAKtD,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDI,MAAhD,IAA0D,CAA9D,EAAiE;AACpE,iBAAK2K,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDM,SAAhD,GAA4D,GAA5D;AACA,iBAAKoM,UAAL,CAAgB,GAAhB;AACA,iBAAK2B,WAAL,GAAmB,OAAnB;AACD;AACF;;;mCAKUC,Q,EAAU;AACnB,cAAIA,QAAQ,IAAI,CAAhB,EAAmB;AACjB,iBAAKC,eAAL,GAAuB,wBAAvB;AACA,iBAAKC,UAAL,GAAkB,OAAlB;AACA,iBAAKC,SAAL,GAAiB,MAAjB;AACA,iBAAK1D,oBAAL,CAA0B9qC,QAA1B,CAAmCihC,eAAnC,GAAqD,EAArD;AACD,WALD,MAMK,IAAIoN,QAAQ,IAAI,CAAhB,EAAmB;AACtB,iBAAKC,eAAL,GAAuB,QAAvB;AACA,iBAAKC,UAAL,GAAkB,QAAlB;AACA,iBAAKC,SAAL,GAAiB,cAAjB;AACA,iBAAK1D,oBAAL,CAA0B9qC,QAA1B,CAAmCihC,eAAnC,GAAqD,EAArD;AACD;AACF;;;6CAEoB;AAAA;;AACnB,eAAK/oC,WAAL,CAAiBuC,eAAjB,CAAiCpkB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,EAAsE,iBAAtE,EAAyFT,SAAzF,CAAmG,UAAAwkB,UAAU,EAAI;AAC/G,oBAAI,CAACE,iBAAL,GAAyBF,UAAU,CAAC,CAAD,CAAV,CAAcG,aAAvC;;AAEA,oBAAI,CAAC0yC,mBAAL;AACD,WAJD,EAIG,UAACvzC,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAND;AAOD;;;uDAE8BykD,W,EAAaC,W,EAAa;AAAA;;AACvD,cAAID,WAAW,GAAG,CAAlB,EAAqB;AACnB,iBAAK3D,oBAAL,CAA0B8C,8BAA1B,CAAyDa,WAAzD,EAAsEC,WAAtE,EAAmFx4D,SAAnF,CAA6F,UAAAO,IAAI,EAAI;AAEnG,sBAAI,CAACi1D,sBAAL,GAA8Bj1D,IAAI,CAACspD,YAAnC;;AACA,kBAAI,QAAI,CAAC2L,sBAAL,IAA+B,IAAnC,EAAyC;AACvC,oBAAI,QAAI,CAAC9wC,iBAAL,IAA0B,QAAI,CAAC8wC,sBAAL,CAA4B/K,UAA1D,EAAsE;AACpE,0BAAI,CAAClX,aAAL,GAAqB,KAArB;AACA,0BAAI,CAACxc,aAAL,GAAqB,IAArB;AACA,0BAAI,CAACpO,UAAL,GAAkB,gEAA+D,QAAI,CAAC6sC,sBAAL,CAA4B9K,cAA7G;;AACA,0BAAI,CAAC9hC,OAAL;AACD;AACF;;AACD;;AACA,kBAAI,QAAI,CAAC4sC,sBAAL,CAA4B1L,aAA5B,KAA8C,GAAlD,EAAuD;AACrD3pD,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,QAAI,CAACo1D,sBAAL,CAA4BvZ,aAA5B,CAA0Ct0B,QAA1C,EAAvC;AACAxnB,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,QAAI,CAACo1D,sBAAL,CAA4B1L,aAAnE;AACA,wBAAI,CAACsM,UAAL,GAAkB,KAAlB;AACA,wBAAI,CAACF,QAAL,GAAgB,KAAhB;AACA,wBAAI,CAACC,OAAL,GAAe,KAAf;AACA,wBAAI,CAACE,WAAL,GAAmB,IAAnB;AACA,wBAAI,CAACxB,OAAL,GAAe,KAAf;AACA,wBAAI,CAACyB,YAAL,GAAoB,WAApB;AAEA,wBAAI,CAAC1B,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,GAAuD,QAAI,CAACqZ,sBAAL,CAA4BrZ,IAAnF;AACD;;AAED,kBAAI,QAAI,CAACqZ,sBAAL,CAA4B1L,aAA5B,KAA8C,GAAlD,EAAuD;AACrD3pD,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,QAAI,CAACo1D,sBAAL,CAA4BvZ,aAA5B,CAA0Ct0B,QAA1C,EAAvC;AACAxnB,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,QAAI,CAACo1D,sBAAL,CAA4B1L,aAAnE;AACA,wBAAI,CAACsM,UAAL,GAAkB,IAAlB;AACA,wBAAI,CAACF,QAAL,GAAgB,IAAhB;AACA,wBAAI,CAACC,OAAL,GAAe,IAAf;AACA,wBAAI,CAACE,WAAL,GAAmB,KAAnB;AACA,wBAAI,CAACxB,OAAL,GAAe,KAAf;AACA,wBAAI,CAACyB,YAAL,GAAoB,EAApB;AAEA,wBAAI,CAAC1B,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDE,WAAhD,GAA8D,QAAI,CAACyL,sBAAL,CAA4BzL,WAA1F;AACA,wBAAI,CAAC6K,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDI,MAAhD,GAAyD,QAAI,CAACuL,sBAAL,CAA4BvL,MAArF;AACA,wBAAI,CAAC2K,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgDM,SAAhD,GAA4D,QAAI,CAACqL,sBAAL,CAA4BrL,SAAxF;AAEA,wBAAI,CAACyK,oBAAL,CAA0B9qC,QAA1B,CAAmCihC,eAAnC,GAAqDxqD,IAAI,CAACwqD,eAA1D;AACA,wBAAI,CAACgM,QAAL,GAAgB,IAAhB;AACD;;AAED,kBAAI,QAAI,CAACvB,sBAAL,CAA4B1L,aAA5B,KAA8C,GAAlD,EAAuD;AACrD3pD,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkB5N,aAAlB,CAAgCt0B,QAAhC,EAAvC;AACAxnB,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkBC,aAAzD;AACA,wBAAI,CAACsM,UAAL,GAAkB,KAAlB;AACA,wBAAI,CAACF,QAAL,GAAgB,KAAhB;AACA,wBAAI,CAACC,OAAL,GAAe,KAAf;AACA,wBAAI,CAACE,WAAL,GAAmB,IAAnB;AACA,wBAAI,CAACxB,OAAL,GAAe,KAAf;AACA,wBAAI,CAACyB,YAAL,GAAoB,SAApB;AAEA,wBAAI,CAAC1B,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,GAAuD,QAAI,CAACqZ,sBAAL,CAA4BrZ,IAAnF;AACD;;AAED,kBAAI,QAAI,CAACqZ,sBAAL,CAA4B1L,aAA5B,KAA8C,GAAlD,EAAuD;AACrD3pD,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkB5N,aAAlB,CAAgCt0B,QAAhC,EAAvC;AACAxnB,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkBC,aAAzD;AACA,wBAAI,CAACsM,UAAL,GAAkB,KAAlB;AACA,wBAAI,CAACF,QAAL,GAAgB,KAAhB;AACA,wBAAI,CAACC,OAAL,GAAe,KAAf;AACA,wBAAI,CAACE,WAAL,GAAmB,IAAnB;AACA,wBAAI,CAACxB,OAAL,GAAe,KAAf;AACA,wBAAI,CAACyB,YAAL,GAAoB,WAApB;AAEA,wBAAI,CAAC1B,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,GAAuD,QAAI,CAACqZ,sBAAL,CAA4BrZ,IAAnF;AACD;;AAED,kBAAI,QAAI,CAACqZ,sBAAL,CAA4B1L,aAA5B,KAA8C,GAAlD,EAAuD;AACrD3pD,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkB5N,aAAlB,CAAgCt0B,QAAhC,EAAvC;AACAxnB,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuC,EAAvC;AACAD,4BAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAACspD,YAAL,CAAkBC,aAAzD;AACA,wBAAI,CAACsM,UAAL,GAAkB,KAAlB;AACA,wBAAI,CAACF,QAAL,GAAgB,KAAhB;AACA,wBAAI,CAACC,OAAL,GAAe,KAAf;AACA,wBAAI,CAACE,WAAL,GAAmB,IAAnB;AACA,wBAAI,CAACxB,OAAL,GAAe,IAAf;AACA,wBAAI,CAACyB,YAAL,GAAoB,EAApB;AAEA,wBAAI,CAAC1B,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD1N,IAAhD,GAAuD,GAAvD;AACD;AAGF,aAxFD;;AAyFA,iBAAK0b,yBAAL,CAA+BU,WAA/B;AACD,WA3FD,MA4FK;AACH,iBAAK/C,sBAAL,GAA8B,KAAKZ,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAjE;AACA1pD,wBAAY,CAACwjB,UAAb,CAAwB,gBAAxB;AACD;AACF;;;4CAEmBmC,M,EAAQ;AAC1B,eAAK8uC,oBAAL,CAA0B9qC,QAA1B,CAAmC+/B,YAAnC,CAAgD/8B,MAAhD,GAAyDhH,MAAzD;;AACA,cAAI,KAAKpB,iBAAL,IAA0B,IAA9B,EAAoC;AAClC,gBAAIoB,MAAM,IAAI,MAAd,EAAsB;AACpB,mBAAK4P,WAAL,GAAmB,KAAnB;AACD,aAFD,MAGK;AACH,mBAAKA,WAAL,GAAmB,IAAnB;AACD;AACF;AACF;;;oDAEuC;AAAA;;AAAA,cAAd+iC,GAAc,uEAAH,GAAG;;AAEtC,eAAK7D,oBAAL,CAA0B8D,uBAA1B,CAAkDD,GAAlD,EAAuDz4D,SAAvD,CAAiE,UAAA67B,SAAS,EAAE;AAC1E,oBAAI,CAAC88B,oBAAL,GAA4B98B,SAA5B;;AAEA,gBAAG,QAAI,CAAC88B,oBAAL,CAA0B,CAA1B,EAA6BpxC,WAA7B,IAA4C,EAA/C,EAAkD;AAChD,sBAAI,CAACoF,cAAL,GAAsB,IAAtB;AACA,sBAAI,CAACoP,WAAL,GAAmB,QAAI,CAAC48B,oBAAL,CAA0B,CAA1B,EAA6BpxC,WAAhD;AACA,sBAAI,CAACyU,eAAL,GAAuB,QAAI,CAAC28B,oBAAL,CAA0B,CAA1B,EAA6BnnD,QAApD;AACD;;AACD,gBAAG,QAAI,CAACmnD,oBAAL,CAA0B,CAA1B,EAA6BxuC,WAA7B,IAA4C,EAA/C,EAAkD;AACjD,sBAAI,CAACuC,cAAL,GAAsB,IAAtB;AACC,sBAAI,CAACuP,aAAL,GAAqB,QAAI,CAAC08B,oBAAL,CAA0B,CAA1B,EAA6BnnD,QAAlD;AACA,sBAAI,CAAC0qB,UAAL,GAAkB,QAAI,CAACy8B,oBAAL,CAA0B,CAA1B,EAA6BxuC,WAA/C;AACD;AAEF,WAdD,EAcG,UAACrG,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAhBD;AAiBD;;;;;;;uBAxoCU6gD,2B,EAA2B,yJ,EAAA,uH,EAAA,8H,EAAA,4J,EAAA,mK;AAAA,K;;;YAA3BA,2B;AAA2B,+C;AAAA,gB;AAAA,c;AAAA,ugL;AAAA;AAAA;;;AChBxC;;AACE;;AACE;;AACE;;AAEE;;AACE;;AACE;;AACE;;AAAuC;AAAA,mBAAS,IAAAztB,UAAA,EAAT;AAAqB,WAArB,EAAsB,eAAtB,EAAsB;AAAA,mBAA+B,IAAAA,UAAA,EAA/B;AAA2C,WAAjE;;AACyC;;AAClF;;AAEA;;AACE;;AAA6I;;AAA+B;;AAE9K;;AAEF;;AACF;;AAEA;;AAAwC;AAAA;;AAAA;;AAAA,qCAA+B,IAAAtK,QAAA,KAA/B;AAA6C,WAA7C;;AAGtC;;AAEE;;AACE;;AAEE;;AAAiB;AAAA,mBAAS,IAAAjR,OAAA,EAAT;AAAkB,WAAlB;;AAAuC;;AAAO;;AAC/D;;AAAQ;;AAAQ;;AAAU;;AAC5B;;AAEA;;AAEE;;AAAiB;AAAA,mBAAS,IAAAC,SAAA,EAAT;AAAoB,WAApB;;AAAyC;;AAAO;;AACjE;;AAAQ;;AAAM;;AAAU;;AAC1B;;AAEF;;AAEA;;AACE;;AAAkC;;AAA8B;;AAClE;;AACF;;AAEA;;AAEE;;AACE;;AAA0B;;AAAe;;AAAkB;;AAAC;;AAAO;;AACrE;;AAEA;;AAEE;;AACE;AAAA;AAAA;;AADF;;AAGA;;AACE;AAAA;AAAA,aAAkD,QAAlD,EAAkD;AAAA,mBACxC,IAAAgtC,uBAAA,EADwC;AACf,WADnC;;AAKA;;AAA0B;;AAAoB;;AAC9C;;AAEF;;AAIA;;AAGF;;AAEA;;AAIA;;AAkBF;;AAEA;;AAiBA;;AA0CA;;AACE;;AACE;;AACE;;AAAuC;;AAAM;;AAAkB;;AAAC;;AAAO;;AACzE;;AAEA;;AACE;;AACE;AAAA;AAAA,aAA+D,QAA/D,EAA+D;AAAA;;AAAA;;AAAA,mBAE5C,IAAAz7B,mBAAA,WAF4C;AAEX,WAFpD;;AAGA;;AAA4B;;AAAa;;AACzC;;AAAkB;;AAAQ;;AAC1B;;AAAkB;;AAAQ;;AAC5B;;AAEA;;AACE;;AACF;;AAEA;;AAKF;;AAEF;;AACF;;AAEA;;AA4FA;;AACE;;AACE;;AAEF;;AACF;;AAGA;;AACE;;AAEE;;AACE;;AAA0B;;AAAc;;AAC1C;;AAEA;;AACE;;AACgC;AAAA;AAAA;;AADhC;;AAEF;;AACF;;AAAM;;AAEN;;AACE;;AACE;;AAA0B;;AAAI;;AAChC;;AAEA;;AACE;;AACmB;AAAA;AAAA;;AADnB;;AAEF;;AAEA;;AACE;;AAA0B;;AAAgB;;AAC5C;;AACF;;AACF;;AAIF;;AACE;;AAEE;;AACE;;AAA0B;;AAAc;;AAC1C;;AAEA;;AACE;;AACA;AAAA;AAAA;;AADA;;AAEF;;AAEA;;AACE;;AAA0B;;AAAS;;AACrC;;AAEA;;AACE;;AACA;AAAA;AAAA;;AADA;;AAEF;;AAEF;;AACA;;AAAI;;AACJ;;AAEE;;AACE;;AAA0B;;AAAW;;AACvC;;AAEA;;AACE;;AACA;AAAA;AAAA;;AADA;;AAEF;;AAEA;;AACE;;AAA0B;;AAAU;;AACtC;;AAEA;;AACE;;AACA;AAAA;AAAA;;AADA;;AAEF;;AAEF;;AACA;;AAEA;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAI;;AAAK;;AACT;;AAAI;;AAA8B;;AAClC;;AAAI;;AAAmB;;AACvB;;AAAI;;AAAiB;;AACrB;;AAAI;;AAAI;;AAEV;;AACF;;AACA;;AACE;;AAWF;;AACF;;AACF;;AACF;;AACF;;AAEA;;AACE;;AACG;;AAAqD;;AAE1D;;AACA;;AACE;;AACG;;AAAkD;;AAEvD;;AAEA;;AACF;;AACF;;AACF;;AACF;;AACA;;;;;;;;;;AA9Y2J;;AAAA;;AAaxI;;AAAA;;AAGuB;;AAAA;;AAGvB;;AAAA;;AAGqB;;AAAA;;AAmBxB;;AAAA;;AAGA;;AAAA,wHAAkD,SAAlD,EAAkD,kIAAlD;;AAMQ;;AAAA;;AAOR;;AAAA;;AAIkB;;AAAA;;AAI2B;;AAAA;;AAoBvB;;AAAA;;AAiBJ;;AAAA;;AA0CA;;AAAA;;AAOW;;AAAA,kGAA0B,SAA1B,EAA0B,qDAA1B,EAA0B,SAA1B,EAA0B,8JAA1B;;AAStB;;AAAA;;AACL;;AAAA;;AAIA;;AAAA;;AASgB;;AAAA;;AA8FsD;;AAAA;;AAAxC;;AAMd;;AAAA;;AAQC;;AAAA,sGAA8B,SAA9B,EAA8B,mEAA9B;;AAWA;;AAAA,sGAA8B,SAA9B,EAA8B,sDAA9B;;AAKO;;AAAA;;AAOV;;AAAA;;AASlB;;AAAA;;AAQmB;;AAAA,sGAA8B,SAA9B,EAA8B,2DAA9B;;AAaA;;AAAA,sGAA8B,SAA9B,EAA8B,4DAA9B;;AASA;;AAAA,sGAA8B,SAA9B,EAA8B,2DAA9B;;AAaT;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAMF;;AAAA;;AAiBG;;AAAA;;AAEZ;;AAAA;;AAGY;;AAAA;;AAEZ;;AAAA;;AAS2D;;AAAA;;;;;;;;;sED3Y3Dw3B,2B,EAA2B;cALvC,uDAKuC;eAL7B;AACTlkD,kBAAQ,EAAE,0BADD;AAET4D,qBAAW,EAAE,uCAFJ;AAGT3D,mBAAS,EAAE,CAAC,sCAAD;AAHF,S;AAK6B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEhBxC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;AC6FgB;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AANF;;AACE;;AAGA;;AAGF;;;;;;;;AANO;;AAAA;;AAGA;;AAAA;;;;;;AAiBL;;AACE;;AACF;;;;;;AAHF;;AACE;;AAGF;;;;;;;;AAHO;;AAAA;;;;;;AAoBL;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AANF;;AACE;;AAGA;;AAGF;;;;;;;;AANO;;AAAA;;AAGA;;AAAA;;;;;;AA6BL;;AAIE;;AACF;;;;;;AAuCF;;AAGE;;AACF;;;;;;AACA;;AAGE;;AACF;;;;;;AA6CE;;AAAqE;;AAC3D;;;;;;AACV;;AAAsE;;AAAoB;;;;;;AAN5F;;AAIE;;AAEA;;AACF;;;;;;;;AAHiC;;AAAA;;AAEA;;AAAA;;;;;;AAoDjC;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AACA;;AACA;;AACA;;;;;;AAmBE;;AAAqC;;AAAyB;;;;;;AAC9D;;AAAoC;;AAAoC;;;;;;AAFxE;;AACA;;AACA;;AAEF;;;;;;;;AAHO;;AAAA;;AACA;;AAAA;;;;;;AAyBL;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AACA;;AAIE;;AACF;;;;;;AAfF;;AAIE;;AAGA;;AAGA;;AAMF;;;;;;;;AAZO;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;;;;;AAqBL;;AACE;;AACF;;;;;;AACA;;AAIE;;AACF;;;;;;AATF;;AACE;;AAGA;;AAMF;;;;;;;;AATO;;AAAA;;AAGA;;AAAA;;;;;;AA0BP;;AAIE;;AACF;;;;;;AAeE;;AACE;;AAA4B;;;;;;AADsB;;AAClD;;AAAA;;;;;;AAOJ;;AAIE;;AACF;;;;;;AAaE;;AAA6E;;AAC7E;;;;;;AAD8C;;AAA+B;;AAAA;;;;;;AAM/E;;AAIE;;AACF;;;;;;AAqFE;;AAAyD;;AAEvD;;;;;;AAFiC;;AAAsB;;AAAA;;;;;;AAO3D;;AAIE;;AACF;;;;;;AAoBE;;AACE;;AACF;;;;;;AANF;;AAIE;;AAIF;;;;;;;;AAJO;;AAAA;;;;;;AA6BL;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AATF;;AAIE;;AAGA;;AAGF;;;;;;;;AANO;;AAAA;;AAGA;;AAAA;;;;;;;;;;;;;;QDxlBRmoD,mB;AA6DX,mCAAmBvjC,YAAnB,EAAqDwjC,cAArD,EAA0FpsD,MAA1F,EACU2oB,qBADV,EACwDhJ,eADxD,EAESvK,gBAFT,EAEmDG,QAFnD,EAEuFD,WAFvF,EAEuH;AAAA;;AAFpG,aAAAsT,YAAA,GAAAA,YAAA;AAAkC,aAAAwjC,cAAA,GAAAA,cAAA;AAAqC,aAAApsD,MAAA,GAAAA,MAAA;AAChF,aAAA2oB,qBAAA,GAAAA,qBAAA;AAA8C,aAAAhJ,eAAA,GAAAA,eAAA;AAC/C,aAAAvK,gBAAA,GAAAA,gBAAA;AAA0C,aAAAG,QAAA,GAAAA,QAAA;AAAoC,aAAAD,WAAA,GAAAA,WAAA;AA7DvF,aAAAG,WAAA,GAAmC;AACjCC,mBAAS,EAAE,KADsB;AAEjCC,oBAAU,EAAE;AAFqB,SAAnC;AAMA,aAAAg4B,KAAA,GAAsB,IAAtB;AAIA,aAAApH,SAAA,GAAqB,KAArB;AAMA,aAAAmc,KAAA,GAAa,EAAb;AACA,aAAA2J,SAAA,GAAiB,EAAjB;AACA,aAAAC,UAAA,GAAkB,EAAlB;AACA,aAAAC,QAAA,GAAgB,EAAhB;AACA,aAAA1jC,aAAA,GAAqB,EAArB;AAMA,aAAA2jC,iBAAA,GAAyB,EAAzB;AAQA,aAAAtvB,gBAAA,GAAmB,2BAAnB;AAMA,aAAA0Q,SAAA,GAAqB,IAArB;AAQA,aAAA/G,aAAA,GAAyB,KAAzB;AACA,aAAA4lB,cAAA,GAAsB,EAAtB;AAKA,aAAAxjC,kBAAA,GAA8B,KAA9B,CAOuH,CAIvH;;AACQ,aAAAO,GAAA,GAAM,8CAAaC,IAAb,CAAkB31B,KAAlB,CAAwB,kBAAxB,CAAN;AACA,aAAA41B,EAAA,GAAK,8CAAaD,IAAb,CAAkB31B,KAAlB,CAAwB,kBAAxB,CAAL;AA8SR,aAAA6uD,MAAA,GAAc,EAAd;AACA,aAAA+J,OAAA,GAAe,EAAf;AAOA,aAAAzsC,cAAA,GAA0B,KAA1B;AACA,aAAAD,cAAA,GAA0B,KAA1B;AAEA,aAAA2sC,SAAA,GAAqB,KAArB;AAGA,aAAAC,2BAAA,GAAuC,IAAvC;AAiDA,aAAAlrC,WAAA,GAAoB,KAApB;AAqdA,aAAAmrC,iBAAA,GAA6B,KAA7B;AAv0BE,aAAKC,OAAL,GAAe;AAAEj3D,cAAI,EAAE,IAAR;AAAcd,eAAK,EAAE,CAArB;AAAwB8gB,aAAG,EAAE;AAA7B,SAAf;AACD;;;;2CAMkB8T,S,EAAW;AAC5B,cAAIC,SAAS,GAAG,8CAAaC,OAAb,CAAqBF,SAArB,EAAgC,KAAKH,GAArC,EAA0C;AACxDM,mBAAO,EAAE,MAAM,CADyC;AAExDJ,cAAE,EAAE,KAAKA,EAF+C;AAGxDK,gBAAI,EAAE,+CAAcC,GAHoC;AAIxDC,mBAAO,EAAE,8CAAaC;AAJkC,WAA1C,CAAhB;AAMA,iBAAON,SAAS,CAAC3O,QAAV,CAAmB,8CAAawO,IAAhC,CAAP;AACD,S,CAED;;;;2CACmBuU,Q,EAAkB;AACnC,cAAIC,SAAS,GAAG,8CAAaC,OAAb,CAAqB,8CAAazU,IAAb,CAAkB31B,KAAlB,CAAwBH,IAAI,CAACC,SAAL,CAAeoqC,QAAf,CAAxB,CAArB,EAAwE,KAAKxU,GAA7E,EAAkF;AAChGM,mBAAO,EAAE,MAAM,CADiF;AAEhGJ,cAAE,EAAE,KAAKA,EAFuF;AAGhGK,gBAAI,EAAE,+CAAcC,GAH4E;AAIhGC,mBAAO,EAAE,8CAAaC;AAJ0E,WAAlF,CAAhB;AAMA,iBAAO+T,SAAS,CAAChjB,QAAV,EAAP;AACD;;;mCAEO;AAAA;;AACN,mBADM,CAEN;;AACA,cAAIxnB,YAAY,CAACM,OAAb,CAAqB,aAArB,KAAuC,IAA3C,EAAiD;AAC/C,iBAAKiM,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,EAAD,CAArB;AACA;AACD;;AACD,eAAKmO,QAAL,CAAcwB,IAAd;;AACA,eAAKsT,aAAL,GAAqB,KAArB;AACA,eAAKrT,KAAL;AACA,eAAKy1C,cAAL;;AACA,cAAIh5D,YAAY,CAACM,OAAb,CAAqB,YAArB,KAAsC,IAA1C,EAAgD;AAC9C,iBAAKg5D,YAAL,GAAoB,CAAC,KAAKpnD,kBAAL,CAAwBlS,YAAY,CAACM,OAAb,CAAqB,YAArB,CAAxB,CAArB;AACD;;AACD,eAAKi5D,YAAL,GAAoBv5D,YAAY,CAACM,OAAb,CAAqB,cAArB,CAApB,CAdM,CAeN;;AACA,eAAKsjB,kBAAL,GAhBM,CAiBN;;AACA,eAAK41C,UAAL,GAlBM,CAmBN;;AACA,eAAKtkC,qBAAL,CAA2B3J,WAA3B,CAAuC1rB,SAAvC,CAAiD,UAAA82B,MAAM,EAAI;AACzD,oBAAI,CAACtL,QAAL,GAAgBsL,MAAM,CAAC,UAAD,CAAtB;AACD,WAFD;;AAGA;;AACA,cAAI,KAAK2iC,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB/yC,SAA/C,IAA4D0wC,KAAK,CAAC,KAAKqC,YAAN,CAArE,EAA0F;AACxF,iBAAKxiC,QAAL,GAAgB,iBAAhB;AACD;;AACD,cAAI,KAAKwiC,YAAL,IAAqB,CAAzB,EAA4B;AAC1B,iBAAKxiC,QAAL,GAAgB,iBAAhB;AACA,iBAAK2iC,mBAAL;AACA,iBAAKC,iBAAL;;AACA,iBAAK53C,QAAL,CAAc4E,IAAd;AACD;;AAED,eAAK8B,UAAL,GAAkBxoB,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAlB;;AACA,cAAI,KAAKkoB,UAAL,IAAmB,IAAnB,IAA2B,KAAKA,UAAL,IAAmB,EAAlD,EAAsD,CAErD,CAFD,MAEO;AACL,iBAAKA,UAAL,IAAmBxoB,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAnB;AACA,iBAAK2iB,OAAL,GAAe,IAAf;AACA,iBAAKC,YAAL,GAAoB,KAApB;AACAljB,wBAAY,CAACwjB,UAAb,CAAwB,KAAxB;AACA,iBAAKD,KAAL;AACD,WA3CK,CA4CN;;;AACA,eAAKyT,eAAL,GA7CM,CA8CN;;AACA,eAAKC,eAAL;;AACA,cAAI,KAAK5L,QAAL,IAAiB,MAArB,EAA6B;AAC3B,iBAAKuL,aAAL,GAAqB,IAArB;AACA,iBAAKC,YAAL,GAAoB,IAApB;AACD;AACF;;;0CAGiB1tB,I,EAAM;AACtB,cAAM6hB,MAAM,GAAG,IAAI3sB,IAAJ,EAAf;AACA,eAAK4sB,SAAL,GAAiB9hB,IAAI,CAACke,UAAL,CAAgB6D,MAAjC;;AAEA,cAAI,KAAKD,SAAL,GAAiBD,MAArB,EAA6B;AAC3B,iBAAKG,eAAL,GAAuB,IAAvB;AACD,WAFD,MAGK;AACH,iBAAKA,eAAL,GAAuB,KAAvB;AACD;;AACD,iBAAO,KAAKA,eAAZ;AAED,S,CACD;;;;0CACkB;AAAA;;AAChB;;AACA,eAAKgK,YAAL,CAAkBoC,aAAlB,CAAgCv3B,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAhC,EAAoE,EAApE,EAAuE,EAAvE,EAA0E,EAA1E,EAA6E,EAA7E,EAAgF,EAAhF,EAAmF,EAAnF,EAAsF,EAAtF,EAAyF,EAAzF,EAA4F,EAA5F,EAA+F,EAA/F,EAAkG,EAAlG,EAAqG,EAArG,EAAyG,MAAzG,EAAiHT,SAAjH,CAA2H,UAAA23B,KAAK,EAAI;AAClI,oBAAI,CAACJ,kBAAL,GAA0BI,KAAK,CAAC,CAAD,CAAL,CAAS,UAAT,CAA1B;AACA,oBAAI,CAACmiC,wBAAL,GAAgCniC,KAAK,CAAC,CAAD,CAAL,CAAS,cAAT,CAAhC;AACA,oBAAI,CAACF,0BAAL,GAAkCE,KAAK,CAAC,CAAD,CAAL,CAAS,YAAT,CAAlC;;AAEA,gBAAI,QAAI,CAACJ,kBAAL,IAA2B,GAA/B,EAAoC;AAClC,sBAAI,CAACwiC,SAAL,GAAiB,IAAjB;AACA,sBAAI,CAACC,SAAL,GAAiB,IAAjB;AACA,sBAAI,CAACC,WAAL,GAAmB,IAAnB,CAHkC,CAIlC;AACA;;AACA,sBAAI,CAACC,eAAL,GAAuB,IAAvB;AACA,sBAAI,CAACtiC,iBAAL,GAAyB,IAAzB,CAPkC,CAQlC;;AACA,sBAAI,CAACuhC,cAAL,CAAoBnJ,YAApB,GAAmC,GAAnC;AACA,sBAAI,CAACmJ,cAAL,CAAoBlJ,UAApB,GAAiC,GAAjC;AACA,sBAAI,CAAC36B,YAAL,CAAkBxL,QAAlB,CAA2BmmC,UAA3B,GAAwC,GAAxC;AACA,sBAAI,CAAC36B,YAAL,CAAkBxL,QAAlB,CAA2BkmC,YAA3B,GAA0C,GAA1C;AACD,aAbD,MAeK,IAAI,QAAI,CAACz4B,kBAAL,IAA2B,GAA/B,EAAoC;AACvC,sBAAI,CAAC4iC,mBAAL,CAAyB,CAAzB;;AACA,sBAAI,CAACJ,SAAL,GAAiB,KAAjB;AACA,sBAAI,CAACC,SAAL,GAAiB,IAAjB;AACA,sBAAI,CAACC,WAAL,GAAmB,KAAnB;AACA,sBAAI,CAACG,QAAL,GAAgB,IAAhB;AACA,sBAAI,CAACC,UAAL,GAAkB,KAAlB;AACA,sBAAI,CAACH,eAAL,GAAuB,KAAvB;AACA,sBAAI,CAAC5kC,YAAL,CAAkBxL,QAAlB,CAA2BimC,QAA3B,GAAsC,GAAtC;AACA,sBAAI,CAACz6B,YAAL,CAAkBxL,QAAlB,CAA2BkmC,YAA3B,GAA0C,QAAI,CAAC8J,wBAA/C;AAED,aAXI,MAaA,IAAI,QAAI,CAACviC,kBAAL,IAA2B,GAA/B,EAAoC;AACvC,sBAAI,CAACwiC,SAAL,GAAiB,KAAjB;AACA,sBAAI,CAACC,SAAL,GAAiB,KAAjB;AACA,sBAAI,CAACC,WAAL,GAAmB,IAAnB;AACA,sBAAI,CAACG,QAAL,GAAgB,KAAhB;AACA,sBAAI,CAACC,UAAL,GAAkB,IAAlB;AACA,sBAAI,CAACziC,iBAAL,GAAyB,KAAzB;AACA,sBAAI,CAACtC,YAAL,CAAkBxL,QAAlB,CAA2BimC,QAA3B,GAAsC,GAAtC;AACA,sBAAI,CAACz6B,YAAL,CAAkBxL,QAAlB,CAA2BmmC,UAA3B,GAAwC,QAAI,CAACx4B,0BAA7C;AAED;AACF,WA5CD,EA8CI,UAAC3T,GAAD,EAAS;AACT,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAhDH;AAiDD;;;6CAGoB;AAAA;;AACnB,eAAKkO,WAAL,CAAiBuC,eAAjB,CAAiCpkB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,EAAsE,mBAAtE,EAA2FT,SAA3F,CAAqG,UAAAwkB,UAAU,EAAI;AACjH,oBAAI,CAACE,iBAAL,GAAyBF,UAAU,CAAC,CAAD,CAAV,CAAcG,aAAvC,CADiH,CAEjH;;AACA,oBAAI,CAACi1C,mBAAL;AACD,WAJD,EAKI,UAAC91C,GAAD,EAAS;AACT,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAPH;AAQD,S,CAED;AACA;AACA;AACA;AACA;AACA;AACA;;;;oCAEY;AACT,cAAG,KAAKqlD,cAAL,CAAoBnrB,MAApB,IAA4B,EAA/B,EAAkC;AACnCmJ,kBAAM,CAAC,uBAAD,CAAN,CAAgCC,IAAhC,CAAqC,SAArC,EAAgD,IAAhD;AACA,iBAAK9hB,YAAL,CAAkBxL,QAAlB,CAA2BkkB,MAA3B,GAAoC,GAApC;AACAmJ,kBAAM,CAAC,sBAAD,CAAN,CAA+BG,IAA/B,CAAoC,YAAY,CAC/C,CADD;AAEA;AACF;;;gCAEQgjB,I,EAAM;AACZnjB,gBAAM,CAAC,uBAAD,CAAN,CAAgCC,IAAhC,CAAqC,SAArC,EAAgD,IAAhD;AACD;;;kCACS;AACRD,gBAAM,CAAC,uBAAD,CAAN,CAAgCC,IAAhC,CAAqC,SAArC,EAAgD,IAAhD;AAEA,eAAK9hB,YAAL,CAAkBxL,QAAlB,CAA2BkkB,MAA3B,GAAoC,GAApC;AACD;;;iCAEQlvC,K,EAAa;AACpB,cAAIA,KAAJ,EAAW;AAET,gBAAMy7D,SAAS,GAAGz7D,KAAK,CAACw9B,IAAN,GAAa5M,KAAb,CAAmB,GAAnB,CAAlB;;AACA,gBAAI6qC,SAAS,CAAC58D,MAAV,KAAqB,CAArB,IAA0BgD,MAAM,CAAC45D,SAAS,CAAC,CAAD,CAAV,CAApC,EAAoD;AAClD,qBAAO;AAAEh4C,mBAAG,EAAEsM,QAAQ,CAAC0rC,SAAS,CAAC,CAAD,CAAV,CAAf;AAA+B94D,qBAAK,EAAE,IAAtC;AAA4Cc,oBAAI,EAAE;AAAlD,eAAP;AACD,aAFD,MAEO,IAAIg4D,SAAS,CAAC58D,MAAV,KAAqB,CAArB,IAA0BgD,MAAM,CAAC45D,SAAS,CAAC,CAAD,CAAV,CAAhC,IAAkD55D,MAAM,CAAC45D,SAAS,CAAC,CAAD,CAAV,CAA5D,EAA4E;AACjF,qBAAO;AAAEh4C,mBAAG,EAAEsM,QAAQ,CAAC0rC,SAAS,CAAC,CAAD,CAAV,CAAf;AAA+B94D,qBAAK,EAAEotB,QAAQ,CAAC0rC,SAAS,CAAC,CAAD,CAAV,CAA9C;AAA8Dh4D,oBAAI,EAAE;AAApE,eAAP;AACD,aAFM,MAEA,IAAIg4D,SAAS,CAAC58D,MAAV,KAAqB,CAArB,IAA0BgD,MAAM,CAAC45D,SAAS,CAAC,CAAD,CAAV,CAAhC,IAAkD55D,MAAM,CAAC45D,SAAS,CAAC,CAAD,CAAV,CAAxD,IAA0E55D,MAAM,CAAC45D,SAAS,CAAC,CAAD,CAAV,CAApF,EAAoG;AACzG,qBAAO;AAAEh4C,mBAAG,EAAEsM,QAAQ,CAAC0rC,SAAS,CAAC,CAAD,CAAV,CAAf;AAA+B94D,qBAAK,EAAEotB,QAAQ,CAAC0rC,SAAS,CAAC,CAAD,CAAV,CAA9C;AAA8Dh4D,oBAAI,EAAEssB,QAAQ,CAAC0rC,SAAS,CAAC,CAAD,CAAV;AAA5E,eAAP;AACA,kBAAIjxD,IAAI,GAAG;AAAEiZ,mBAAG,EAAEsM,QAAQ,CAAC0rC,SAAS,CAAC,CAAD,CAAV,CAAf;AAA+B94D,qBAAK,EAAEotB,QAAQ,CAAC0rC,SAAS,CAAC,CAAD,CAAV,CAA9C;AAA8Dh4D,oBAAI,EAAEssB,QAAQ,CAAC0rC,SAAS,CAAC,CAAD,CAAV;AAA5E,eAAX;AACD;AACF;;AACD,iBAAO,IAAP;AACD;;;+BAEMjxD,I,EAAqB,CAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACD;;;mCAGUA,I,EAAM;AACf;AACA,eAAK8M,MAAL,CAAY9M,IAAZ;AAED;;;4CAGmB;AAClB,eAAKkxD,SAAL,GAAiB,KAAKllC,YAAL,CAAkBxL,QAAlB,CAA2BimC,QAA3B,KAAwC,EAAxC,GAA6C,GAA7C,GAAmD,KAAKz6B,YAAL,CAAkBxL,QAAlB,CAA2BimC,QAA/F;;AAEA,cAAI,KAAKyK,SAAL,KAAmB,GAAvB,EAA4B;AAC1B,iBAAKL,mBAAL,CAAyB,KAAKK,SAA9B;AACD,WAFD,MAGK;AACH,iBAAKL,mBAAL,CAAyB,KAAKK,SAA9B;AACD;;AACD,cAAI,KAAKllC,YAAL,CAAkBxL,QAAlB,CAA2BimC,QAA3B,IAAuC,GAA3C,EAAgD;AAC9C,iBAAKsK,UAAL,GAAkB,KAAlB;AACA,iBAAKD,QAAL,GAAgB,IAAhB;AAEA,iBAAK9kC,YAAL,CAAkBxL,QAAlB,CAA2BkmC,YAA3B,GAA0C,KAAK16B,YAAL,CAAkBxL,QAAlB,CAA2BkmC,YAArE;AAEA,gBAAI,KAAK16B,YAAL,CAAkBxL,QAAlB,CAA2BkmC,YAA3B,IAA2C,EAA/C,EACE,KAAK16B,YAAL,CAAkBxL,QAAlB,CAA2BkmC,YAA3B,GAA0C,EAA1C;AACH,WARD,MASK;AACH,iBAAKoK,QAAL,GAAgB,KAAhB;AACA,iBAAK9kC,YAAL,CAAkBxL,QAAlB,CAA2BkmC,YAA3B,GAA0C,GAA1C;AACD;;AACD,cAAI,KAAK16B,YAAL,CAAkBxL,QAAlB,CAA2BimC,QAA3B,IAAuC,GAA3C,EAAgD;AAC9C,iBAAKqK,QAAL,GAAgB,KAAhB;AACA,iBAAKC,UAAL,GAAkB,IAAlB,CAF8C,CAG9C;;AACA,iBAAK/kC,YAAL,CAAkBxL,QAAlB,CAA2BmmC,UAA3B,GAAwC,KAAK36B,YAAL,CAAkBxL,QAAlB,CAA2BmmC,UAAnE;AAEA,gBAAI,KAAK36B,YAAL,CAAkBxL,QAAlB,CAA2BmmC,UAA3B,IAAyC,EAA7C,EACE,KAAK36B,YAAL,CAAkBxL,QAAlB,CAA2BmmC,UAA3B,GAAwC,EAAxC;AACH,WARD,MASK;AACH,iBAAK36B,YAAL,CAAkBxL,QAAlB,CAA2BmmC,UAA3B,GAAwC,GAAxC;AACD;AACF;;;kDAEyB;AAExB,eAAKwK,UAAL,GAAkB,KAAKtB,cAAL,CAAoBpJ,QAApB,KAAiC,EAAjC,GAAsC,GAAtC,GAA4C,KAAKoJ,cAAL,CAAoBpJ,QAAlF,CAFwB,CAIxB;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAI,KAAKoJ,cAAL,CAAoBpJ,QAApB,IAAgC,GAApC,EAAyC;AACvC,iBAAKsK,UAAL,GAAkB,KAAlB;AACA,iBAAKD,QAAL,GAAgB,IAAhB;AAEA,iBAAKjB,cAAL,CAAoBnJ,YAApB,GAAmC,KAAKmJ,cAAL,CAAoBnJ,YAAvD;AAEA,gBAAI,KAAKmJ,cAAL,CAAoBnJ,YAApB,IAAoC,EAAxC,EACE,KAAKmJ,cAAL,CAAoBnJ,YAApB,GAAmC,EAAnC;AACH,WARD,MASK;AACH,iBAAKoK,QAAL,GAAgB,KAAhB;AACA,iBAAKjB,cAAL,CAAoBnJ,YAApB,GAAmC,GAAnC;AACD;;AACD,cAAI,KAAKmJ,cAAL,CAAoBpJ,QAApB,IAAgC,GAApC,EAAyC;AACvC,iBAAKqK,QAAL,GAAgB,KAAhB;AACA,iBAAKC,UAAL,GAAkB,IAAlB,CAFuC,CAGvC;;AACA,iBAAKlB,cAAL,CAAoBlJ,UAApB,GAAiC,KAAKkJ,cAAL,CAAoBlJ,UAArD;AAEA,gBAAI,KAAKkJ,cAAL,CAAoBlJ,UAApB,IAAkC,EAAtC,EACE,KAAKkJ,cAAL,CAAoBlJ,UAApB,GAAiC,EAAjC;AACH,WARD,MASK;AACH,iBAAKkJ,cAAL,CAAoBlJ,UAApB,GAAiC,GAAjC;AACD,WAnCuB,CAoCxB;;;AACA,cAAI,CAAC,KAAK36B,YAAL,CAAkBxL,QAAlB,CAA2BimC,QAA3B,IAAuC,GAAvC,IAA8C,KAAKz6B,YAAL,CAAkBxL,QAAlB,CAA2BimC,QAA3B,IAAuC,GAAtF,KAA8F,KAAKoJ,cAAL,CAAoBpJ,QAApB,IAAgC,GAAlI,EAAuI;AACrI,iBAAK2K,kBAAL,CAAwB,KAAKvB,cAAL,CAAoBpJ,QAA5C;AACD;AACF;;;yCAmBgB;AACf,cAAI,KAAK0J,YAAL,GAAoB,CAAxB,EAA2B;AACzB,iBAAKkB,cAAL,GAAsB,CAAC,KAAKtoD,kBAAL,CAAwBlS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxB,CAAvB;;AACA,gBAAI,KAAKikB,iBAAL,IAA0B,KAAK4Q,YAAL,CAAkBxL,QAAlB,CAA2BxC,SAA3B,IAAwC,KAAKqzC,cAAvE,KACD,KAAKriC,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAA/C,IAAoD,KAAKA,YAAL,IAAqB,CADxE,CAAJ,EACgF;AAC9E,mBAAK3K,WAAL,GAAmB,QAAnB;AACD,aAHD,MAIK,IAAK,KAAKjJ,iBAAL,IAA2B,KAAK4Q,YAAL,CAAkBxL,QAAlB,CAA2BxC,SAA3B,IAAwC,KAAKqzC,cAA7E,EAA+F;AAClG,mBAAKhtC,WAAL,GAAmB,QAAnB;AACA,mBAAKoJ,aAAL,GAAqB,IAArB;AACD,aAHI,MAIA;AACH,mBAAKpJ,WAAL,GAAmB,QAAnB;AACD,aAZwB,CAazB;AACA;AACA;AACA;;;AACA,gBAAK,KAAKjJ,iBAAL,IAA2B,KAAK4Q,YAAL,CAAkBxL,QAAlB,CAA2BxC,SAA3B,IAAwC,KAAKqzC,cAAzE,KAA8F,KAAKriC,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAA/C,IAAoD,KAAKA,YAAL,IAAqB,CAAvK,CAAJ,EAA+K;AAC7K,mBAAKvB,aAAL,GAAqB,IAArB;AACA,mBAAK4B,aAAL,GAAqB,IAArB;AACD;;AACD,gBAAI,CAAC,KAAKjU,iBAAN,KAA4B,KAAK4T,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAA/C,IAAoD,KAAKA,YAAL,IAAqB,CAArG,CAAJ,EAA6G;AAC3G,mBAAKvB,aAAL,GAAqB,IAArB;AACD;;AACD,gBAAG,KAAK2iC,YAAL,IAAqB,MAArB,IAA+B,KAAKh1C,iBAApC,IAAyD,KAAK4Q,YAAL,CAAkBxL,QAAlB,CAA2BxC,SAA3B,IAAwC,KAAKqzC,cAAzG,EAAwH;AACtH,mBAAK5jC,aAAL,GAAqB,IAArB;AACD,aA1BwB,CA2BzB;;;AACA,gBAAI,KAAKrS,iBAAL,IAA0B,KAAK4Q,YAAL,CAAkBxL,QAAlB,CAA2BxC,SAA3B,IAAwC,KAAKqzC,cAA3E,EAA2F;AACzF,mBAAKrB,2BAAL,GAAmC,KAAnC;AACD;AACF,WA/BD,MAgCK;AACH,gBAAI,KAAK50C,iBAAL,IAA0B,KAAK4Q,YAAL,CAAkBxL,QAAlB,CAA2BxC,SAA3B,IAAwC,KAAKqzC,cAAvE,IAAyF,KAAKrlC,YAAL,CAAkBxL,QAAlB,CAA2BxC,SAA3B,GAAuC,CAApI,EAAuI;AACrI,mBAAKqG,WAAL,GAAmB,QAAnB;AACD,aAFD,MAGK;AACH,mBAAKA,WAAL,GAAmB,QAAnB,CADG,CAEH;AACD;AACF;;AACD,cAAI,KAAK2K,YAAL,IAAqB,CAAzB,EAA4B;AAC1B,iBAAKvB,aAAL,GAAqB,IAArB;AACD;AACF,S,CAGD;;;;8CACsB;AAAA;;AAEpB,cAAI,KAAK0iC,YAAL,GAAoB,CAAxB,EAA2B;AAEzB,gBAAI,KAAKjuC,QAAL,IAAiB,MAArB,EAA6B;AAC3B,mBAAKyL,QAAL,GAAgB,kBAAhB;AACA,mBAAKjK,UAAL,GAAkB,IAAlB;AACA,mBAAK2L,aAAL,GAAqB,IAArB;AACD,aAJD,MAIO;AACL,mBAAK1B,QAAL,GAAgB,kBAAhB;AACA,mBAAKjK,UAAL,GAAkB,KAAlB;AACA,mBAAKimB,SAAL,GAAiB,IAAjB;AACD;;AAED,gBAAG,KAAKymB,YAAL,IAAsB,WAAzB,EAAqC;AACnC,mBAAKtrC,WAAL,GAAmB,IAAnB;AACD;;AACP;;AACM,iBAAKkH,YAAL,CAAkBoC,aAAlB,CAAgCv3B,YAAY,CAACM,OAAb,CAAqB,YAArB,CAAhC,EAAmE,EAAnE,EAAsE,EAAtE,EAAyE,EAAzE,EAA4E,EAA5E,EAA+E,EAA/E,EAAkF,EAAlF,EAAqF,EAArF,EAAwF,EAAxF,EAA2F,EAA3F,EAA8F,EAA9F,EAAiG,EAAjG,EAAoG,EAApG,EAAuG,MAAvG,EAA+GT,SAA/G,CAAyH,UAAA23B,KAAK,EAAI;AAChI,sBAAI,CAACrC,YAAL,CAAkBxL,QAAlB,GAA6B6N,KAAK,CAAC,CAAD,CAAlC;AACAA,mBAAK,CAAC,CAAD,CAAL,CAASsW,SAAT,GAAqB,QAAI,CAAC57B,kBAAL,CAAwBslB,KAAK,CAAC,CAAD,CAAL,CAASsW,SAAjC,CAArB;;AACA,kBAAItW,KAAK,CAAC,CAAD,CAAL,CAASsW,SAAT,IAAsB,IAA1B,EAAgC;AAC9B,oBAAImD,eAAe,GAAG;AAAEX,yBAAO,EAAE,KAAX;AAAkBjpB,4BAAU,EAAE;AAAEle,wBAAI,EAAE;AAAE/G,0BAAI,EAAE,CAAR;AAAWd,2BAAK,EAAE,CAAlB;AAAqB8gB,yBAAG,EAAE;AAA1B,qBAAR;AAAuC8I,0BAAM,EAAE,EAA/C;AAAmD5D,6BAAS,EAAE,EAA9D;AAAkEipB,wBAAI,EAAE;AAAxE,mBAA9B;AAA4GtuB,2BAAS,EAAE;AAAvH,iBAAtB;AACA,wBAAI,CAACkT,YAAL,CAAkBxL,QAAlB,CAA2BsmC,gBAA3B,GAA8Cz4B,KAAK,CAAC,CAAD,CAAL,CAASy4B,gBAAvD;AACA,oBAAIlnC,MAAM,GAAG,mCAAM,CAACyO,KAAK,CAAC,CAAD,CAAL,CAASsW,SAAV,CAAN,CAA2B2C,QAA3B,EAAb;AACAQ,+BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgCiZ,GAAhC,GAAsC2G,MAAM,CAAC5f,IAA7C;AACA8nC,+BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC7H,KAAhC,GAAwCynB,MAAM,CAAC1nB,MAAP,GAAgB,CAAxD;AACA4vC,+BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC/G,IAAhC,GAAuC2mB,MAAM,CAAC2nB,KAA9C,CAN8B,CAO9B;AACA;AACA;AACA;;AACA,wBAAI,CAACvb,YAAL,CAAkBxL,QAAlB,CAA2BmkB,SAA3B,GAAuCmD,eAAvC;AAED;;AACD,sBAAI,CAAC9Y,YAAL,GAAoB,CAAC,QAAI,CAAChD,YAAL,CAAkBxL,QAAlB,CAA2BwO,YAAhD;;AACA,kBAAI,QAAI,CAACA,YAAL,IAAqB,CAArB,IAA0B,QAAI,CAACA,YAAL,IAAqB,CAA/C,IAAoD,QAAI,CAACA,YAAL,IAAqB,CAA7E,EAAgF;AAC9E,wBAAI,CAACib,aAAL,GAAqB,IAArB;AACD,eApB+H,CAqBhI;AACA;;;AACA,kBAAI,QAAI,CAACje,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAA3B,IAAuC,UAA3C,EAAuD;AACrD,wBAAI,CAACn4B,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAA3B,GAAsC,GAAtC;AACD,eAFD,MAGK,IAAI,QAAI,CAACn4B,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAA3B,IAAuC,SAA3C,EAAsD;AACzD,wBAAI,CAACn4B,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAA3B,GAAsC,GAAtC;AACD,eAFI,MAGA;AACH,wBAAI,CAACn4B,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAA3B,GAAsC,GAAtC;AACD,eA/B+H,CAgChI;;;AAEA,sBAAI,CAACmN,oBAAL,CAA0B,QAAI,CAACtlC,YAAL,CAAkBxL,QAAlB,CAA2BnW,MAArD;;AAEA,sBAAI,CAAC2hB,YAAL,CAAkBulC,iBAAlB,CAAoC,QAAI,CAACvlC,YAAL,CAAkBxL,QAAlB,CAA2BnW,MAA/D,EAAuE3T,SAAvE,CAAiF,UAAA86D,IAAI,EAAI;AACvF,wBAAI,CAAC/B,SAAL,GAAiB+B,IAAjB;;AACA,wBAAI,CAAC/B,SAAL,CAAez1D,OAAf,CAAuB,UAAAC,OAAO,EAAI;AAChC,0BAAI,CAAC8rD,MAAL,CAAY7rD,IAAZ,CAAiBD,OAAO,CAAC,QAAD,CAAxB;AACD,iBAFD;;AAGA,wBAAI,CAAC41D,cAAL,CAAoBvJ,MAApB,GAA6B,QAAI,CAACP,MAAlC,CALuF,CAMvF;AACD,eAPD;;AAQA,sBAAI,CAAC/5B,YAAL,CAAkBxL,QAAlB,CAA2BumC,SAA3B,GAAuC,QAAI,CAACh+C,kBAAL,CAAwB,QAAI,CAACijB,YAAL,CAAkBxL,QAAlB,CAA2BumC,SAAnD,CAAvC;AACA,sBAAI,CAAC/6B,YAAL,CAAkBxL,QAAlB,CAA2BnW,MAA3B,GAAoC,QAAI,CAACtB,kBAAL,CAAwB,QAAI,CAACijB,YAAL,CAAkBxL,QAAlB,CAA2BnW,MAAnD,CAApC;AACA,sBAAI,CAAC2hB,YAAL,CAAkBxL,QAAlB,CAA2B0jC,QAA3B,GAAsC,QAAI,CAACn7C,kBAAL,CAAwB,QAAI,CAACijB,YAAL,CAAkBxL,QAAlB,CAA2B0jC,QAAnD,CAAtC;;AACA,sBAAI,CAACqM,iBAAL;;AACA,kBAAI,QAAI,CAACvkC,YAAL,CAAkBxL,QAAlB,CAA2BkkB,MAA3B,IAAqC,GAAzC,EAA8C;AAC5C,wBAAI,CAAC+sB,cAAL,GAAsB,MAAtB;AACD,eAFD,MAGK,IAAI,QAAI,CAACzlC,YAAL,CAAkBxL,QAAlB,CAA2BkkB,MAA3B,IAAqC,GAAzC,EAA8C;AACjD,wBAAI,CAAC+sB,cAAL,GAAsB,QAAtB;AACD;;AACD,sBAAI,CAAC94C,QAAL,CAAc4E,IAAd;;AACA,sBAAI,CAACm0C,cAAL;AACD,aAxDD,EAyDI,UAACl3C,GAAD,EAAS;AACT,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aA3DH;;AA6DA,iBAAKwhB,YAAL,CAAkB2lC,mBAAlB,CAAuC96D,YAAY,CAACM,OAAb,CAAqB,YAArB,CAAvC,EAA4ET,SAA5E,CAAsF,UAAAk7D,UAAU,EAAI;AAClG,sBAAI,CAAC/B,cAAL,GAAsB+B,UAAU,CAAC,CAAD,CAAhC;AACAA,wBAAU,CAAC,CAAD,CAAV,CAAcjtB,SAAd,GAA0B,QAAI,CAAC57B,kBAAL,CAAwB6oD,UAAU,CAAC,CAAD,CAAV,CAAcjtB,SAAtC,CAA1B;;AACA,kBAAIitB,UAAU,CAAC,CAAD,CAAV,CAAcjtB,SAAd,IAA2B,IAA/B,EAAqC;AACnC,oBAAImD,eAAe,GAAG;AAAEX,yBAAO,EAAE,KAAX;AAAkBjpB,4BAAU,EAAE;AAAEle,wBAAI,EAAE;AAAE/G,0BAAI,EAAE,CAAR;AAAWd,2BAAK,EAAE,CAAlB;AAAqB8gB,yBAAG,EAAE;AAA1B,qBAAR;AAAuC8I,0BAAM,EAAE,EAA/C;AAAmD5D,6BAAS,EAAE,EAA9D;AAAkEipB,wBAAI,EAAE;AAAxE,mBAA9B;AAA4GtuB,2BAAS,EAAE;AAAvH,iBAAtB;AACA,wBAAI,CAAC+2C,cAAL,CAAoB/I,gBAApB,GAAuC8K,UAAU,CAAC,CAAD,CAAV,CAAc9K,gBAArD;AACA,oBAAIlnC,MAAM,GAAG,mCAAM,CAACgyC,UAAU,CAAC,CAAD,CAAV,CAAcjtB,SAAf,CAAN,CAAgC2C,QAAhC,EAAb;AACAQ,+BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgCiZ,GAAhC,GAAsC2G,MAAM,CAAC5f,IAA7C;AACA8nC,+BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC7H,KAAhC,GAAwCynB,MAAM,CAAC1nB,MAAP,GAAgB,CAAxD;AACA4vC,+BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC/G,IAAhC,GAAuC2mB,MAAM,CAAC2nB,KAA9C;AACA,wBAAI,CAACsoB,cAAL,CAAoBlrB,SAApB,GAAgCmD,eAAhC;AAED;;AACD+pB,mCAAqB,CAAC,QAAI,CAAChC,cAAL,CAAoBrrB,QAArB,CAArB,CAbkG,CAclG;AACA;AACA;AACA;;AAGA,sBAAI,CAACqrB,cAAL,CAAoB3L,QAApB,GAA+B,QAAI,CAACn7C,kBAAL,CAAwB,QAAI,CAAC8mD,cAAL,CAAoB3L,QAA5C,CAA/B;;AACA,sBAAI,CAACl4B,YAAL,CAAkBulC,iBAAlB,CAAoC,QAAI,CAAC1B,cAAL,CAAoBxlD,MAAxD,EAAgE3T,SAAhE,CAA0E,UAAA86D,IAAI,EAAI;AAChF,wBAAI,CAAC9B,UAAL,GAAkB8B,IAAlB;;AACA,wBAAI,CAAC/B,SAAL,CAAez1D,OAAf,CAAuB,UAAAC,OAAO,EAAI;AAChC,0BAAI,CAAC61D,OAAL,CAAa51D,IAAb,CAAkBD,OAAO,CAAC,QAAD,CAAzB;AACD,iBAFD;;AAGA,wBAAI,CAAC+xB,YAAL,CAAkBxL,QAAlB,CAA2B8lC,MAA3B,GAAoC,CAAC,QAAI,CAACv9C,kBAAL,CAAwB,QAAI,CAAC+mD,OAA7B,CAArC,CALgF,CAQhF;AAED,eAVD;;AAWA,sBAAI,CAACD,cAAL,CAAoBxlD,MAApB,GAA6B,QAAI,CAACtB,kBAAL,CAAwB,QAAI,CAAC8mD,cAAL,CAAoBxlD,MAA5C,CAA7B;;AACA,sBAAI,CAACynD,uBAAL;;AACA,sBAAI,CAACn5C,QAAL,CAAc4E,IAAd;AACD,aAnCD,EAmCG,UAAC/C,GAAD,EAAS;AACV,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aArCD;AAwCD,WArHD,MAsHK;AACH,iBAAKwhB,YAAL,CAAkBxL,QAAlB,GAA6B;AAC3BnW,oBAAM,EAAE,GADmB;AAE3Bi8C,oBAAM,EAAE,IAFmB;AAG3BjoB,uBAAS,EAAE,EAHgB;AAI3BkG,wBAAU,EAAE,EAJe;AAK3BjG,sBAAQ,EAAE,EALiB;AAM3BkG,sBAAQ,EAAE,EANiB;AAO3BC,2BAAa,EAAE,EAPY;AAQ3BC,oBAAM,EAAE,EARmB;AAS3BC,uBAAS,EAAE,IATgB;AAU3BlV,qBAAO,EAAE,EAVkB;AAW3BD,0BAAY,EAAE,EAXa;AAY3BoV,6BAAe,EAAE,EAZU;AAa3B2hB,8BAAgB,EAAE,EAbS;AAc3B1hB,qBAAO,EAAE,EAdkB;AAe3BC,wBAAU,EAAE,EAfe;AAgB3BC,uBAAS,EAAE,CAhBgB;AAiB3BC,qBAAO,EAAE,CAjBkB;AAkB3BC,oBAAM,EAAE,CAlBmB;AAmB3Bkf,sBAAQ,EAAE,GAnBiB;AAoB3Bjf,qBAAO,EAAE,EApBkB;AAqB3BshB,mBAAK,EAAE,CArBoB;AAsB3BC,sBAAQ,EAAE,GAtBiB;AAuB3BC,0BAAY,EAAE,IAvBa;AAwB3BC,wBAAU,EAAE,IAxBe;AAyB3B3oC,uBAAS,EAAE,CAzBgB;AA0B3B4C,uBAAS,EAAE,CA1BgB;AA2B3B+M,sBAAQ,EAAE,iBA3BiB;AA4B3BuC,sBAAQ,EAAE,QA5BiB;AA6B3B7G,iBAAG,EAAE,EA7BsB;AA8B3BpL,yBAAW,EAAE,EA9Bc;AA+B3B0C,yBAAW,EAAE,EA/Bc;AAgC3BjD,yBAAW,EAAE,EAhCc;AAiC3BmD,yBAAW,EAAE,EAjCc;AAkC3B4P,yBAAW,EAAE,EAlCc;AAmC3Bm2B,0BAAY,EAAE,EAnCa;AAoC3BC,0BAAY,EAAE,EApCa;AAqC3B1J,4BAAc,EAAE,KArCW;AAsC3BnuB,0BAAY,EAAE,GAtCa;AAuC3Bk1B,sBAAQ,EAAE,EAvCiB;AAwC3B4C,8BAAgB,EAAE,EAxCS;AAyC3BC,uBAAS,EAAE,EAzCgB;AA0C3BvpC,0BAAY,EAAE,EA1Ca;AA2C3BmS,wBAAU,EAAE,EA3Ce;AA4C3Ba,yBAAW,EAAE,EA5Cc;AA6C3Bw2B,2BAAa,EAAC;AA7Ca,aAA7B;AA+CA,iBAAK6I,cAAL,GAAsB,KAAK7jC,YAAL,CAAkBxL,QAAxC;;AACA,iBAAK7H,QAAL,CAAc4E,IAAd;;AACA,iBAAKm0C,cAAL;AACA,iBAAKN,kBAAL,CAAwB,GAAxB;AACD;AAGF;;;0CAIiB;AAAA;;AAChB,iBAAO,KAAKruC,eAAL,CAAqB+K,eAArB,GAAuCp3B,SAAvC,CAAiD,UAAAO,IAAI,EAAI;AAC9D,oBAAI,CAACg1B,aAAL,GAAqBh1B,IAArB;;AAEA,gBAAI,QAAI,CAACg3B,kBAAL,IAA2B,GAA/B,EAAoC;AAClC;AACA,sBAAI,CAAChC,aAAL,GAAqB,QAAI,CAACA,aAAL,CAAmBhP,MAAnB,CAA0B,UAAAC,GAAG,EAAI;AACpD,uBAAOA,GAAG,CAACgR,QAAJ,IAAgB,CAAC,QAAI,CAACC,0BAA7B;AACD,eAFoB,CAArB;AAGD;AACF,WATM,EASJ,UAAC3T,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAXM,CAAP;AAYD;;;2CACkBqhC,I,EAAW;AAE5B,cAAIA,IAAI,IAAI,GAAZ,EAAiB;AACf;AACA;AACA,iBAAKilB,QAAL,GAAgB,KAAhB;AACA,iBAAKC,UAAL,GAAkB,KAAlB;AACA,iBAAK/kC,YAAL,CAAkBxL,QAAlB,CAA2BkmC,YAA3B,GAA0C,GAA1C;AACA,iBAAK16B,YAAL,CAAkBxL,QAAlB,CAA2BmmC,UAA3B,GAAwC,GAAxC;AACA,iBAAKkJ,cAAL,CAAoBnJ,YAApB,GAAmC,GAAnC;AACA,iBAAKmJ,cAAL,CAAoBlJ,UAApB,GAAiC,GAAjC;AACD;;AACD,cAAI9a,IAAI,IAAI,GAAZ,EAAiB;AAAC;AAChB;AACA,iBAAKglB,mBAAL,CAAyBhlB,IAAzB;AACA,iBAAKilB,QAAL,GAAgB,IAAhB;AACA,iBAAKC,UAAL,GAAkB,KAAlB;AACA,iBAAK/kC,YAAL,CAAkBxL,QAAlB,CAA2BkmC,YAA3B;AACA,iBAAK16B,YAAL,CAAkBxL,QAAlB,CAA2BkmC,YAA3B,GAA0C,IAA1C;AACA,iBAAK16B,YAAL,CAAkBxL,QAAlB,CAA2BmmC,UAA3B,GAAwC,GAAxC;AACA,iBAAKkJ,cAAL,CAAoBnJ,YAApB,GAAmC,IAAnC;AACA,iBAAKmJ,cAAL,CAAoBlJ,UAApB,GAAiC,GAAjC;;AACA,gBAAI,KAAK36B,YAAL,CAAkBxL,QAAlB,CAA2BkmC,YAA3B,IAA2C,EAA/C,EAAmD;AACjD,mBAAKmJ,cAAL,CAAoBnJ,YAApB,GAAmC,EAAnC;AACA,mBAAK16B,YAAL,CAAkBxL,QAAlB,CAA2BkmC,YAA3B,GAA0C,EAA1C;AACD;AAGF;;AACD,cAAI7a,IAAI,IAAI,GAAZ,EAAiB;AACf;AACA;AACA,iBAAKilB,QAAL,GAAgB,KAAhB;AACA,iBAAKC,UAAL,GAAkB,IAAlB;AACA,iBAAK/kC,YAAL,CAAkBxL,QAAlB,CAA2BmmC,UAA3B;AACA,iBAAK36B,YAAL,CAAkBxL,QAAlB,CAA2BmmC,UAA3B,GAAwC,IAAxC;AACA,iBAAK36B,YAAL,CAAkBxL,QAAlB,CAA2BkmC,YAA3B,GAA0C,GAA1C;AACA,iBAAKmJ,cAAL,CAAoBlJ,UAApB,GAAiC,IAAjC;AACA,iBAAKkJ,cAAL,CAAoBnJ,YAApB,GAAmC,GAAnC;;AACA,gBAAI,KAAK16B,YAAL,CAAkBxL,QAAlB,CAA2BmmC,UAA3B,IAAyC,EAA7C,EAAiD;AAC/C,mBAAK36B,YAAL,CAAkBxL,QAAlB,CAA2BmmC,UAA3B,GAAwC,EAAxC;AACA,mBAAKkJ,cAAL,CAAoBlJ,UAApB,GAAiC,EAAjC;AACD;AAEF;AACF;;;4CAEmBuK,S,EAAgB;AAAA;;AAClC,eAAKtB,iBAAL,GAAyB,EAAzB;AACA,iBAAO,KAAK5jC,YAAL,CAAkBgC,4BAAlB,CAA+Cn3B,YAAY,CAACM,OAAb,CAAqB,YAArB,CAA/C,EAAmFN,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAnF,EAAwHT,SAAxH,CAAkI,UAAAO,IAAI,EAAI;AAC/IA,gBAAI,CAAC+C,OAAL,CAAa,UAAAC,OAAO,EAAI;AACtB,kBAAI,QAAI,CAAC21D,iBAAL,IAA0B,IAA9B,EAAoC;AAClC;AACA;AACA;AACA;AACA,wBAAI,CAACA,iBAAL,CAAuB11D,IAAvB,CAA4BD,OAA5B;;AACA,oBAAIA,OAAO,CAAC,QAAD,CAAP,IAAqB,GAArB,IAA4BA,OAAO,CAAC,QAAD,CAAP,IAAqB,GAArD,EAA0D;AACxD,0BAAI,CAACoyB,kBAAL,GAA0B,IAA1B;AACD;AACF,eAVqB,CAYtB;;AACD,aAbD;AAcD,WAfM,EAgBL,UAAC7R,GAAD,EAAS;AACP,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAlBI,CAAP;AAoBD;;;yCACgBunD,G,EAAK;AAEpB,cAAMp7D,MAAM,GAAG,EAAf;AACA,cAAMq7D,iBAAiB,GAAG,EAA1B,CAHoB,CAKpB;;AACAD,aAAG,CAAC/3D,OAAJ,CAAY,UAACwK,OAAD,EAAU7L,KAAV,EAAoB;AAE9B,gBAAIq5D,iBAAiB,CAACjkC,QAAlB,CAA2Bp1B,KAA3B,CAAJ,EAAuC;AAEvChC,kBAAM,CAACuD,IAAP,CAAYsK,OAAZ,EAJ8B,CAM9B;;AACA,iBAAK,IAAIytD,eAAe,GAAGt5D,KAAK,GAAG,CAAnC,EAAsCs5D,eAAe,GAAGF,GAAG,CAAC19D,MAA5D,EAAoE49D,eAAe,EAAnF,EAAuF;AAErF,kBAAMtyD,UAAU,GAAGoyD,GAAG,CAACE,eAAD,CAAtB;AACA,kBAAMC,WAAW,GAAGnhE,MAAM,CAACV,IAAP,CAAYmU,OAAZ,CAApB;AACA,kBAAM2tD,cAAc,GAAGphE,MAAM,CAACV,IAAP,CAAYsP,UAAZ,CAAvB,CAJqF,CAMrF;;AACA,kBAAIuyD,WAAW,CAAC79D,MAAZ,KAAuB89D,cAAc,CAAC99D,MAA1C,EAAkD,SAPmC,CASrF;;AACA,kBAAM+9D,iBAAiB,GAAGF,WAAW,CAAClyC,IAAZ,GAAmBzpB,IAAnB,CAAwB,EAAxB,EAA4BmW,WAA5B,EAA1B;AACA,kBAAM2lD,oBAAoB,GAAGF,cAAc,CAACnyC,IAAf,GAAsBzpB,IAAtB,CAA2B,EAA3B,EAA+BmW,WAA/B,EAA7B;AACA,kBAAI0lD,iBAAiB,KAAKC,oBAA1B,EAAgD,SAZqC,CAcrF;;AACA,kBAAIC,WAAW,GAAG,IAAlB;;AACA,mBAAK,IAAIh2C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG41C,WAAW,CAAC79D,MAAhC,EAAwCioB,CAAC,EAAzC,EAA6C;AAC3C,oBAAMsQ,GAAG,GAAGslC,WAAW,CAAC51C,CAAD,CAAvB;;AACA,oBAAI9X,OAAO,CAACooB,GAAD,CAAP,KAAiBjtB,UAAU,CAACitB,GAAD,CAA/B,EAAsC;AACpC0lC,6BAAW,GAAG,KAAd;AACA;AACD;AACF;;AACD,kBAAIA,WAAJ,EAAiBN,iBAAiB,CAAC93D,IAAlB,CAAuB+3D,eAAvB;AAElB,aAhC6B,CAgC5B;;AAEH,WAlCD,EANoB,CAwChB;;AAEJ,iBAAOt7D,MAAP;AACD;;;+BACM;AAAE,eAAKgjB,SAAL,GAAiB,IAAjB;AAAwB;;;+BAC1B;AAAE,eAAKA,SAAL,GAAiB,KAAjB;AAAyB;;;qCAErB;AACX9iB,sBAAY,CAACwjB,UAAb,CAAwB,YAAxB;AACA,eAAKjX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,mBAAD,CAArB;AACD,S,CAED;;;;sCACc6b,I,EAAM;AAElB,eAAK2F,YAAL,CAAkBxL,QAAlB;;AACA,cAAI,KAAK4vC,YAAL,IAAqB,MAArB,IAA+B,KAAKD,YAAL,GAAoB,CAAvD,EAA0D;AACxD;AACAt5D,wBAAY,CAACC,OAAb,CAAqB,aAArB,EAAoC,EAApC;AACAD,wBAAY,CAACC,OAAb,CAAqB,aAArB,EAAoC,KAAKk1B,YAAL,CAAkBxL,QAAlB,CAA2BimC,QAA/D;AACA,iBAAKz6B,YAAL,CAAkBxL,QAAlB,CAA2BnW,MAA3B,GAAoC,KAAK8lD,YAAL,CAAkB9xC,QAAlB,EAApC;AACA,iBAAK2N,YAAL,CAAkBxL,QAAlB,CAA2B8lC,MAA3B,GAAoC,IAApC;AACA,iBAAKt6B,YAAL,CAAkBxL,QAAlB,CAA2BiP,OAA3B,GAAqC,EAArC;AACA,iBAAKzD,YAAL,CAAkBxL,QAAlB,CAA2B6d,SAA3B,GAAuC,EAAvC;AACA,iBAAKrS,YAAL,CAAkBxL,QAAlB,CAA2B+jB,UAA3B,GAAwC,EAAxC;AACA,iBAAKvY,YAAL,CAAkBxL,QAAlB,CAA2B8d,QAA3B,GAAsC,EAAtC;AACA,iBAAKtS,YAAL,CAAkBxL,QAAlB,CAA2B2jC,QAA3B,GAAsC,GAAtC;AACA,iBAAKn4B,YAAL,CAAkBxL,QAAlB,CAA2BgkB,QAA3B,GAAsC,EAAtC;AACA,iBAAKxY,YAAL,CAAkBxL,QAAlB,CAA2BikB,aAA3B,GAA2C,EAA3C;AACA,iBAAKzY,YAAL,CAAkBxL,QAAlB,CAA2BkkB,MAA3B,GAAoC,EAApC;AACA,iBAAK1Y,YAAL,CAAkBxL,QAAlB,CAA2BskB,UAA3B,GAAwC,EAAxC;AACA,iBAAK9Y,YAAL,CAAkBxL,QAAlB,CAA2BgP,YAA3B,GAA0C,EAA1C;AACA,iBAAKxD,YAAL,CAAkBxL,QAAlB,CAA2BimC,QAA3B,GAAsC5vD,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAtC;AACA,iBAAK60B,YAAL,CAAkBxL,QAAlB,CAA2BokB,eAA3B,GAA6C,EAA7C;AACA,iBAAK5Y,YAAL,CAAkBxL,QAAlB,CAA2BmkB,SAA3B,GAAuC,IAAvC;AACA,iBAAKvqB,KAAL;AACD,WApBD,MAqBK;AACH;AACA,iBAAKA,KAAL;AACAte,sBAAU,CAAC,YAAY;AACrB,mBAAKiJ,QAAL,CAAc5B,QAAd,CAAuBwH,MAAvB;AACD,aAFS,EAEP,IAFO,CAAV;AAGD;AACF;;;kCAES0b,I,EAAe;AAEvB,cAAI,KAAK+pC,YAAL,IAAqB,MAArB,IAA+B,KAAKD,YAAL,GAAoB,CAAvD,EAA0D;AACxD,gBAAI9pC,IAAI,IAAI,IAAZ,EACE;AACA,mBAAK2F,YAAL,CAAkBxL,QAAlB,GAA6B;AAC3BnW,sBAAM,EAAE,KAAK8lD,YAAL,CAAkB9xC,QAAlB,EADmB;AAE3BioC,sBAAM,EAAE,IAFmB;AAG3BjoB,yBAAS,EAAE,EAHgB;AAI3BkG,0BAAU,EAAE,EAJe;AAK3BjG,wBAAQ,EAAE,EALiB;AAM3BkG,wBAAQ,EAAE,EANiB;AAO3BC,6BAAa,EAAE,EAPY;AAQ3BC,sBAAM,EAAE,EARmB;AAS3BC,yBAAS,EAAE,IATgB;AAU3BlV,uBAAO,EAAE,EAVkB;AAW3BD,4BAAY,EAAE,EAXa;AAY3BoV,+BAAe,EAAE,EAZU;AAa3B2hB,gCAAgB,EAAE,EAbS;AAc3B1hB,uBAAO,EAAE,EAdkB;AAe3BC,0BAAU,EAAE,EAfe;AAgB3BC,yBAAS,EAAE,CAhBgB;AAiB3BC,uBAAO,EAAE,CAjBkB;AAkB3BC,sBAAM,EAAE,CAlBmB;AAmB3Bkf,wBAAQ,EAAE,MAnBiB;AAoB3Bjf,uBAAO,EAAE,EApBkB;AAqB3BshB,qBAAK,EAAE,CArBoB;AAsB3BC,wBAAQ,EAAE5vD,YAAY,CAACM,OAAb,CAAqB,aAArB,CAtBiB;AAuB3BuvD,4BAAY,EAAE,EAvBa;AAwB3BC,0BAAU,EAAE,EAxBe;AAyB3B3oC,yBAAS,EAAE,CAzBgB;AA0B3B4C,yBAAS,EAAE,CA1BgB;AA2B3B+M,wBAAQ,EAAE,kBA3BiB;AA4B3BuC,wBAAQ,EAAE,QA5BiB;AA6B3B7G,mBAAG,EAAE,EA7BsB;AA8B3BpL,2BAAW,EAAE,EA9Bc;AA+B3B0C,2BAAW,EAAE,EA/Bc;AAgC3BjD,2BAAW,EAAE,EAhCc;AAiC3BmD,2BAAW,EAAE,EAjCc;AAkC3B4P,2BAAW,EAAE,EAlCc;AAmC3Bm2B,4BAAY,EAAE,EAnCa;AAoC3BC,4BAAY,EAAE,EApCa;AAqC3B1J,8BAAc,EAAE,KArCW;AAsC3BnuB,4BAAY,EAAE,GAtCa;AAuC3Bk1B,wBAAQ,EAAE,EAvCiB;AAwC3B4C,gCAAgB,EAAE,EAxCS;AAyC3BC,yBAAS,EAAE,EAzCgB;AA0C3BvpC,4BAAY,EAAE,EA1Ca;AA2C3BmS,0BAAU,EAAE,EA3Ce;AA4C3Ba,2BAAW,EAAE,EA5Cc;AA6C3Bw2B,6BAAa,EAAC;AA7Ca,eAA7B;AAgDH,WAnDD,MAoDK;AACH,gBAAI3gC,IAAI,IAAI,IAAZ,EACEA,IAAI,CAACsL,SAAL;AAEF,iBAAK3F,YAAL,CAAkBxL,QAAlB,GAA6B;AAC3BnW,oBAAM,EAAE,GADmB;AAE3Bi8C,oBAAM,EAAE,IAFmB;AAG3BjoB,uBAAS,EAAE,EAHgB;AAI3BkG,wBAAU,EAAE,EAJe;AAK3BjG,sBAAQ,EAAE,EALiB;AAM3BkG,sBAAQ,EAAE,EANiB;AAO3BC,2BAAa,EAAE,EAPY;AAQ3BC,oBAAM,EAAE,EARmB;AAS3BC,uBAAS,EAAE,IATgB;AAU3BlV,qBAAO,EAAE,EAVkB;AAW3BD,0BAAY,EAAE,EAXa;AAY3BoV,6BAAe,EAAE,EAZU;AAa3B2hB,8BAAgB,EAAE,EAbS;AAc3B1hB,qBAAO,EAAE,EAdkB;AAe3BC,wBAAU,EAAE,EAfe;AAgB3BC,uBAAS,EAAE,CAhBgB;AAiB3BC,qBAAO,EAAE,CAjBkB;AAkB3BC,oBAAM,EAAE,CAlBmB;AAmB3Bkf,sBAAQ,EAAE,MAnBiB;AAoB3Bjf,qBAAO,EAAE,EApBkB;AAqB3BshB,mBAAK,EAAE,CArBoB;AAsB3BC,sBAAQ,EAAE,EAtBiB;AAuB3BC,0BAAY,EAAE,EAvBa;AAwB3BC,wBAAU,EAAE,EAxBe;AAyB3B3oC,uBAAS,EAAE,CAzBgB;AA0B3B4C,uBAAS,EAAE,CA1BgB;AA2B3B+M,sBAAQ,EAAE,iBA3BiB;AA4B3BuC,sBAAQ,EAAE,QA5BiB;AA6B3B7G,iBAAG,EAAE,EA7BsB;AA8B3BpL,yBAAW,EAAE,EA9Bc;AA+B3B0C,yBAAW,EAAE,EA/Bc;AAgC3BjD,yBAAW,EAAE,EAhCc;AAiC3BmD,yBAAW,EAAE,EAjCc;AAkC3B4P,yBAAW,EAAE,EAlCc;AAmC3Bm2B,0BAAY,EAAE,EAnCa;AAoC3BC,0BAAY,EAAE,EApCa;AAqC3B1J,4BAAc,EAAE,KArCW;AAsC3BnuB,0BAAY,EAAE,GAtCa;AAuC3Bk1B,sBAAQ,EAAE,EAvCiB;AAwC3B4C,8BAAgB,EAAE,EAxCS;AAyC3BC,uBAAS,EAAE,EAzCgB;AA0C3BvpC,0BAAY,EAAE,EA1Ca;AA2C3BmS,wBAAU,EAAE,EA3Ce;AA4C3Ba,yBAAW,EAAE,EA5Cc;AA6C3Bw2B,2BAAa,EAAC;AA7Ca,aAA7B;AA+CD;AACF;;;gCAGOhnD,I,EAAM;AAEZ,cAAIA,IAAI,CAAC/G,IAAL,IAAa,IAAb,IAAqB+G,IAAI,CAAC/G,IAAL,IAAa,GAAtC,EAA2C,CACzC;AACD,WAFD,MAGK,CACH;AACD;AACF,S,CAED;;;;iCACSotB,I,EAAc;AAAA;;AACrB;AACA,cAAGA,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B4nB,SAA7B,EACEiJ,IAAI,CAAC7wB,KAAL,CAAW,UAAX,IAAyB,KAAKq6D,cAAL,CAAoBrrB,QAA7C;AACF,cAAGne,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB4nB,SAA3B,EACEiJ,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,KAAKq6D,cAAL,CAAoBnrB,MAA3C;AACF,cAAGre,IAAI,CAAC7wB,KAAL,CAAW,WAAX,KAA2B4nB,SAA9B,EACEiJ,IAAI,CAAC7wB,KAAL,CAAW,WAAX,IAA0B,KAAKq6D,cAAL,CAAoBlrB,SAA9C;AACF,cAAGte,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B4nB,SAA7B,EACEiJ,IAAI,CAAC7wB,KAAL,CAAW,UAAX,IAAyB,KAAKq6D,cAAL,CAAoBpJ,QAA7C;AACF,cAAGpgC,IAAI,CAAC7wB,KAAL,CAAW,cAAX,KAA8B4nB,SAAjC,EACEiJ,IAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,KAAKq6D,cAAL,CAAoBnJ,YAAjD;AACF,cAAGrgC,IAAI,CAAC7wB,KAAL,CAAW,YAAX,KAA4B4nB,SAA/B,EACEiJ,IAAI,CAAC7wB,KAAL,CAAW,YAAX,IAA2B,KAAKq6D,cAAL,CAAoBlJ,UAA/C;AACF,cAAGtgC,IAAI,CAAC7wB,KAAL,CAAW,QAAX,KAAwB4nB,SAA3B,EACEiJ,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,KAAKq6D,cAAL,CAAoBvJ,MAA3C;;AAGF,cAAuBvhD,QAAQ,CAACglB,cAAT,CAAwB,SAAxB,EAAoCv0B,KAApC,CAA0Cu4B,QAA1C,CAAmD,GAAnD,CAAvB,EAAgF;AAC3DhpB,oBAAQ,CAACglB,cAAT,CAAwB,SAAxB,EAAoCv0B,KAApC,GAA+DuP,QAAQ,CAACglB,cAAT,CAAwB,SAAxB,EAAoCv0B,KAApC,CAA0CiX,KAA1C,CAAgD,CAAhD,EAAmD,CAAC,CAApD,CAA/D;AACpB;;AACD,cAAI4Z,IAAI,CAAC7wB,KAAL,CAAW,UAAX,EAAuBu4B,QAAvB,CAAgC,GAAhC,CAAJ,EAA0C;AACxC1H,gBAAI,CAAC7wB,KAAL,CAAW,UAAX,IAAyB6wB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,EAAuBiX,KAAvB,CAA6B,CAA7B,EAAgC,CAAC,CAAjC,CAAzB;AACD;;AAED,cAAI4Z,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B,CAA1B,IAA+B,KAAK4lB,iBAAxC,EAA2D;AACzD,iBAAK60C,iBAAL,GAAyB,IAAzB;AACA;AACD,WAHD,MAIK;AACH,iBAAKA,iBAAL,GAAyB,KAAzB;AACD;;AAED,cAAI5pC,IAAI,CAACwL,KAAL,IAAc,KAAKmf,SAAL,IAAkB,IAApC,EAA0C;AACxC,iBAAKvjB,aAAL,GAAqB,IAArB;AACD,WAnCoB,CAqCrB;;;AACA,cAAI,CAAC,KAAKrS,iBAAV,EAA6B;AAC3BiL,gBAAI,CAAC7wB,KAAL,CAAW,UAAX,IAAyB,CAAzB,CAD2B,CACA;;AAC3B,gBAAI,KAAKw5B,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAAnD,EAAsD;AACpD3I,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B,CADoD,CACrB;AAChC,aAFD,MAGK,IAAI,KAAKw5B,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAAnD,EAAsD;AACzD3I,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B,CADyD,CAC1B;AAChC,aAFI,MAGA,IAAI,KAAKw5B,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAAnD,EAAsD;AACzD3I,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACD,aAFI,MAGA;AACH6wB,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B,CADG,CAC4B;AAChC;AACF,WAdD,MAeK;AACH;AACA;AACA,gBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B,CAA1B,IAA+B,KAAKw5B,YAAL,IAAqB5R,SAAxD,EAAmE;AACjEiJ,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B,CADiE,CAClC;;AAC/B6wB,kBAAI,CAAC7wB,KAAL,CAAW,UAAX,IAAyB,CAAzB;AACD,aAHD,MAIK,IAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B,CAA1B,IAA+B,KAAKw5B,YAAL,IAAqB5R,SAAxD,EAAmE;AACtEiJ,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B,CADsE,CACvC;AAChC,aATE,CAUH;;;AACA,gBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B,CAA1B,IAA+B,KAAKw5B,YAAL,IAAqB,CAAxD,EAA2D;AACzD3I,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B,CADyD,CAC1B;AAChC,aAFD,MAGK,IAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B,CAA1B,IAA+B,KAAKw5B,YAAL,IAAqB,CAAxD,EAA2D;AAC9D3I,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B,CAD8D,CAC/B;AAChC;;AAED,gBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B,CAA1B,IAA+B,KAAKw5B,YAAL,IAAqB,CAAxD,EAA2D;AACzD3I,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B,CADyD,CAC1B;AAChC,aAFD,MAGK,IAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B,CAA1B,IAA+B,KAAKw5B,YAAL,IAAqB,CAAxD,EAA2D;AAC9D3I,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B,CAD8D,CAC/B;AAChC;;AAED,gBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B,CAA1B,IAA+B,KAAKw5B,YAAL,IAAqB,CAAxD,EAA2D;AACzD3I,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B,CADyD,CAC1B;;AAC/B6wB,kBAAI,CAAC7wB,KAAL,CAAW,UAAX,IAAyB,CAAzB;AACD,aAHD,MAIK,IAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B,CAA1B,IAA+B,KAAKw5B,YAAL,IAAqB,CAAxD,EAA2D;AAC9D3I,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B,CAD8D,CAC/B;;AAC/B6wB,kBAAI,CAAC7wB,KAAL,CAAW,UAAX,IAAyB,CAAzB;AACD,aAhCE,CAkCH;;;AACA,gBAAI,CAAC6wB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B,CAA1B,IAA+B6wB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B,CAA1D,MAAiE,KAAKw5B,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAA/C,IAAoD,KAAKA,YAAL,IAAqB,CAAzE,IAA8E,KAAKA,YAAL,IAAqB,CAApK,CAAJ,EAA4K;AAC1K3I,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B,CAD0K,CAC3I;;AAC/B6wB,kBAAI,CAAC7wB,KAAL,CAAW,UAAX,IAAyB,CAAzB;AACD;;AACD,gBAAK6wB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B,CAA3B,KAAkC,KAAKw5B,YAAL,IAAqB,CAArB,IAA0B,KAAKA,YAAL,IAAqB,CAAjF,CAAJ,EAAyF;AACvF3I,kBAAI,CAAC7wB,KAAL,CAAW,cAAX,IAA6B,CAA7B;AACA6wB,kBAAI,CAAC7wB,KAAL,CAAW,UAAX,IAAyB,CAAzB;AACD;AACF;;AAGD,cAAI6wB,IAAI,CAAC7wB,KAAL,CAAWmvC,SAAX,CAAqBzmB,UAArB,CAAgCle,IAAhC,CAAqC7H,KAArC,IAA8C,IAAlD,EAAwD;AACtD,iBAAK86C,OAAL,GAAe5sB,IAAI,CAAC7wB,KAAL,CAAWmvC,SAAX,CAAqBzmB,UAArB,CAAgCle,IAAhC,CAAqC/G,IAArC,GAA4C,GAA5C,GAAkDotB,IAAI,CAAC7wB,KAAL,CAAWmvC,SAAX,CAAqBzmB,UAArB,CAAgCle,IAAhC,CAAqC7H,KAAvF,GAA+F,GAA/F,GAAqGkuB,IAAI,CAAC7wB,KAAL,CAAWmvC,SAAX,CAAqBzmB,UAArB,CAAgCle,IAAhC,CAAqCiZ,GAAzJ;AACD,WAFD,MAGK;AACH,iBAAKg6B,OAAL,GAAe5sB,IAAI,CAAC7wB,KAAL,CAAWmvC,SAAX,CAAqBzmB,UAArB,CAAgCle,IAAhC,CAAqC/G,IAArC,GAA4C,IAA5C,GAAmDotB,IAAI,CAAC7wB,KAAL,CAAWmvC,SAAX,CAAqBzmB,UAArB,CAAgCle,IAAhC,CAAqC7H,KAAxF,GAAgG,GAAhG,GAAsGkuB,IAAI,CAAC7wB,KAAL,CAAWmvC,SAAX,CAAqBzmB,UAArB,CAAgCle,IAAhC,CAAqCiZ,GAA1J;AACD;;AACD,cAAI,KAAK+I,eAAT,EAA0B;AACxB,iBAAKyL,aAAL,GAAqB,KAArB;AACA;AACD;;AAED,cAAIpH,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAA3B,EAA8B;AAC5B6wB,gBAAI,CAAC7wB,KAAL,CAAW,WAAX,IAA0BqB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA1B;AACD,WAFD,MAGK;AACHkvB,gBAAI,CAAC7wB,KAAL,CAAW,WAAX,IAA0BqB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA1B;AACD;;AACD,cAAIg5C,QAAQ,GAAG,EAAf;AAEAA,kBAAQ,CAAC,QAAD,CAAR,GAAqB,EAArB;;AAEA,cAAK,KAAK0f,cAAL,CAAoB3L,QAApB,IAAgC,KAAKl4B,YAAL,CAAkBxL,QAAlB,CAA2BumC,SAA5D,IAA0E,KAAK8I,cAAL,CAAoB1L,QAApB,IAAgC,GAA1G,IAAiH,KAAKn1B,YAAL,IAAqB,CAA1I,EAA6I;AAC3I,iBAAK2gC,QAAL,CAAc31D,OAAd,CAAsB,UAAAC,OAAO,EAAI;AAC/B,kBAAI+hD,aAAa,GAAG,EAApB;AACAA,2BAAa,CAAC,QAAD,CAAb,GAA0B/hD,OAAO,CAAC,QAAD,CAAjC;AACAk2C,sBAAQ,CAAC,QAAD,CAAR,CAAmBj2C,IAAnB,CAAwB8hD,aAAxB;AACD,aAJD;AAKD,WAND,MAOK;AACH31B,gBAAI,CAAC7wB,KAAL,CAAW,QAAX,EAAqBwE,OAArB,CAA6B,UAAAC,OAAO,EAAI;AACtC,kBAAI+hD,aAAa,GAAG,EAApB;AACAA,2BAAa,CAAC,QAAD,CAAb,GAA0B/hD,OAA1B;AACAk2C,sBAAQ,CAAC,QAAD,CAAR,CAAmBj2C,IAAnB,CAAwB8hD,aAAxB;AACD,aAJD;AAKD;;AAGD7L,kBAAQ,CAAC,cAAD,CAAR,GAA2Bt5C,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA3B;AACAg5C,kBAAQ,CAAC,QAAD,CAAR,GAAqB9pB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,CAArB;AACA26C,kBAAQ,CAAC,WAAD,CAAR,GAAwB9pB,IAAI,CAAC7wB,KAAL,CAAW,WAAX,CAAxB;AACA26C,kBAAQ,CAAC,YAAD,CAAR,GAAyB9pB,IAAI,CAAC7wB,KAAL,CAAW,YAAX,CAAzB;AAEA,cAAI+8D,IAAI,GAAG,UAAX,CA7IqB,CA8IrB;;AACA,cAAIlsC,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB,IAA4B6wB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,KAA0B+8D,IAA1D,EAAgE;AAC9DpiB,oBAAQ,CAAC,UAAD,CAAR,GAAuB,EAAvB;AACD,WAFD,CAGA;AACA;AACA;AALA,eAMK;AACHA,sBAAQ,CAAC,UAAD,CAAR,GAA0CprC,QAAQ,CAACglB,cAAT,CAAwB,SAAxB,EAAoCv0B,KAA9E;AACD,aAvJoB,CAyJrB;;;AACA26C,kBAAQ,CAAC,WAAD,CAAR,GAAwB,KAAK8C,OAA7B;AACA9C,kBAAQ,CAAC,SAAD,CAAR,GAAsB9pB,IAAI,CAAC7wB,KAAL,CAAW,SAAX,CAAtB;AACA26C,kBAAQ,CAAC,UAAD,CAAR,GAAuB9pB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,CAAvB;AACA26C,kBAAQ,CAAC,QAAD,CAAR,GAAqB9pB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,CAArB;AACA26C,kBAAQ,CAAC,cAAD,CAAR,GAA2B9pB,IAAI,CAAC7wB,KAAL,CAAW,cAAX,CAA3B;AACA26C,kBAAQ,CAAC,iBAAD,CAAR,GAA8B9pB,IAAI,CAAC7wB,KAAL,CAAW,iBAAX,CAA9B;AACA26C,kBAAQ,CAAC,kBAAD,CAAR,GAA+B9pB,IAAI,CAAC7wB,KAAL,CAAW,kBAAX,CAA/B;AAEA26C,kBAAQ,CAAC,SAAD,CAAR,GAAsB,EAAtB,CAlKqB,CAkKK;;AAC1BA,kBAAQ,CAAC,YAAD,CAAR,GAAyB,EAAzB,CAnKqB,CAmKQ;;AAC7BA,kBAAQ,CAAC,WAAD,CAAR,GAAwB,CAAxB,CApKqB,CAoKM;;AAC3BA,kBAAQ,CAAC,SAAD,CAAR,GAAsB,CAAtB,CArKqB,CAqKI;;AACzBA,kBAAQ,CAAC,QAAD,CAAR,GAAqB,CAArB,CAtKqB,CAsKG;;AACxBA,kBAAQ,CAAC,SAAD,CAAR,GAAsB,IAAtB,CAvKqB,CAuKO;;AAC5BA,kBAAQ,CAAC,UAAD,CAAR,GAAuB9pB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,CAAvB;AACA26C,kBAAQ,CAAC,OAAD,CAAR,GAAoB,CAApB,CAzKqB,CAyKE;;AACvBA,kBAAQ,CAAC,UAAD,CAAR,GAAuB9pB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,CAAvB;AACA26C,kBAAQ,CAAC,cAAD,CAAR,GAA2B9pB,IAAI,CAAC7wB,KAAL,CAAW,cAAX,CAA3B;AACA26C,kBAAQ,CAAC,YAAD,CAAR,GAAyB9pB,IAAI,CAAC7wB,KAAL,CAAW,YAAX,CAAzB;AACA26C,kBAAQ,CAAC,WAAD,CAAR,GAAwB9pB,IAAI,CAAC7wB,KAAL,CAAW,WAAX,CAAxB;AACA26C,kBAAQ,CAAC,WAAD,CAAR,GAAwB9pB,IAAI,CAAC7wB,KAAL,CAAW,WAAX,CAAxB;AACA26C,kBAAQ,CAAC,cAAD,CAAR,GAA2B9pB,IAAI,CAAC7wB,KAAL,CAAW,cAAX,CAA3B,CA/KqB,CAiLrB;;AACA,cAAI,KAAKw7C,SAAL,IAAkB,IAAtB,EAA4B;AAC1B,gBAAI,CAAC,KAAKmf,YAAN,GAAqB,CAAzB,EAA4B;AAC1B,mBAAKnkC,YAAL,CAAkBwmC,aAAlB,CAAgC37D,YAAY,CAACM,OAAb,CAAqB,YAArB,CAAhC,EAAoEkvB,IAAI,CAAC7wB,KAAL,CAAW,SAAX,EAAsB6oB,QAAtB,EAApE,EAAsGgI,IAAI,CAAC7wB,KAAL,CAAW,cAAX,EAA2B6oB,QAA3B,EAAtG,EAA6I3nB,SAA7I,CAAuJ,UAAAO,IAAI,EAAI;AAC7J;;AACA,oBAAIA,IAAI,IAAI,CAAZ,EAAe;AACb,0BAAI,CAAC6iB,OAAL,GAAe,KAAf;AACA,0BAAI,CAACC,YAAL,GAAoB,IAApB;AACA,0BAAI,CAACsF,UAAL,GAAkB,yBAAlB;;AACA,0BAAI,CAACjF,KAAL;;AACA,0BAAI,CAACqT,aAAL,GAAqB,KAArB;AACD;;AACD,oBAAIx2B,IAAI,IAAI,CAAZ,EAAe;AACb,0BAAI,CAAC6iB,OAAL,GAAe,KAAf;AACA,0BAAI,CAACC,YAAL,GAAoB,IAApB;AACA,0BAAI,CAACsF,UAAL,GAAkB,8BAAlB;;AACA,0BAAI,CAACjF,KAAL;;AACA,0BAAI,CAACqT,aAAL,GAAqB,KAArB;AACD;;AACD,oBAAIx2B,IAAI,IAAI,CAAZ,EAAe;AACb,0BAAI,CAAC6iB,OAAL,GAAe,KAAf;AACA,0BAAI,CAACC,YAAL,GAAoB,IAApB;AACA,0BAAI,CAACsF,UAAL,GAAkB,2CAAlB;;AACA,0BAAI,CAACjF,KAAL;;AACA,0BAAI,CAACqT,aAAL,GAAqB,KAArB;AACD,iBAND,MAOK,IAAIx2B,IAAI,IAAI,CAAR,IAAak5C,QAAQ,CAAC,QAAD,CAAR,IAAsB,IAAnC,IAA2CA,QAAQ,CAAC,QAAD,CAAR,IAAsB,EAArE,EAAyE;AAC5E,sBAAI9pB,IAAI,CAAC7wB,KAAL,CAAW,cAAX,KAA8B,CAAlC,EAAqC;AACnC,wBAAIi9D,SAAS,GAAG,EAAhB;;AACA,wBAAItiB,QAAQ,CAAC,UAAD,CAAR,IAAwB,EAAxB,IAAiDprC,QAAQ,CAACglB,cAAT,CAAwB,SAAxB,EAAoCv0B,KAApC,IAA6C,UAAlG,EAA8G;AAC5Gi9D,+BAAS,GAAsB1tD,QAAQ,CAACglB,cAAT,CAAwB,SAAxB,EAAoCv0B,KAAnE;AACD,qBAFD,MAIEi9D,SAAS,GAAGtiB,QAAQ,CAAC,UAAD,CAApB;;AACF,4BAAI,CAACnkB,YAAL,CAAkB0mC,sBAAlB,CAAyCD,SAAzC,EAAoDtiB,QAAQ,CAAC,QAAD,CAA5D,EAAwEz5C,SAAxE,CAAkF,UAAAO,IAAI,EAAI;AACxF;;AACA,0BAAIA,IAAI,IAAI,IAAZ,EAAkB;AAChB,gCAAI,CAAC+0B,YAAL,CAAkB2mC,uBAAlB,CAA0CxiB,QAA1C,EAAoDz5C,SAApD,CAA8D,UAAA0oB,GAAG,EAAI;AAEnE,8BAAIA,GAAG,CAACf,QAAJ,GAAehqB,MAAf,GAAwB,CAA5B,EAA+B;AAC7B,oCAAI,CAACo5B,aAAL,GAAqB,KAArB;AACD;;AAED,8BAAIrO,GAAG,CAAC/U,MAAJ,IAAc,IAAlB,EAAwB;AACtB,oCAAI,CAACgV,UAAL,GAAkBD,GAAG,CAACiK,GAAtB;AACA,oCAAI,CAACtP,YAAL,GAAoB,IAApB;AACA,oCAAI,CAACD,OAAL,GAAe,KAAf;;AAEA,oCAAI,CAACM,KAAL;AAED,2BAPD,MAQK;AACH,oCAAI,CAACiF,UAAL,GAAkBD,GAAG,CAACif,SAAJ,GAAgB,GAAhB,GAAsBjf,GAAG,CAACiK,GAA5C;AACA,oCAAI,CAACvP,OAAL,GAAe,IAAf;AACA,oCAAI,CAACC,YAAL,GAAoB,KAApB;AACA,oCAAI,CAACiS,YAAL,CAAkBxL,QAAlB,CAA2BnW,MAA3B,GAAqC+U,GAAG,CAAC/U,MAAzC;;AACA,oCAAI,CAAC+P,KAAL;;AACA,oCAAI,CAACk3C,oBAAL,CAA0B,QAAI,CAACtlC,YAAL,CAAkBxL,QAAlB,CAA2BnW,MAArD;;AACA,oCAAI,CAACojB,aAAL,GAAqB,IAArB;AACD;AACF,yBAvBD,EAwBE,UAAC4E,KAAD,EAAW;AACT,kCAAI,CAACvY,OAAL,GAAe,KAAf;AACA,kCAAI,CAACC,YAAL,GAAoB,IAApB;;AACA,kCAAI,CAAC3W,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA,kCAAI,CAAC4P,KAAL;;AACA,kCAAI,CAACqT,aAAL,GAAqB,KAArB;AACD,yBA9BH,EADgB,CAiChB;;AACD,uBAlCD,MAmCK;AACH,gCAAI,CAAC3T,OAAL,GAAe,KAAf;AACA,gCAAI,CAACC,YAAL,GAAoB,IAApB;AACA,gCAAI,CAACsF,UAAL,GAAkB,iEAAlB;;AACA,gCAAI,CAACjF,KAAL;;AACA,gCAAI,CAACqT,aAAL,GAAqB,KAArB;AACD;AACF,qBA5CD;AA6CD,mBApDD,MAqDK;AACH,4BAAI,CAACzB,YAAL,CAAkB2mC,uBAAlB,CAA0CxiB,QAA1C,EAAoDz5C,SAApD,CAA8D,UAAA0oB,GAAG,EAAI;AAEnE,0BAAIA,GAAG,CAACf,QAAJ,GAAehqB,MAAf,GAAwB,CAA5B,EAA+B;AAC7B,gCAAI,CAACo5B,aAAL,GAAqB,KAArB;AACD;;AAED,0BAAIrO,GAAG,CAAC/U,MAAJ,IAAc,IAAlB,EAAwB;AACtB,gCAAI,CAACgV,UAAL,GAAkBD,GAAG,CAACiK,GAAtB;AACA,gCAAI,CAACtP,YAAL,GAAoB,IAApB;AACA,gCAAI,CAACD,OAAL,GAAe,KAAf;;AAEA,gCAAI,CAACM,KAAL;AAED,uBAPD,MAQK;AACH,gCAAI,CAACiF,UAAL,GAAkBD,GAAG,CAACif,SAAJ,GAAgB,GAAhB,GAAsBjf,GAAG,CAACiK,GAA5C;AACA,gCAAI,CAACvP,OAAL,GAAe,IAAf;AACA,gCAAI,CAACC,YAAL,GAAoB,KAApB;AACA,gCAAI,CAACiS,YAAL,CAAkBxL,QAAlB,CAA2BnW,MAA3B,GAAqC+U,GAAG,CAAC/U,MAAzC;;AACA,gCAAI,CAAC+P,KAAL;;AACA,gCAAI,CAACk3C,oBAAL,CAA0B,QAAI,CAACtlC,YAAL,CAAkBxL,QAAlB,CAA2BnW,MAArD;;AACA,gCAAI,CAACojB,aAAL,GAAqB,IAArB;AACD;AACF,qBAvBD,EAwBE,UAAC4E,KAAD,EAAW;AACT,8BAAI,CAACvY,OAAL,GAAe,KAAf;AACA,8BAAI,CAACC,YAAL,GAAoB,IAApB;;AACA,8BAAI,CAAC3W,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA,8BAAI,CAAC4P,KAAL;;AACA,8BAAI,CAACqT,aAAL,GAAqB,KAArB;AACD,qBA9BH;AAgCD,mBAvF2E,CAuF1E;;AACH,iBA/G4J,CA+G5J;;AACF,eAhHD;AAiHD,aAlHD,MAkHO;AACL,kBAAI,KAAK0iC,YAAL,IAAqB/yC,SAAzB,EACE,KAAK+yC,YAAL,GAAoB,CAApB;;AACF,mBAAKnkC,YAAL,CAAkBwmC,aAAlB,CAAgC37D,YAAY,CAACM,OAAb,CAAqB,YAArB,CAAhC,EAAoEkvB,IAAI,CAAC7wB,KAAL,CAAW,SAAX,EAAsB6oB,QAAtB,EAApE,EAAsGgI,IAAI,CAAC7wB,KAAL,CAAW,cAAX,EAA2B6oB,QAA3B,EAAtG,EAA6I3nB,SAA7I,CAAuJ,UAAAO,IAAI,EAAI;AAC7J,oBAAIA,IAAI,IAAI,CAAZ,EAAe;AACb,0BAAI,CAAC6iB,OAAL,GAAe,KAAf;AACA,0BAAI,CAACC,YAAL,GAAoB,IAApB;AACA,0BAAI,CAACsF,UAAL,GAAkB,yBAAlB;;AACA,0BAAI,CAACjF,KAAL;;AACA,0BAAI,CAACqT,aAAL,GAAqB,KAArB;AACD;;AACD,oBAAIx2B,IAAI,IAAI,CAAZ,EAAe;AACb,0BAAI,CAAC6iB,OAAL,GAAe,KAAf;AACA,0BAAI,CAACC,YAAL,GAAoB,IAApB;AACA,0BAAI,CAACsF,UAAL,GAAkB,8BAAlB;;AACA,0BAAI,CAACjF,KAAL;;AACA,0BAAI,CAACqT,aAAL,GAAqB,KAArB;AACD;;AACD,oBAAIx2B,IAAI,IAAI,CAAZ,EAAe;AACb,0BAAI,CAAC6iB,OAAL,GAAe,KAAf;AACA,0BAAI,CAACC,YAAL,GAAoB,IAApB;AACA,0BAAI,CAACsF,UAAL,GAAkB,2CAAlB;;AACA,0BAAI,CAACjF,KAAL;;AACA,0BAAI,CAACqT,aAAL,GAAqB,KAArB;AACD,iBAND,MAQK,IAAIx2B,IAAI,IAAI,CAAZ,EAAe;AAClB,0BAAI,CAAC+0B,YAAL,CAAkB2mC,uBAAlB,CAA0CxiB,QAA1C,EAAoDz5C,SAApD,CAA8D,UAAA0oB,GAAG,EAAI;AAEnE,wBAAIA,GAAG,CAACf,QAAJ,GAAehqB,MAAf,GAAwB,CAA5B,EAA+B;AAC7B,8BAAI,CAACo5B,aAAL,GAAqB,KAArB;AACD;;AAED,wBAAIrO,GAAG,CAAC/U,MAAJ,IAAc,IAAlB,EAAwB;AACtB,8BAAI,CAACgV,UAAL,GAAkBD,GAAG,CAACiK,GAAtB;AACA,8BAAI,CAACtP,YAAL,GAAoB,IAApB;AACA,8BAAI,CAACD,OAAL,GAAe,KAAf;AACA,8BAAI,CAAC2T,aAAL,GAAqB,KAArB;;AACA,8BAAI,CAACrT,KAAL;AAED,qBAPD,MAQK;AAEH,8BAAI,CAACiF,UAAL,GAAkBD,GAAG,CAACif,SAAJ,GAAgB,GAAhB,GAAsBjf,GAAG,CAACiK,GAA5C;AAEAtkB,8BAAQ,CAAC5B,QAAT,CAAkBwH,MAAlB;AACA9T,kCAAY,CAACC,OAAb,CAAqB,KAArB,EAA4B,QAAI,CAACuoB,UAAjC;;AACA,8BAAI,CAACjF,KAAL;AAED;AACF,mBAvBD,EAwBE,UAACiY,KAAD,EAAW;AACT,4BAAI,CAACvY,OAAL,GAAe,KAAf;AACA,4BAAI,CAACC,YAAL,GAAoB,IAApB;AACA,4BAAI,CAACsF,UAAL,GAAkB,mBAAlB;;AACA,4BAAI,CAACjF,KAAL;;AACA,4BAAI,CAACqT,aAAL,GAAqB,KAArB;;AACA,4BAAI,CAACrqB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,mBA/BH;AAiCD;AACF,eA1DD;AA2DD;AACF;AACF;;;yCAGgBhH,K,EAAO;AACtB,eAAKsW,OAAL,GAAe,KAAf;AACA,eAAKC,YAAL,GAAoB,KAApB;AAED;;;kCAES;AACR,eAAKD,OAAL,GAAe,IAAf;AACD;;;kCACS;AACR,eAAKA,OAAL,GAAe,KAAf;AACD;;;oCAEW;AACV,eAAKC,YAAL,GAAoB,IAApB;AACD;;;oCACW;AACV,eAAKA,YAAL,GAAoB,KAApB;AACD;;;qCAEY;AAAA;;AACX,eAAKy1C,cAAL,CAAoBnF,kBAApB,GAAyC3zD,SAAzC,CAAmD,UAAAO,IAAI,EAAI;AACzD,oBAAI,CAAC6uD,KAAL,GAAa7uD,IAAb;AACD,WAFD,EAGI,UAACujB,GAAD,EAAS;AACT,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WALH;AAMD;;;gCAEO;AACNmU,gBAAM,CAACC,MAAP,CAAc;AACZC,eAAG,EAAE,CADO;AAEZC,gBAAI,EAAE,CAFM;AAGZC,oBAAQ,EAAE;AAHE,WAAd;AAKD;;;mCAEUvb,K,EAAK;AACd,cAAM+c,QAAQ,GAAI/c,KAAK,CAACguB,KAAP,GAAgBhuB,KAAK,CAACguB,KAAtB,GAA8BhuB,KAAK,CAACiuB,OAArD,CADc,CAEd;AACA;AACA;;AACA,cAAIlR,QAAQ,IAAI,EAAZ,IAAkBA,QAAQ,GAAG,EAA7B,KAAoCA,QAAQ,GAAG,EAAX,IAAiBA,QAAQ,GAAG,EAAhE,CAAJ,EAAyE;AACvE,mBAAO,KAAP;AACD;;AACD,iBAAO,IAAP;AACD,S,CACD;;;;6CACqBlW,M,EAAQ;AAAA;;AAC3B,eAAK2hB,YAAL,CAAkB4mC,8BAAlB,CAAiDvoD,MAAjD,EAAyD3T,SAAzD,CAAmE,UAAA67B,SAAS,EAAI;AAC9E,oBAAI,CAACsgC,mBAAL,GAA2BtgC,SAA3B;;AAEA,gBAAI,QAAI,CAACsgC,mBAAL,CAAyB,CAAzB,EAA4B50C,WAA5B,IAA2C,IAA/C,EAAqD;AACnD,sBAAI,CAACoF,cAAL,GAAsB,IAAtB;AACA,sBAAI,CAACoP,WAAL,GAAmB,QAAI,CAACogC,mBAAL,CAAyB,CAAzB,EAA4B50C,WAA/C;AACA,sBAAI,CAACyU,eAAL,GAAuB,QAAI,CAACmgC,mBAAL,CAAyB,CAAzB,EAA4B3qD,QAAnD;AACD;;AACD,gBAAI,QAAI,CAAC2qD,mBAAL,CAAyB,CAAzB,EAA4BhyC,WAA5B,IAA2C,IAA/C,EAAqD;AACnD,sBAAI,CAACuC,cAAL,GAAsB,IAAtB;AACA,sBAAI,CAACuP,aAAL,GAAqB,QAAI,CAACkgC,mBAAL,CAAyB,CAAzB,EAA4B3qD,QAAjD;AACA,sBAAI,CAAC0qB,UAAL,GAAkB,QAAI,CAACigC,mBAAL,CAAyB,CAAzB,EAA4BhyC,WAA9C;AACD;AAEF,WAdD;AAeD;;;kCAESrd,K,EAAsB;AAE9B,cAAIyc,CAAC,GAAIzc,KAAK,CAAC+c,QAAN,IAAkB,CAAlB,IAAuB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAzC,IAA+C/c,KAAK,CAAC+c,QAAN,IAAkB,CAAlE,GAAuE,IAAvE,GAA8E/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlB,IAAwB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAhI;AACA,iBAAON,CAAP;AACD;;;uCAEc/vB,C,EAAG;AAChB,cAAIuhC,OAAO,GAAGvhC,CAAC,CAACuhC,OAAF,IAAa,CAAb,GAAiBvhC,CAAC,CAACqwB,QAAnB,GAA8BrwB,CAAC,CAACuhC,OAA9C;AACA,cAAIqhC,GAAG,GAAKrhC,OAAO,IAAI,EAAX,IAAiBA,OAAO,IAAI,EAA7B,IAAqCA,OAAO,IAAI,EAAX,IAAiBA,OAAO,IAAI,EAAjE,IAAyEA,OAAO,IAAI,EAAX,IAAiBA,OAAO,IAAI,GAArG,IAA8GA,OAAO,IAAI,EAApI,CAFgB,CAGhB;;AACA,iBAAOqhC,GAAP;AAED;;;sCAEat2C,M,EAAQ;AAAA;;AACpB,cAAK,KAAKqzC,cAAL,CAAoB3L,QAApB,IAAgC,KAAKl4B,YAAL,CAAkBxL,QAAlB,CAA2BumC,SAA5D,IAA0E,KAAK/3B,YAAL,IAAqB,CAA/F,IAAoGxS,MAAM,IAAI,GAAlH,EAAuH;AACrH,iBAAKwP,YAAL,CAAkB+mC,oBAAlB,CAAuC,KAAKn5D,kBAAL,CAAwB,KAAKi2D,cAAL,CAAoBxlD,MAA5C,CAAvC,EAA4F3T,SAA5F,CAAsG,UAAA86D,IAAI,EAAI;AAC5G,sBAAI,CAAC7B,QAAL,GAAgB6B,IAAhB;AACD,aAFD;AAGD;AACF;;;yCAEgB;AACf,cAAIhuB,IAAI,GAAsBz+B,QAAQ,CAACglB,cAAT,CAAwB,WAAxB,CAA9B;AACA,cAAI0Z,OAAO,GAAsB1+B,QAAQ,CAACglB,cAAT,CAAwB,SAAxB,CAAjC;AACA,cAAI2Z,IAAI,GAAG,EAAX;;AACA,eAAK,IAAIpnB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGknB,IAAI,CAAChuC,KAAL,CAAWnB,MAA/B,EAAuCioB,CAAC,EAAxC,EAA4C;AAC1ConB,gBAAI,IAAI,GAAR;AACD;;AACD,cAAIC,MAAM,GAAIH,IAAI,CAAChuC,KAAN,CAAa4wB,KAAb,CAAmB,GAAnB,EAAwB7vB,IAAxB,CAA6B,EAA7B,CAAb,CAPe,CAO+B;;AAC9C,cAAIotC,MAAM,CAACtvC,MAAP,IAAiB,CAAjB,IAAuBmvC,IAAI,CAAChuC,KAAL,CAAWouC,WAAX,CAAuB,GAAvB,KAA+B,CAAC,CAAhC,IAAqCD,MAAM,CAACtvC,MAAP,IAAiB,CAAjF,EACEovC,OAAO,CAACjuC,KAAR,IAAiBmuC,MAAjB,CADF,KAEK,IAAIA,MAAM,CAACtvC,MAAP,IAAiB,CAArB,EACHovC,OAAO,CAACjuC,KAAR,GAAgBiuC,OAAO,CAACjuC,KAAR,CAAcquC,SAAd,CAAwB,CAAxB,EAA2BL,IAAI,CAAChuC,KAAL,CAAWnB,MAAtC,CAAhB,CADG,KAGHovC,OAAO,CAACjuC,KAAR,GAAgBmuC,MAAhB;AAEFH,cAAI,CAAChuC,KAAL,GAAakuC,IAAb;AACD;;;gDAEuB;AACtB,cAAIF,IAAI,GAAsBz+B,QAAQ,CAACglB,cAAT,CAAwB,kBAAxB,CAA9B;AACA,cAAI0Z,OAAO,GAAsB1+B,QAAQ,CAACglB,cAAT,CAAwB,aAAxB,CAAjC;AACA,cAAI2Z,IAAI,GAAG,EAAX;;AACA,eAAK,IAAIpnB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGknB,IAAI,CAAChuC,KAAL,CAAWnB,MAA/B,EAAuCioB,CAAC,EAAxC,EAA4C;AAC1ConB,gBAAI,IAAI,GAAR;AACD;;AACD,cAAIC,MAAM,GAAIH,IAAI,CAAChuC,KAAN,CAAa4wB,KAAb,CAAmB,GAAnB,EAAwB7vB,IAAxB,CAA6B,EAA7B,CAAb,CAPsB,CAOwB;;AAC9C,cAAIotC,MAAM,CAACtvC,MAAP,IAAiB,CAAjB,IAAuBmvC,IAAI,CAAChuC,KAAL,CAAWouC,WAAX,CAAuB,GAAvB,KAA+B,CAAC,CAAhC,IAAqCD,MAAM,CAACtvC,MAAP,IAAiB,CAAjF,EACEovC,OAAO,CAACjuC,KAAR,IAAiBmuC,MAAjB,CADF,KAEK,IAAIA,MAAM,CAACtvC,MAAP,IAAiB,CAArB,EACHovC,OAAO,CAACjuC,KAAR,GAAgBiuC,OAAO,CAACjuC,KAAR,CAAcquC,SAAd,CAAwB,CAAxB,EAA2BL,IAAI,CAAChuC,KAAL,CAAWnB,MAAtC,CAAhB,CADG,KAGHovC,OAAO,CAACjuC,KAAR,GAAgBmuC,MAAhB;AAEFH,cAAI,CAAChuC,KAAL,GAAakuC,IAAb;AACD;;;4BA9ec;AAAE,iBAAO,KAAK1X,YAAL,CAAkBxL,QAAlB,CAA2B0P,QAAlC;AAA4C;;;;;;;uBA73BlDq/B,mB,EAAmB,wI,EAAA,wI,EAAA,uH,EAAA,+H,EAAA,kK,EAAA,gJ,EAAA,8H,EAAA,qJ;AAAA,K;;;YAAnBA,mB;AAAmB,sC;AAAA,gB;AAAA,e;AAAA,2vQ;AAAA;AAAA;;;AChChC;;AAEE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAoD;AAAA,mBAAiB,IAAA3xB,UAAA,EAAjB;AAA6B,WAA7B,EAA8B,OAA9B,EAA8B;AAAA,mBAAU,IAAAA,UAAA,EAAV;AAAsB,WAApD;;AAKnC;;AAEnB;;AACA;;AACE;;AACE;;AACF;;AACF;;AACA;;AACF;;AACF;;AAEA;;AACE;AAAA;;AAAA;;AAAA,qCAA+B,IAAAtK,QAAA,KAA/B;AAA6C,WAA7C;;AACA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACF;;AAGA;;AACE;;AACE;;AAEE;;AAAiB;AAAA,mBAAS,IAAAjR,OAAA,EAAT;AAAkB,WAAlB;;AAAuC;;AAAO;;AAC/D;;AAAQ;;AAAQ;;AAAU;;AAC5B;;AAEA;;AAEE;;AAAiB;AAAA,mBAAS,IAAAC,SAAA,EAAT;AAAoB,WAApB;;AAAyC;;AAAO;;AACjE;;AAAQ;;AAAM;;AAAU;;AAC1B;;AACF;;AAIF;;AAEA;;AAEE;;AAEA;;AAqBA;;AACE;;AAA0C;;AAAU;;AAA2B;;AAAC;;AAAO;;AAEvF;;AACA;AAAA;AAAA,aAAsC,UAAtC,EAAsC;AAAA,mBACkD,IAAAiR,gBAAA,QADlD;AAC0E,WADhH;;AADA;;AAKE;;AAEqC;;AAAoC;;AAE3E;;AASF;;AAEA;;AACE;;AAA2C;;AAAW;;AACtD;;AACwB;AAAA;AAAA;;AADxB;;AAGE;;AAEsC;;AAAqC;;AAE7E;;AAMF;;AAIA;;AACE;;AAAyC;;AAAS;;AAA2B;;AAAC;;AAAO;;AACrF;;AACA;AAAA;AAAA,aAAqC,MAArC,EAAqC;AAAA,mBAE7B,IAAAy/B,SAAA,EAF6B;AAElB,WAFnB;;AADA;;AAIE;;AAEoC;;AAAmC;;AAEzE;;AASF;;AACA;;AACE;;AAAuC;;AAAM;;AAA2B;;AAAC;;AAAO;;AAChF;;AACE;;AAAqC;;AAAI;;AACzC;;AACE;;AACoB;AAAA;AAAA;;AADpB;;AAOF;;AACA;;AAAkE;;AAAM;;AACxE;;AAAM;;AACuC;AAAA;AAAA;;AADvC;;AAON;;AAEA;;AAMF;;AACA;;AAEkC;;AAAmB;;AACvD;;AACA;;AACA;;AACE;;AACA;;AACE;;AACE;;AAAQ;;AACV;;AAA2B;;AAAC;;AAAO;;AACrC;;AACwF;AAAA,mBAAiBxkB,MAAM,CAACpb,cAAP,EAAjB;AAAwC,WAAxC,EAA0C,eAA1C,EAA0C;AAAA;AAAA,WAA1C,EAA0C,OAA1C,EAA0C;AAAA,mBAKhF,IAAA6/B,cAAA,EALgF;AAKhE,WALsB;;AADxF;;AAsBA;;AAIA;;AAKA;;AAKF;;AAIA;;AACE;;AACE;;AACF;;AACE;;AACE;;AAAgB;;AAClB;;AAA2B;;AAAC;;AAAO;;AAErC;;AACwF;AAAA,mBAAiBzkB,MAAM,CAACpb,cAAP,EAAjB;AAAwC,WAAxC,EAA0C,eAA1C,EAA0C;AAAA;AAAA,WAA1C,EAA0C,OAA1C,EAA0C;AAAA,mBAK3E,IAAA8/B,qBAAA,EAL2E;AAKpD,WALU;;AADxF;;AAsBA;;AAMA;;AAQF;;AAEA;;AACE;;AAA0C;;AAAU;;AAA2B;;AAAC;;AAAO;;AAqBrF;;AACE;;AAEA;AAAA;AAAA,aAAsC,UAAtC,EAAsC;AAAA,mBAC1B,IAAA1wC,SAAA,QAD0B;AACT,WAD7B,EAAsC,eAAtC,EAAsC;AAAA;;AAAA;;AAAA,mBAGrB,IAAAD,iBAAA,YAHqB;AAGa,WAHnD;;AAFA;;AAME;;AACE;;AAA8E;AAAA;;AAAA;;AAAA,mBAAS,qBAAT;AAA4B,WAA5B;;AAE5E;;AACF;;AACF;;AACJ;;AACA;;AAEyC;;AAA2C;;AAUtF;;AAGA;;AAGA;;AAOF;;AAGA;;AACE;;AAAwC;;AAAmB;;AAA2B;;AAAC;;AAAO;;AAC9F;;AACE;AAAA;AAAA;;AADF;;AAIE;;AAEmC;;AAAkC;;AAErE;;AAKJ;;AAIA;;AACE;;AAA6C;;AAAa;;AAA2B;;AAAC;;AAAO;;AAC7F;;AAA2E;AAAA,mBAAY,IAAAuhB,UAAA,QAAZ;AAA8B,WAA9B,EAA+B,eAA/B,EAA+B;AAAA;AAAA,WAA/B;;AAA3E;;AAQE;;AAEwC;;AAAuC;;AAEjF;;AAiBF;;AACA;;AACE;;AAAgD;;AAAY;;AAC5D;;AAA0D;AAAA,mBAAY,IAAAA,UAAA,QAAZ;AAA8B,WAA9B,EAA+B,eAA/B,EAA+B;AAAA;AAAA,WAA/B;;AAA1D;;AAOE;;AAE2C;;AAA0C;;AACvF;;AAWF;;AAGA;;AACE;;AAA0B;;AAAS;;AAA2B;;AAAC;;AAAO;;AACtE;;AACE;AAAA;AAAA,aAAqC,eAArC,EAAqC;AAAA,mBAAkB,IAAAstB,kBAAA,QAAlB;AAA4C,WAAjF;;AAMA;;AAAkB;;AAAS;;AAC3B;;AAAkB;;AAAc;;AAChC;;AAAkB;;AAAW;;AAC/B;;AACA;;AAEoC;;AAAuC;;AAC3E;;AAMF;;AAEA;;AACE;;AAA0B;;AAAgB;;AAA2B;;AAAC;;AAAO;;AAC7E;;AACE;AAAA;AAAA;;AAOA;;AAAuF;;AACvF;;AACA;;AAEF;;AAGA;;AAEuC;;AAAuC;;AAC9E;;AAMF;;AAEA;;AACE;;AAA0B;;AAAa;;AAA2B;;AAAC;;AAAO;;AAC1E;;AACE;AAAA;AAAA;;AAKA;;AAAyF;;AACzF;;AACA;;AAEF;;AACA;;AAEsC;;AAAqC;;AAC3E;;AAQF;;AAsEJ;;AACE;;AACE;;AACE;;AAAqC;;AAAW;;AAA2B;;AAAC;;AAAO;;AACnF;;AACE;AAAA;AAAA;;AAOA;;AAGF;;AACA;;AAEkC;;AAAoC;;AACtE;;AAMF;;AAEA;;AACE;;AAAiD;;AAAiB;;AAA0B;;AAAC;;AAAO;;AAClG;;AAA0D;AAAA,mBAAY,IAAAttB,UAAA,QAAZ;AAA8B,WAA9B,EAA+B,eAA/B,EAA+B;AAAA;AAAA,WAA/B;;AAA1D;;AAQF;;AAE8C;;AAA2C;;AACzF;;AAUF;;AAEA;;AACE;;AAAqD;AAAA;AAAA;;AAArD;;AAGA;;AAAyC;;AAAM;;AAA2B;;AAAC;;AAAO;;AAClF;;AACE;AAAA;AAAA,aAAqC,QAArC,EAAqC;AAAA;;AAAA;;AAAA,mBAA4D,IAAAqvB,aAAA,YAA5D;AAAyF,WAA9H;;AAMA;;AAA2B;;AAAS;;AACpC;;AAAkB;;AAAQ;;AAC1B;;AAAkB;;AAAQ;;AAC5B;;AACA;;AAAkF;;AAAqB;;AACvG;;AAWF;;AAmBF;;AAEA;;AACE;;AAKE;;AAIF;;AACF;;AAEA;;AACE;;AAAyB;;AAAqD;;AAChF;;AACA;;AACE;;AAAyB;;AAAkD;;AAC7E;;AACF;;AACF;;AACF;;AACF;;AACF;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAxpBgB;;AAAA;;AAOa;;AAAA;;AAaV;;AAAA;;AAGuB;;AAAA;;AAGvB;;AAAA;;AAGqB;;AAAA;;AAoCP;;AAAA,kHAAsC,SAAtC,EAAsC,4BAAtC,EAAsC,SAAtC,EAAsC,mIAAtC;;AAMjB;;AAAA;;AACqC;;AAAA;;AAElC;;AAAA;;AAac;;AAAA,kHAAsC,SAAtC,EAAsC,6BAAtC,EAAsC,SAAtC,EAAsC,qGAAtC;;AAIjB;;AAAA;;AACsC;;AAAA;;AAEnC;;AAAA;;AAYc;;AAAA,kHAAsC,SAAtC,EAAsC,2BAAtC,EAAsC,SAAtC,EAAsC,mIAAtC;;AAKjB;;AAAA;;AACoC;;AAAA;;AAEjC;;AAAA;;AAemB;;AAAA,kHAAsC,SAAtC,EAAsC,yBAAtC,EAAsC,SAAtC,EAAsC,mIAAtC;;AASI;;AAAA,kHAAsC,SAAtC,EAAsC,yBAAtC,EAAsC,SAAtC,EAAsC,mIAAtC;;AASI;;AAAA;;AAQhC;;AAAA;;AACkC;;AAAA;;AAM1B;;AAAA;;AAGW;;AAAA,kHAAsC,SAAtC,EAAsC,mIAAtC,EAAsC,SAAtC,EAAsC,2BAAtC;;AA0BW;;AAAA;;AAKA;;AAAA;;AAatB;;AAAA;;AAIW;;AAAA,kHAAsC,SAAtC,EAAsC,sIAAtC,EAAsC,SAAtC,EAAsC,gCAAtC;;AA4BW;;AAAA;;AAkC1B;;AAAA,kHAAsC,SAAtC,EAAsC,4BAAtC,EAAsC,SAAtC,EAAsC,eAAtC,EAAsC,SAAtC,EAAsC,sIAAtC;;AAOI;;AAAA;;AAMF;;AAAA;;AACqC;;AAAA;;AAUb;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAYV;;AAAA,kHAAsC,SAAtC,EAAsC,0BAAtC,EAAsC,SAAtC,EAAsC,sIAAtC;;AAKlB;;AAAA;;AACmC;;AAAA;;AAEL;;AAAA;;AAWb;;AAAA,kHAAsC,SAAtC,EAAsC,+BAAtC,EAAsC,SAAtC,EAAsC,sIAAtC;;AASjB;;AAAA;;AACwC;;AAAA;;AAErC;;AAAA;;AAoBc;;AAAA,kHAAsC,SAAtC,EAAsC,kCAAtC,EAAsC,SAAtC,EAAsC,sIAAtC;;AAQjB;;AAAA;;AAC2C;;AAAA;;AACxC;;AAAA;;AAgBmB;;AAAA,kHAAsC,SAAtC,EAAsC,2BAAtC,EAAsC,SAAtC,EAAsC,sIAAtC;;AAYxB;;AAAA;;AACoC;;AAAA;;AACN;;AAAA;;AAQV;;AAAA;;AAEZ;;AAAA,kHAAsC,SAAtC,EAAsC,+BAAtC,EAAsC,SAAtC,EAAsC,gKAAtC;;AAQ4B;;AAAA;;AAA1B;;AAEA;;AAAA;;AAMV;;AAAA;;AACuC;;AAAA;;AACT;;AAAA;;AAQV;;AAAA;;AAEM;;AAAA,kHAAsC,SAAtC,EAAsC,6BAAtC,EAAsC,SAAtC,EAAsC,sIAAtC;;AAMU;;AAAA;;AAA1B;;AAEA;;AAAA;;AAIV;;AAAA;;AACsC;;AAAA;;AACR;;AAAA;;AAkFb;;AAAA,kHAAsC,SAAtC,EAAsC,yBAAtC,EAAsC,SAAtC,EAAsC,sIAAtC;;AAQP;;AAAA;;AAKV;;AAAA;;AACkC;;AAAA;;AACJ;;AAAA;;AAUT;;AAAA,kHAAsC,SAAtC,EAAsC,mCAAtC,EAAsC,SAAtC,EAAsC,sIAAtC;;AASnB;;AAAA;;AAC4C;;AAAA;;AACzC;;AAAA;;AAY4B;;AAAA;;AACoB;;AAAA;;AAIkB;;AAAA;;AAA/C,kGAA0B,SAA1B,EAA0B,2BAA1B,EAA0B,SAA1B,EAA0B,sIAA1B;;AAWjB;;AAAA;;AACF;;AAAA;;AAsCwD;;AAAA;;AAAtD;;AAOM;;AAAA;;AACU;;AAAA;;AAEV;;AAAA;;AACU;;AAAA;;AAQmC;;AAAA;;;;;;;;;sED1oB3D5D,mB,EAAmB;cAN/B,uDAM+B;eANrB;AACTpoD,kBAAQ,EAAE,iBADD;AAET4D,qBAAW,EAAE,8BAFJ;AAGT3D,mBAAS,EAAE,CAAC,6BAAD;AAHF,S;AAMqB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEhChC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWagsD,yB;AAIX;AACA;AACA;AACA;AAEA,yCAAoB9pB,cAApB,EAAyDlmC,MAAzD,EAAgF0rC,KAAhF,EAAuG;AAAA;;AAAnF,aAAAxF,cAAA,GAAAA,cAAA;AAAqC,aAAAlmC,MAAA,GAAAA,MAAA;AAAuB,aAAA0rC,KAAA,GAAAA,KAAA;AAA0B;;;;mCAElG;AAAA;;AACN,cAAGj4C,YAAY,CAACM,OAAb,CAAqB,aAArB,KAAqC,IAAxC,EAA6C;AAC3C,iBAAKiM,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,EAAD,CAArB;AACA;AACD;;AACD,eAAKyjC,UAAL,GAAkB,IAAI,wDAAJ,CAAc;AAC9BvD,yBAAa,EAAC,IAAI,0DAAJ,EADgB;AAE9B/Z,oBAAQ,EAAC,IAAI,0DAAJ,EAFqB;AAG9BX,sBAAU,EAAC,IAAI,0DAAJ,EAHmB;AAI9BL,sBAAU,EAAC,IAAI,0DAAJ,EAJmB;AAK9Bub,mBAAO,EAAC,IAAI,0DAAJ,EALsB;AAM9Bta,oBAAQ,EAAC,IAAI,0DAAJ,EANqB;AAO9Bua,oBAAQ,EAAC,IAAI,0DAAJ,EAPqB;AAQ9BC,oBAAQ,EAAC,IAAI,0DAAJ,EARqB;AAS9BC,oBAAQ,EAAC,IAAI,0DAAJ,EATqB;AAU9BgL,uBAAW,EAAC,IAAI,0DAAJ,EAVkB;AAW9BS,qBAAS,EAAC,IAAI,0DAAJ,EAXoB;AAY9BC,oBAAQ,EAAC,IAAI,0DAAJ,EAZqB;AAa9B/4B,qBAAS,EAAC,IAAI,0DAAJ,EAboB;AAc9BC,uBAAW,EAAC,IAAI,0DAAJ,EAdkB;AAe9B2C,qBAAS,EAAC,IAAI,0DAAJ,EAfoB;AAgB9BC,uBAAW,EAAC,IAAI,0DAAJ;AAhBkB,WAAd,CAAlB;AAmBA,eAAKiuB,KAAL,CAAW1sB,WAAX,CAAuB1rB,SAAvB,CAAiC,UAAA82B,MAAM,EAAI;AACzC,oBAAI,CAACgmB,SAAL,GAAiBhmB,MAAM,CAAC,IAAD,CAAvB;AACA,WAFF;AAIC,eAAKimB,kBAAL;AACF;;;6CAEiB;AAAA;;AAChB,eAAKnK,cAAL,CAAoBoK,sBAApB,CAA2C,KAAKF,SAAhD,EAA2D98C,SAA3D,CAAqE,UAAAO,IAAI,EAAE;AACxE,oBAAI,CAACg3C,UAAL,CAAgB0F,QAAhB,CAAyB;AACxBjJ,2BAAa,EAACzzC,IAAI,CAACyzC,aADK;AAExB/Z,sBAAQ,EAAC15B,IAAI,CAAC05B,QAFU;AAGxBX,wBAAU,EAAC/4B,IAAI,CAAC+4B,UAHQ;AAIxBL,wBAAU,EAAC14B,IAAI,CAAC04B,UAJQ;AAKxBub,qBAAO,EAACj0C,IAAI,CAACi0C,OALW;AAMxBta,sBAAQ,EAAC35B,IAAI,CAAC25B,QANU;AAOxBua,sBAAQ,EAACl0C,IAAI,CAACk0C,QAPU;AAQxBC,sBAAQ,EAACn0C,IAAI,CAACm0C,QARU;AASxBC,sBAAQ,EAACp0C,IAAI,CAACo0C,QATU;AAUxBgL,yBAAW,EAACp/C,IAAI,CAACq0C,OAVO;AAWxBwL,uBAAS,EAAC7/C,IAAI,CAACs0C,KAXS;AAYxBwL,sBAAQ,EAAC9/C,IAAI,CAACu0C;AAZU,aAAzB;AAkBF,WAnBD;AAoBD;;;;;;;uBA/DU4nB,yB,EAAyB,4I,EAAA,uH,EAAA,+H;AAAA,K;;;YAAzBA,yB;AAAyB,6C;AAAA,gB;AAAA,a;AAAA,uyF;AAAA;AAAA;ACXtC;;AACI;;AACI;;AACI;;AACI;;AACI;;AAA+B;;AAAkB;;AAGjD;;AACE;;AACI;;AAA8C;;AAAkB;;AAChE;;AACM;;AAAoC;;AAAG;;AACvC;;AACI;;AACJ;;AAEA;;AAA6D;;AAAE;;AAC/D;;AACI;;AACJ;;AACN;;AACJ;;AACF;;AAEA;;AAEE;;AACE;;AAAyC;;AAAS;;AAClD;;AACF;;AAEA;;AACE;;AAA2C;;AAAW;;AACtD;;AACF;;AAEA;;AACE;;AAA2C;;AAAW;;AACtD;;AACF;;AAEA;;AACE;;AAAwC;;AAAQ;;AAChD;;AACF;;AACF;;AAEA;;AACI;;AACE;;AAAyC;;AAAS;;AAClD;;AACF;;AACA;;AACE;;AAAyC;;AAAS;;AAClD;;AACF;;AACJ;;AACA;;AACA;;AAA+B;;AAAe;;AAC9C;;AACI;;AACI;;AAAyC;;AAAc;;AACvD;;AACJ;;AACA;;AACI;;AAAyC;;AAAc;;AACvD;;AACJ;;AACJ;;AACA;;AACI;;AACI;;AAA2C;;AAAO;;AAAQ;;AAC1D;;AACF;;AACA;;AACE;;AAAyC;;AAAK;;AAAQ;;AACtD;;AACF;;AACA;;AACE;;AAAwC;;AAAI;;AAAQ;;AACpD;;AACF;;AACN;;AACA;;AACA;;AACE;;AAEE;;AACF;;AACF;;AAEA;;AACE;;AACE;;AAAyC;;AAAwB;;AACjE;;AAAsD;;AAAuC;;AAC/F;;AAEA;;AACE;;AAAyC;;AAA0B;;AACnE;;AAAwD;;AAAyC;;AACnG;;AACF;;AAEA;;AACE;;AACE;;AAAyC;;AAAwB;;AACjE;;AAAsD;;AAAuC;;AAC/F;;AAEA;;AACE;;AAAyC;;AAA0B;;AACnE;;AAAwD;;AAAyC;;AACnG;;AACF;;AAEF;;AACN;;AACJ;;AACJ;;AACF;;;;AApHoB;;AAAA;;AAU8K;;AAAA;;AAKO;;AAAA;;AA4E7H;;AAAA;;AAKE;;AAAA;;AAOF;;AAAA;;AAKE;;AAAA;;;;;;;;;sEDrGnEA,yB,EAAyB;cALrC,uDAKqC;eAL3B;AACTjsD,kBAAQ,EAAE,wBADD;AAET4D,qBAAW,EAAE,qCAFJ;AAGT3D,mBAAS,EAAE,CAAC,oCAAD;AAHF,S;AAK2B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AEXtC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAaisD,iB;;;;QAmCAC,e;;;;QAUAC,gB;;;;QAKAC,gB;;;;QAMA/5C,iB;;;;;;;;;;;;;;;;;;;ACxDb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAaag6C,c;AAST,8BAAoB1+D,IAApB,EAA6CC,MAA7C,EAAyEi/B,WAAzE,EAA6G;AAAA;;AAAzF,aAAAl/B,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA4B,aAAAi/B,WAAA,GAAAA,WAAA;AAPlE,aAAA5+B,OAAA,GAAU,2DAAUC,MAAV,GAAmB,mBAA7B;AAOyG;;;;+CAK3F66C,Q,EAAQ;AAC5B,eAAKn7C,MAAL,CAAYuC,YAAZ;;AACC,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAwB,KAAK3sC,OAAL,GAAe,mBAAvC,EAA4D86C,QAA5D,EAAsE34C,WAAtE,CAAP;AACF;;;yCACiBk8D,Q,EAAiBC,a,EAAoB;AAClD,eAAKC,eAAL,GAAqB,KAAK3/B,WAAL,CAAiBr6B,kBAAjB,CAAoC85D,QAAQ,CAACr1C,QAAT,EAApC,CAArB;AACA,eAAKw1C,oBAAL,GAA0B,KAAK5/B,WAAL,CAAiBr6B,kBAAjB,CAAoC+5D,aAAa,CAACt1C,QAAd,EAApC,CAA1B;;AAEA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAyB,KAAKtC,OAAL,GAAe,4BAAf,GAA+C,KAAKu+D,eAApD,GAAsE,iBAAtE,GAA0F,KAAKC,oBAAxH,EAA8Ir8D,WAA9I,CAAP;AACL;;;wCACiBhH,E,EAAI;AAChB,eAAKsjE,aAAL,GAAmB,KAAK7/B,WAAL,CAAiBr6B,kBAAjB,CAAoCpJ,EAAE,CAAC6tB,QAAH,EAApC,CAAnB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAe,6BAAf,GAAgD,KAAKy+D,aAAnE,EAAkFt8D,WAAlF,CAAP;AACL;;;2DACoCu8D,M,EAAc;AAC7C,eAAKD,aAAL,GAAmB,KAAK7/B,WAAL,CAAiBr6B,kBAAjB,CAAoCm6D,MAAM,CAAC11C,QAAP,EAApC,CAAnB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAuC,KAAKtC,OAAL,GAAe,8CAAf,GAAgE,KAAKy+D,aAA5G,EAA2Ht8D,WAA3H,CAAP;AACL;;;6CAEsBw8D,M,EAAgBC,S,EAAmBC,Q,EAAkB;AACtE,eAAKJ,aAAL,GAAmB,KAAK7/B,WAAL,CAAiBr6B,kBAAjB,CAAoCo6D,MAAM,CAAC31C,QAAP,EAApC,CAAnB;AACA,eAAK81C,gBAAL,GAAsB,KAAKlgC,WAAL,CAAiBr6B,kBAAjB,CAAoCq6D,SAAS,CAAC51C,QAAV,EAApC,CAAtB;AACA,eAAKu1C,eAAL,GAAqB,KAAK3/B,WAAL,CAAiBr6B,kBAAjB,CAAoCs6D,QAAQ,CAAC71C,QAAT,EAApC,CAArB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA;AACA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAe,6BAAf,GAA+C,KAAKy+D,aAApD,GAAoE,aAApE,GAAqF,KAAKK,gBAA1F,GAA6G,YAA7G,GAA4H,KAAKP,eAA/I,EAAgKp8D,WAAhK,CAAP;AACL;;;+CAEwB48D,M,EAAc;AACjC,eAAKN,aAAL,GAAmB,KAAK7/B,WAAL,CAAiBr6B,kBAAjB,CAAoCw6D,MAAM,CAAC/1C,QAAP,EAApC,CAAnB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA;AACA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAyB,KAAKtC,OAAL,GAAe,kCAAf,GAAqD,KAAKy+D,aAAnF,EAAkGt8D,WAAlG,CAAP;AACL;;;6CACsBgpB,Q,EAAiB;AAClC,eAAKxrB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAOA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAoC,KAAK3sC,OAAL,GAAe,0BAAnD,EAA+EmrB,QAA/E,EAAyFhpB,WAAzF,CAAP;AACL;;;iDAEwBgpB,Q,EAAmB;AAC1C,eAAKxrB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAOA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAsC,KAAK3sC,OAAL,GAAe,8BAArD,EAAqFmrB,QAArF,EAA+FhpB,WAA/F,CAAP;AACH;;;yCAGgBk8D,Q,EAAkBW,c,EAAqB;AACpD,eAAKT,eAAL,GAAqB,KAAK3/B,WAAL,CAAiBr6B,kBAAjB,CAAoC85D,QAAQ,CAACr1C,QAAT,EAApC,CAArB;AACA,eAAKi2C,qBAAL,GAA4B,KAAKrgC,WAAL,CAAiBr6B,kBAAjB,CAAoCy6D,cAAc,CAACh2C,QAAf,EAApC,CAA5B;;AAEA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA6B,KAAKtC,OAAL,GAAe,8BAAf,GAAiD,KAAKu+D,eAAtD,GAAwE,kBAAxE,GAA6F,KAAKU,qBAA/H,EAAsJ98D,WAAtJ,CAAP;AACH;;;2CACqBk8D,Q,EAAiBM,M,EAAgBO,Q,EAAe;AAClE,eAAKv/D,MAAL,CAAYuC,YAAZ;;AACA;AACAm8D,kBAAQ,GAAC,KAAKz/B,WAAL,CAAiBr6B,kBAAjB,CAAoC85D,QAApC,CAAT;AACAM,gBAAM,GAAC,KAAK//B,WAAL,CAAiBr6B,kBAAjB,CAAoCo6D,MAApC,CAAP;AACAO,kBAAQ,GAAC,KAAKtgC,WAAL,CAAiBr6B,kBAAjB,CAAoC26D,QAApC,CAAT;AACA,cAAM/8D,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAuB,KAAKtC,OAAL,GAAe,+BAAf,GAA+Cq+D,QAA/C,GAAwD,UAAxD,GAAmEM,MAAnE,GAA0E,YAA1E,GAAuFO,QAA9G,EAAwH/8D,WAAxH,CAAP;AACH;;;;;;;uBA1IYi8D,c,EAAc,uH,EAAA,wI,EAAA,qI;AAAA,K;;;aAAdA,c;AAAc,eAAdA,cAAc,K;AAAA,kBAFb;;;;;sEAEDA,c,EAAc;cAH1B,wDAG0B;eAHf;AACVv3D,oBAAU,EAAE;AADF,S;AAGe,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACb3B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWas4D,c;AAkBT,8BAAoBz/D,IAApB,EAA6CC,MAA7C,EAA0Ei/B,WAA1E,EAA8G;AAAA;;AAA1F,aAAAl/B,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA6B,aAAAi/B,WAAA,GAAAA,WAAA;AAbnE,aAAA5+B,OAAA,GAAU,kEAAUC,MAAV,GAAmB,mBAA7B;AAa0G;;;;mDAGxFkrB,Q,EAAiB;AAC1C,eAAKxrB,MAAL,CAAYuC,YAAZ;;AAEE,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAwB,KAAK3sC,OAAL,GAAe,gBAAvC,EAAyDmrB,QAAzD,EAAmEhpB,WAAnE,CAAP;AACF;;;+CACuB6/C,S,EAAW;AAC9B,eAAKod,gBAAL,GAAsB,KAAKxgC,WAAL,CAAiBr6B,kBAAjB,CAAoCy9C,SAAS,CAACh5B,QAAV,EAApC,CAAtB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AAEA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAe,KAAK3sC,OAAL,GAAe,6BAAf,GAA+C,KAAKo/D,gBAApD,GAAuE,UAAvE,GAAoF59D,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAnG,EAAwIkgD,SAAxI,EAAmJ7/C,WAAnJ,CAAP;AACJ;;;2CAK+E;AAAA,cAH9Dq9C,eAG8D,uEAHrC,GAGqC;AAAA,cAHhC6f,MAGgC,uEAHlB,EAGkB;AAAA,cAHZC,QAGY,uEAHI,EAGJ;AAAA,cAF/DhkC,QAE+D,uEAF/C,EAE+C;AAAA,cAF3CkpB,WAE2C,uEAFxB,EAEwB;AAAA,cAFpB7E,WAEoB,uEAFD,EAEC;AAAA,cAD/Dh3B,SAC+D,uEAD9C,EAC8C;AAAA,cADzCC,WACyC,uEADrB,EACqB;AAAA,cADlB67B,WACkB,uEADE,EACF;AAAA,cAA/DtpB,WAA+D,uEAA5C,EAA4C;AAAA,cAAxChN,MAAwC,0EAA1B,EAA0B;AAAA,cAAnBqS,SAAmB,0EAAF,EAAE;AAChEgf,yBAAe,GAAG,KAAK5gB,WAAL,CAAiBr6B,kBAAjB,CAAoCi7C,eAApC,CAAlB;AACA6f,gBAAM,GAAG,KAAKzgC,WAAL,CAAiBr6B,kBAAjB,CAAoC86D,MAApC,CAAT;AACAC,kBAAQ,GAAG,KAAK1gC,WAAL,CAAiBr6B,kBAAjB,CAAoC+6D,QAApC,CAAX;AACAhkC,kBAAQ,GAAG,KAAKsD,WAAL,CAAiBr6B,kBAAjB,CAAoC+2B,QAApC,CAAX;AACAkpB,qBAAW,GAAG,KAAK5lB,WAAL,CAAiBr6B,kBAAjB,CAAoCigD,WAApC,CAAd;AACA7E,qBAAW,GAAG,KAAK/gB,WAAL,CAAiBr6B,kBAAjB,CAAoCo7C,WAApC,CAAd;AACAh3B,mBAAS,GAAG,KAAKiW,WAAL,CAAiBr6B,kBAAjB,CAAoCokB,SAApC,CAAZ;AACAwS,qBAAW,GAAG,KAAKyD,WAAL,CAAiBr6B,kBAAjB,CAAoC42B,WAApC,CAAd;AACAhN,gBAAM,GAAG,KAAKyQ,WAAL,CAAiBr6B,kBAAjB,CAAoC4pB,MAApC,CAAT;AACAqS,mBAAS,GAAG,KAAK5B,WAAL,CAAiBr6B,kBAAjB,CAAoCi8B,SAApC,CAAZ;;AACX,eAAK7gC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAyB,KAAKtC,OAAL,GAAe,6BAAf,GAA6Cw/C,eAA7C,GAC/B,UAD+B,GACpB6f,MADoB,GACZ,YADY,GACEC,QADF,GACW,YADX,GACwBhkC,QADxB,GACiC,eADjC,GACiDkpB,WADjD,GAE/B,eAF+B,GAEf7E,WAFe,GAEF,aAFE,GAEYh3B,SAFZ,GAEsB,eAFtB,GAEsCC,WAFtC,GAG/B,eAH+B,GAGf67B,WAHe,GAI/B,eAJ+B,GAIftpB,WAJe,GAIH,UAJG,GAIQhN,MAJR,GAIe,aAJf,GAI6BqS,SAJtD,EAIiEr+B,WAJjE,CAAP;AAKH;;;oDAEiD;AAAA,cAAvBk/C,SAAuB,uEAAH,GAAG;;AAC9C,eAAK1hD,MAAL,CAAYuC,YAAZ;;AACAm/C,mBAAS,GAAG,KAAKziB,WAAL,CAAiBr6B,kBAAjB,CAAoC88C,SAApC,CAAZ;AACA,cAAMl/C,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAyB,KAAKtC,OAAL,GAAe,mCAAf,GAAmDqhD,SAA5E,EAAuFl/C,WAAvF,CAAP;AACH,S,CAEH;AACA;AACA;AACA;;;;iEACiE;AAAA,cAAxB6/C,SAAwB,uEAAL,GAAK;AAC3D,eAAKod,gBAAL,GAAsB,KAAKxgC,WAAL,CAAiBr6B,kBAAjB,CAAoCy9C,SAAS,CAACh5B,QAAV,EAApC,CAAtB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAuC,KAAKtC,OAAL,GAAe,iDAAf,GAAoE,KAAKo/D,gBAAhH,EAAkIj9D,WAAlI,CAAP;AACH;;;wCACehH,E,EAAUokE,O,EAAe5pB,Y,EAAmB;AACxD,eAAKypB,gBAAL,GAAsB,KAAKxgC,WAAL,CAAiBr6B,kBAAjB,CAAoCpJ,EAAE,CAAC6tB,QAAH,EAApC,CAAtB;AACA,eAAKw2C,mBAAL,GAAyB,KAAK5gC,WAAL,CAAiBr6B,kBAAjB,CAAoCoxC,YAAY,CAAC3sB,QAAb,EAApC,CAAzB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,gCAAf,GAAkD,KAAKo/D,gBAAvD,GAA0E,kBAA1E,GAA6FG,OAA7F,GAAuG,gBAAvG,GAAyH,KAAKC,mBAApJ,EAAyKr9D,WAAzK,CAAP;AACH;;;2CACkBhH,E,EAAI;AACpB,eAAKwE,MAAL,CAAYuC,YAAZ;;AACC,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU+/D,GAAV,CAAc,KAAKz/D,OAAL,GAAe,6BAAf,GAA+C7E,EAA7D,EAAiEA,EAAjE,EAAqEgH,WAArE,CAAP;AACH;;;uCAEYu9D,a,EAAcC,a,EAAqBC,M,EAAa;AAC7DD,uBAAa,GAAC,KAAK/gC,WAAL,CAAiBr6B,kBAAjB,CAAoCo7D,aAApC,CAAd;;AACA,eAAKhgE,MAAL,CAAYuC,YAAZ;;AACE,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAoB,KAAK3sC,OAAL,GAAe,8BAAf,GAAgD2/D,aAAhD,GAAgE,UAAhE,GAA6EC,MAAjG,EAAyGF,aAAzG,EAAyHv9D,WAAzH,CAAP;AACJ;;;gDAEuBk/C,S,EAAiB;AACtC,eAAK+d,gBAAL,GAAsB,KAAKxgC,WAAL,CAAiBr6B,kBAAjB,CAAoC88C,SAAS,CAACr4B,QAAV,EAApC,CAAtB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAqC,KAAKtC,OAAL,GAAe,4CAAf,GAA8D,KAAKo/D,gBAAxG,EAA0Hj9D,WAA1H,CAAP;AACH;;;0CAEc;AACX,eAAKxC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAyB,KAAKtC,OAAL,GAAe,eAAxC,EAAyDmC,WAAzD,CAAP;AACH;;;qCAEY+2B,Q,EAAQ;AACjB,eAAK2mC,eAAL,GAAqB,KAAKjhC,WAAL,CAAiBr6B,kBAAjB,CAAoC20B,QAAQ,CAAClQ,QAAT,EAApC,CAArB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,4BAAf,GAA8C,KAAK6/D,eAAzE,EAA0F19D,WAA1F,CAAP;AACH;;;wCAEey9D,M,EAAcve,S,EAAiB1L,Y,EAAoBxnB,M,EAAa;AAC5E,eAAKxuB,MAAL,CAAYuC,YAAZ;;AACA,eAAKk9D,gBAAL,GAAsB,KAAKxgC,WAAL,CAAiBr6B,kBAAjB,CAAoC88C,SAAS,CAACr4B,QAAV,EAApC,CAAtB;AACA,eAAKw2C,mBAAL,GAAyB,KAAK5gC,WAAL,CAAiBr6B,kBAAjB,CAAoCoxC,YAAY,CAAC3sB,QAAb,EAApC,CAAzB;AACA,eAAK82C,aAAL,GAAmB,KAAKlhC,WAAL,CAAiBr6B,kBAAjB,CAAoC4pB,MAAM,CAACnF,QAAP,EAApC,CAAnB;AAEA,cAAM7mB,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,8BAAf,GAA8C4/D,MAA9C,GAAqD,aAArD,GAAmE,KAAKR,gBAAxE,GAAyF,gBAAzF,GAA0G,KAAKI,mBAA/G,GAAmI,UAAnI,GAA8I,KAAKM,aAAzK,EAAuL39D,WAAvL,CAAP;AACH;;;gDAEuB49D,W,EAAYH,M,EAAcp8B,e,EAAe;AAC7D,eAAK7jC,MAAL,CAAYuC,YAAZ;;AAEA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAoB,KAAK3sC,OAAL,GAAe,8BAAf,GAA8C4/D,MAA9C,GAAsD,mBAAtD,GAA0Ep8B,eAA9F,EAA8Gu8B,WAA9G,EAA0H59D,WAA1H,CAAP;AACH;;;+CAEsBk/C,S,EAAiBC,K,EAAahmB,Q,EAAgBX,U,EAAkB96B,I,EAAY2xC,Q,EAAgBC,M,EAAa;AAC5H,eAAKuuB,YAAL,GAAkB,KAAKphC,WAAL,CAAiBr6B,kBAAjB,CAAoC88C,SAApC,CAAlB;AACA,eAAK4e,QAAL,GAAc,KAAKrhC,WAAL,CAAiBr6B,kBAAjB,CAAoC+8C,KAApC,CAAd;AACA,eAAK4e,WAAL,GAAiB,KAAKthC,WAAL,CAAiBr6B,kBAAjB,CAAoC+2B,QAApC,CAAjB;AACA,eAAK6kC,WAAL,GAAiB,KAAKvhC,WAAL,CAAiBr6B,kBAAjB,CAAoCo2B,UAApC,CAAjB;AACA,eAAKylC,OAAL,GAAa,KAAKxhC,WAAL,CAAiBr6B,kBAAjB,CAAoC1E,IAApC,CAAb;AACA,eAAKwgE,WAAL,GAAiB,KAAKzhC,WAAL,CAAiBr6B,kBAAjB,CAAoCitC,QAApC,CAAjB;AACA,eAAK8uB,SAAL,GAAe,KAAK1hC,WAAL,CAAiBr6B,kBAAjB,CAAoCktC,MAApC,CAAf;;AAEA,eAAK9xC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,2BAAf,GAA2C,KAAKggE,YAAhD,GAA6D,SAA7D,GAAuE,KAAKC,QAA5E,GAAsF,YAAtF,GAAmG,KAAKC,WAAxG,GAAoH,cAApH,GAAmI,KAAKC,WAAxI,GAAoJ,QAApJ,GAA6J,KAAKC,OAAlK,GAA2K,YAA3K,GAAwL,KAAKC,WAA7L,GAAyM,UAAzM,GAAoN,KAAKC,SAA/O,EAAyPn+D,WAAzP,CAAP;AACH;;;mDAE0By/B,Q,EAAS7G,M,EAAM;AACtC,eAAKp7B,MAAL,CAAYuC,YAAZ;;AAEA0/B,kBAAQ,GAAC,KAAKhD,WAAL,CAAiBr6B,kBAAjB,CAAoCq9B,QAApC,CAAT;AAEA,cAAMz/B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAqB,KAAKtC,OAAL,GAAe,oCAAf,GAAoD+6B,MAApD,GAA4D,YAA5D,GAAyE6G,QAA9F,EAAuGz/B,WAAvG,CAAP;AACH;;;qCAEYgpB,Q,EAAkB;AAC3B,iBAAO,KAAKzrB,IAAL,CAAUitC,IAAV,CAAsB,KAAK3sC,OAAL,GAAe,UAArC,EAAkDmrB,QAAlD,CAAP;AACH;;;;;;;uBAxOYg0C,c,EAAc,uH,EAAA,wI,EAAA,qI;AAAA,K;;;aAAdA,c;AAAc,eAAdA,cAAc,K;AAAA,kBAFb;;;;;sEAEDA,c,EAAc;cAH1B,wDAG0B;eAHf;AACVt4D,oBAAU,EAAE;AADF,S;AAGe,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACX3B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYa05D,Y;AASX,4BAAoB7gE,IAApB,EAA4CC,MAA5C,EAAuEgT,QAAvE,EAAuG;AAAA;;AAAnF,aAAAjT,IAAA,GAAAA,IAAA;AAAwB,aAAAC,MAAA,GAAAA,MAAA;AAA2B,aAAAgT,QAAA,GAAAA,QAAA;AAC9D,aAAA3S,OAAA,GAAU,2DAAUC,MAApB;AADiG;;;;sCAK/F;AACT,eAAKy8D,GAAL,GAAUh7D,IAAI,CAACG,KAAL,CAAWL,YAAY,CAACM,OAAb,CAAqB,WAArB,CAAX,CAAV;AACA,2EAAakT,MAAb,GAAoB,KAAK0nD,GAAL,CAAS,QAAT,CAApB;AACA,2EAAa3zB,KAAb,GAAmB,KAAK2zB,GAAL,CAAS,OAAT,CAAnB;AACA,2EAAa1zB,SAAb,GAAuB,KAAK0zB,GAAL,CAAS,WAAT,CAAvB;AACA,2EAAazzB,QAAb,GAAsB,KAAKyzB,GAAL,CAAS,UAAT,CAAtB;AACAl7D,sBAAY,CAACC,OAAb,CAAqB,aAArB,EAAmC,KAAKi7D,GAAL,CAAS,QAAT,CAAnC;AACAl7D,sBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAsC,KAAKi7D,GAAL,CAAS,WAAT,CAAtC;AACAl7D,sBAAY,CAACC,OAAb,CAAqB,eAArB,EAAqC,KAAKi7D,GAAL,CAAS,UAAT,CAArC;AACC,S,CACH;AACA;AACA;AACA;;;;uCAEer1D,Q,EAAe;AAC5B,eAAK1H,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAClBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACzB,8BAAgB,kBADS;AAEzB,+BAAmB,KAAKzC,MAAL,CAAY0C;AAFN,aAAhB;AADS,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAqB,KAAKtC,OAAL,GAAe,qCAAf,GAAuDqH,QAA5E,EAAqFlF,WAArF,CAAP;AACD;;;yCAEgBhH,E,EAAI;AAAA;;AACnB,eAAKwE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAClBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACzB,8BAAgB,kBADS;AAEzB,+BAAmB,KAAKzC,MAAL,CAAY0C;AAFN,aAAhB;AADS,WAApB;AAMA,eAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAa,0CAAb,GAAwD7E,EAAtE,EAAyEgH,WAAzE,EAAsFd,SAAtF,CACE,UAAAO,IAAI,EAAE;AACJ,oBAAI,CAAC8hC,eAAL,GAAuB9hC,IAAvB;AACE,WAHN;AAIC;;;wDAE+BzG,E,EAAI;AAAA;;AAClC,eAAKwE,MAAL,CAAYuC,YAAZ;;AACF,cAAMC,WAAW,GAAG;AAClBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACzB,8BAAgB,kBADS;AAEzB,+BAAmB,KAAKzC,MAAL,CAAY0C;AAFN,aAAhB;AADS,WAApB;AAME,eAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAa,sDAAb,GAAoE7E,EAAlF,EAAqFgH,WAArF,EAAkGd,SAAlG,CACE,UAAAO,IAAI,EAAE;AACJ,oBAAI,CAAC4+D,0BAAL,GAAkC5+D,IAAlC;AACAJ,wBAAY,CAACC,OAAb,CAAqB,WAArB,EAAiCC,IAAI,CAACC,SAAL,CAAe,QAAI,CAAC6+D,0BAApB,CAAjC;AACD,WAJH;AAKC;;;yCAGYn5D,Q,EAAgBmmC,Y,EAAmB;AAClDnmC,kBAAQ,GAAG,KAAKsL,QAAL,CAAcpO,kBAAd,CAAiC8C,QAAjC,CAAX;AACAmmC,sBAAY,GAAG,KAAK76B,QAAL,CAAcpO,kBAAd,CAAiCipC,YAAjC,CAAf,CAFkD,CAGlD;AACA;AACA;AACA;AACA;AACA;AACA;AACE;;AACA,iBAAO,KAAK9tC,IAAL,CAAUitC,IAAV,CAA+B,KAAK3sC,OAAL,GAAe,gDAAf,GAAkEqH,QAAlE,GAA2E,gBAA3E,GAA4FmmC,YAA3H,EAAwI,IAAxI,CAAP;AACD;;;wCAEenrC,K,EAAao+D,W,EAAkB;AAE7Cp+D,eAAK,GAAG,KAAKsQ,QAAL,CAAcpO,kBAAd,CAAiClC,KAAjC,CAAR;AACAo+D,qBAAW,GAAG,KAAK9tD,QAAL,CAAcpO,kBAAd,CAAiCk8D,WAAjC,CAAd;;AAEA,eAAK9gE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AACpBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACzB,8BAAgB,kBADS,CAEzB;;AAFyB,aAAhB;AADW,WAApB;AAKA,iBAAO,KAAK1C,IAAL,CAAU4C,GAAV,CAA8B,KAAKtC,OAAL,GAAe,oCAAf,GAAsDqC,KAAtD,GAA4D,eAA5D,GAA4Eo+D,WAA1G,EAAsHt+D,WAAtH,CAAP;AACD;;;yCAEgB4pC,Q,EAAgB20B,G,EAAU;AAEzC30B,kBAAQ,GAAG,KAAKp5B,QAAL,CAAcpO,kBAAd,CAAiCwnC,QAAjC,CAAX;AACA20B,aAAG,GAAG,KAAK/tD,QAAL,CAAcpO,kBAAd,CAAiCm8D,GAAjC,CAAN;;AAEF,eAAK/gE,MAAL,CAAYuC,YAAZ;;AAEA,cAAMC,WAAW,GAAG;AAClBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB,8BAAe;AADQ,aAAhB;AADS,WAApB;AAMA,iBAAO,KAAK1C,IAAL,CAAUitC,IAAV,CAAoB,KAAK3sC,OAAL,GAAe,uCAAf,GAAyD+rC,QAAzD,GAAkE,UAAlE,GAA6E20B,GAAjG,EAAqG,IAArG,EAA0Gv+D,WAA1G,CAAP;AACC;;;8CACqBhH,E,EAAI;AACxB,eAAKwE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAClBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACzB,8BAAgB,kBADS;AAEzB,+BAAmB,KAAKzC,MAAL,CAAY0C;AAFN,aAAhB;AADS,WAApB;AAMC,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAa,0CAAb,GAAwD7E,EAAtE,EAAyEgH,WAAzE,CAAP;AAEA;;;;;;;uBA3HMo+D,Y,EAAY,uH,EAAA,wI,EAAA,0J;AAAA,K;;;aAAZA,Y;AAAY,eAAZA,YAAY,K;AAAA,kBAFX;;;;;sEAEDA,Y,EAAY;cAHxB,wDAGwB;eAHb;AACV15D,oBAAU,EAAE;AADF,S;AAGa,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACZzB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAa4lC,K;;;;QA0BAk0B,c;;;;;;;;;;;;;;;;;;;AC1Bb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWaC,wB;AAOT,wCAAoBlhE,IAApB,EAA6CC,MAA7C,EAAyEgE,eAAzE,EAAgH;AAAA;;AAA5F,aAAAjE,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA4B,aAAAgE,eAAA,GAAAA,eAAA;AAFlE,aAAA3D,OAAA,GAAU,kEAAUC,MAAV,GAAmB,mBAA7B;AAE4G;;;;uDAGtFkrB,Q,EAAoB;AAChD,eAAKxrB,MAAL,CAAYuC,YAAZ;;AAEC,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAA2B,KAAK3sC,OAAL,GAAe,yBAA1C,EAAqEmrB,QAArE,EAA+EhpB,WAA/E,CAAP;AACF;;;sDAE6By9D,M,EAAM;AACpC,eAAKjgE,MAAL,CAAYuC,YAAZ;;AACC,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMC,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA0B,KAAKtC,OAAL,GAAe,8BAAf,GAA8C4/D,MAAxE,EAA+Ez9D,WAA/E,CAAP;AACH;;;qDAE4BkvC,U,EAAkB;AAC9C,eAAK1xC,MAAL,CAAYuC,YAAZ;;AACAmvC,oBAAU,GAAG,KAAK1tC,eAAL,CAAqBY,kBAArB,CAAwC8sC,UAAxC,CAAb;AACA,cAAMlvC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA;AACA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA0C,KAAKtC,OAAL,GAAe,oDAAf,GAAsEqxC,UAAhH,EAA4HlvC,WAA5H,CAAP;AACD;;;;;;;uBA5CYy+D,wB,EAAwB,uH,EAAA,wI,EAAA,qI;AAAA,K;;;aAAxBA,wB;AAAwB,eAAxBA,wBAAwB,K;AAAA,kBAFvB;;;;;sEAEDA,wB,EAAwB;cAHpC,wDAGoC;eAHzB;AACV/5D,oBAAU,EAAE;AADF,S;AAGyB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACXrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWag6D,wB;AAST,wCAAoBnhE,IAApB,EAA6CC,MAA7C,EAAyEgT,QAAzE,EAAyG;AAAA;;AAArF,aAAAjT,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA4B,aAAAgT,QAAA,GAAAA,QAAA;AAPlE,aAAA3S,OAAA,GAAU,kEAAUC,MAAV,GAAmB,mBAA7B;AAOqG;;;;6CAEvF+U,M,EAAc;AAC/B,eAAKrV,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAmC,KAAKtC,OAAL,GAAe,iCAAf,GAAmDgV,MAAtF,EAA8F7S,WAA9F,CAAP;AACL;;;+CAGwBinB,Q,EAAQ;AAC3BA,kBAAQ,GAAG,KAAKzW,QAAL,CAAcpO,kBAAd,CAAiC6kB,QAAjC,CAAX;;AAEA,eAAKzpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAgC,KAAKtC,OAAL,GAAe,iCAAf,GAAmDopB,QAAnF,EAA6FjnB,WAA7F,CAAP;AACL;;;qDAE8BinB,Q,EAAQ;AACjCA,kBAAQ,GAAG,KAAKzW,QAAL,CAAcpO,kBAAd,CAAiC6kB,QAAjC,CAAX;;AAEA,eAAKzpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAgC,KAAKtC,OAAL,GAAe,uCAAf,GAAyDopB,QAAzF,EAAmGjnB,WAAnG,CAAP;AACH;;;kDAEyBhH,E,EAAY4/B,M,EAAgB;AAClD,cAAIuN,EAAE,GAAG,KAAK31B,QAAL,CAAcpO,kBAAd,CAAiCpJ,EAAjC,CAAT;;AACA,eAAKwE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAe,iCAAf,GAAmDsoC,EAAnD,GAAwD,gBAAxD,GAA2EvN,MAAzF,EAAiG54B,WAAjG,CAAP;AACL;;;0DAEmC2+D,U,EAAoB;AAClD,cAAIC,MAAM,GAAG,KAAKpuD,QAAL,CAAcpO,kBAAd,CAAiCu8D,UAAjC,CAAb;;AACA,eAAKnhE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,wCAAf,GAA0D+gE,MAAhF,EAAwF5+D,WAAxF,CAAP;AACL;;;oCAEainB,Q,EAAQ;AAChBA,kBAAQ,GAAG,KAAKzW,QAAL,CAAcpO,kBAAd,CAAiC6kB,QAAjC,CAAX;;AACA,eAAKzpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAgC,KAAKtC,OAAL,GAAe,qBAAf,GAAuCopB,QAAvE,EAAiFjnB,WAAjF,CAAP;AACL;;;yCAEkBinB,Q,EAAQ;AACrBA,kBAAQ,GAAG,KAAKzW,QAAL,CAAcpO,kBAAd,CAAiC6kB,QAAjC,CAAX;;AACA,eAAKzpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,0BAAf,GAA4CopB,QAAlE,EAA4EjnB,WAA5E,CAAP;AACL;;;uCAEgB6S,M,EAAM;AACjB,eAAKrV,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,4BAAf,GAA8CgV,MAApE,EAA4E7S,WAA5E,CAAP;AACL;;;uCAGc6+D,Q,EAAUhsD,M,EAAc;AACrC,eAAKrV,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB,CAFqC,CAQrC;;AACA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,uCAAf,GAAwDghE,QAAxD,GAAmE,UAAnE,GAAgFhsD,MAAtG,EAA6G7S,WAA7G,CAAP;AACD;;;8CAEqB8+D,W,EAAkCjsD,M,EAAc;AACpE;AACA,eAAKrV,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAuB,KAAK3sC,OAAL,GAAe,uCAAf,GAAwDgV,MAA/E,EAAuFisD,WAAvF,EAAmG9+D,WAAnG,CAAP;AACD;;;mDAE0B++D,W,EAAqBC,S,EAAkB93C,U,EAAiB;AACjF63C,qBAAW,GAAG,KAAKvuD,QAAL,CAAcpO,kBAAd,CAAiC28D,WAAjC,CAAd;;AACA,cAAIE,QAAQ,GAAG,KAAKzuD,QAAL,CAAcpO,kBAAd,CAAiC48D,SAAjC,CAAf;;AACA,cAAIE,MAAM,GAAG,KAAK1uD,QAAL,CAAcpO,kBAAd,CAAiC8kB,UAAjC,CAAb;;AAEA,eAAK1pB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,wCAAf,GAA0DkhE,WAA1D,GAAwE,YAAxE,GAAuFE,QAAvF,GAAkG,cAAlG,GAAmHC,MAAzI,EAAiJl/D,WAAjJ,CAAP;AACH;;;4DAEgC;AAC7B,eAAKxC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAkC,KAAKtC,OAAL,GAAe,mCAAjD,EAAsFmC,WAAtF,CAAP;AACH;;;iDAEqB;AAClB,eAAKxC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAmC,KAAKtC,OAAL,GAAe,uBAAlD,EAA2EmC,WAA3E,CAAP;AACH;;;wDAE+Bm/D,W,EAA+B;AAC3D,eAAK3hE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAuB,KAAK3sC,OAAL,GAAe,yBAAtC,EAAiEshE,WAAjE,EAA6En/D,WAA7E,CAAP;AACD;;;2CAEkB6+D,Q,EAASO,a,EAAa;AACvCA,uBAAa,GAAG,KAAK5uD,QAAL,CAAcpO,kBAAd,CAAiCg9D,aAAjC,CAAhB;AACAP,kBAAQ,GAAG,KAAKruD,QAAL,CAAcpO,kBAAd,CAAiCy8D,QAAjC,CAAX;;AAEA,eAAKrhE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAkB,KAAKtC,OAAL,GAAe,0CAAf,GAA2DuhE,aAA3D,GAA2E,gBAA3E,GAA6FP,QAA/G,EAAwH7+D,WAAxH,CAAP;AACD;;;;;;;uBAjMU0+D,wB,EAAwB,uH,EAAA,wI,EAAA,0J;AAAA,K;;;aAAxBA,wB;AAAwB,eAAxBA,wBAAwB,K;AAAA,kBAFvB;;;;;sEAEDA,wB,EAAwB;cAHpC,wDAGoC;eAHzB;AACVh6D,oBAAU,EAAE;AADF,S;AAGyB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACXrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAaa26D,oB;AAWT,oCAAoB9hE,IAApB,EAA6CC,MAA7C,EAA0Ei/B,WAA1E,EAA6G;AAAA;;AAAzF,aAAAl/B,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA6B,aAAAi/B,WAAA,GAAAA,WAAA;AAJjE,aAAA5+B,OAAA,GAAU,kEAAUC,MAAV,GAAmB,mBAA7B;AAEA,aAAAwhE,eAAA,GAAkB,kEAAUxhE,MAAV,GAAmB,aAArC;AAEuG,O,CAEhH;AACA;AACA;AAEA;;;;;mDAC2BkrB,Q,EAAuB;AAE9C,eAAKxrB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAOA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAA8B,KAAK3sC,OAAL,GAAe,gBAA7C,EAA+DmrB,QAA/D,EAAyEhpB,WAAzE,CAAP;AACH;;;yCAEgB6S,M,EAEkE;AAAA,cAFnDkjB,cAEmD,uEAF7B,EAE6B;AAAA,cAFzBmnC,MAEyB,uEAFX,EAEW;AAAA,cAFPC,QAEO,uEAFS,EAET;AAAA,cAFajlC,WAEb,uEAFgC,EAEhC;AAAA,cADnFN,aACmF,uEAD9D,EAC8D;AAAA,cAD3D5Q,WAC2D,uEADxC,EACwC;AAAA,cADpCmR,UACoC,uEADlB,EACkB;AAAA,cADb3R,SACa,uEADI,EACJ;AAAA,cADQC,WACR,uEAD2B,EAC3B;AAAA,cAAnF84C,QAAmF,0EAAnE,EAAmE;AAAA,cAA/DnhC,WAA+D,0EAA5C,EAA4C;AAAA,cAAxCpS,MAAwC,0EAA1B,EAA0B;AAAA,cAArBqS,SAAqB,0EAAF,EAAE;;AAC/E,eAAK7gC,MAAL,CAAYuC,YAAZ,GAD+E,CAG/E;;;AACAg2B,wBAAc,GAAC,KAAK0G,WAAL,CAAiBr6B,kBAAjB,CAAoC2zB,cAApC,CAAf;AACAmnC,gBAAM,GAAC,KAAKzgC,WAAL,CAAiBr6B,kBAAjB,CAAoC86D,MAApC,CAAP;AACAC,kBAAQ,GAAC,KAAK1gC,WAAL,CAAiBr6B,kBAAjB,CAAoC+6D,QAApC,CAAT;AACAjlC,qBAAW,GAAC,KAAKuE,WAAL,CAAiBr6B,kBAAjB,CAAoC81B,WAApC,CAAZ;AACAN,uBAAa,GAAC,KAAK6E,WAAL,CAAiBr6B,kBAAjB,CAAoCw1B,aAApC,CAAd;AACA5Q,qBAAW,GAAC,KAAKyV,WAAL,CAAiBr6B,kBAAjB,CAAoC4kB,WAApC,CAAZ;AACAmR,oBAAU,GAAC,KAAKsE,WAAL,CAAiBr6B,kBAAjB,CAAoC+1B,UAApC,CAAX;AACA3R,mBAAS,GAAC,KAAKiW,WAAL,CAAiBr6B,kBAAjB,CAAoCokB,SAApC,CAAV,CAX+E,CAY/E;;AACA+4C,kBAAQ,GAAC,KAAK9iC,WAAL,CAAiBr6B,kBAAjB,CAAoCm9D,QAApC,CAAT;AACAnhC,qBAAW,GAAC,KAAK3B,WAAL,CAAiBr6B,kBAAjB,CAAoCg8B,WAApC,CAAZ;AACApS,gBAAM,GAAC,KAAKyQ,WAAL,CAAiBr6B,kBAAjB,CAAoC4pB,MAApC,CAAP;AACAqS,mBAAS,GAAC,KAAK5B,WAAL,CAAiBr6B,kBAAjB,CAAoCi8B,SAApC,CAAV,CAhB+E,CAiB/E;;AAEA,cAAMr+B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA+B,KAAKtC,OAAL,GAAe,yBAAf,GAA2CgV,MAA3C,GACnC,kBADmC,GACdkjB,cADc,GACG,UADH,GACgBmnC,MADhB,GACyB,YADzB,GACwCC,QADxC,GACmD,eADnD,GACqEjlC,WADrE,GAEnC,iBAFmC,GAEfN,aAFe,GAEC,cAFD,GAEkB5Q,WAFlB,GAEgC,cAFhC,GAEiDmR,UAFjD,GAE8D,aAF9D,GAE8E3R,SAF9E,GAGnC,eAHmC,GAGjBC,WAHiB,GAGH,YAHG,GAGY84C,QAHZ,GAGuB,eAHvB,GAGyCnhC,WAHzC,GAGuD,UAHvD,GAGoEpS,MAHpE,GAInC,aAJmC,GAInBqS,SAJZ,EAIuBr+B,WAJvB,CAAP;AAKH;;;+CAEsBu9B,Q,EAAgB;AACnC,eAAK//B,MAAL,CAAYuC,YAAZ;;AACAw9B,kBAAQ,GAAC,KAAKd,WAAL,CAAiBr6B,kBAAjB,CAAoCm7B,QAApC,CAAT;AACA,cAAMv9B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA+B,KAAKtC,OAAL,GAAe,gCAAf,GAAkD0/B,QAAjF,EAA2Fv9B,WAA3F,CAAP;AACH;;;wCAEehH,E,EAAYgsB,M,EAAgB4T,M,EAAc;AACtD,eAAKp7B,MAAL,CAAYuC,YAAZ;;AACA/G,YAAE,GAAC,KAAKyjC,WAAL,CAAiBr6B,kBAAjB,CAAoCpJ,EAApC,CAAH;AACAgsB,gBAAM,GAAC,KAAKyX,WAAL,CAAiBr6B,kBAAjB,CAAoC4iB,MAApC,CAAP;AACA,cAAMhlB,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,2BAAf,GAA6C7E,EAA7C,GAAkD,UAAlD,GAA+DgsB,MAA/D,GAAwE,UAAxE,GAAqF4T,MAA3G,EAAmH54B,WAAnH,CAAP;AACH;;;4CAEmBhH,E,EAAYgsB,M,EAAgB4T,M,EAAc;AAC1D,eAAKp7B,MAAL,CAAYuC,YAAZ;;AACA/G,YAAE,GAAC,KAAKyjC,WAAL,CAAiBr6B,kBAAjB,CAAoCpJ,EAApC,CAAH;AACAgsB,gBAAM,GAAC,KAAKyX,WAAL,CAAiBr6B,kBAAjB,CAAoC4iB,MAApC,CAAP;AACA,cAAMhlB,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,8BAAf,GAAgD7E,EAAhD,GAAqD,UAArD,GAAkEgsB,MAAlE,GAA2E,UAA3E,GAAwF4T,MAA9G,EAAsH54B,WAAtH,CAAP;AACH;;;4CAEgB;AACb,eAAKxC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA+B,KAAKtC,OAAL,GAAe,iBAA9C,EAAiEmC,WAAjE,CAAP;AACH;;;0CAEc;AACX,eAAKxC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA+B,KAAKtC,OAAL,GAAe,uBAA9C,EAAuEmC,WAAvE,CAAP;AACH;;;uDAC8Bw/D,O,EAAqC;AAAA,cAApBt4C,UAAoB,uEAAF,EAAE;;AAChE,eAAK1pB,MAAL,CAAYuC,YAAZ;;AACA,cAAI0/D,WAAW,GAAC,KAAKhjC,WAAL,CAAiBr6B,kBAAjB,CAAoC8kB,UAApC,CAAhB;;AACA,cAAMlnB,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAgC,KAAKtC,OAAL,GAAe,yCAAf,GAA2D2hE,OAA3D,GAAqE,cAArE,GAAsFC,WAAtH,EAAmIz/D,WAAnI,CAAP;AACH;;;gDAEuBm/B,S,EAAiB;AACrC,eAAK3hC,MAAL,CAAYuC,YAAZ;;AACAo/B,mBAAS,GAAC,KAAK1C,WAAL,CAAiBr6B,kBAAjB,CAAoC+8B,SAApC,CAAV;AACA,cAAMn/B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAoC,KAAKtC,OAAL,GAAe,4CAAf,GAA8DshC,SAAlG,EAA6Gn/B,WAA7G,CAAP;AACH;;;2CAEe;AACZ,eAAKxC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA6B,KAAKtC,OAAL,GAAe,iBAA5C,EAA+DmC,WAA/D,CAAP;AACH;;;kDAEyBm/B,S,EAAiB;AACvC,eAAK3hC,MAAL,CAAYuC,YAAZ;;AACAo/B,mBAAS,GAAC,KAAK1C,WAAL,CAAiBr6B,kBAAjB,CAAoC+8B,SAApC,CAAV;AACA,cAAMn/B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAuC,KAAKtC,OAAL,GAAe,iDAAf,GAAmEshC,SAA1G,EAAqHn/B,WAArH,CAAP;AACH;;;wCAEe0/D,a,EAAelC,a,EAAuBC,M,EAAc;AAEhE,eAAKjgE,MAAL,CAAYuC,YAAZ;;AACAy9D,uBAAa,GAAC,KAAK/gC,WAAL,CAAiBr6B,kBAAjB,CAAoCo7D,aAApC,CAAd;AACA,cAAMx9D,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAOA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAoB,KAAK3sC,OAAL,GAAe,8BAAf,GAAgD2/D,aAAhD,GAAgE,UAAhE,GAA6EC,MAAjG,EAAyGiC,aAAzG,EAAwH1/D,WAAxH,CAAP;AACH;;;iDAEwB2/D,S,EAAW7nC,S,EAAmBf,Q,EAAe;AAClE,eAAKv5B,MAAL,CAAYuC,YAAZ;;AACA+3B,mBAAS,GAAC,KAAK2E,WAAL,CAAiBr6B,kBAAjB,CAAoC01B,SAApC,CAAV;AACA6nC,mBAAS,GAAC,KAAKljC,WAAL,CAAiBr6B,kBAAjB,CAAoCu9D,SAApC,CAAV;AACA5oC,kBAAQ,GAAC,KAAK0F,WAAL,CAAiBr6B,kBAAjB,CAAoC20B,QAApC,CAAT;AACA,cAAM/2B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,yCAAf,GAA2D8hE,SAA3D,GAAuE,aAAvE,GAAuF7nC,SAAvF,GAAmG,YAAnG,GAAkHf,QAAxI,EAAkJ/2B,WAAlJ,CAAP;AACH;;;+CAEsB4/D,O,EAAiBC,K,EAAa;AACjD,eAAKriE,MAAL,CAAYuC,YAAZ;;AACA6/D,iBAAO,GAAC,KAAKnjC,WAAL,CAAiBr6B,kBAAjB,CAAoCw9D,OAApC,CAAR;AACAC,eAAK,GAAC,KAAKpjC,WAAL,CAAiBr6B,kBAAjB,CAAoCy9D,KAApC,CAAN;AACA,cAAM7/D,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,qCAAf,GAAuD+hE,OAAvD,GAAiE,aAAjE,GAAiFC,KAAvG,EAA8G7/D,WAA9G,CAAP;AACH;;;uCAEc43B,a,EAAqB;AAChC,eAAKp6B,MAAL,CAAYuC,YAAZ;;AACA63B,uBAAa,GAAC,KAAK6E,WAAL,CAAiBr6B,kBAAjB,CAAoCw1B,aAApC,CAAd;AACA,cAAM53B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,6BAAf,GAA+C+5B,aAArE,EAAoF53B,WAApF,CAAP;AACH;;;wCAEey9D,M,EAAct+B,S,EAAiBqU,Y,EAAoBxnB,M,EAAa;AAC5E,eAAKxuB,MAAL,CAAYuC,YAAZ;;AACDo/B,mBAAS,GAAC,KAAK1C,WAAL,CAAiBr6B,kBAAjB,CAAoC+8B,SAApC,CAAV;AACAqU,sBAAY,GAAC,KAAK/W,WAAL,CAAiBr6B,kBAAjB,CAAoCoxC,YAApC,CAAb;AACAxnB,gBAAM,GAAC,KAAKyQ,WAAL,CAAiBr6B,kBAAjB,CAAoC4pB,MAApC,CAAP;AACC,cAAMhsB,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,uBAAf,GAAuC4/D,MAAvC,GAA8C,aAA9C,GAA4Dt+B,SAA5D,GAAsE,gBAAtE,GAAuFqU,YAAvF,GAAoG,UAApG,GAA+GxnB,MAArI,EAA4IhsB,WAA5I,CAAP;AACH;;;+CAEsB49D,W,EAAYH,M,EAAcp8B,e,EAAe;AAC5D,eAAK7jC,MAAL,CAAYuC,YAAZ;;AAEA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAoB,KAAK3sC,OAAL,GAAe,wBAAf,GAAwC4/D,MAAxC,GAAgD,mBAAhD,GAAoEp8B,eAAxF,EAAwGu8B,WAAxG,EAAoH59D,WAApH,CAAP;AACH;;;mDAE0C;AAAA,cAAlB6/D,KAAkB,uEAAH,GAAG;;AACvC,eAAKriE,MAAL,CAAYuC,YAAZ;;AACA8/D,eAAK,GAAG,KAAKpjC,WAAL,CAAiBr6B,kBAAjB,CAAoCy9D,KAApC,CAAR;AAEI,cAAM7/D,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMJ,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAoC,KAAKm/D,eAAL,GAAuB,qCAAvB,GAA6DO,KAA7D,GAAmE,eAAnE,GAAmFxgE,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAvH,EAA2JK,WAA3J,CAAP;AACD;;;qCAEY+2B,Q,EAAe;AAC1B,eAAKv5B,MAAL,CAAYuC,YAAZ;;AACAg3B,kBAAQ,GAAG,KAAK0F,WAAL,CAAiBr6B,kBAAjB,CAAoC20B,QAApC,CAAX;AACA,cAAM/2B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,wBAAf,GAA0Ck5B,QAAhE,EAA0E/2B,WAA1E,CAAP;AACH;;;qCAEYgpB,Q,EAAkB;AAC3B,iBAAO,KAAKzrB,IAAL,CAAUitC,IAAV,CAAsB,KAAK3sC,OAAL,GAAe,UAArC,EAAkDmrB,QAAlD,CAAP;AACH;;;mDAC0ByW,Q,EAAS7G,M,EAAM;AACtC,eAAKp7B,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMAu/B,kBAAQ,GAAC,KAAKhD,WAAL,CAAiBr6B,kBAAjB,CAAoCq9B,QAApC,CAAT;AACA,iBAAO,KAAKliC,IAAL,CAAU4C,GAAV,CAAqB,KAAKtC,OAAL,GAAe,oCAAf,GAAoD+6B,MAApD,GAA4D,YAA5D,GAAyE6G,QAA9F,EAAuGz/B,WAAvG,CAAP;AACH;;;oDAE2B6/D,K,EAAa;AACrC,eAAKriE,MAAL,CAAYuC,YAAZ;;AACA8/D,eAAK,GAAC,KAAKpjC,WAAL,CAAiBr6B,kBAAjB,CAAoCy9D,KAApC,CAAN;AACA,cAAM7/D,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,wCAAf,GAA0DgiE,KAAhF,EAAuF7/D,WAAvF,CAAP;AACH;;;kDAGyB6S,M,EAAa;AACnC,eAAKrV,MAAL,CAAYuC,YAAZ;;AAEA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA+B,KAAKtC,OAAL,GAAe,iCAAf,GAAmDgV,MAAlF,EAA0F7S,WAA1F,CAAP;AACH;;;;;;;uBAzTQq/D,oB,EAAoB,uH,EAAA,wI,EAAA,0J;AAAA,K;;;aAApBA,oB;AAAoB,eAApBA,oBAAoB,K;AAAA,kBAFjB;;;;;sEAEHA,oB,EAAoB;cAHhC,wDAGgC;eAHrB;AACR36D,oBAAU,EAAE;AADJ,S;AAGqB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACbjC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAcao7D,mB;AAIT,mCAAoBviE,IAApB,EAA6CC,MAA7C,EAAmE;AAAA;;AAA/C,aAAAD,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAFtC,aAAAK,OAAA,GAAU,2DAAUC,MAAV,GAAmB,aAA7B;AAE+D;;;;0CAEvD;AACX,eAAKN,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA4B,KAAKtC,OAAL,GAAe,UAA3C,EAAuDmC,WAAvD,CAAP;AACL;;;6CAEmB;AACd,eAAKxC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA+B,KAAKtC,OAAL,GAAe,YAA9C,EAA4DmC,WAA5D,CAAP;AACL;;;yCAEkBhH,E,EAAU;AACvB,eAAKwE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA6B,KAAKtC,OAAL,GAAe,eAAf,GAAiC7E,EAA9D,EAAkEgH,WAAlE,CAAP;AACL;;;wCAEiBhH,E,EAAU;AACtB,eAAKwE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA4B,KAAKtC,OAAL,GAAe,aAAf,GAA+B7E,EAA3D,EAA+DgH,WAA/D,CAAP;AACL;;;8CAEoB;AACf,eAAKxC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA6B,KAAKtC,OAAL,GAAe,cAA5C,EAA4DmC,WAA5D,CAAP;AACL;;;6CAEmB;AACd,eAAKxC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA4B,KAAKtC,OAAL,GAAe,YAA3C,EAAyDmC,WAAzD,CAAP;AACL;;;;;;;uBAtEU8/D,mB,EAAmB,uH,EAAA,wI;AAAA,K;;;aAAnBA,mB;AAAmB,eAAnBA,mBAAmB,K;AAAA,kBAFlB;;;;;sEAEDA,mB,EAAmB;cAH/B,wDAG+B;eAHpB;AACVp7D,oBAAU,EAAE;AADF,S;AAGoB,Q;;;;;;;;;;;;;;;;;;;;;;;;ACdhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAKA,QAAMq7D,yBAAyB,GAAG,EAAlC,C,CAAqC;;AACrC,QAAMC,cAAc,GAAG,KAAvB,C,CAA6B;;AAC7B,QAAMC,SAAS,GAAI,YAAnB;;QAGaC,iB;AASX,iCAAoBt0D,MAApB,EAA0C0E,MAA1C,EAAgE;AAAA;;AAA5C,aAAA1E,MAAA,GAAAA,MAAA;AAAsB,aAAA0E,MAAA,GAAAA,MAAA;AACxC,aAAK86C,KAAL;AACA,aAAK+U,YAAL;AACA,aAAKC,YAAL;AACA/gE,oBAAY,CAACC,OAAb,CAAqB2gE,SAArB,EAA+BviE,IAAI,CAAC2iE,GAAL,GAAWx5C,QAAX,EAA/B;AACD;;;;wCAbqB;AACpB,iBAAOkH,QAAQ,CAAC1uB,YAAY,CAACM,OAAb,CAAqBsgE,SAArB,CAAD,CAAf;AACD;;;sCAEmBK,U,EAAoB;AACtCjhE,sBAAY,CAACC,OAAb,CAAqB2gE,SAArB,EAAgCK,UAAU,CAACz5C,QAAX,EAAhC;AACD;;;uCASc;AAAA;;AACbtZ,kBAAQ,CAACgzD,IAAT,CAAcC,gBAAd,CAA+B,OAA/B,EAAwC;AAAA,mBAAM,QAAI,CAACC,KAAL,EAAN;AAAA,WAAxC;AACAlzD,kBAAQ,CAACgzD,IAAT,CAAcC,gBAAd,CAA+B,WAA/B,EAA2C;AAAA,mBAAK,QAAI,CAACC,KAAL,EAAL;AAAA,WAA3C;AACAlzD,kBAAQ,CAACgzD,IAAT,CAAcC,gBAAd,CAA+B,UAA/B,EAA0C;AAAA,mBAAM,QAAI,CAACC,KAAL,EAAN;AAAA,WAA1C;AACAlzD,kBAAQ,CAACgzD,IAAT,CAAcC,gBAAd,CAA+B,SAA/B,EAAyC;AAAA,mBAAM,QAAI,CAACC,KAAL,EAAN;AAAA,WAAzC;AACAlzD,kBAAQ,CAACgzD,IAAT,CAAcC,gBAAd,CAA+B,OAA/B,EAAuC;AAAA,mBAAM,QAAI,CAACC,KAAL,EAAN;AAAA,WAAvC;AACAlzD,kBAAQ,CAACgzD,IAAT,CAAcC,gBAAd,CAA+B,UAA/B,EAA0C;AAAA,mBAAM,QAAI,CAACC,KAAL,EAAN;AAAA,WAA1C;AACD;;;gCAEO;AACN,eAAKC,aAAL,CAAmBhjE,IAAI,CAAC2iE,GAAL,EAAnB;AACD;;;uCAEc;AAAA;;AACbM,qBAAW,CAAC,YAAM;AAChB,oBAAI,CAACvV,KAAL;AACD,WAFU,EAER4U,cAFQ,CAAX;AAGD;;;gCAEO;AACN,cAAMK,GAAG,GAAG3iE,IAAI,CAAC2iE,GAAL,EAAZ;AACA,cAAMO,QAAQ,GAAG,KAAKC,aAAL,KAAuBd,yBAAyB,GAAG,EAA5B,GAAiC,IAAzE;AACA,cAAMe,IAAI,GAAGF,QAAQ,GAAGP,GAAxB;AACA,cAAMU,SAAS,GAAGD,IAAI,GAAG,CAAzB;;AACA,cAAIC,SAAJ,EAAgB;AACZ,oFAAaluD,MAAb,GAAqB,CAArB;AACAxT,wBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAsC,EAAtC;AACAD,wBAAY,CAACC,OAAb,CAAqB,eAArB,EAAqC,EAArC;AACA,iBAAKgR,MAAL,CAAY2C,YAAZ,GAAyB,IAAzB;AACA,iBAAK3C,MAAL,CAAY4C,YAAZ,GAAyB,KAAzB;AACA7T,wBAAY,CAAC0T,KAAb;AACA,iBAAKnH,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,aAAD,CAArB;AACH;AACF;;;;;;;uBAjDUktD,iB,EAAiB,8G,EAAA,wI;AAAA,K;;;aAAjBA,iB;AAAiB,eAAjBA,iBAAiB;;;;;sEAAjBA,iB,EAAiB;cAF7B;AAE6B,Q;;;;;;;;;;;;;;;;;;;;;;;;ACV9B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWac,a;AAIT,6BAAoBzjE,IAApB,EAA6CC,MAA7C,EAAyEgE,eAAzE,EAAgH;AAAA;;AAA5F,aAAAjE,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA4B,aAAAgE,eAAA,GAAAA,eAAA;AAFlE,aAAA3D,OAAA,GAAU,2DAAUC,MAAV,GAAmB,kBAA7B;AAE4G;;;;0CAQ9E;AAAA,cAJpBi5B,QAIoB,uEAJD,GAIC;AAAA,cAJGmmC,MAIH,uEAJiB,EAIjB;AAAA,cAJuBC,QAIvB,uEAJuC,EAIvC;AAAA,cAHrBhkC,QAGqB,uEAHL,EAGK;AAAA,cAHFhB,UAGE,uEAHgB,EAGhB;AAAA,cAHoBK,UAGpB,uEAHsC,EAGtC;AAAA,cAHyCkb,OAGzC,uEAHwD,EAGxD;AAAA,cAFrBxB,iBAEqB,uEAFK,EAEL;AAAA,cAFSzrB,WAET,uEAF6B,EAE7B;AAAA,cAFgCD,SAEhC,uEAFiD,EAEjD;AAAA,cADrBwS,WACqB,0EADF,EACE;AAAA,cADEhN,MACF,0EADgB,EAChB;AAAA,cAAnBqS,SAAmB,0EAAF,EAAE;;AACjC,eAAK7gC,MAAL,CAAYuC,YAAZ;;AACAg3B,kBAAQ,GAAG,KAAKv1B,eAAL,CAAqBY,kBAArB,CAAwC20B,QAAxC,CAAX;AACAmmC,gBAAM,GAAG,KAAK17D,eAAL,CAAqBY,kBAArB,CAAwC86D,MAAxC,CAAT;AACAC,kBAAQ,GAAG,KAAK37D,eAAL,CAAqBY,kBAArB,CAAwC+6D,QAAxC,CAAX;AACAhkC,kBAAQ,GAAG,KAAK33B,eAAL,CAAqBY,kBAArB,CAAwC+2B,QAAxC,CAAX;AACAhB,oBAAU,GAAG,KAAK32B,eAAL,CAAqBY,kBAArB,CAAwC+1B,UAAxC,CAAb;AACAK,oBAAU,GAAG,KAAKh3B,eAAL,CAAqBY,kBAArB,CAAwCo2B,UAAxC,CAAb;AACAkb,iBAAO,GAAG,KAAKlyC,eAAL,CAAqBY,kBAArB,CAAwCsxC,OAAxC,CAAV;AACAltB,mBAAS,GAAG,KAAKhlB,eAAL,CAAqBY,kBAArB,CAAwCokB,SAAxC,CAAZ;AACAwS,qBAAW,GAAG,KAAKx3B,eAAL,CAAqBY,kBAArB,CAAwC42B,WAAxC,CAAd;AACAhN,gBAAM,GAAG,KAAKxqB,eAAL,CAAqBY,kBAArB,CAAwC4pB,MAAxC,CAAT;AACAkmB,2BAAiB,GAAG,KAAK1wC,eAAL,CAAqBY,kBAArB,CAAwC8vC,iBAAxC,CAApB;AACA7T,mBAAS,GAAG,KAAK78B,eAAL,CAAqBY,kBAArB,CAAwCi8B,SAAxC,CAAZ;AACA,cAAMr+B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA8B,KAAKtC,OAAL,GAAe,yBAAf,GAAyCk5B,QAAzC,GAAkD,UAAlD,GAA6DmmC,MAA7D,GACpC,YADoC,GACvBC,QADuB,GACd,YADc,GACDhkC,QADC,GACQ,cADR,GACuBhB,UADvB,GACkC,cADlC,GACiDK,UADjD,GAEpC,WAFoC,GAExBkb,OAFwB,GAEhB,aAFgB,GAEFltB,SAFE,GAEQ,eAFR,GAEwBC,WAFxB,GAEoC,eAFpC,GAEoDuS,WAFpD,GAGnC,UAHmC,GAGxBhN,MAHwB,GAGhB,qBAHgB,GAGMkmB,iBAHN,GAGwB,aAHxB,GAGsC7T,SAHpE,EAG+Er+B,WAH/E,CAAP;AAIH;;;mDAE+C;AAAA,cAAtB+2B,QAAsB,uEAAH,GAAG;;AAC5C,eAAKv5B,MAAL,CAAYuC,YAAZ;;AACAg3B,kBAAQ,GAAG,KAAKv1B,eAAL,CAAqBY,kBAArB,CAAwC20B,QAAxC,CAAX;AACA,cAAM/2B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA8B,KAAKtC,OAAL,GAAe,iCAAf,GAAiDk5B,QAA/E,EAAyF/2B,WAAzF,CAAP;AACH;;;+CACsBihE,Q,EAAgB;AACnC,eAAKzjE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA4B,KAAKtC,OAAL,GAAe,mBAAf,GAAqC,YAArC,GAAoDojE,QAAhF,EAA0FjhE,WAA1F,CAAP;AACH;;;kDAIuBkhE,Y,EAAyB;AACjD,mBADiD,CAEjD;;AAEE,eAAK1jE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAOA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAA6B,KAAK3sC,OAAL,GAAe,yBAA5C,EAAuEqjE,YAAvE,EAAqFlhE,WAArF,CAAP;AACH;;;kDAEyBihE,Q,EAAkBE,W,EAAmB3tB,Y,EAAmB;AAChF;AACE,eAAKh2C,MAAL,CAAYuC,YAAZ;;AACAkhE,kBAAQ,GAAG,KAAKz/D,eAAL,CAAqBY,kBAArB,CAAwC6+D,QAAxC,CAAX;AACAztB,sBAAY,GAAG,KAAKhyC,eAAL,CAAqBY,kBAArB,CAAwCoxC,YAAxC,CAAf;AACA,cAAMxzC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,sBAAf,GAAwC,YAAxC,GAAuDojE,QAAvD,GAAkE,kBAAlE,GAAuFE,WAAvF,GAAoG,gBAApG,GAAsH3tB,YAA5I,EAA0JxzC,WAA1J,CAAP;AACH;;;mDAE0BihE,Q,EAAe;AACxC;AACE,eAAKzjE,MAAL,CAAYuC,YAAZ;;AACAkhE,kBAAQ,GAAG,KAAKz/D,eAAL,CAAqBY,kBAArB,CAAwC6+D,QAAxC,CAAX;AACA,cAAMjhE,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,0BAAf,GAA4C,YAA5C,GAA2DojE,QAAjF,EAA4FjhE,WAA5F,CAAP;AACH;;;yCAGkB02B,Q,EAAgB;AAC7B,eAAKl5B,MAAL,CAAYuC,YAAZ;;AACA22B,kBAAQ,GAAG,KAAKl1B,eAAL,CAAqBY,kBAArB,CAAwCs0B,QAAxC,CAAX;AACA,cAAM12B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,0BAAf,GAA4C64B,QAAlE,EAA4E12B,WAA5E,CAAP;AACH;;;uCAEYohE,Y,EAAa5D,a,EAAqBC,M,EAAa;AAE1D,eAAKjgE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAOA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAoB,KAAK3sC,OAAL,GAAe,4BAAf,GAA8C2/D,aAA9C,GAA8D,UAA9D,GAA2EC,MAA/F,EAAuG2D,YAAvG,EAAqHphE,WAArH,CAAP;AACH;;;kDAG2B02B,Q,EAAgB;AACtC,eAAKl5B,MAAL,CAAYuC,YAAZ;;AACA22B,kBAAQ,GAAG,KAAKl1B,eAAL,CAAqBY,kBAArB,CAAwCs0B,QAAxC,CAAX;AACA,cAAM12B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA;AACA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsC,KAAKtC,OAAL,GAAe,+CAAf,GAAiE64B,QAAvG,EAAiH12B,WAAjH,CAAP;AACH;;;6CAEoBw4B,U,EAAkB;AACnC,eAAKh7B,MAAL,CAAYuC,YAAZ;;AACAy4B,oBAAU,GAAG,KAAKh3B,eAAL,CAAqBY,kBAArB,CAAwCo2B,UAAxC,CAAb;AACA,cAAMx4B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,kCAAf,GAAoD26B,UAA1E,EAAsFx4B,WAAtF,CAAP;AACH;;;qDAE4BqhE,S,EAAmB7oC,U,EAAkB;AAC9D,eAAKh7B,MAAL,CAAYuC,YAAZ;;AACAshE,mBAAS,GAAG,KAAK7/D,eAAL,CAAqBY,kBAArB,CAAwCi/D,SAAxC,CAAZ;AACA7oC,oBAAU,GAAG,KAAKh3B,eAAL,CAAqBY,kBAArB,CAAwCo2B,UAAxC,CAAb;AACA,cAAMx4B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,wCAAf,GAA0DwjE,SAA1D,GAAsE,cAAtE,GAAuF7oC,UAA7G,EAAyHx4B,WAAzH,CAAP;AACH;;;+CAEsB02B,Q,EAAgB;AACnC,eAAKl5B,MAAL,CAAYuC,YAAZ;;AACA22B,kBAAQ,GAAG,KAAKl1B,eAAL,CAAqBY,kBAArB,CAAwCs0B,QAAxC,CAAX;AACA,cAAM12B,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAoC,KAAKtC,OAAL,GAAe,yCAAf,GAA2D64B,QAA/F,EAAyG12B,WAAzG,CAAP;AACH;;;wCACey9D,M,EAAc/mC,Q,EAAgB8c,Y,EAAoBxnB,M,EAAa;AAC3E,eAAKxuB,MAAL,CAAYuC,YAAZ;;AACA;AACA22B,kBAAQ,GAAG,KAAKl1B,eAAL,CAAqBY,kBAArB,CAAwCs0B,QAAxC,CAAX;AACA8c,sBAAY,GAAG,KAAKhyC,eAAL,CAAqBY,kBAArB,CAAwCoxC,YAAxC,CAAf;AACAxnB,gBAAM,GAAG,KAAKxqB,eAAL,CAAqBY,kBAArB,CAAwC4pB,MAAxC,CAAT;AACA,cAAMhsB,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,6BAAf,GAA6C4/D,MAA7C,GAAoD,YAApD,GAAiE/mC,QAAjE,GAA0E,gBAA1E,GAA2F8c,YAA3F,GAAwG,UAAxG,GAAmHxnB,MAAzI,EAAgJhsB,WAAhJ,CAAP;AACH;;;8CAEqB49D,W,EAAYH,M,EAAcp8B,e,EAAe;AAC3D,eAAK7jC,MAAL,CAAYuC,YAAZ;;AAEA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAoB,KAAK3sC,OAAL,GAAe,wBAAf,GAAwC4/D,MAAxC,GAAgD,mBAAhD,GAAoEp8B,eAAxF,EAAwGu8B,WAAxG,EAAoH59D,WAApH,CAAP;AACH;;;sCAEashE,Q,EAASC,U,EAAU;AAC7BD,kBAAQ,GAAG,KAAK9/D,eAAL,CAAqBY,kBAArB,CAAwCk/D,QAAxC,CAAX;AACAC,oBAAU,GAAG,KAAK//D,eAAL,CAAqBY,kBAArB,CAAwCm/D,UAAxC,CAAb;;AACA,eAAK/jE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA;AACA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAwB,KAAKtC,OAAL,GAAe,uBAAf,GAAyCyjE,QAAzC,GAAoD,cAApD,GAAqEC,UAA7F,EAA0GvhE,WAA1G,CAAP;AACH;;;yCAEgBwhE,Q,EAASC,e,EAAe;AACrCD,kBAAQ,GAAG,KAAKhgE,eAAL,CAAqBY,kBAArB,CAAwCo/D,QAAxC,CAAX;AACAC,yBAAe,GAAG,KAAKjgE,eAAL,CAAqBY,kBAArB,CAAwCq/D,eAAxC,CAAlB;;AACA,eAAKjkE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAwB,KAAKtC,OAAL,GAAe,0BAAf,GAA4C2jE,QAA5C,GAAuD,mBAAvD,GAA6EC,eAArG,EAAuHzhE,WAAvH,CAAP;AACH;;;qCAEYgpB,Q,EAAkB;AAC3B,iBAAO,KAAKzrB,IAAL,CAAUitC,IAAV,CAAsB,KAAK3sC,OAAL,GAAe,UAArC,EAAkDmrB,QAAlD,CAAP;AACH;;;mDAC0ByW,Q,EAAS7G,M,EAAM;AACtC,eAAKp7B,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMAu/B,kBAAQ,GAAC,KAAKj+B,eAAL,CAAqBY,kBAArB,CAAwCq9B,QAAxC,CAAT;AACA,iBAAO,KAAKliC,IAAL,CAAU4C,GAAV,CAAqB,KAAKtC,OAAL,GAAe,oCAAf,GAAoD+6B,MAApD,GAA4D,YAA5D,GAAyE6G,QAA9F,EAAuGz/B,WAAvG,CAAP;AACH;;;;;;;uBAvPQghE,a,EAAa,uH,EAAA,wI,EAAA,qI;AAAA,K;;;aAAbA,a;AAAa,eAAbA,aAAa,K;AAAA,kBAFZ;;;;;sEAEDA,a,EAAa;cAHzB,wDAGyB;eAHd;AACVt8D,oBAAU,EAAE;AADF,S;AAGc,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACX1B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWag9D,mB;AAMT,mCAAoBnkE,IAApB,EAA6CC,MAA7C,EAA0EgE,eAA1E,EAAiH;AAAA;;AAA7F,aAAAjE,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA6B,aAAAgE,eAAA,GAAAA,eAAA;AAJnE,aAAA3D,OAAA,GAAU,2DAAUC,MAAV,GAAmB,wBAA7B;AAI6G;;;;8CAEjG;AACf,eAAKN,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA8B,KAAKtC,OAAL,GAAe,mBAA7C,EAAkEmC,WAAlE,CAAP;AACH;;;4CAEmB2hE,Y,EAAsBhD,U,EAAkB;AACxD,eAAKnhE,MAAL,CAAYuC,YAAZ;;AACA4hE,sBAAY,GAAG,KAAKngE,eAAL,CAAqBY,kBAArB,CAAwCu/D,YAAxC,CAAf;AACAhD,oBAAU,GAAG,KAAKn9D,eAAL,CAAqBY,kBAArB,CAAwCu8D,UAAxC,CAAb;AACA,cAAM3+D,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAiC,KAAKtC,OAAL,GAAe,iCAAf,GAAmD8jE,YAAnD,GAAkE,cAAlE,GAAmFhD,UAApH,EAAgI3+D,WAAhI,CAAP;AACH;;;iDAEqB;AAClB,eAAKxC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAgC,KAAKtC,OAAL,GAAe,yBAA/C,EAA0EmC,WAA1E,CAAP;AACH;;;mDAEwB4hE,Y,EAA8B;AACrD,eAAKpkE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAOA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAkC,KAAK3sC,OAAL,GAAe,oBAAjD,EAAuE+jE,YAAvE,EAAqF5hE,WAArF,CAAP;AACH;;;uDAE8B2hE,Y,EAAsBhD,U,EAAkB;AACrE,eAAKnhE,MAAL,CAAYuC,YAAZ;;AACA4hE,sBAAY,GAAG,KAAKngE,eAAL,CAAqBY,kBAArB,CAAwCu/D,YAAxC,CAAf;AACAhD,oBAAU,GAAG,KAAKn9D,eAAL,CAAqBY,kBAArB,CAAwCu8D,UAAxC,CAAb;AACA,cAAM3+D,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAiC,KAAKtC,OAAL,GAAe,8CAAf,GAAgE8jE,YAAhE,GAA+E,cAA/E,GAAgGhD,UAAjI,EAA6I3+D,WAA7I,CAAP;AACH;;;gDAEuB6hE,O,EAAe;AACnC,eAAKrkE,MAAL,CAAYuC,YAAZ;;AACA8hE,iBAAO,GAAG,KAAKrgE,eAAL,CAAqBY,kBAArB,CAAwCy/D,OAAxC,CAAV;AACA,cAAM7hE,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA;AACA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAqC,KAAKtC,OAAL,GAAe,6CAAf,GAA+DgkE,OAApG,EAA6G7hE,WAA7G,CAAP;AACH;;;;;;;uBA/EY0hE,mB,EAAmB,uH,EAAA,wI,EAAA,qI;AAAA,K;;;aAAnBA,mB;AAAmB,eAAnBA,mBAAmB,K;AAAA,kBAFlB;;;;;sEAEDA,mB,EAAmB;cAH/B,wDAG+B;eAHpB;AACVh9D,oBAAU,EAAE;AADF,S;AAGoB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACXhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWao9D,e;AAST,+BAAoBvkE,IAApB,EAA6CC,MAA7C,EAAyEgT,QAAzE,EAAyG;AAAA;;AAArF,aAAAjT,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA4B,aAAAgT,QAAA,GAAAA,QAAA;AAPlE,aAAA3S,OAAA,GAAU,kEAAUC,MAAV,GAAmB,oBAA7B;AAOqG;;;;oDAElFkrB,Q,EAAkB;AAC1C,eAAKxrB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAyB,KAAK3sC,OAAL,GAAe,2BAAxC,EAAqEmrB,QAArE,EAA+EhpB,WAA/E,CAAP;AACH;;;0CAEmBsuB,M;;;cAAiByzC,c,uEAAyB,C;cAAE7E,M,uEAAgB,E;cAAIC,Q,uEAAiB,E;cAAIn3C,Y,uEAAqB,E;cAC5HmY,Q,uEAAkB,E;cAAIqP,O,uEAAiB,E;cAAIC,M,uEAAgB,E;cAAIjnB,S,uEAAmB,E;cAAKC,W,uEAAqB,E;cAAIuS,W,0EAAqB,E;cACrIhN,M,0EAAgB,E;cAAGqS,S,0EAAmB,E;iIAAE;AACpC,gBAAI2jC,YAAY,GAAG,QAAI,CAACxxD,QAAL,CAAcpO,kBAAd,CAAiC2/D,cAAc,CAACl7C,QAAf,EAAjC,CAAnB;;AACA,gBAAIq2C,MAAM,GAAG,QAAI,CAAC1sD,QAAL,CAAcpO,kBAAd,CAAiC86D,MAAM,CAACr2C,QAAP,EAAjC,CAAb;;AACA,gBAAIs2C,QAAQ,GAAG,QAAI,CAAC3sD,QAAL,CAAcpO,kBAAd,CAAiC+6D,QAAQ,CAACt2C,QAAT,EAAjC,CAAf;;AACA,gBAAIb,YAAY,GAAG,QAAI,CAACxV,QAAL,CAAcpO,kBAAd,CAAiC4jB,YAAY,CAACa,QAAb,EAAjC,CAAnB;;AACA,gBAAIsX,QAAQ,GAAG,QAAI,CAAC3tB,QAAL,CAAcpO,kBAAd,CAAiC+7B,QAAQ,CAACtX,QAAT,EAAjC,CAAf;;AACA,gBAAI2mB,OAAO,GAAG,QAAI,CAACh9B,QAAL,CAAcpO,kBAAd,CAAiCorC,OAAO,CAAC3mB,QAAR,EAAjC,CAAd;;AACA,gBAAI4mB,MAAM,GAAG,QAAI,CAACj9B,QAAL,CAAcpO,kBAAd,CAAiCqrC,MAAM,CAAC5mB,QAAP,EAAjC,CAAb;;AACA,gBAAIL,SAAS,GAAG,QAAI,CAAChW,QAAL,CAAcpO,kBAAd,CAAiCokB,SAAS,CAACK,QAAV,EAAjC,CAAhB;;AACA,gBAAImS,WAAW,GAAG,QAAI,CAACxoB,QAAL,CAAcpO,kBAAd,CAAiC42B,WAAW,CAACnS,QAAZ,EAAjC,CAAlB;;AACA,gBAAImF,MAAM,GAAG,QAAI,CAACxb,QAAL,CAAcpO,kBAAd,CAAiC4pB,MAAM,CAACnF,QAAP,EAAjC,CAAb;;AACA,gBAAIwX,SAAS,GAAG,QAAI,CAAC7tB,QAAL,CAAcpO,kBAAd,CAAiCi8B,SAAS,CAACxX,QAAV,EAAjC,CAAhB;;AAEA,oBAAI,CAACrpB,MAAL,CAAYuC,YAAZ;;AACA,gBAAMC,WAAW,GAAG;AAChBC,qBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,gCAAgB,kBADK;AAErB,iCAAiB,QAAI,CAACzC,MAAL,CAAY0C;AAFR,eAAhB;AADO,aAApB;AAMA,mBAAO,QAAI,CAAC3C,IAAL,CAAU4C,GAAV,CAA0B,QAAI,CAACtC,OAAL,GAAe,+BAAf,GAAiDywB,MAAjD,GAA0D,kBAA1D,GAA+E0zC,YAA/E,GAC/B,UAD+B,GAClB9E,MADkB,GACT,YADS,GACMC,QADN,GACiB,gBADjB,GACoCn3C,YADpC,GACmD,YADnD,GACkEmY,QADlE,GAC6E,WAD7E,GAC2FqP,OAD3F,GAE/B,UAF+B,GAElBC,MAFkB,GAER,aAFQ,GAEQjnB,SAFR,GAEoB,cAFpB,GAEqCC,WAFrC,GAEmD,eAFnD,GAEqEuS,WAFrE,GAG9B,UAH8B,GAGjBhN,MAHiB,GAGR,aAHQ,GAGQqS,SAHlC,EAG6Cr+B,WAH7C,CAAP;AAIH,W;;;;mDAE0BsuB,M,EAA2C;AAAA,cAA1ByzC,cAA0B,uEAAD,CAAC;;AAClE,cAAIC,YAAY,GAAG,KAAKxxD,QAAL,CAAcpO,kBAAd,CAAiC2/D,cAAc,CAACl7C,QAAf,EAAjC,CAAnB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA0B,KAAKtC,OAAL,GAAe,kCAAf,GAAoDywB,MAApD,GAA6D,kBAA7D,GAAkF0zC,YAA5G,EAA0HhiE,WAA1H,CAAP;AACH;;;qDAC4BsuB,M,EAA2C;AAAA,cAA1ByzC,cAA0B,uEAAD,CAAC;;AACpE,cAAIC,YAAY,GAAG,KAAKxxD,QAAL,CAAcpO,kBAAd,CAAiC2/D,cAAc,CAACl7C,QAAf,EAAjC,CAAnB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA0B,KAAKtC,OAAL,GAAe,oCAAf,GAAsDywB,MAAtD,GAA+D,kBAA/D,GAAoF0zC,YAA9G,EAA4HhiE,WAA5H,CAAP;AACH;;;uDACuD;AAAA,cAA7BhH,EAA6B,uEAAjB,GAAiB;AAAA,cAAb6Z,MAAa;;AACxD,cAAIszB,EAAE,GAAG,KAAK31B,QAAL,CAAcpO,kBAAd,CAAiCpJ,EAAjC,CAAT;;AACA,eAAKwE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA0B,KAAKtC,OAAL,GAAe,gCAAf,GAAgDsoC,EAAhD,GAAmD,UAAnD,GAA8DtzB,MAAxF,EAA+F7S,WAA/F,CAAP;AACH;;;kEAGiE;AAAA,cAAtB2+D,UAAsB,uEAAD,CAAC;;AAE1D,cAAIsD,UAAU,GAAG,KAAKzxD,QAAL,CAAcpO,kBAAd,CAAiCu8D,UAAjC,CAAjB;;AACA,eAAKnhE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAwC,KAAKtC,OAAL,GAAe,mDAAf,GAAqEokE,UAA7G,EAAyHjiE,WAAzH,CAAP;AACH,S,CACH;AACA;AACA;AACA;;;;0DAEsD;AAAA,cAAtB2+D,UAAsB,uEAAD,CAAC;;AAClD,cAAIO,MAAM,GAAG,KAAK1uD,QAAL,CAAcpO,kBAAd,CAAiCu8D,UAAjC,CAAb;;AACE,eAAKnhE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAwB,KAAKtC,OAAL,GAAe,2CAAf,GAA6DqhE,MAArF,EAA6Fl/D,WAA7F,CAAP;AACH;;;yCAEgBhH,E,EAAWm7C,Y,EAAmB;AAC3Cn7C,YAAE,GAAG,KAAKwX,QAAL,CAAcpO,kBAAd,CAAiCpJ,EAAjC,CAAL;AACAm7C,sBAAY,GAAG,KAAK3jC,QAAL,CAAcpO,kBAAd,CAAiC+xC,YAAjC,CAAf;;AACA,eAAK32C,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,4BAAf,GAA8C7E,EAA9C,GAAmD,gBAAnD,GAAsEm7C,YAA5F,EAA0Gn0C,WAA1G,CAAP;AACH;;;qDAE4BkiE,I,EAAclpE,E,EAAY;AAEnDkpE,cAAI,GAAG,KAAK1xD,QAAL,CAAcpO,kBAAd,CAAiC8/D,IAAjC,CAAP;;AACA,cAAI/7B,EAAE,GAAG,KAAK31B,QAAL,CAAcpO,kBAAd,CAAiCpJ,EAAjC,CAAT;;AAEA,eAAKwE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAe,kCAAf,GAAoDqkE,IAApD,GAA2D,MAA3D,GAAoE/7B,EAAlF,EAAsFnmC,WAAtF,CAAP;AACH;;;yCAEcmiE,c,EAAe3E,a,EAAqB3qD,M,EAAa;AAChE2qD,uBAAa,GAAC,KAAKhtD,QAAL,CAAcpO,kBAAd,CAAiCo7D,aAAjC,CAAd;;AACE,eAAKhgE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAoB,KAAK3sC,OAAL,GAAe,+BAAf,GAAiD2/D,aAAjD,GAAiE,UAAjE,GAA8E3qD,MAAlG,EAA0GsvD,cAA1G,EAA0HniE,WAA1H,CAAP;AACJ;;;kDAEyB;AACnB,eAAKxC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA0B,KAAKtC,OAAL,GAAe,uBAAzC,EAAkEmC,WAAlE,CAAP;AACH;;;wCAEeoiE,Y,EAAavvD,M,EAAcwuB,e,EAAe;AACtD,eAAK7jC,MAAL,CAAYuC,YAAZ;;AAEA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAoB,KAAK3sC,OAAL,GAAe,+BAAf,GAA+CgV,MAA/C,GAAsD,mBAAtD,GAA0EwuB,eAA9F,EAA8G+gC,YAA9G,EAA2HpiE,WAA3H,CAAP;AACH;;;gDAEsC;AAAA,cAAjBqiE,QAAiB,uEAAD,CAAC;;AACnC,cAAIzD,MAAM,GAAG,KAAKpuD,QAAL,CAAcpO,kBAAd,CAAiCigE,QAAjC,CAAb;;AACA,eAAK7kE,MAAL,CAAYuC,YAAZ;;AACI,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMJ,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAqC,KAAKtC,OAAL,GAAe,mCAAf,GAAmD+gE,MAAnD,GAA0D,eAA1D,GAA0Ev/D,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA/G,EAAmJK,WAAnJ,CAAP;AACD;;;qCAEUgpB,Q,EAAkB;AAC3B,iBAAO,KAAKzrB,IAAL,CAAUitC,IAAV,CAAsB,KAAK3sC,OAAL,GAAe,UAArC,EAAkDmrB,QAAlD,CAAP;AACH;;;mDAC0ByW,Q,EAAS7G,M,EAAM;AACtC,eAAKp7B,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMAu/B,kBAAQ,GAAC,KAAKjvB,QAAL,CAAcpO,kBAAd,CAAiCq9B,QAAjC,CAAT;AACA,iBAAO,KAAKliC,IAAL,CAAU4C,GAAV,CAAqB,KAAKtC,OAAL,GAAe,oCAAf,GAAoD+6B,MAApD,GAA4D,YAA5D,GAAyE6G,QAA9F,EAAuGz/B,WAAvG,CAAP;AACH;;;gDAEuBsuB,M,EAAc;AAClC,eAAK9wB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA0B,KAAKtC,OAAL,GAAe,iCAAf,GAAmDywB,MAA7E,EAAsFtuB,WAAtF,CAAP;AACH;;;;;;;uBArNQ8hE,e,EAAe,uH,EAAA,wI,EAAA,0J;AAAA,K;;;aAAfA,e;AAAe,eAAfA,eAAe,K;AAAA,kBAFd;;;;;sEAEDA,e,EAAe;cAH3B,wDAG2B;eAHhB;AACVp9D,oBAAU,EAAE;AADF,S;AAGgB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACX5B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QASa49D,uB;AACX,uCAAoB9tC,YAApB,EAA8C;AAAA;;AAA1B,aAAAA,YAAA,GAAAA,YAAA;AAcpB,aAAA+tC,aAAA,GAAmB,EAAnB;AAdiD;;;;0CAE/BC,W,EAA8B;AAAA;;AAC9C,iBAAO,IAAIjqE,OAAJ,CAAY,UAAAC,OAAO,EAAI;AAC5B8L,sBAAU,CAAC,YAAM;AACf,kBAAI,QAAI,CAACm+D,gBAAL,CAAsBD,WAAW,CAACxkE,KAAlC,CAAJ,EAA8C;AAC5CxF,uBAAO,CAAC;AAAEkqE,sCAAoB,EAAE;AAAxB,iBAAD,CAAP;AACD,eAFD,MAEO;AACLlqE,uBAAO,CAAC,IAAD,CAAP;AACD;AACF,aANS,EAMP,IANO,CAAV;AAOD,WARM,CAAP;AASD;;;yCAGgBmqE,Q,EAAkB;AAAA;;AACjC,eAAKnuC,YAAL,CAAkBoC,aAAlB,CAAgC,GAAhC,EAAqC13B,SAArC,CAA+C,UAAAkvD,QAAQ,EAAE;AACvD,oBAAI,CAACmU,aAAL,GAAqB,EAArB;AACAnU,oBAAQ,CAAC5rD,OAAT,CAAiB,UAAAC,OAAO,EAAI;AAC1B,kBAAGA,OAAO,CAAC,QAAD,CAAP,IAAuBpD,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA1B,EACA,QAAI,CAAC4iE,aAAL,CAAmB7/D,IAAnB,CAAwBD,OAAO,CAAC,SAAD,CAA/B;AACF,aAHA;AAIF,WANA;;AAOA,cAAMmgE,QAAQ,GAAG,KAAKL,aAAtB;AACA,iBAAQK,QAAQ,CAACC,OAAT,CAAiBF,QAAjB,IAA6B,CAAC,CAAtC;AACD;;;;;;;uBA1BUL,uB,EAAuB,+H;AAAA,K;;;aAAvBA,uB;AAAuB,eAAvBA,uBAAuB,K;AAAA,kBAFtB;;;;;sEAEDA,uB,EAAuB;cAHnC,wDAGmC;eAHxB;AACV59D,oBAAU,EAAE;AADF,S;AAGwB,Q;;;;;;;;;;;;;;;;;;;;;;ACTpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;;QAMao+D,qB;AAEX,uCAAc;AAAA;;AAEd;AACQ,aAAA1tC,GAAA,GAAM,8CAAaC,IAAb,CAAkB31B,KAAlB,CAAwB,kBAAxB,CAAN;AACA,aAAA41B,EAAA,GAAK,8CAAaD,IAAb,CAAkB31B,KAAlB,CAAwB,kBAAxB,CAAL;AAJS;;;;2CAMI61B,S,EAAW;AAC5B,cAAIC,SAAS,GAAG,8CAAaC,OAAb,CAAqBF,SAArB,EAAgC,KAAKH,GAArC,EAA0C;AACtDM,mBAAO,EAAE,MAAM,CADuC;AAEtDJ,cAAE,EAAE,KAAKA,EAF6C;AAGtDK,gBAAI,EAAE,+CAAcC,GAHkC;AAItDC,mBAAO,EAAE,8CAAaC;AAJgC,WAA1C,CAAhB;AAMA,iBAAON,SAAS,CAAC3O,QAAV,CAAmB,8CAAawO,IAAhC,CAAP;AACH;;;2CAEkB0tC,a,EAAe;AAChC,cAAIl5B,SAAS,GAAG,8CAAaC,OAAb,CAAqB,8CAAazU,IAAb,CAAkB31B,KAAlB,CAAwBH,IAAI,CAACC,SAAL,CAAeujE,aAAf,CAAxB,CAArB,EAA6E,KAAK3tC,GAAlF,EAAuF;AACnGM,mBAAO,EAAE,MAAM,CADoF;AAEnGJ,cAAE,EAAE,KAAKA,EAF0F;AAGnGK,gBAAI,EAAE,+CAAcC,GAH+E;AAInGC,mBAAO,EAAE,8CAAaC;AAJ6E,WAAvF,CAAhB;AAMA,iBAAO+T,SAAS,CAAChjB,QAAV,EAAP;AACH;;;;;;;uBA1BYi8C,qB;AAAqB,K;;;aAArBA,qB;AAAqB,eAArBA,qBAAqB,K;AAAA,kBAFpB;;;;;sEAEDA,qB,EAAqB;cAHjC,wDAGiC;eAHtB;AACVp+D,oBAAU,EAAE;AADF,S;AAGsB,Q;;;;;;;;;;;;;;;;;;;;ACNlC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYas+D,sB;AAQT,sCAAoBzlE,IAApB,EAA6CC,MAA7C,EAA4Ei/B,WAA5E,EAAgH;AAAA;;AAA5F,aAAAl/B,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA+B,aAAAi/B,WAAA,GAAAA,WAAA;AAJrE,aAAA5+B,OAAA,GAAU,kEAAUC,MAAV,GAAmB,sBAA7B;AAI4G;;;;wDAGrFkrB,Q,EAAwB;AACpD;;AACA,eAAKxrB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAOA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAgC,KAAK3sC,OAAL,GAAe,uBAA/C,EAAwEmrB,QAAxE,EAAkFhpB,WAAlF,CAAP;AACJ,S,CAEF;AACA;AACA;;;;uDAEgC;AACxB,eAAKxC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA0C,KAAKtC,OAAL,GAAe,6BAAzD,EAAwFmC,WAAxF,CAAP;AACN;;;kDAE4BhH,E,EAC0F;AAAA,cAD9EkkE,MAC8E,uEADhE,EACgE;AAAA,cAD5DC,QAC4D,uEAD1C,EAC0C;AAAA,cADtC9+B,SACsC,uEADnB,EACmB;AAAA,cAApH4kC,WAAoH,uEAA/F,EAA+F;AAAA,cAA1FC,MAA0F,uEAA1E,EAA0E;AAAA,cAArEl9C,YAAqE,uEAA/C,EAA+C;AAAA,cAA3CgG,MAA2C,uEAA3B,EAA2B;AAAA,cAAvBvF,WAAuB,uEAAF,EAAE;AAEpH;AACAy2C,gBAAM,GAAG,KAAKzgC,WAAL,CAAiBr6B,kBAAjB,CAAoC86D,MAApC,CAAT;AACAC,kBAAQ,GAAG,KAAK1gC,WAAL,CAAiBr6B,kBAAjB,CAAoC+6D,QAApC,CAAX;AACA9+B,mBAAS,GAAG,KAAK5B,WAAL,CAAiBr6B,kBAAjB,CAAoCi8B,SAApC,CAAZ;AACA6kC,gBAAM,GAAG,KAAKzmC,WAAL,CAAiBr6B,kBAAjB,CAAoC8gE,MAApC,CAAT;AACAl9C,sBAAY,GAAG,KAAKyW,WAAL,CAAiBr6B,kBAAjB,CAAoC4jB,YAApC,CAAf;AACAgG,gBAAM,GAAG,KAAKyQ,WAAL,CAAiBr6B,kBAAjB,CAAoC4pB,MAApC,CAAT;;AAEI,eAAKxuB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAiC,KAAKtC,OAAL,GAAe,mBAAf,GAAsC7E,EAAtC,GAA2C,UAA3C,GAAwDkkE,MAAxD,GACtC,YADsC,GACvBC,QADuB,GACZ,aADY,GACI9+B,SADJ,GACgB,iBADhB,GACoC4kC,WADpC,GACkD,UADlD,GAC+DC,MAD/D,GACwE,gBADxE,GAC2Fl9C,YAD3F,GAExC,UAFwC,GAE3BgG,MAF2B,GAElB,eAFkB,GAEAvF,WAFjC,EAE8CzmB,WAF9C,CAAP;AAGH;;;uCAEchH,E,EAAW6Z,M,EAAM;AAC5B,eAAKswD,aAAL,GAAmB,KAAK1mC,WAAL,CAAiBr6B,kBAAjB,CAAoCpJ,EAAE,CAAC6tB,QAAH,EAApC,CAAnB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,sBAAf,GAAyC,KAAKslE,aAA9C,GAA8D,UAA9D,GAA2EtwD,MAAjG,EAAyG7S,WAAzG,CAAP;AACH;;;0CAEiBojE,M,EAAc;AAC5B,eAAKD,aAAL,GAAmB,KAAK1mC,WAAL,CAAiBr6B,kBAAjB,CAAoCghE,MAAM,CAACv8C,QAAP,EAApC,CAAnB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA+B,KAAKtC,OAAL,GAAe,2BAAf,GAA8C,KAAKslE,aAAlF,EAAiGnjE,WAAjG,CAAP;AACH;;;oEAE4D;AAAA,cAAnBqjE,MAAmB,uEAAH,GAAG;AACzD,eAAKF,aAAL,GAAmB,KAAK1mC,WAAL,CAAiBr6B,kBAAjB,CAAoCihE,MAAM,CAACx8C,QAAP,EAApC,CAAnB;;AAEA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAoC,KAAKtC,OAAL,GAAe,kDAAf,GAAqE,KAAKslE,aAA9G,EAA6HnjE,WAA7H,CAAP;AACH;;;2CAEkBsjE,Q,EAAgB;AAC/B,eAAKH,aAAL,GAAmB,KAAK1mC,WAAL,CAAiBr6B,kBAAjB,CAAoCkhE,QAAQ,CAACz8C,QAAT,EAApC,CAAnB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,8BAAf,GAAgD,KAAKslE,aAA3E,EAA0FnjE,WAA1F,CAAP;AACH;;;qCAEYgpB,Q,EAAkB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,iBAAO,KAAKzrB,IAAL,CAAUitC,IAAV,CAAuB,KAAK3sC,OAAL,GAAe,UAAtC,EAAmDmrB,QAAnD,CAAP;AACH;;;0CAEiBuU,Q,EAAU2tB,M,EAAQqY,S,EAAWC,O,EAAO;AAClD;;AACA,eAAKhmE,MAAL,CAAYuC,YAAZ;;AAEAw9B,kBAAQ,GAAC,KAAKd,WAAL,CAAiBr6B,kBAAjB,CAAoCm7B,QAApC,CAAT;AACA2tB,gBAAM,GAAC,KAAKzuB,WAAL,CAAiBr6B,kBAAjB,CAAoC8oD,MAApC,CAAP;AACAqY,mBAAS,GAAC,KAAK9mC,WAAL,CAAiBr6B,kBAAjB,CAAoCmhE,SAApC,CAAV;AACAC,iBAAO,GAAC,KAAK/mC,WAAL,CAAiBr6B,kBAAjB,CAAoCohE,OAApC,CAAR;AAEA,cAAMxjE,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,6BAAf,GAA+C0/B,QAA/C,GAA0D,UAA1D,GAAuE2tB,MAAvE,GAAgF,aAAhF,GAAgGqY,SAAhG,GAA4G,WAA5G,GAA0HC,OAAhJ,EAAyJxjE,WAAzJ,CAAP;AACH;;;4CAEmB44B,M,EAAQsyB,M,EAAM;AAC9BA,gBAAM,GAAC,KAAKzuB,WAAL,CAAiBr6B,kBAAjB,CAAoC8oD,MAApC,CAAP;;AACA,eAAK1tD,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA+B,KAAKtC,OAAL,GAAe,2BAAf,GAA6C+6B,MAA7C,GAAsD,UAAtD,GAAmEsyB,MAAlG,EAA0GlrD,WAA1G,CAAP;AACH;;;sCAEaqjE,M,EAAOxwD,M,EAAM;AACvB,eAAKswD,aAAL,GAAmB,KAAK1mC,WAAL,CAAiBr6B,kBAAjB,CAAoCihE,MAAM,CAACx8C,QAAP,EAApC,CAAnB;;AACA,eAAKrpB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,wBAAf,GAA2C,KAAKslE,aAAhD,GAAgE,UAAhE,GAA4EtwD,MAAlG,EAA0G7S,WAA1G,CAAP;AACH;;;wDAE+BhH,E,EAAU;AACtC,eAAKwE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAiC,KAAKtC,OAAL,GAAe,yBAAf,GAA4C7E,EAA7E,EAAiFgH,WAAjF,CAAP;AACH;;;;;;;uBA/KQgjE,sB,EAAsB,uH,EAAA,wI,EAAA,qI;AAAA,K;;;aAAtBA,sB;AAAsB,eAAtBA,sBAAsB,K;AAAA,kBAFrB;;;;;sEAEDA,sB,EAAsB;cAHlC,wDAGkC;eAHvB;AACVt+D,oBAAU,EAAE;AADF,S;AAGuB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACZnC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYa++D,e;AAEX,+BAAoBlmE,IAApB,EAA6CC,MAA7C,EAA0Ei/B,WAA1E,EAA6G;AAAA;;AAAzF,aAAAl/B,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA6B,aAAAi/B,WAAA,GAAAA,WAAA;AADjE,aAAA5+B,OAAA,GAAU,kEAAUC,MAAV,GAAmB,cAA7B;AACuG;;;;sCAErG;AACT,eAAKN,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAyB,KAAK3sC,OAAL,GAAe,cAAxC,EAAuD,IAAvD,EAA6DmC,WAA7D,CAAP;AACD;;;oCACW0jE,O,EAAe;AACzB,eAAKlmE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAA0B,KAAK3sC,OAAL,GAAe,aAAzC,EAAuD6lE,OAAvD,EAAgE1jE,WAAhE,CAAP;AACD;;;gCACO2jE,Q,EAAkB;AACxB,eAAKnmE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAA0B,KAAK3sC,OAAL,GAAe,SAAzC,EAAmD8lE,QAAnD,EAA6D3jE,WAA7D,CAAP;AACD;;;qCACYgpB,Q,EAAkB;AAC7B,iBAAO,KAAKzrB,IAAL,CAAUitC,IAAV,CAAsB,KAAK3sC,OAAL,GAAe,UAArC,EAAkDmrB,QAAlD,CAAP;AACD;;;mDAC0ByW,Q,EAAS7G,M,EAAM;AACtC,eAAKp7B,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMAu/B,kBAAQ,GAAC,KAAKhD,WAAL,CAAiBr6B,kBAAjB,CAAoCq9B,QAApC,CAAT;AACA,iBAAO,KAAKliC,IAAL,CAAU4C,GAAV,CAAqB,KAAKtC,OAAL,GAAe,oCAAf,GAAoD+6B,MAApD,GAA4D,YAA5D,GAAyE6G,QAA9F,EAAuGz/B,WAAvG,CAAP;AACH;;;;;;;uBA/CUyjE,e,EAAe,uH,EAAA,wI,EAAA,0J;AAAA,K;;;aAAfA,e;AAAe,eAAfA,eAAe,K;AAAA,kBAFd;;;;;sEAEDA,e,EAAe;cAH3B,wDAG2B;eAHhB;AACV/+D,oBAAU,EAAE;AADF,S;AAGgB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACZ5B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUak/D,iB;AAKT,iCAAoBrmE,IAApB,EAA6CC,MAA7C,EAAmE;AAAA;;AAA/C,aAAAD,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AADtC,aAAAK,OAAA,GAAU,kEAAUC,MAAV,GAAmB,gBAA7B;AAC+D;;;;wCAEtD86B,M,EAAgBirC,Q,EAAgB;AAC5C,eAAKrmE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA4B,KAAKtC,OAAL,GAAe,4BAAf,GAA8C+6B,MAA9C,GAAuD,YAAvD,GAAsEirC,QAAlG,EAA4G7jE,WAA5G,CAAP;AACL;;;;;;;uBAhBU4jE,iB,EAAiB,uH,EAAA,wI;AAAA,K;;;aAAjBA,iB;AAAiB,eAAjBA,iBAAiB,K;AAAA,kBAFhB;;;;;sEAEDA,iB,EAAiB;cAH7B,wDAG6B;eAHlB;AACVl/D,oBAAU,EAAE;AADF,S;AAGkB,Q;;;;;;;;;;;;;;;;;;;;;;;;ACV9B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAaao/D,W;AAQT,2BAAoBvmE,IAApB,EAA6CC,MAA7C,EAA0EgE,eAA1E,EAAiH;AAAA;;AAA7F,aAAAjE,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA6B,aAAAgE,eAAA,GAAAA,eAAA;AAFnE,aAAA3D,OAAA,GAAU,2DAAUC,MAAV,GAAmB,gBAA7B;AAE6G;;;;6CAE7E;AAAA,cAApB21D,MAAoB,uEAAH,GAAG;;AACnC,eAAKj2D,MAAL,CAAYuC,YAAZ;;AACA0zD,gBAAM,GAAG,KAAKjyD,eAAL,CAAqBY,kBAArB,CAAwCqxD,MAAxC,CAAT;AACA,cAAMzzD,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA4B,KAAKtC,OAAL,GAAe,kBAAf,GAAoC41D,MAAhE,EAAwEzzD,WAAxE,CAAP;AACL;;;gDAEyBmsD,M,EAAc;AAClC,eAAK3uD,MAAL,CAAYuC,YAAZ;;AACAosD,gBAAM,GAAG,KAAK3qD,eAAL,CAAqBY,kBAArB,CAAwC+pD,MAAxC,CAAT;AACA,cAAMnsD,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMJ,cAAI6jE,WAAW,GAAG,IAAI,gEAAJ,GAAkBx5B,GAAlB,CAAsB,cAAtB,EAAqC,kBAArC,CAAlB;AAEI,iBAAO,KAAKhtC,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,wBAAf,GAA0CsuD,MAAhE,EAAwEnsD,WAAxE,CAAP;AACL;;;sCAE6B;AAAA,cAAhBmmC,EAAgB,uEAAH,GAAG;;AACxB,eAAK3oC,MAAL,CAAYuC,YAAZ;;AACAomC,YAAE,GAAG,KAAK3kC,eAAL,CAAqBY,kBAArB,CAAwC+jC,EAAxC,CAAL;AACA,cAAMnmC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAwB,KAAKtC,OAAL,GAAe,oBAAf,GAAsCsoC,EAA9D,EAAkEnmC,WAAlE,CAAP;AACL;;;6CAIqC;AAAA,cAFhB6tB,WAEgB,uEAFG,GAEH;AAAA,cAFOqvC,MAEP,uEAFqB,EAErB;AAAA,cAF2BC,QAE3B,uEAF2C,EAE3C;AAAA,cAF8CzQ,QAE9C,uEAF8D,EAE9D;AAAA,cADnB1gC,MACmB,uEADL,EACK;AAAA,cADDxF,SACC,uEADgB,EAChB;AAAA,cADoBC,WACpB,uEADwC,EACxC;AAAA,cAAnB4X,SAAmB,uEAAF,EAAE;AAEnB;AACC6+B,gBAAM,GAAG,KAAK17D,eAAL,CAAqBY,kBAArB,CAAwC86D,MAAxC,CAAT;AACAC,kBAAQ,GAAG,KAAK37D,eAAL,CAAqBY,kBAArB,CAAwC+6D,QAAxC,CAAX;AACAzQ,kBAAQ,GAAG,KAAKlrD,eAAL,CAAqBY,kBAArB,CAAwCsqD,QAAxC,CAAX;AACA1gC,gBAAM,GAAG,KAAKxqB,eAAL,CAAqBY,kBAArB,CAAwC4pB,MAAxC,CAAT;AACAxF,mBAAS,GAAG,KAAKhlB,eAAL,CAAqBY,kBAArB,CAAwCokB,SAAxC,CAAZ;AACA6X,mBAAS,GAAG,KAAK78B,eAAL,CAAqBY,kBAArB,CAAwCi8B,SAAxC,CAAZ;;AACb,eAAK7gC,MAAL,CAAYuC,YAAZ;;AACD,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA4B,KAAKtC,OAAL,GAAe,iCAAf,GAAiDgwB,WAAjD,GACnC,UADmC,GACvBqvC,MADuB,GACf,YADe,GACDC,QADC,GACS,YADT,GACuBzQ,QADvB,GACiC,UADjC,GAC4C1gC,MAD5C,GAElC,aAFkC,GAEpBxF,SAFoB,GAET,eAFS,GAEOC,WAFP,GAEoB,aAFpB,GAEkC4X,SAF9D,EAEwEr+B,WAFxE,CAAP,CAhBgC,CAmBhC;AACA;AACA;AACA;AACL,S,CAED;AACA;AACA;;;;2CAEmB24C,Q,EAAQ;AACvB,eAAKn7C,MAAL,CAAYuC,YAAZ;;AAEA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAOA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAA2B,KAAK3sC,OAAL,GAAe,YAA1C,EAAwD86C,QAAxD,EAAkE34C,WAAlE,CAAP;AACH;;;uCAEgB8uD,M,EAAgB;AAC3B,eAAKtxD,MAAL,CAAYuC,YAAZ;;AACA+uD,gBAAM,GAAG,KAAKttD,eAAL,CAAqBY,kBAArB,CAAwC0sD,MAAxC,CAAT;AACA,cAAM9uD,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAe,sBAAf,GAAwCixD,MAAtD,EAA8D9uD,WAA9D,CAAP;AACL;;;uDAEgC8uD,M,EAAc;AACzC,eAAKtxD,MAAL,CAAYuC,YAAZ;;AACA+uD,gBAAM,GAAG,KAAKttD,eAAL,CAAqBY,kBAArB,CAAwC0sD,MAAxC,CAAT;AACA,cAAM9uD,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAoC,KAAKtC,OAAL,GAAe,2CAAf,GAA6DixD,MAAjG,EAAyG9uD,WAAzG,CAAP;AACL;;;qCAGc8uD,M,EAAc;AACvB,eAAKtxD,MAAL,CAAYuC,YAAZ;;AACA+uD,gBAAM,GAAG,KAAKttD,eAAL,CAAqBY,kBAArB,CAAwC0sD,MAAxC,CAAT;AACA,cAAM9uD,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,sBAAf,GAAwCixD,MAA9D,EAAsE9uD,WAAtE,CAAP;AACL;;;4CAEqBosD,Q,EAAkB4X,K,EAAa;AAC/C,eAAKxmE,MAAL,CAAYuC,YAAZ;;AACAqsD,kBAAQ,GAAG,KAAK5qD,eAAL,CAAqBY,kBAArB,CAAwCgqD,QAAxC,CAAX;AACA4X,eAAK,GAAG,KAAKxiE,eAAL,CAAqBY,kBAArB,CAAwC4hE,KAAxC,CAAR;AACA,cAAMhkE,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,iCAAf,GAAmDuuD,QAAnD,GAA8D,UAA9D,GAA2E4X,KAAjG,EAAwGhkE,WAAxG,CAAP;AACL;;;;;;;uBA5IU8jE,W,EAAW,uH,EAAA,wI,EAAA,qI;AAAA,K;;;aAAXA,W;AAAW,eAAXA,WAAW,K;AAAA,kBAFV;;;;;sEAEDA,W,EAAW;cAHvB,wDAGuB;eAHZ;AACVp/D,oBAAU,EAAE;AADF,S;AAGY,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACbxB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWau/D,wB;AAOT,wCAAoB1mE,IAApB,EAA6CC,MAA7C,EAA0EgT,QAA1E,EAA0G;AAAA;;AAAtF,aAAAjT,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA6B,aAAAgT,QAAA,GAAAA,QAAA;AAFnE,aAAA3S,OAAA,GAAU,kEAAUC,MAAV,GAAmB,kBAA7B;AAEsG;;;;qDAEhFomE,U,EAAU;AACnCA,oBAAU,GAAG,KAAK1zD,QAAL,CAAcpO,kBAAd,CAAiC8hE,UAAjC,CAAb;;AACA,eAAK1mE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsC,KAAKtC,OAAL,GAAe,yCAAf,GAA2DqmE,UAAjG,EAA6GlkE,WAA7G,CAAP;AACL;;;wDAEiCmkE,W,EAAmB;AAC/C,cAAIC,WAAW,GAAG,KAAK5zD,QAAL,CAAcpO,kBAAd,CAAiC+hE,WAAjC,CAAlB;;AACA,eAAK3mE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAwC,KAAKtC,OAAL,GAAe,uDAAf,GAAyEumE,WAAjH,EAA8HpkE,WAA9H,CAAP;AACL;;;4CAEkB;AACb,eAAKxC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA4B,KAAKtC,OAAL,GAAe,iBAA3C,EAA8DmC,WAA9D,CAAP;AACL;;;gEAEyC2+D,U,EAAoB;AACxD,cAAIC,MAAM,GAAG,KAAKpuD,QAAL,CAAcpO,kBAAd,CAAiCu8D,UAAjC,CAAb;;AACA,eAAKnhE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,8CAAf,GAAgE+gE,MAAtF,EAA8F5+D,WAA9F,CAAP;AACL;;;oCAEakkE,U,EAAU;AAClBA,oBAAU,GAAG,KAAK1zD,QAAL,CAAcpO,kBAAd,CAAiC8hE,UAAjC,CAAb;;AACA,eAAK1mE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsC,KAAKtC,OAAL,GAAe,wBAAf,GAA0CqmE,UAAhF,EAA4FlkE,WAA5F,CAAP;AACL;;;yCAEgBkkE,U,EAAU;AACzBA,oBAAU,GAAG,KAAK1zD,QAAL,CAAcpO,kBAAd,CAAiC8hE,UAAjC,CAAb;;AACA,eAAK1mE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,4BAAf,GAA8CqmE,UAApE,EAAgFlkE,WAAhF,CAAP;AACH;;;uCAEgBqkE,Q,EAAgBx2C,W,EAAmBquC,Q,EAAe;AAC/DmI,kBAAQ,GAAG,KAAK7zD,QAAL,CAAcpO,kBAAd,CAAiCiiE,QAAjC,CAAX;AACAnI,kBAAQ,GAAG,KAAK1rD,QAAL,CAAcpO,kBAAd,CAAiC85D,QAAjC,CAAX;;AAEA,eAAK1+D,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,mCAAf,GAAqDwmE,QAArD,GAAgE,UAAhE,GAA6Ex2C,WAA7E,GAA4F,YAA5F,GAA2GquC,QAAjI,EAA2Il8D,WAA3I,CAAP;AACH;;;2DAEkCkkE,U,EAAU;AACzCA,oBAAU,GAAG,KAAK1zD,QAAL,CAAcpO,kBAAd,CAAiC8hE,UAAjC,CAAb;;AACA,eAAK1mE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsC,KAAKtC,OAAL,GAAe,8CAAf,GAAgEqmE,UAAtG,EAAkHlkE,WAAlH,CAAP;AACH;;;oCAEWskE,I,EAAsB;AAC9B,eAAK9mE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAkC,KAAK3sC,OAAL,GAAe,WAAjD,EAA8DymE,IAA9D,EAAoEtkE,WAApE,CAAP;AACH;;;;;;;uBAnHYikE,wB,EAAwB,uH,EAAA,wI,EAAA,0J;AAAA,K;;;aAAxBA,wB;AAAwB,eAAxBA,wBAAwB,K;AAAA,kBAFvB;;;;;sEAEDA,wB,EAAwB;cAHpC,wDAGoC;eAHzB;AACVv/D,oBAAU,EAAE;AADF,S;AAGyB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACXrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAaa6/D,mB;AAQT,mCAAoBhnE,IAApB,EAA6CC,MAA7C,EAA2EgT,QAA3E,EAA2G;AAAA;;AAAvF,aAAAjT,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA8B,aAAAgT,QAAA,GAAAA,QAAA;AANpE,aAAA3S,OAAA,GAAU,kEAAUC,MAAV,GAAmB,kBAA7B;AAMuG;;;;6CAGzF+U,M,EAAc;AAC/B,eAAKrV,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA8B,KAAKtC,OAAL,GAAe,4BAAf,GAA8CgV,MAA5E,EAAoF7S,WAApF,CAAP;AACL;;;wCAEiBgpB,Q,EAAsB;AAClC;;AACA,eAAKxrB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAA6B,KAAK3sC,OAAL,GAAe,eAA5C,EAA6DmrB,QAA7D,EAAuEhpB,WAAvE,CAAP;AACL;;;2CAEoBhH,E,EAAWs1B,M,EAAiB;AAE3Ct1B,YAAE,GAAG,KAAKwX,QAAL,CAAcpO,kBAAd,CAAiCpJ,EAAjC,CAAL;;AAEA,eAAKwE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAe,sBAAf,GAAwC7E,EAAxC,GAA6C,UAA7C,GAA0Ds1B,MAAxE,EAAgFtuB,WAAhF,CAAP;AACL;;;+CAEsBhH,E,EAAY;AAC/BA,YAAE,GAAG,KAAKwX,QAAL,CAAcpO,kBAAd,CAAiCpJ,EAAjC,CAAL;;AACF,eAAKwE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAe,0BAAf,GAA4C7E,EAA1D,EAA8DgH,WAA9D,CAAP;AACH;;;8CAEyBwkE,S,EAAiB;AACnCA,mBAAS,GAAG,KAAKh0D,QAAL,CAAcpO,kBAAd,CAAiCoiE,SAAjC,CAAZ;;AACA,eAAKhnE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA8B,KAAKtC,OAAL,GAAe,4BAAf,GAA8C2mE,SAA5E,EAAuFxkE,WAAvF,CAAP;AACL;;;oDAE2BwkE,S,EAAiB;AAC3CA,mBAAS,GAAG,KAAKh0D,QAAL,CAAcpO,kBAAd,CAAiCoiE,SAAjC,CAAZ;;AACA,eAAKhnE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA4B,KAAKtC,OAAL,GAAe,wCAAf,GAA0D2mE,SAAtF,EAAiGxkE,WAAjG,CAAP;AACD;;;uDAE+BykE,Q,EAAgB;AAC3C;AACAA,kBAAQ,GAAG,KAAKj0D,QAAL,CAAcpO,kBAAd,CAAiCqiE,QAAjC,CAAX;;AACC,eAAKjnE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsC,KAAKtC,OAAL,GAAe,+CAAf,GAAiE4mE,QAAvG,EAAiHzkE,WAAjH,CAAP;AACL;;;wCAEey9D,M,EAAcgH,Q,EAAgBjxB,Y,EAAoBxnB,M,EAAa;AAC7Ey4C,kBAAQ,GAAG,KAAKj0D,QAAL,CAAcpO,kBAAd,CAAiCqiE,QAAjC,CAAX;AACAjxB,sBAAY,GAAG,KAAKhjC,QAAL,CAAcpO,kBAAd,CAAiCoxC,YAAjC,CAAf;AACAxnB,gBAAM,GAAG,KAAKxb,QAAL,CAAcpO,kBAAd,CAAiC4pB,MAAjC,CAAT;;AAEA,eAAKxuB,MAAL,CAAYuC,YAAZ;;AACC,cAAMC,WAAW,GAAG;AACjBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADQ,WAApB;AAMD,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,6BAAf,GAA6C4/D,MAA7C,GAAoD,YAApD,GAAiEgH,QAAjE,GAA0E,gBAA1E,GAA2FjxB,YAA3F,GAAwG,UAAxG,GAAmHxnB,MAAzI,EAAgJhsB,WAAhJ,CAAP;AACH;;;8CAEqB49D,W,EAAYH,M,EAAcp8B,e,EAAe;AAC3D,eAAK7jC,MAAL,CAAYuC,YAAZ;;AAEA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAoB,KAAK3sC,OAAL,GAAe,8BAAf,GAA8C4/D,MAA9C,GAAsD,mBAAtD,GAA0Ep8B,eAA9F,EAA8Gu8B,WAA9G,EAA0H59D,WAA1H,CAAP;AACH;;;8CAEqB0kE,U,EAAwC;AAAA,cAApBxI,QAAoB,uEAAH,GAAG;;AAC1D,eAAK1+D,MAAL,CAAYuC,YAAZ;;AACC;AACD,eAAK4kE,iBAAL,GAAuB,KAAKn0D,QAAL,CAAcpO,kBAAd,CAAiCsiE,UAAjC,CAAvB;AACA,eAAKE,eAAL,GAAqB,KAAKp0D,QAAL,CAAcpO,kBAAd,CAAiC85D,QAAjC,CAArB;AACA,cAAMl8D,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,mCAAf,GAAqD,KAAK8mE,iBAA1D,GAA8E,YAA9E,GAA6F,KAAKC,eAAxH,EAAyI5kE,WAAzI,CAAP;AACH;;;mDAC0Bk8D,Q,EAAgB;AACvC,eAAK1+D,MAAL,CAAYuC,YAAZ;;AACAm8D,kBAAQ,GAAG,KAAK1rD,QAAL,CAAcpO,kBAAd,CAAiC85D,QAAjC,CAAX;AAEA,cAAMl8D,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA8B,KAAKtC,OAAL,GAAe,oCAAf,GAAsDq+D,QAApF,EAA8Fl8D,WAA9F,CAAP;AACD;;;+DAEsCw/D,O,EAAqC;AAAA,cAApBt4C,UAAoB,uEAAF,EAAE;AAC1EA,oBAAU,GAAG,KAAK1W,QAAL,CAAcpO,kBAAd,CAAiC8kB,UAAjC,CAAb;;AACA,eAAK1pB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAgC,KAAKtC,OAAL,GAAe,+CAAf,GAAiE2hE,OAAjE,GAA2E,cAA3E,GAA4Ft4C,UAA5H,EAAwIlnB,WAAxI,CAAP;AACH;;;;;;;uBAhKYukE,mB,EAAmB,uH,EAAA,wI,EAAA,0J;AAAA,K;;;aAAnBA,mB;AAAmB,eAAnBA,mBAAmB,K;AAAA,kBAFlB;;;;;sEAEDA,mB,EAAmB;cAH/B,wDAG+B;eAHpB;AACV7/D,oBAAU,EAAE;AADF,S;AAGoB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACbhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYamgE,wB;AAGT,wCAAoBtnE,IAApB,EAA6CC,MAA7C,EAA0EgE,eAA1E,EAAiH;AAAA;;AAA7F,aAAAjE,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA6B,aAAAgE,eAAA,GAAAA,eAAA;AACnE,aAAA3D,OAAA,GAAU,2DAAUC,MAAV,GAAmB,kBAA7B;AAD6G;;;;iDAG3F2/D,M,EAAOqH,Y,EAAaxoB,Q,EAASC,M,EAAOwoB,Y,EAAaC,c,EAAeC,Q,EAASjoC,U,EAAWC,S,EAAS;AAClH,eAAKz/B,MAAL,CAAYuC,YAAZ;;AACA,cAAImlE,QAAQ,GAAC,KAAK1jE,eAAL,CAAqBY,kBAArB,CAAwC0iE,YAAxC,CAAb;;AACA,cAAM9kE,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAmC,KAAKtC,OAAL,GAAe,6BAAf,GAA+C4/D,MAA/C,GAAuD,eAAvD,GAAuEyH,QAAvE,GAC1C,YAD0C,GAC7B5oB,QAD6B,GACpB,UADoB,GACTC,MADS,GACD,gBADC,GACgBwoB,YADhB,GAC8B,kBAD9B,GACiDC,cADjD,GAEzC,YAFyC,GAE5BC,QAF4B,GAEnB,cAFmB,GAEJjoC,UAFI,GAEQ,aAFR,GAEsBC,SAFzD,EAEoEj9B,WAFpE,CAAP;AAGL;;;0CAEmB44B,M,EAAgB+lC,U,EAAoBriB,Q,EAAgBC,M,EAAY;AAC9E,eAAK/+C,MAAL,CAAYuC,YAAZ;;AACA,cAAIolE,mBAAmB,GAAG,KAAK3jE,eAAL,CAAqBY,kBAArB,CAAwCu8D,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAAA,UAAA,GAAc,GAAtD,EAA2D93C,QAA3D,EAA1B;;AACA,cAAM7mB,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,yBAAf,GAA2C+6B,MAA3C,GAAoD,cAApD,GAAqEusC,mBAArE,GAA2F,YAA3F,GAA0G7oB,QAA1G,GAAqH,UAArH,GAAkIC,MAAxJ,EAAgKv8C,WAAhK,CAAP;AACL;;;kEAE2Cy9D,M,EAAOqH,Y,EAAaxoB,Q,EAASC,M,EAAOwoB,Y,EAAaC,c,EAAeC,Q,EAASjoC,U,EAAWC,S,EAAS;AACnI,eAAKz/B,MAAL,CAAYuC,YAAZ;;AACA,cAAI4+D,UAAU,GAAC,KAAKn9D,eAAL,CAAqBY,kBAArB,CAAwC0iE,YAAxC,CAAf;;AACA,cAAM9kE,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAmC,KAAKtC,OAAL,GAAe,8CAAf,GAAgE4/D,MAAhE,GAAwE,gBAAxE,GAAyFkB,UAAzF,GACzC,YADyC,GAC5BriB,QAD4B,GAClB,UADkB,GACPC,MADO,GACA,gBADA,GACiBwoB,YADjB,GAC8B,kBAD9B,GACiDC,cADjD,GACgE,YADhE,GAC6EC,QAD7E,GACsF,cADtF,GACqGjoC,UADrG,GAEzC,aAFyC,GAE3BC,SAFR,EAEmBj9B,WAFnB,CAAP;AAGL;;;wDAEiC44B,M,EAAgB+lC,U,EAAoBriB,Q,EAAgBC,M,EAAY;AAC5F,eAAK/+C,MAAL,CAAYuC,YAAZ;;AACA,cAAIolE,mBAAmB,GAAG,KAAK3jE,eAAL,CAAqBY,kBAArB,CAAwCu8D,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAAA,UAAA,GAAc,GAAtD,EAA2D93C,QAA3D,EAA1B;;AACA,cAAM7mB,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,uCAAf,GAAyD+6B,MAAzD,GAAkE,cAAlE,GAAmFusC,mBAAnF,GAAyG,YAAzG,GAAwH7oB,QAAxH,GAAmI,UAAnI,GAAgJC,MAAtK,EAA8Kv8C,WAA9K,CAAP;AACL;;;sEAE6Cy9D,M,EAAOqH,Y,EAAaxoB,Q,EAAS37C,K,EAAMc,I,EAAKsjE,Y,EAAaC,c,EAAeC,Q,EAASG,U,EAAWnoC,S,EAAS;AAC7I,eAAKz/B,MAAL,CAAYuC,YAAZ;;AACA,cAAI4+D,UAAU,GAAC,KAAKn9D,eAAL,CAAqBY,kBAArB,CAAwC0iE,YAAxC,CAAf;;AACA,cAAM9kE,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAmC,KAAKtC,OAAL,GAAe,kDAAf,GAAoE4/D,MAApE,GAA6E,cAA7E,GAA4FkB,UAA5F,GAAwG,YAAxG,GAAqHriB,QAArH,GACzC,SADyC,GAC/B37C,KAD+B,GACxB,QADwB,GACfc,IADe,GACT,gBADS,GACQsjE,YADR,GACuB,kBADvB,GAC0CC,cAD1C,GAC2D,YAD3D,GACwEC,QADxE,GACkF,cADlF,GACiGG,UADjG,GAEzC,aAFyC,GAE3BnoC,SAFR,EAEmBj9B,WAFnB,CAAP;AAGH;;;4DAEuC44B,M,EAAgB+lC,U,EAAoBriB,Q,EAAgBC,M,EAAY;AAChG,eAAK/+C,MAAL,CAAYuC,YAAZ;;AACA,cAAIolE,mBAAmB,GAAG,KAAK3jE,eAAL,CAAqBY,kBAArB,CAAwCu8D,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAAA,UAAA,GAAc,GAAtD,EAA2D93C,QAA3D,EAA1B;;AACA,cAAM7mB,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,2CAAf,GAA6D+6B,MAA7D,GAAsE,cAAtE,GAAuFusC,mBAAvF,GAA6G,YAA7G,GAA4H7oB,QAA5H,GAAuI,UAAvI,GAAoJC,MAA1K,EAAkLv8C,WAAlL,CAAP;AACL;;;iDAE0B2+D,U,EAAoB7+D,I,EAAY;AACrD,eAAKtC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAqB,KAAKtC,OAAL,GAAe,oCAAf,GAAsD8gE,UAAtD,GAAmE,QAAnE,GAA8E7+D,IAAnG,EAAyGE,WAAzG,CAAP;AACL;;;yDAEkCy9D,M,EAAM;AACnC,eAAKjgE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA0B,KAAKtC,OAAL,GAAe,wCAAf,GAA0D4/D,MAApF,EAA4Fz9D,WAA5F,CAAP;AACL;;;uCAEgB6S,M,EAAM;AACjB,eAAKrV,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,gCAAf,GAAkDgV,MAAxE,EAAiF7S,WAAjF,CAAP;AACL;;;yDAEgCqlE,mB,EAAoBL,c,EAAeM,O,EAAQC,e,EAAe;AACzF,eAAK/nE,MAAL,CAAYuC,YAAZ;;AACA,cAAIuuB,MAAM,GAAEjvB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAZ;AAEA,cAAMK,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMAolE,iBAAO,GAAC,KAAK9jE,eAAL,CAAqBY,kBAArB,CAAwCkjE,OAAxC,CAAR;AACA,iBAAO,KAAK/nE,IAAL,CAAUitC,IAAV,CAAoB,KAAK3sC,OAAL,GAAe,sCAAf,GAAsDmnE,cAAtD,GAAsE,WAAtE,GAAkFM,OAAlF,GAA2F,UAA3F,GAAuGh3C,MAAvG,GAA+G,mBAA/G,GAAmIi3C,eAAvJ,EAAuKF,mBAAvK,EAA2LrlE,WAA3L,CAAP;AACH;;;+CACsB44B,M,EAAgB+lC,U;;;cAAmB35C,M,uEAAc,C;cAAElD,W;mCAAW;AACjF,oBAAI,CAACtkB,MAAL,CAAYuC,YAAZ;;AACA,gBAAI64B,MAAM,GAAEv5B,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAZ;;AACA,gBAAIwlE,mBAAmB,GAAG,QAAI,CAAC3jE,eAAL,CAAqBY,kBAArB,CAAwCu8D,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAAA,UAAA,GAAc,GAAtD,EAA2D93C,QAA3D,EAA1B;;AACA,gBAAM7mB,WAAW,GAAG;AAChBC,qBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,gCAAgB,kBADK;AAErB,iCAAiB,QAAI,CAACzC,MAAL,CAAY0C;AAFR,eAAhB;AADO,aAApB;AAMA,mBAAO,QAAI,CAAC3C,IAAL,CAAUitC,IAAV,CAAoB,QAAI,CAAC3sC,OAAL,GAAe,8BAAf,GAAgD+6B,MAAhD,GAAyD,cAAzD,GAA0EusC,mBAA1E,GAAgG,UAAhG,GAA2GngD,MAA/H,EAAsIlD,WAAtI,EAAkJ9hB,WAAlJ,CAAP;AACH,W;;;;mDAE0B44B,M,EAAgB+lC,U,EAAoBriB,Q,EAAgBC,M;;;cAAav3B,M,uEAAc,C;cAAElD,W;cAAYib,M;cAAOkoC,Q;cAAS5mC,S;mCAAS;AAC7I,oBAAI,CAAC7gC,MAAL,CAAYuC,YAAZ;;AACA,gBAAI64B,MAAM,GAAEv5B,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAZ;;AACA,gBAAIwlE,mBAAmB,GAAG,QAAI,CAAC3jE,eAAL,CAAqBY,kBAArB,CAAwCu8D,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAAA,UAAA,GAAc,GAAtD,EAA2D93C,QAA3D,EAA1B;;AACA,gBAAM7mB,WAAW,GAAG;AAChBC,qBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,gCAAgB,kBADK;AAErB,iCAAiB,QAAI,CAACzC,MAAL,CAAY0C;AAFR,eAAhB;AADO,aAApB;AAMA,mBAAO,QAAI,CAAC3C,IAAL,CAAUitC,IAAV,CAAoB,QAAI,CAAC3sC,OAAL,GAAe,kCAAf,GAAoD+6B,MAApD,GAA6D,cAA7D,GAA8EusC,mBAA9E,GAC3B,YAD2B,GACZ7oB,QADY,GACD,UADC,GACYC,MADZ,GACoB,UADpB,GAC+Bv3B,MAD/B,GACuC,UADvC,GACkD+X,MADlD,GACyD,YADzD,GACsEkoC,QADtE,GAC+E,aAD/E,GAC6F5mC,SADjH,EAC2Hvc,WAD3H,EACuI9hB,WADvI,CAAP;AAEH,W;;;;qDAE4B44B,M,EAAgB+lC,U;;;cAAmB35C,M,uEAAc,C;cAAElD,W;mCAAW;AACvF,oBAAI,CAACtkB,MAAL,CAAYuC,YAAZ;;AACA,gBAAI64B,MAAM,GAAEv5B,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAZ;;AACA,gBAAIwlE,mBAAmB,GAAG,QAAI,CAAC3jE,eAAL,CAAqBY,kBAArB,CAAwCu8D,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAAA,UAAA,GAAc,GAAtD,EAA2D93C,QAA3D,EAA1B;;AACA,gBAAM7mB,WAAW,GAAG;AAChBC,qBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,gCAAgB,kBADK;AAErB,iCAAiB,QAAI,CAACzC,MAAL,CAAY0C;AAFR,eAAhB;AADO,aAApB;AAMA,mBAAO,QAAI,CAAC3C,IAAL,CAAUitC,IAAV,CAAoB,QAAI,CAAC3sC,OAAL,GAAe,oCAAf,GAAsD+6B,MAAtD,GAA+D,cAA/D,GAAgFusC,mBAAhF,GAAsG,UAAtG,GAAiHngD,MAArI,EAA4IlD,WAA5I,EAAwJ9hB,WAAxJ,CAAP;AACH,W;;;;uDAE8By9D,M,EAAM;AACjC,eAAKjgE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAmC,KAAKtC,OAAL,GAAe,sCAAf,GAAwD4/D,MAA3F,EAAoGz9D,WAApG,CAAP;AACH;;;wEAE+CooC,M,EAAM;AAClD,eAAK5qC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAmC,KAAKtC,OAAL,GAAe,oDAAf,GAAsEuqC,MAAzG,EAAiHpoC,WAAjH,CAAP;AACH;;;4EAEmDy9D,M,EAAM;AACtD,eAAKjgE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAmC,KAAKtC,OAAL,GAAe,wDAAf,GAA0E4/D,MAA7G,EAAqHz9D,WAArH,CAAP;AACH;;;;;;;uBAzMY6kE,wB,EAAwB,uH,EAAA,wI,EAAA,qI;AAAA,K;;;aAAxBA,wB;AAAwB,eAAxBA,wBAAwB,K;AAAA,kBAFvB;;;;;sEAEDA,wB,EAAwB;cAHpC,wDAGoC;eAHzB;AACVngE,oBAAU,EAAE;AADF,S;AAGyB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACZrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAaqkD,Y;;;;QA0BAyc,gB;;;;QAMAC,iB;;;;QAQAC,gB;;;;QAMAC,uB;;;;QAOAC,kB;;;;QAuBAC,mB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QChEAC,Y;AAEX,4BAAoBvoE,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AACX,aAAAypC,QAAA,GAAW,2DAAUA,QAArB;AACA,aAAAE,eAAA,GAAgB,2DAAUA,eAA1B;AAFgC;;;;iCAK1BhiC,Q,EAAkB0kC,Q,EAAkBK,Q,EAAkB;;;;;;;AAC7DjU,0B,GAAS,IAAI,+DAAJ,CAAe;AAC5B+vC,gCAAU,EAAE;AACVC,kCAAU,EAAE,UADF;AAEV9gE,gCAAQ,EAAEA,QAFA;AAGV0kC,gCAAQ,EAAEA,QAHA;AAIVK,gCAAQ,EAAEA;AAJA;AADgB,qBAAf,C;AAQTjqC,+B,GAAc;AAClBC,6BAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB,wCAAgB;AADO,uBAAhB;AADS,qB;;AAKb,2BAAM,KAAK1C,IAAL,CAAUitC,IAAV,CAAoB,KAAKxD,QAAL,GAAgB,QAApC,EAA8ChR,MAA9C,EAAsDh2B,WAAtD,EAAmE+L,IAAnE,CACX,+DAAI,UAAA6b,GAAG;AAAA,6BAAIA,GAAJ;AAAA,qBAAP,CADW,EAEX,kEAAW,KAAKq+C,WAAhB,CAFW,EAGXC,SAHW,EAAN;;;;;;;;;;;;AAKR;;;oCACWrrC,K,EAAO;AACjB,iBAAO,wDAAWA,KAAK,CAACA,KAAN,CAAYsrC,iBAAvB,CAAP;AACD;;;0CASiBxD,Q,EAAgBziE,K,EAAY;AAC5C,cAAMF,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,WAAU,GAAV,GAAeZ,YAAY,CAACM,OAAb,CAAqB,KAArB;AAFX,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAKpC,IAAL,CAAU4C,GAAV,CAAsB,2DAAUrC,MAAV,GAAmB,0CAAnB,GAA8D6kE,QAA9D,GAAwE,SAAxE,GAAmFziE,KAAzG,EAA+GF,WAA/G,CAAP;AACD;;;uCAGa;AACZ,eAAKE,KAAL,GAAa,WAAW,GAAX,GAAiBb,YAAY,CAACM,OAAb,CAAqB,KAArB,CAA9B;AACA,eAAKymE,kBAAL,GAA0B/7B,cAAc,CAAC1qC,OAAf,CAAuB,MAAvB,CAA1B;AACA,eAAK0mE,4BAAL,GAAkC,CAAC,KAAKn/B,eAAxC,CAHY,CAG4C;;AACxD,eAAK1+B,IAAL,GAAY,IAAI9K,IAAJ,CAAS,KAAK0oE,kBAAd,CAAZ;AACA,eAAKE,WAAL,GAAmB,IAAI5oE,IAAJ,EAAnB;AACA,cAAI4oE,WAAW,GAAG,KAAKA,WAAvB;AACA,cAAIC,kBAAkB,GAAI,KAAK/9D,IAA/B;AACA,cAAIg+D,GAAG,GAAGF,WAAW,CAACG,OAAZ,KAAwBF,kBAAkB,CAACE,OAAnB,EAAlC;AAEA,cAAIC,qBAAqB,GAAGF,GAAG,GAAG,IAAlC;AACA,cAAIG,qBAAqB,GAAG1pE,IAAI,CAACwL,GAAL,CAASi+D,qBAAT,CAA5B;AACA,cAAIE,eAAe,GAAC,CAACvnE,YAAY,CAACM,OAAb,CAAqB,8BAArB,CAArB;AAEA,cAAIknE,iBAAiB,GAACD,eAAe,GAAC,CAAtC;AACA,cAAGC,iBAAiB,IAAG,CAAC,CAAxB,EACEA,iBAAiB,GAAC,CAAlB;;AAEF,cAAGF,qBAAqB,GAAGE,iBAA3B,EAA6C;AAE3CC,sBAAU,CAACznE,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAD,EAA8BN,YAAY,CAACM,OAAb,CAAqB,KAArB,CAA9B,EAA2DN,YAAY,CAACM,OAAb,CAAqB,OAArB,CAA3D,CAAV;AACA,iBAAKO,KAAL,GAAa,WAAW,GAAX,GAAiBb,YAAY,CAACM,OAAb,CAAqB,KAArB,CAA9B;AACA,iBAAKmT,iBAAL,CAAuBzT,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAvB,EAAoDN,YAAY,CAACM,OAAb,CAAqB,KAArB,CAApD,EAAiFT,SAAjF,CAA2F,UAAAO,IAAI,EAAE,CAEhG,CAFD;AAGD;AACF;;;2CAEwB;;;;;;;;;AAEV,2BAAM,KAAKuqC,QAAL,CAAc3qC,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAd,EAA2CN,YAAY,CAACM,OAAb,CAAqB,KAArB,CAA3C,EAAwEN,YAAY,CAACM,OAAb,CAAqB,OAArB,CAAxE,CAAN;;;AAAPF,wB;;AACN,wBAAIA,IAAI,IAAI,IAAZ,EAAkB;AAChBJ,kCAAY,CAACC,OAAb,CAAqB,KAArB,EAA4BG,IAAI,CAACyqC,YAAjC;AACA,2BAAK68B,cAAL,GAAsB,IAAIrpE,IAAJ,EAAtB;AACA2sC,oCAAc,CAAC/qC,OAAf,CAAuB,MAAvB,EAA+B,KAAKynE,cAAL,CAAoBlgD,QAApB,EAA/B;AACA,2BAAK3mB,KAAL,GAAa,WAAW,GAAX,GAAiBb,YAAY,CAACM,OAAb,CAAqB,KAArB,CAA9B,CAJgB,CAKhB;;AACA,2BAAKmT,iBAAL,CAAuBzT,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAvB,EAAoDF,IAAI,CAACyqC,YAAzD,EAAuEhrC,SAAvE,CAAiF,UAAAO,IAAI,EAAE,CAEtF,CAFD;AAGD;;;;;;;;;;;;;;;;AAIF;;;;;;;uBA7FUqmE,Y,EAAY,uH;AAAA,K;;;aAAZA,Y;AAAY,eAAZA,YAAY,K;AAAA,kBAFX;;;;;sEAEDA,Y,EAAY;cAHxB,wDAGwB;eAHb;AACVphE,oBAAU,EAAE;AADF,S;AAGa,Q;;;;;;;;;;;;;;;;;;;;;;ACZzB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWasiE,mB;AAQT,mCAAoBzpE,IAApB,EAA6CC,MAA7C,EAAmE;AAAA;;AAA/C,aAAAD,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAFtC,aAAAK,OAAA,GAAU,2DAAUC,MAAV,GAAmB,gBAA7B;AAE+D;;;;iDAE7CwwB,M,EAAc;AACnC,eAAK9wB,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA8B,KAAKtC,OAAL,GAAe,gCAAf,GAAkDywB,MAAhF,EAAwFtuB,WAAxF,CAAP;AACL;;;0CAEiB24C,Q,EAAQ;AAExB,eAAKn7C,MAAL,CAAYuC,YAAZ;;AACI,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMJ,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAA6B,KAAK3sC,OAAL,GAAe,wBAA5C,EAAuE86C,QAAvE,EAAkF34C,WAAlF,CAAP;AACD;;;;;;;uBA/BUgnE,mB,EAAmB,uH,EAAA,wI;AAAA,K;;;aAAnBA,mB;AAAmB,eAAnBA,mBAAmB,K;AAAA,kBAFlB;;;;;sEAEDA,mB,EAAmB;cAH/B,wDAG+B;eAHpB;AACVtiE,oBAAU,EAAE;AADF,S;AAGoB,Q;;;;;;;;;;;;;;;;;;;;;;;;ACXhC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAca2E,W;AAOT,2BAAoB9L,IAApB,EAA6CC,MAA7C,EAAyEgE,eAAzE,EAAgH;AAAA;;AAA5F,aAAAjE,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA4B,aAAAgE,eAAA,GAAAA,eAAA;AALhE,aAAA3D,OAAA,GAAU,kEAAUC,MAAV,GAAmB,gBAA7B,CAKuG,CAEjH;;AACQ,aAAAs3B,GAAA,GAAM,8CAAaC,IAAb,CAAkB31B,KAAlB,CAAwB,kBAAxB,CAAN;AACA,aAAA41B,EAAA,GAAK,8CAAaD,IAAb,CAAkB31B,KAAlB,CAAwB,kBAAxB,CAAL;AAJ4G,O,CAMpH;;;;;2CACmBkqC,Q,EAAiB;AAChC,cAAIC,SAAS,GAAG,8CAAaC,OAAb,CAAqB,8CAAazU,IAAb,CAAkB31B,KAAlB,CAAwBH,IAAI,CAACC,SAAL,CAAeoqC,QAAf,CAAxB,CAArB,EAAwE,KAAKxU,GAA7E,EAAkF;AAC9FM,mBAAO,EAAE,MAAM,CAD+E;AAE9FJ,cAAE,EAAE,KAAKA,EAFqF;AAG9FK,gBAAI,EAAE,+CAAcC,GAH0E;AAI9FC,mBAAO,EAAE,8CAAaC;AAJwE,WAAlF,CAAhB;AAMA,iBAAO+T,SAAS,CAAChjB,QAAV,EAAP;AACH;;;sCAIc24C,O,EAGqC;AAAA,cAHnB3xC,WAGmB,uEAHA,GAGA;AAAA,cAHMqvC,MAGN,uEAHoB,EAGpB;AAAA,cAH0BC,QAG1B,uEAH0C,EAG1C;AAAA,cAFtCzsD,QAEsC,uEAFtB,EAEsB;AAAA,cAFjBk2B,KAEiB,uEAFJ,EAEI;AAAA,cAFAqgC,MAEA,uEAFc,EAEd;AAAA,cAFkBhY,QAElB,uEAFmC,EAEnC;AAAA,cADtCzoC,SACsC,uEADrB,EACqB;AAAA,cADhBC,WACgB,uEADG,EACH;AAAA,cADOuS,WACP,0EAD2B,EAC3B;AAAA,cAD+BhN,MAC/B,0EAD6C,EAC7C;AAAA,cAAtCqS,SAAsC,0EAArB,EAAqB;AAAA,cAAjBynB,IAAiB,0EAAF,EAAE;AAElC;AACAj4B,qBAAW,GAAC,KAAKzrB,kBAAL,CAAwByrB,WAAxB,CAAZ;AACAqvC,gBAAM,GAAC,KAAK96D,kBAAL,CAAwB86D,MAAxB,CAAP;AACAC,kBAAQ,GAAC,KAAK/6D,kBAAL,CAAwB+6D,QAAxB,CAAT;AACAzsD,kBAAQ,GAAC,KAAKtO,kBAAL,CAAwBsO,QAAxB,CAAT;AACAk2B,eAAK,GAAC,KAAKxkC,kBAAL,CAAwBwkC,KAAxB,CAAN;AACAqgC,gBAAM,GAAC,KAAK7kE,kBAAL,CAAwB6kE,MAAxB,CAAP;AACAhY,kBAAQ,GAAC,KAAK7sD,kBAAL,CAAwB6sD,QAAxB,CAAT;AACAzoC,mBAAS,GAAC,KAAKpkB,kBAAL,CAAwBokB,SAAxB,CAAV,CAVkC,CAWjC;;AACAwS,qBAAW,GAAC,KAAK52B,kBAAL,CAAwB42B,WAAxB,CAAZ;AACAhN,gBAAM,GAAC,KAAK5pB,kBAAL,CAAwB4pB,MAAxB,CAAP;AACAqS,mBAAS,GAAC,KAAKj8B,kBAAL,CAAwBi8B,SAAxB,CAAV;AACAynB,cAAI,GAAC,KAAK1jD,kBAAL,CAAwB0jD,IAAxB,CAAL,CAfiC,CAgBnC;;AAEZ,eAAKtoD,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA4B,KAAKtC,OAAL,GAAe,iBAAf,GAAmC2hE,OAAnC,GACjC,eADiC,GACf3xC,WADe,GACD,UADC,GACYqvC,MADZ,GACqB,YADrB,GACoCC,QADpC,GAC+C,YAD/C,GAC8DzsD,QAD9D,GAEjC,SAFiC,GAErBk2B,KAFqB,GAEb,UAFa,GAEAqgC,MAFA,GAES,YAFT,GAEwBhY,QAFxB,GAEmC,aAFnC,GAEmDzoC,SAFnD,GAGjC,eAHiC,GAGfC,WAHe,GAGD,eAHC,GAGiBuS,WAHjB,GAG+B,UAH/B,GAG4ChN,MAH5C,GAIjC,aAJiC,GAIjBqS,SAJiB,GAIN,QAJM,GAIKynB,IAJjC,EAIwC9lD,WAJxC,CAAP;AAKH;;;4CAEmBw/D,O,EAAkC;AAAA,cAAjB1Z,IAAiB,uEAAF,EAAE;;AAClD,eAAKtoD,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA4lD,cAAI,GAAC,KAAK1jD,kBAAL,CAAwB0jD,IAAxB,CAAL;AACA,iBAAO,KAAKvoD,IAAL,CAAU4C,GAAV,CAA4B,KAAKtC,OAAL,GAAe,uBAAf,GAAyC2hE,OAAzC,GAAmD,QAAnD,GAA8D1Z,IAA1F,EAAgG9lD,WAAhG,CAAP;AACH;;;uDAE8B44B,M,EAAc;AACzC,eAAKp7B,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAoC,KAAKtC,OAAL,GAAe,sCAAf,GAAwD+6B,MAA5F,EAAoG54B,WAApG,CAAP;AACH;;;0CAEiB6S,M,EAAgB;AAC9B,eAAKrV,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAe,yBAAf,GAA2CgV,MAAzD,EAAiE7S,WAAjE,CAAP;AACH;;;6CAEoB6S,M,EAAgB;AACjC,eAAKrV,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAe,4BAAf,GAA8CgV,MAA5D,EAAoE7S,WAApE,CAAP;AACH;;;0CAEiB05D,S,EAAiB;AAC/B,eAAKl8D,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA4B,KAAKtC,OAAL,GAAe,uCAAf,GAAyD67D,SAArF,EAAgG15D,WAAhG,CAAP;AACH;;;kDAEyBhH,E,EAAYkuE,c,EAAwB;AAC1D,eAAK1pE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAe,0BAAf,GAA4C7E,EAA5C,GAAiD,kBAAjD,GAAsEkuE,cAApF,EAAoGlnE,WAApG,CAAP;AACH;;;4CAEmBmnE,U,EAAsB;AACtC,eAAK3pE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAOA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAA2B,KAAK3sC,OAAL,GAAe,mBAA1C,EAA+DspE,UAA/D,EAA2EnnE,WAA3E,CAAP;AACH;;;gDAEuB24C,Q,EAAU;AAC9B,eAAKn7C,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAOA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAA2B,KAAK3sC,OAAL,GAAe,uBAA1C,EAAmE86C,QAAnE,EAA6E34C,WAA7E,CAAP;AACH;;;qCAEYonE,U,EAAY5J,a,EAAuBC,M,EAAc;AAC1DD,uBAAa,GAAC,KAAKp7D,kBAAL,CAAwBo7D,aAAxB,CAAd;;AAEA,eAAKhgE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAOA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAoB,KAAK3sC,OAAL,GAAe,2BAAf,GAA6C2/D,aAA7C,GAA6D,UAA7D,GAA0EC,MAA9F,EAAsG2J,UAAtG,EAAkHpnE,WAAlH,CAAP;AACH;;;2CAEkB4pC,Q,EAAkB;AACjC,eAAKpsC,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAc,KAAKtC,OAAL,GAAe,8BAAf,GAAgD+rC,QAA9D,EAAwE5pC,WAAxE,CAAP;AACH;;;sCAEa8yC,O,EAAiBu0B,M,EAAgBC,O,EAAe;AAC1D,eAAK9pE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;;AAMA,cAAG4yC,OAAO,IAAE,IAAZ,EAAiB;AACbA,mBAAO,GAAC,KAAK1wC,kBAAL,CAAwB,GAAxB,CAAR;AACH;;AACDilE,gBAAM,GAAC,KAAKjlE,kBAAL,CAAwBilE,MAAxB,CAAP;AACAC,iBAAO,GAAC,KAAKllE,kBAAL,CAAwBklE,OAAxB,CAAR;AACA,iBAAO,KAAK/pE,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,2BAAf,GAA6Ci1C,OAA7C,GAAuD,SAAvD,GAAmEu0B,MAAnE,GAA4E,UAA5E,GAAyFC,OAA/G,EAAwHtnE,WAAxH,CAAP;AACH;;;iDAEwB8yC,O,EAAiBw0B,O,EAAe;AACrD,eAAK9pE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,kCAAf,GAAoDi1C,OAApD,GAA8D,UAA9D,GAA2Ew0B,OAAjG,EAA0GtnE,WAA1G,CAAP;AACH;;;wCACey9D,M,EAAc8J,Y,EAAoB/zB,Y,EAAoBxnB,M,EAAa;AAC/E,eAAKxuB,MAAL,CAAYuC,YAAZ;;AAEA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB,CAH+E,CASlF;;AACGszC,sBAAY,GAAC,KAAKpxC,kBAAL,CAAwBoxC,YAAxB,CAAb;AACAxnB,gBAAM,GAAC,KAAK5pB,kBAAL,CAAwB4pB,MAAxB,CAAP;AACA,iBAAO,KAAKzuB,IAAL,CAAU4C,GAAV,CAAsB,KAAKtC,OAAL,GAAe,iCAAf,GAAiD4/D,MAAjD,GAAwD,gBAAxD,GAAyE8J,YAAzE,GAAsF,gBAAtF,GAAuG/zB,YAAvG,GAAoH,UAApH,GAA+HxnB,MAArJ,EAA4JhsB,WAA5J,CAAP;AACH;;;4CAEmB49D,W,EAAYH,M,EAAcp8B,e,EAAe;AACzD,eAAK7jC,MAAL,CAAYuC,YAAZ;;AAEA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAUitC,IAAV,CAAoB,KAAK3sC,OAAL,GAAe,2BAAf,GAA2C4/D,MAA3C,GAAmD,mBAAnD,GAAuEp8B,eAA3F,EAA2Gu8B,WAA3G,EAAuH59D,WAAvH,CAAP;AACH;;;uDAEuD;AAAA,cAA3BhH,EAA2B,uEAAjB,GAAiB;AAAA,cAAb6Z,MAAa;;AACpD,eAAKrV,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA0B,KAAKtC,OAAL,GAAe,gCAAf,GAAgD7E,EAAhD,GAAmD,UAAnD,GAA8D6Z,MAAxF,EAA+F7S,WAA/F,CAAP;AACH;;;0CAEiB2iE,Q,EAAgBziE,K,EAAY;AAC1C,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAsB,kEAAUrC,MAAV,GAAoB,4CAApB,GAAiE6kE,QAAjE,GAA2E,SAA3E,GAAsFziE,KAA5G,CAAP;AACH;;;qCACY8oB,Q,EAAkB;AAC3B,iBAAO,KAAKzrB,IAAL,CAAUitC,IAAV,CAAsB,KAAK3sC,OAAL,GAAe,UAArC,EAAkDmrB,QAAlD,CAAP;AACH;;;mDAC0ByW,Q,EAAS7G,M,EAAM;AACtC,eAAKp7B,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMAu/B,kBAAQ,GAAC,KAAKr9B,kBAAL,CAAwBq9B,QAAxB,CAAT;AACA,iBAAO,KAAKliC,IAAL,CAAU4C,GAAV,CAAqB,KAAKtC,OAAL,GAAe,oCAAf,GAAoD+6B,MAApD,GAA4D,YAA5D,GAAyE6G,QAA9F,EAAuGz/B,WAAvG,CAAP;AACH;;;+CACsBgtC,Q,EAASn6B,M,EAAM;AAClC,eAAKrV,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA2S,gBAAM,GAAC,KAAKzQ,kBAAL,CAAwByQ,MAAxB,CAAP;AACAm6B,kBAAQ,GAAC,KAAK5qC,kBAAL,CAAwB4qC,QAAxB,CAAT;AACA,iBAAO,KAAKzvC,IAAL,CAAU4C,GAAV,CAAuB,KAAKtC,OAAL,GAAe,+BAAf,GAA+CmvC,QAA/C,GAAyD,UAAzD,GAAoEn6B,MAA3F,EAAkG7S,WAAlG,CAAP;AACH;;;+CACsB6S,M,EAAa;AAChC,eAAKrV,MAAL,CAAYuC,YAAZ;;AAEA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAA4B,KAAKtC,OAAL,GAAe,8BAAf,GAAgDgV,MAA5E,EAAoF7S,WAApF,CAAP;AACH;;;;;;;uBAxRQqJ,W,EAAW,uH,EAAA,wI,EAAA,qI;AAAA,K;;;aAAXA,W;AAAW,eAAXA,WAAW,K;AAAA,kBAFR;;;;;sEAEHA,W,EAAW;cAHvB,wDAGuB;eAHZ;AACR3E,oBAAU,EAAE;AADJ,S;AAGY,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACdxB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAYa8iE,sB;AAET,sCAAoBjqE,IAApB,EAA6CC,MAA7C,EAAyEgE,eAAzE,EAAgH;AAAA;;AAA5F,aAAAjE,IAAA,GAAAA,IAAA;AAAyB,aAAAC,MAAA,GAAAA,MAAA;AAA4B,aAAAgE,eAAA,GAAAA,eAAA;AAClE,aAAA3D,OAAA,GAAU,kEAAUC,MAAV,GAAmB,aAA7B;AAD4G;;;;gDAI9E;AAAA,cAAjB+U,MAAiB,uEAAH,GAAG;AACrCA,gBAAM,GAAG,KAAKrR,eAAL,CAAqBY,kBAArB,CAAwCyQ,MAAxC,CAAT;;AACA,eAAKrV,MAAL,CAAYuC,YAAZ;;AACI,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMJ,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAiC,KAAKtC,OAAL,GAAe,6BAAf,GAA6CgV,MAA7C,GAAoD,eAApD,GAAoExT,YAAY,CAACM,OAAb,CAAqB,aAArB,CAArG,EAAyIK,WAAzI,CAAP;AACD;;;;;;;uBAhBUwnE,sB,EAAsB,uH,EAAA,wI,EAAA,qI;AAAA,K;;;aAAtBA,sB;AAAsB,eAAtBA,sBAAsB,K;AAAA,kBAFrB;;;;;sEAEDA,sB,EAAsB;cAHlC,wDAGkC;eAHvB;AACV9iE,oBAAU,EAAE;AADF,S;AAGuB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;ACZnC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUa+iE,yB;AAEX,yCAAoBC,eAApB,EAA8D;AAAA;;AAA1C,aAAAA,eAAA,GAAAA,eAAA;AAA6C;;;;iCAExDr4C,O,EAAwB;AAC/B,iBAAO,KAAKq4C,eAAL,CAAqBC,iBAArB,CAAuCt4C,OAAvC,CAAP;AACD;;;;;;;uBANUo4C,yB,EAAyB,gK;AAAA,K;;;YAAzBA,yB;AAAyB,kD;AAAA,kFAHzB,CAAC;AAAE5tE,eAAO,EAAE,kEAAX;AAAgCytC,mBAAW,EAAE,iEAAW;AAAA,iBAAMmgC,yBAAN;AAAA,SAAX,CAA7C;AAA0FlgC,aAAK,EAAE;AAAjG,OAAD,CAGyB;;;;;sEAAzBkgC,yB,EAAyB;cALrC,uDAKqC;eAL3B;AACT93D,kBAAQ,EAAE,uBADD;AAETzV,mBAAS,EAAE,CAAC;AAAEL,mBAAO,EAAE,kEAAX;AAAgCytC,uBAAW,EAAE,iEAAW;AAAA,qBAAMmgC,yBAAN;AAAA,aAAX,CAA7C;AAA0FlgC,iBAAK,EAAE;AAAjG,WAAD;AAFF,S;AAK2B,Q;;;;;;;;;;;;;;;;;;;;;;ACVtC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAKaqgC,iB;AAiBX,mCAAc;AAAA;;AAhBd;AACA,aAAAC,iBAAA,GAAoB,CAApB;AACA,aAAAjmC,cAAA,GAAiB,EAAjB;AACA,aAAAlE,QAAA,GAAmB,CAAnB;AAEA,aAAAuE,eAAA,GAA2B,IAA3B;AACA,aAAA9E,SAAA,GAAY,EAAZ;AAIA,aAAA9Z,WAAA,GAAc,CAAd;AACA,aAAA2Z,UAAA,GAAwB,EAAxB;AACA,aAAAoF,mBAAA,GAA2B,CAA3B;AACA,aAAA0lC,wBAAA,GAAoC,IAApC;AACA,aAAAC,QAAA,GAAgB,CAAhB;AACA,aAAAzoC,oBAAA,GAA6B,KAA7B;AACgB,O,CAChB;;;;;qCACa;AAET,cAAI,KAAK5B,QAAL,IAAiB,CAArB,EAAwB;AACpB,iBAAKP,SAAL,GAAiB,EAAjB;;AACA,iBAAK,IAAI1U,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmZ,cAAzB,EAAyCnZ,CAAC,EAA1C,EAA8C;AAC1C,mBAAK0U,SAAL,CAAe1U,CAAf,IAAoB,KAAKiV,QAAL,GAAgB,CAApC;AACA,mBAAKA,QAAL,GAAgB,KAAKA,QAAL,GAAgB,CAAhC;;AACA,kBAAI,KAAKsE,aAAL,IAAsB,KAAK7E,SAAL,CAAe1U,CAAf,CAA1B,EAA6C;AACzC,qBAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKkZ,cAAL,GAAsB,CAA1C,EAA6ClZ,CAAC,EAA9C,EAAkD;AAC9C,sBAAID,CAAC,IAAIC,CAAT,EAAY;AACR,yBAAKgV,QAAL,GAAgB,KAAKA,QAAL,IAAiBhV,CAAC,GAAG,CAArB,CAAhB;AACA,yBAAKs/C,QAAL,GAAgB,KAAhB;AACA;AACH;AACJ;;AACD,qBAAK9lC,eAAL,GAAuB,IAAvB;AACA;AACH,eAVD,MAUO;AACH,qBAAKA,eAAL,GAAuB,KAAvB;AACH;AACJ;AACJ;;AACD,cAAG,CAAC,KAAK5C,oBAAT,EAA8B;AAC5B,iBAAKnC,SAAL,GAAiB,EAAjB;AACA,iBAAKO,QAAL,GAAc,CAAd;;AACA,iBAAK,IAAIjV,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmZ,cAAzB,EAAyCnZ,CAAC,EAA1C,EAA8C;AAC1C,mBAAK0U,SAAL,CAAe1U,CAAf,IAAoB,KAAKiV,QAAL,GAAgB,CAApC;AACA,mBAAKA,QAAL,GAAgB,KAAKA,QAAL,GAAgB,CAAhC;;AACA,kBAAI,KAAKsE,aAAL,IAAsB,KAAK7E,SAAL,CAAe1U,CAAf,CAA1B,EAA6C;AACzC,qBAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKkZ,cAAL,GAAsB,CAA1C,EAA6ClZ,CAAC,EAA9C,EAAkD;AAC9C,sBAAID,CAAC,IAAIC,CAAT,EAAY;AACR,yBAAKgV,QAAL,GAAgB,KAAKA,QAAL,IAAiBhV,CAAC,GAAG,CAArB,CAAhB;AACA,yBAAKs/C,QAAL,GAAgB,KAAhB;AACA;AACH;AACJ;;AACD,qBAAK9lC,eAAL,GAAuB,IAAvB;AACA;AACH,eAVD,MAUO;AACH,qBAAKA,eAAL,GAAuB,KAAvB;AACH;AACJ;AACF;AACJ;;;oCAEW;AACR,eAAKlF,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,eAAKirC,QAAL,GAAgB,IAAhB;AACA,eAAK3oC,oBAAL,GAA0B,IAA1B;;AACA,cAAI,KAAK8C,mBAAL,IAA4B,CAAhC,EAAmC;AAC/B,iBAAKF,eAAL,GAAuB,KAAvB;AACA,iBAAKE,mBAAL,GAA2B,KAAKA,mBAAL,GAA2B,CAAtD;;AACA,gBAAI,KAAK4lC,QAAT,EAAmB;AACf,kBAAI,KAAKD,QAAL,IAAiB,CAArB,EAAwB;AACpB,qBAAKrqC,QAAL,GAAgB,KAAKA,QAAL,GAAgB,EAAhC;AACA,qBAAKsqC,QAAL,GAAgB,KAAhB;AACH,eAHD,MAGO;AACH,qBAAKtqC,QAAL,GAAgB,KAAKqqC,QAArB;AACA,qBAAKE,QAAL,GAAgB,KAAhB;AACA,qBAAKD,QAAL,GAAgB,KAAhB;AACA,qBAAKD,QAAL,GAAgB,CAAhB;AACH;AACJ;;AACD,iBAAK,IAAIt/C,CAAC,GAAG,KAAKmZ,cAAL,GAAsB,CAAnC,EAAsCnZ,CAAC,IAAI,CAA3C,EAA8CA,CAAC,EAA/C,EAAmD;AAC/C,mBAAK0U,SAAL,CAAe1U,CAAf,IAAoB,KAAKiV,QAAzB;AACA,mBAAKA,QAAL,GAAgB,KAAKA,QAAL,GAAgB,CAAhC;AACH;;AACD,gBAAI,KAAKA,QAAL,IAAiB,CAArB,EAAwB;AACpB,mBAAKoqC,wBAAL,GAAgC,KAAhC;AACH;;AACD,iBAAKzkD,WAAL,GAAmB,KAAK8Z,SAAL,CAAe,CAAf,CAAnB;AACH;AACJ;;;oCAEW;AACR,cAAI,KAAK+E,eAAL,IAAwB,KAA5B,EAAmC;AAC/B,iBAAKD,eAAL,GAAuB,KAAvB;AACA,iBAAK9E,SAAL,GAAiB,EAAjB;AACA,iBAAKmC,oBAAL,GAA0B,IAA1B;AACA,iBAAK0oC,QAAL,GAAgB,IAAhB;AACA,iBAAK5lC,mBAAL,GAA2B,KAAKA,mBAAL,GAA2B,CAAtD;AACA,iBAAKpF,UAAL,CAAgB,CAAhB,IAAqB,IAArB,CAN+B,CAOjC;AACA;AACA;AACA;;AACE,iBAAK,IAAIvU,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKmZ,cAAzB,EAAyCnZ,CAAC,EAA1C,EAA8C;AAC1C,mBAAK0U,SAAL,CAAe1U,CAAf,IAAoB,KAAKiV,QAAL,GAAgB,CAApC;AACA,mBAAKA,QAAL,GAAgB,KAAKA,QAAL,GAAgB,CAAhC;;AACA,kBAAI,KAAKsE,aAAL,IAAsB,KAAK7E,SAAL,CAAe1U,CAAf,CAA1B,EAA6C;AACzC,qBAAKs/C,QAAL,GAAgB,KAAK5qC,SAAL,CAAe1U,CAAf,CAAhB;AACA,qBAAKs/C,QAAL,GAAgB,KAAKA,QAAL,IAAiBt/C,CAAC,GAAG,CAArB,CAAhB;;AACA,qBAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKkZ,cAAL,GAAsB,CAA1C,EAA6ClZ,CAAC,EAA9C,EAAkD;AAC9C,sBAAID,CAAC,IAAIC,CAAT,EAAY;AACR,yBAAKgV,QAAL,GAAgB,KAAKA,QAAL,IAAiBhV,CAAC,GAAG,CAArB,CAAhB,CADQ,CAER;;AACA;AACH;AACJ;;AACD,qBAAKwZ,eAAL,GAAuB,IAAvB;AACA;AACH,eAZD,MAYO;AACH,qBAAKA,eAAL,GAAuB,KAAvB;AACH;AACJ;;AACD,iBAAK7e,WAAL,GAAmB,KAAK8Z,SAAL,CAAe,CAAf,CAAnB;AACH;AACJ;;;qCAES;AACR,eAAKA,SAAL,GAAiB,EAAjB;AACA,eAAKH,UAAL,CAAgB,CAAhB,IAAqB,IAArB,CAFQ,CAGR;;AACI,eAAKkF,eAAL,GAAuB,KAAvB;AACA,eAAK5C,oBAAL,GAA0B,IAA1B,CALI,CAMJ;;AACA,eAAK,IAAI7W,CAAC,GAAG,KAAKmZ,cAAL,GAAsB,CAAnC,EAAsCnZ,CAAC,IAAI,CAA3C,EAA8CA,CAAC,EAA/C,EAAmD;AAC/C,iBAAK0U,SAAL,CAAe1U,CAAf,IAAoB,KAAKiV,QAAzB;AACA,iBAAKA,QAAL,GAAgB,KAAKA,QAAL,GAAgB,CAAhC;AACH;;AACD,cAAI,KAAKA,QAAL,IAAiB,CAArB,EAAwB;AACpB,iBAAKoqC,wBAAL,GAAgC,KAAhC;AACH;;AACD,eAAKzkD,WAAL,GAAmB,KAAK8Z,SAAL,CAAe,CAAf,CAAnB;AACL;;;oCAEQ;AACT,eAAKA,SAAL,GAAiB,EAAjB;AACA,eAAKH,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,eAAKkF,eAAL,GAAuB,IAAvB;AACA,eAAKD,eAAL,GAAuB,KAAvB;AACA,eAAK3C,oBAAL,GAA0B,IAA1B;;AACI,eAAK,IAAI7W,CAAC,GAAG,KAAKmZ,cAAL,GAAsB,CAAnC,EAAsCnZ,CAAC,IAAI,CAA3C,EAA8CA,CAAC,EAA/C,EAAmD;AAC/C,iBAAK0U,SAAL,CAAe1U,CAAf,IAAoB,KAAKiV,QAAzB;AACA,iBAAKA,QAAL,GAAgB,KAAKA,QAAL,GAAgB,CAAhC;AACH;;AACD,cAAI,KAAKA,QAAL,IAAiB,CAArB,EAAwB;AACpB,iBAAKoqC,wBAAL,GAAgC,KAAhC;AACH;;AACD,eAAKzkD,WAAL,GAAmB,KAAK8Z,SAAL,CAAe,CAAf,CAAnB;AACL;;;;;;;uBA/JYyqC,iB;AAAiB,K;;;aAAjBA,iB;AAAiB,eAAjBA,iBAAiB,K;AAAA,kBAFhB;;;;;sEAEDA,iB,EAAiB;cAH7B,wDAG6B;eAHlB;AACVljE,oBAAU,EAAE;AADF,S;AAGkB,Q;;;;;;;;;;;;;;;;;;;;ACL9B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACKkB;;AACE;;AAAoD;AAAA;;AAAA;;AAAA;AAAA,WAAsB,eAAtB,EAAsB;AAAA;;AAAA;;AAAA;AAAA,SAAtB;;AACwE;;AAC9H;;;;;;AAmBJ;;AACE;;AACD;;;;;;AA6BH;;AACE;;AACD;;;;;;AACA;;AACC;;AACF;;;;;;AAqEJ;;AACE;;AAAI;;AAA0B;;AAC9B;;AAAI;;AAAyB;;AAC7B;;AAAI;;AAAqB;;AACzB;;AAAI;;AAAqB;;AACzB;;AAAI;;AAAyB;;AAC7B;;AAAI;;AAAwB;;AAC5B;;AAAI;;AAAmB;;AACzB;;;;;;AAPM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAEN;;AACE;;AAAgB;;AAAiB;;AACnC;;;;;;;;;;QDjIKwjE,2B;AA4BX,2CAAqBzrC,WAArB,EAA+D6a,KAA/D,EAA6Fn2B,QAA7F,EAAiIvV,MAAjI,EAAwJu8D,oBAAxJ,EAAoM;AAAA;;AAA/K,aAAA1rC,WAAA,GAAAA,WAAA;AAA0C,aAAA6a,KAAA,GAAAA,KAAA;AAA8B,aAAAn2B,QAAA,GAAAA,QAAA;AAAoC,aAAAvV,MAAA,GAAAA,MAAA;AAAuB,aAAAu8D,oBAAA,GAAAA,oBAAA;AA3BxJ,aAAA/mD,KAAA,GAAQ,IAAI1jB,IAAJ,EAAR;AACA,aAAA0qE,UAAA,GAAkC;AAChC9mD,mBAAS,EAAE,KADqB;AAEhCC,oBAAU,EAAE,YAFoB;AAGhCC,sBAAY,EAAE;AAAC/f,gBAAI,EAAE,KAAK2f,KAAL,CAAWxiB,WAAX,EAAP;AAAiC+B,iBAAK,EAAE,KAAKygB,KAAL,CAAWviB,QAAX,KAAwB,CAAhE;AAAmE4iB,eAAG,EAAE,KAAKL,KAAL,CAAWtiB,OAAX,KAAuB;AAA/F;AAHkB,SAAlC;AAUA,aAAAupE,YAAA,GAAmB,EAAnB;AACA,aAAAC,2BAAA,GAAkC,EAAlC;AAEA,aAAAC,UAAA,GAAe,CAAf,CAaoM,CACpM;AACA;AACA;AACC;;;;mCAEO;AAAA;;AACN,mBADM,CAEP;;AACC,eAAKpnD,QAAL,CAAcwB,IAAd,GAHM,CAIN;;;AACA,eAAK20B,KAAL,CAAW1sB,WAAX,CAAuB1rB,SAAvB,CAAiC,UAAA82B,MAAM,EAAI;AACzC,oBAAI,CAACwyC,iBAAL,GAAuBxyC,MAAM,CAAC,WAAD,CAA7B;AACA,oBAAI,CAACyyC,iBAAL,GAAuB,QAAI,CAAChsC,WAAL,CAAiBlrB,kBAAjB,CAAoCykB,MAAM,CAAC,WAAD,CAA1C,CAAvB;AACA,oBAAI,CAACuyC,UAAL,GAAmB,QAAI,CAACE,iBAAxB;AACC,WAJH,EALM,CAWJ;;AACA,cAAG,CAAC,mCAAC,CAAC,mBAAD,CAAD,CAAuBjmD,EAAvB,CAA0B,UAA1B,CAAJ,EAA0C;AACxC,+CAAC,CAAC,mBAAD,CAAD,CAAuB7Q,GAAvB,CAA2B,SAA3B,EAAqC,OAArC;AACD,WAdG,CAeN;AACA;AACA;;;AACA,eAAKwR,MAAL,GAAc;AACZC,wBAAY,EAAE,EADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAIA,eAAKC,YAAL,GAAmB,EAAnB;AACA,eAAKwD,WAAL,GAAmB,EAAnB,CAvBM,CAwBN;;AACA,eAAK4hD,oBAAL,GAzBM,CA0BL;;AACD,eAAKC,wBAAL,GA3BM,CA4BN;;AACAC,qCAA2B,CAAC,CAAD,EAAG,KAAH,CAA3B;AACA;;AACA,cAAG,KAAKL,UAAL,IAAmB,CAAtB,EAAwB;AACtB,iBAAKM,cAAL,GAAoB,KAApB;AACC,iBAAKC,oBAAL,GAA0B,IAA1B;AACD;;AACD,cAAI,KAAKP,UAAL,IAAmB,CAAvB,EAAyB;AACxB,iBAAKM,cAAL,GAAoB,IAApB;AACA,iBAAKC,oBAAL,GAA0B,KAA1B;AACH;;AACDzpE,sBAAY,CAACwjB,UAAb,CAAwB,YAAxB;AACC,S,CAED;;;;+CACoB;AAClB,eAAKslD,oBAAL,CAA0BY,aAA1B,GAAwC;AACtC7wC,uBAAW,EAAC,EAD0B;AAEtC8wC,sBAAU,EAAC,EAF2B;AAGtCC,oBAAQ,EAAC,EAH6B;AAItCC,oBAAQ,EAAC,EAJ6B;AAKtCC,kBAAM,EAAC,EAL+B;AAMtCC,wBAAY,EAAC,EANyB;AAOtCnuC,uBAAW,EAAC,EAP0B;AAQtC9R,uBAAW,EAAC;AAR0B,WAAxC;AAUD,S,CAED;;;;mDACwB;AAAA;;AACtB,eAAKg/C,oBAAL,CAA0BQ,wBAA1B,CAAmD,KAAKJ,UAAxD,EAAoErpE,SAApE,CAA8E,UAAAmqE,UAAU,EAAE;AACtF,oBAAI,CAAChB,YAAL,GAAoBgB,UAApB;AACA,oBAAI,CAACf,2BAAL,GAAmC,QAAI,CAACD,YAAxC;AACA,oBAAI,CAACzhD,WAAL,GAAmB,QAAI,CAAC0hD,2BAAL,CAAiCzrE,MAApD;AACA,oBAAI,CAACiqB,WAAL,GAAmB,EAAnB;;AACA,oBAAI,CAAChB,QAAL,CAAc,EAAd,EAAiB,EAAjB,EAAoB,EAApB;AACF,WANF,EAMG,UAAC9C,GAAD,EAAO;AACR,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACA,WARF;;AASC1O,oBAAU,CAAC,YAAM;AAChB,oBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,WAFU,EAER,GAFQ,CAAV;AAGF,S,CAED;;;;iCACSmS,W,EAAYoxC,M,EAAOC,U,EAAY;AACtC,cAAK,CAACrxC,WAAD,IAAgB,CAACoxC,MAAjB,KAA4B,CAACC,UAAD,IAAeA,UAAU,IAAE,IAAvD,CAAL,EAAmE;AAC/D,iBAAKjB,2BAAL,GAAmC,KAAKD,YAAxC;AACH,WAFD,MAGI;AACF,iBAAKC,2BAAL,GAAmC,KAAKD,YAAL,CAAkB5iD,MAAlB,CAAyB,UAAAC,GAAG,EAAE;AAC/D,qBAAOA,GAAG,CAACwS,WAAJ,CAAgB3R,iBAAhB,GAAoCF,KAApC,CAA0C6R,WAAW,CAAC3R,iBAAZ,EAA1C,CAAP;AACD,aAFkC,CAAnC;AAGA,iBAAK+hD,2BAAL,GAAmC,KAAKA,2BAAL,CAAiC7iD,MAAjC,CAAwC,UAAAC,GAAG,EAAE;AAC9E,qBAAOA,GAAG,CAACyjD,MAAJ,CAAW5iD,iBAAX,GAA+BF,KAA/B,CAAqCijD,MAAM,CAAC/iD,iBAAP,EAArC,CAAP;AACD,aAFkC,CAAnC;;AAGA,gBAAGgjD,UAAU,IAAE,EAAZ,IAAkBA,UAAU,IAAE,IAAjC,EAAuC;AACvC,mBAAKjB,2BAAL,GAAmC,KAAKA,2BAAL,CAAiC7iD,MAAjC,CAAwC,UAAAC,GAAG,EAAE;AAC9E,uBAAOA,GAAG,CAACuV,WAAJ,CAAgB1U,iBAAhB,GAAoCF,KAApC,CAA0CkjD,UAAU,CAAC7iD,UAAX,CAAsBC,SAAtB,CAAgCJ,iBAAhC,EAA1C,CAAP;AACD,eAFkC,CAAnC;AAGD;;AAEA,iBAAK+hD,2BAAL;AACC,iBAAKnlD,MAAL,GAAc;AACZC,0BAAY,EAAE,EADF;AAEZC,yBAAW,EAAE;AAFD,aAAd;AAID;;AACD,eAAKC,YAAL,GAAkB,KAAKglD,2BAAL,CAAiCzrE,MAAnD;;AACA,cAAIysE,MAAM,IAAG,EAAT,IAAeC,UAAU,IAAE,EAA3B,IAAiCrxC,WAAW,IAAE,EAAlD,EAAsD;AACpD,gBAAI,KAAK5U,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAArC,EAAmD;AACjD;AACC,mBAAKE,YAAL,GAAoB,KAAKA,YAAzB;AACA,mBAAKC,iBAAL,GAAyB,CAAzB;AACD,aAJF,MAKM;AACH,mBAAKD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAoB,KAAKH,MAAL,CAAYC,YAAhC;AACA,mBAAKG,iBAAL,GAAyB,CAAzB;AACD,aAVkD,CAWpD;AACA;AACA;;;AACA,iBAAKqD,WAAL,GAAmB,EAAnB;AACA,iBAAKA,WAAL,GAAmB,KAAK0hD,2BAAL,CAAiCzrE,MAApD;AACA,iBAAKiqB,WAAL,GAAmB,oBAAmB,KAAKuhD,YAAL,CAAkBxrE,MAArC,GAA6C,iBAAhE;AACD,WAjBD,MAiBK;AACH,gBAAI,KAAKymB,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAArC,EAAmD;AACjD;AACC,mBAAKE,YAAL,GAAoB,KAAKA,YAAzB;AACA,mBAAKC,iBAAL,GAAyB,CAAzB;AACA,mBAAKqD,WAAL,GAAmB,KAAK0hD,2BAAL,CAAiCzrE,MAAjC,CAAwCgqB,QAAxC,EAAnB;AACA,mBAAKC,WAAL,GAAkB,EAAlB;AACD,aANF,MAOM;AACH,mBAAKxD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAoB,KAAKH,MAAL,CAAYC,YAAhC;AACA,mBAAKG,iBAAL,GAAyB,CAAzB;AACA,mBAAKqD,WAAL,GAAmB,KAAK0hD,2BAAL,CAAiCzrE,MAAjC,CAAwCgqB,QAAxC,EAAnB;AACA,mBAAKC,WAAL,GAAkB,EAAlB;AACD,aAdC,CAgBL;AACA;AACA;AACA;AACA;AACA;;AACC;AACF;;;qCAEY;AACXznB,sBAAY,CAACwjB,UAAb,CAAwB,YAAxB;AACA,eAAKjX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,gBAAD,CAArB;AACD,S,CAED;;;;oCACYhH,K,EAAO;AACjB,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACA,eAAKsX,YAAL,GAAoB,KAAKH,MAAL,CAAYE,WAAZ,GAAwB,KAAKF,MAAL,CAAYC,YAAxD;AACA,eAAKG,iBAAL,GAAyB,KAAKD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAAZ,GAAyB,CAA9C,CAAzB;AACA,cAAG,KAAKklD,2BAAL,CAAiCzrE,MAAjC,IAAyC,KAAKymB,YAAjD,EACE,KAAKA,YAAL,GAAoB,KAAKglD,2BAAL,CAAiCzrE,MAArD;AAEH,S,CAED;;;;8CACsBwrB,K,EAAMC,G,EAAG;AAC/B,cAAG,KAAKC,iBAAL,KAA2BF,KAA9B,EAAqC;AACnC,iBAAKxG,cAAL,GAAsB,CAAC,KAAKA,cAA5B;AACA+mD,uCAA2B,CAACtgD,GAAD,EAAK,KAAKzG,cAAV,CAA3B;AACD,WAHD,MAIK;AACH,iBAAK0G,iBAAL,GAAyBF,KAAzB;AACA,iBAAKxG,cAAL,GAAsB,IAAtB;AACA+mD,uCAA2B,CAACtgD,GAAD,EAAK,KAAKzG,cAAV,CAA3B;AACD;;AAED,cAAG,KAAKA,cAAR,EAAwB;AACtB,iBAAKymD,2BAAL,GAAmC,KAAKA,2BAAL,CAAiC9/C,IAAjC,CAAsC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACjF,kBAAGL,KAAK,KAAK,aAAb,EAA2B;AACzB,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAP;AACD,eALD,MAMI;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACA,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACD;;AACD,qBAAO,CAAP;AACD,aAdkC,CAAnC;AAeD,WAhBD,MAgBO;AACL,iBAAKozD,2BAAL,GAAmC,KAAKA,2BAAL,CAAiC9/C,IAAjC,CAAsC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACjF,kBAAGL,KAAK,KAAK,aAAb,EAA2B;AACzB,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACD,OAAO,CAAP;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACA,eALD,MAMI;AACJ,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACD;;AACD,qBAAO,CAAP;AACD,aAdkC,CAAnC;AAeD;AAEA;;;uCACckT,M,EAAM;AACnB,eAAK9E,YAAL,GAAoB,CAApB;AACA,eAAKA,YAAL,GAAoB8E,MAAM,CAAC1uB,MAAP,CAAcsE,KAAlC;AACA,eAAKmlB,MAAL,GAAc;AACZC,wBAAY,EAAE,KAAKE,YADP;AAEZD,uBAAW,EAAE;AAFD,WAAd;AAID;;;kCAESrX,K,EAAsB;AAC9B;AACA,cAAIyc,CAAC,GAAGzc,KAAK,CAAC+c,QAAN,IAAkB,CAAlB,IAAuB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAzC,IAA+C/c,KAAK,CAAC+c,QAAN,IAAkB,CAAlE,GAA0E,IAA1E,GAAiF/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlB,IAAwB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlI;AACF,iBAAON,CAAP;AACC;;;0CAEiBjgB,I,EAAI;AACpB,cAAM6hB,MAAM,GAAG,IAAI3sB,IAAJ,EAAf;AACC,eAAK4sB,SAAL,GAAiB9hB,IAAI,CAACke,UAAL,CAAgB6D,MAAjC;;AAED,cAAI,KAAKD,SAAL,GAAiBD,MAArB,EAA6B;AAC1B,iBAAKG,eAAL,GAAuB,IAAvB;AACA,iBAAKC,iBAAL,GAAyB,IAAzB;AACF,WAHD,MAII;AACF,iBAAKD,eAAL,GAAuB,KAAvB;AACA,iBAAKC,iBAAL,GAAyB,KAAzB;AACD;;AACD,iBAAO,KAAKD,eAAZ;AACH;;;;;;;uBAvQY09C,2B,EAA2B,mK,EAAA,+H,EAAA,8H,EAAA,uH,EAAA,kK;AAAA,K;;;YAA3BA,2B;AAA2B,+C;AAAA,e;AAAA,c;AAAA,yrH;AAAA;AAAA;;;ACdxC;;AACI;;AACI;;AACI;;AACI;;AACE;;AAIF;;AAEA;;AACE;;AAA6I;;AAAoB;;AACnK;;AACJ;;AACJ;;AAEA;;AAGA;;AACE;;AACI;;AAAqE;;AAAY;;AACjF;;AAA6D;AAAA;AAAA,aAA4D,eAA5D,EAA4D;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC7E,IAAApiD,QAAA,iCAD6E;AACnB,WADzC;;AAA7D;;AAIA;;AAGJ;;AAEA;;AACE;;AAAmE;;AAAM;;AACxE;;AACA;AAAA;AAAA,aAAuD,QAAvD,EAAuD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAgC,IAAAA,QAAA,iCAAhC;AAA0F,WAAjJ;;AACK;;AAA0B;;AAAG;;AAC7B;;AAAoB;;AAAG;;AACvB;;AAAqB;;AAAI;;AACzB;;AAAuB;;AAAM;;AACjC;;AACJ;;AAEA;;AACE;;AAAgE;;AAAY;;AAC1E;;AACE;;AAC0C;AAAA;;AAAA;;AAAA,mBAAiB,IAAAiF,iBAAA,WAAjB;AAAqD,WAArD,EAAsD,eAAtD,EAAsD;AAAA;AAAA,WAAtD,EAAsD,UAAtD,EAAsD;AAAA,mBAEpF,IAAAC,SAAA,QAFoF;AAEnE,WAFa,EAAsD,eAAtD,EAAsD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAEjC,IAAAlF,QAAA,iCAFiC;AAEyB,WAF/E;;AAD1C;;AAMA;;AACI;;AAA8E;AAAA;;AAAA;;AAAA,mBAAS,oBAAT;AAA2B,WAA3B;;AAC5E;;AACF;;AACJ;;AACJ;;AACA;;AAGC;;AAGL;;AACA;;AAEE;;AACI;;AACe;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,QAAA,iCAAT;AAAmE,WAAnE;;AACf;;AAAwD;;AAAO;;AACnE;;AACJ;;AACE;;AAED;;AAEC;;AACE;;AACE;;AAA6D;;AAAI;;AACnE;;AAEF;;AACE;;AAA6B;AAAA,mBAAU,IAAAmF,cAAA,QAAV;AAAgC,WAAhC;;AAE3B;;AAA4B;;AAAE;;AAC9B;;AAAmB;;AAAE;;AACrB;;AAAmB;;AAAE;;AACrB;;AAAoB;;AAAG;;AAC3B;;AACA;;AAEA;;AACE;;AAAqE;;AAAO;;AAC9E;;AACA;;AAEG;;AAIE;;AASA;;AAGN;;AAGL;;AAEG;;AAEC;;AACE;;AACG;;AAAiB;AAAA,mBAAiB,IAAAu+C,qBAAA,CAAsB,aAAtB,EAAoC,CAApC,CAAjB;AAAuD,WAAvD,EAAyD,OAAzD,EAAyD;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,aAAtB,EAAoC,CAApC,CAAV;AAAgD,WAAzG;;AAAiI;;AAAY;;AAC9J;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,YAAtB,EAAmC,CAAnC,CAAjB;AAAsD,WAAtD,EAAwD,OAAxD,EAAwD;AAAA,mBAAW,IAAAA,qBAAA,CAAsB,YAAtB,EAAmC,CAAnC,CAAX;AAAgD,WAAxG;;AAAgI;;AAAU;;AAC3J;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,UAAtB,EAAiC,CAAjC,CAAjB;AAAoD,WAApD,EAAsD,OAAtD,EAAsD;AAAA,mBAAW,IAAAA,qBAAA,CAAsB,UAAtB,EAAiC,CAAjC,CAAX;AAA8C,WAApG;;AAA4H;;AAAS;;AACtJ;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,UAAtB,EAAiC,CAAjC,CAAjB;AAAoD,WAApD,EAAsD,OAAtD,EAAsD;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,UAAtB,EAAiC,CAAjC,CAAV;AAA6C,WAAnG;;AAA0H;;AAAS;;AACpJ;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,cAAtB,EAAqC,CAArC,CAAjB;AAAwD,WAAxD,EAA0D,OAA1D,EAA0D;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,cAAtB,EAAqC,CAArC,CAAV;AAAiD,WAA3G;;AAAkI;;AAAU;;AAC7J;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,aAAtB,EAAoC,CAApC,CAAjB;AAAuD,WAAvD,EAAyD,OAAzD,EAAyD;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,aAAtB,EAAoC,CAApC,CAAV;AAAgD,WAAzG;;AAAgI;;AAA6B;;AAC9K;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,QAAtB,EAA+B,CAA/B,CAAjB;AAAkD,WAAlD,EAAoD,OAApD,EAAoD;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,QAAtB,EAA+B,CAA/B,CAAV;AAA2C,WAA/F;;AAAuH;;AAAM;;AACjJ;;AACF;;AACA;;AACE;;;;AASA;;AAIF;;AACF;;AACA;;AACE;;AACE;;AAA0B;;AAAsG;;AAChI;;AACF;;AACI;;AAAqB;AAAA,mBAAc,IAAApjD,WAAA,QAAd;AAAiC,WAAjC;;AAAmC;;AAC5D;;AACJ;;AAEA;;AAEA;;AACA;;AACA;;;;;;;;AA3JqB;;AAAA;;AAgBS;;AAAA;;AAE2C;;AAAA,kIAA4D,SAA5D,EAA4D,mFAA5D;;AAI/B;;AAAA;;AAQ/B;;AAAA;;AAaG;;AAAA,kIAA4D,SAA5D,EAA4D,cAA5D,EAA4D,SAA5D,EAA4D,iIAA5D;;AAU0B;;AAAA;;AAGC;;AAAA;;AAIb;;AAAA;;AAmElB;;AAAA;;AASA;;AAAA;;AAQsB;;AAAA;;AAW+C;;AAAA;;;;;;;;;;sEDlJpE8hD,2B,EAA2B;cALvC,uDAKuC;eAL7B;AACTv4D,kBAAQ,EAAE,0BADD;AAET4D,qBAAW,EAAE,uCAFJ;AAGT3D,mBAAS,EAAE,CAAC,sCAAD;AAHF,S;AAK6B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEdxC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACKkB;;AACE;;AAAoD;AAAA;;AAAA;;AAAA;AAAA,WAAsB,eAAtB,EAAsB;AAAA;;AAAA;;AAAA;AAAA,SAAtB;;AACsE;;AAE5H;;;;;;AAoBH;;AACC;;AACD;;;;;;AA6BG;;AACE;;AACD;;;;;;AAED;;AACE;;AACF;;;;;;AA+EV;;AACE;;AAAI;;AAA6B;;AACjC;;AAAI;;AAA2B;;AAC/B;;AAAI;;AAAuB;;AAC3B;;AAAI;;AAAuB;;AAC3B;;AAAI;;AAA0B;;AAC9B;;AAAI;;AAA0B;;AAC9B;;AAAI;;AAAqB;;AAC3B;;;;;;AAPM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAEN;;AACE;;AAAgB;;AAAiB;;AACnC;;;;;;;;;;QD/IK65D,4B;AA8BX,4CAAmBj5D,QAAnB,EAA2D8mC,KAA3D,EAAyF1rC,MAAzF,EAA+GoV,gBAA/G,EAAyJG,QAAzJ,EAAqL;AAAA;;AAAlK,aAAA3Q,QAAA,GAAAA,QAAA;AAAwC,aAAA8mC,KAAA,GAAAA,KAAA;AAA8B,aAAA1rC,MAAA,GAAAA,MAAA;AAAsB,aAAAoV,gBAAA,GAAAA,gBAAA;AAA0C,aAAAG,QAAA,GAAAA,QAAA;AA7BzJ,aAAAC,KAAA,GAAQ,IAAI1jB,IAAJ,EAAR;AACA,aAAA0qE,UAAA,GAAkC;AAChC9mD,mBAAS,EAAE,KADqB;AAEhCC,oBAAU,EAAE,YAFoB;AAGhCC,sBAAY,EAAE;AAAC/f,gBAAI,EAAE,KAAK2f,KAAL,CAAWxiB,WAAX,EAAP;AAAiC+B,iBAAK,EAAE,KAAKygB,KAAL,CAAWviB,QAAX,KAAwB,CAAhE;AAAmE4iB,eAAG,EAAE,KAAKL,KAAL,CAAWtiB,OAAX,KAAuB;AAA/F,WAHkB,CAKhC;;AALgC,SAAlC;AAWA,aAAA4qE,eAAA,GAAwB,CAAxB;AAOA,aAAA7nD,cAAA,GAAiB,IAAjB,CAUqL,CACrL;AACA;AACA;AACC;;;;mCAEO;AAAA;;AACN,mBADM,CAEN;;AACA,cAAG,CAACnQ,CAAC,CAAC,mBAAD,CAAD,CAAuB8Q,EAAvB,CAA0B,UAA1B,CAAJ,EAA0C;AACxC9Q,aAAC,CAAC,mBAAD,CAAD,CAAuBC,GAAvB,CAA2B,SAA3B,EAAqC,OAArC;AACD,WALK,CAON;;;AACA,eAAK2lC,KAAL,CAAW1sB,WAAX,CAAuB1rB,SAAvB,CAAiC,UAAA82B,MAAM,EAAI;AACzC,oBAAI,CAAC2zC,sBAAL,GAA4B3zC,MAAM,CAAC,YAAD,CAAlC;AACA,oBAAI,CAAC4zC,sBAAL,GAA4B,QAAI,CAACp5D,QAAL,CAAce,kBAAd,CAAiCykB,MAAM,CAAC,YAAD,CAAvC,CAA5B;AACA,oBAAI,CAAC0zC,eAAL,GAAwB,QAAI,CAACE,sBAA7B;AACC,WAJH,EARM,CAaN;AACA;AACA;AACA;;AACA,eAAKC,eAAL;;AACC,eAAK1oD,QAAL,CAAcwB,IAAd,GAlBK,CAmBL;;;AACD,eAAKmnD,eAAL;AAEA,eAAK3mD,MAAL,GAAc;AACZC,wBAAY,EAAE,EADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAIA,eAAKC,YAAL,GAAmB,EAAnB,CA1BM,CA2BN;;AACAymD,sCAA4B,CAAC,CAAD,EAAG,KAAH,CAA5B;AACA1qE,sBAAY,CAACwjB,UAAb,CAAwB,iBAAxB;;AACA,cAAG,KAAK6mD,eAAL,IAAwB,CAA3B,EAA6B;AAC3B,iBAAKb,cAAL,GAAoB,KAApB;AACC,iBAAKmB,qBAAL,GAA2B,IAA3B;AAED;;AACD,cAAG,KAAKN,eAAL,IAAwB,CAA3B,EAA6B;AAC5B,iBAAKb,cAAL,GAAoB,IAApB;AACA,iBAAKmB,qBAAL,GAA2B,KAA3B;AAEA;AACH;;;qCAES;AACV3qE,sBAAY,CAACwjB,UAAb,CAAwB,iBAAxB;AACC,eAAKjX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,iBAAD,CAArB;AACA;;;uCACcoV,M,EAAM;AACnB,eAAK9E,YAAL,GAAoB,CAApB;AACA,eAAKA,YAAL,GAAoB8E,MAAM,CAAC1uB,MAAP,CAAcsE,KAAlC;AACA,eAAKmlB,MAAL,GAAc;AACZC,wBAAY,EAAE,KAAKE,YADP;AAEZD,uBAAW,EAAE;AAFD,WAAd;AAID,S,CAED;;;;sDAC8BgF,K,EAAMC,G,EAAG;AAErC;;AACF,cAAG,KAAKC,iBAAL,KAA2BF,KAA9B,EAAqC;AACnC,iBAAKxG,cAAL,GAAsB,CAAC,KAAKA,cAA5B;AACAkoD,wCAA4B,CAACzhD,GAAD,EAAK,KAAKzG,cAAV,CAA5B;AACD,WAHD,MAIK;AACH,iBAAK0G,iBAAL,GAAyBF,KAAzB;AACA,iBAAKxG,cAAL,GAAsB,IAAtB;AAEAkoD,wCAA4B,CAACzhD,GAAD,EAAK,KAAKzG,cAAV,CAA5B;AACD;;AAED,cAAG,KAAKA,cAAR,EAAwB;AACtB,iBAAKooD,2BAAL,GAAmC,KAAKA,2BAAL,CAAiCzhD,IAAjC,CAAsC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACjF,kBAAGL,KAAK,KAAK,aAAb,EAA2B;AACzB,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAP;AACD,eALD,MAMI;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACA,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACD;;AACD,qBAAO,CAAP;AACD,aAdkC,CAAnC;AAeD,WAhBD,MAgBO;AACL,iBAAK+0D,2BAAL,GAAmC,KAAKA,2BAAL,CAAiCzhD,IAAjC,CAAsC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACjF,kBAAGL,KAAK,KAAK,aAAb,EAA2B;AACzB,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACD,OAAO,CAAP;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACA,eALD,MAMI;AACJ,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACD;;AACD,qBAAO,CAAP;AACD,aAdkC,CAAnC;AAeD;AAEA,S,CACD;;;;oCACYlJ,K,EAAO;AACjB,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACA,eAAKsX,YAAL,GAAoB,KAAKH,MAAL,CAAYE,WAAZ,GAAwB,KAAKF,MAAL,CAAYC,YAAxD;AACA,eAAKG,iBAAL,GAAyB,KAAKD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAAZ,GAAyB,CAA9C,CAAzB;AACA,cAAG,KAAK6mD,2BAAL,CAAiCptE,MAAjC,IAAyC,KAAKymB,YAAjD,EACE,KAAKA,YAAL,GAAoB,KAAK2mD,2BAAL,CAAiCptE,MAArD;AAEH,S,CAED;;;;0CACe;AAAA;;AAAK;;AAClB,eAAKmkB,gBAAL,CAAsBkpD,qBAAtB,CAA4C,KAAKR,eAAjD,EAAkExqE,SAAlE,CAA4E,UAAAkvD,QAAQ,EAAE;AACpF;AACA,oBAAI,CAAC+b,mBAAL,GAA2B/b,QAA3B;AACA,oBAAI,CAAC6b,2BAAL,GAAmC,QAAI,CAACE,mBAAxC;AACA,oBAAI,CAACvjD,WAAL,GAAmB,QAAI,CAACqjD,2BAAL,CAAiCptE,MAApD;AACA,oBAAI,CAACiqB,WAAL,GAAkB,EAAlB;;AACA,oBAAI,CAAChB,QAAL,CAAc,EAAd,EAAiB,EAAjB,EAAoB,EAApB;AACF,WAPA,EAOC,UAAC9C,GAAD,EAAO;AACR,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACA,WATA;;AAUD1O,oBAAU,CAAC,YAAM;AAChB,oBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,WAFU,EAER,GAFQ,CAAV;AAGA,S,CAED;;;;iCACSC,Y,EAAasjD,M,EAAOC,U,EAAY;AACvC;;AACA,cAAI,CAACvjD,YAAD,IAAiB,CAACsjD,MAAlB,KAA6B,CAACC,UAAD,IAAeA,UAAU,IAAE,IAAxD,CAAJ,EAAmE;AAC/D,iBAAKU,2BAAL,GAAmC,KAAKE,mBAAxC;AACH,WAFD,MAGI;AACF,iBAAKF,2BAAL,GAAmC,KAAKE,mBAAL,CAAyB1kD,MAAzB,CAAgC,UAAAC,GAAG,EAAE;AACtE,qBAAOA,GAAG,CAACM,YAAJ,CAAiBO,iBAAjB,GAAqCF,KAArC,CAA2CL,YAAY,CAACO,iBAAb,EAA3C,CAAP;AACD,aAFkC,CAAnC;AAGA,iBAAK0jD,2BAAL,GAAmC,KAAKA,2BAAL,CAAiCxkD,MAAjC,CAAwC,UAAAC,GAAG,EAAE;AAC9E,qBAAOA,GAAG,CAACyjD,MAAJ,CAAW5iD,iBAAX,GAA+BF,KAA/B,CAAqCijD,MAAM,CAAC/iD,iBAAP,EAArC,CAAP;AACD,aAFkC,CAAnC;;AAGA,gBAAGgjD,UAAU,IAAE,EAAZ,IAAkBA,UAAU,IAAE,IAAjC,EAAuC;AACvC,mBAAKU,2BAAL,GAAmC,KAAKA,2BAAL,CAAiCxkD,MAAjC,CAAwC,UAAAC,GAAG,EAAE;AAC9E,uBAAOA,GAAG,CAACuV,WAAJ,CAAgB1U,iBAAhB,GAAoCF,KAApC,CAA0CkjD,UAAU,CAAC7iD,UAAX,CAAsBC,SAAtB,CAAgCJ,iBAAhC,EAA1C,CAAP;AACD,eAFkC,CAAnC;AAGD;;AAEA,iBAAK0jD,2BAAL;AACC,iBAAK9mD,MAAL,GAAc;AACZC,0BAAY,EAAE,EADF;AAEZC,yBAAW,EAAE;AAFD,aAAd;AAID;;AACD,eAAKC,YAAL,GAAkB,KAAK2mD,2BAAL,CAAiCptE,MAAnD;;AACA,cAAImpB,YAAY,IAAG,EAAf,IAAqBsjD,MAAM,IAAG,EAA9B,IAAoCC,UAAU,IAAE,EAApD,EAAwD;AACtD;;AACA,gBAAI,KAAKjmD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAArC,EAAmD;AACjD;AACC,mBAAKE,YAAL,GAAoB,KAAKA,YAAzB;AACA,mBAAKC,iBAAL,GAAyB,CAAzB;AACD,aAJF,MAKM;AACH,mBAAKD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAoB,KAAKH,MAAL,CAAYC,YAAhC;AACA,mBAAKG,iBAAL,GAAyB,CAAzB;AACD,aAXoD,CAYtD;AACA;AACA;;;AACA,iBAAKqD,WAAL,GAAmB,EAAnB;AACA,iBAAKA,WAAL,GAAmB,KAAKqjD,2BAAL,CAAiCptE,MAApD;AACA,iBAAKiqB,WAAL,GAAmB,oBAAmB,KAAKqjD,mBAAL,CAAyBttE,MAA5C,GAAoD,iBAAvE;AACD,WAlBD,MAkBK;AACH,gBAAI,KAAKymB,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAArC,EAAmD;AACjD;AACC,mBAAKE,YAAL,GAAoB,KAAKA,YAAzB;AACA,mBAAKC,iBAAL,GAAyB,CAAzB;AACA,mBAAKqD,WAAL,GAAmB,KAAKujD,mBAAL,CAAyBttE,MAAzB,CAAgCgqB,QAAhC,EAAnB;AACA,mBAAKC,WAAL,GAAkB,EAAlB;AACD,aANF,MAOM;AACH,mBAAKxD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAoB,KAAKH,MAAL,CAAYC,YAAhC;AACA,mBAAKG,iBAAL,GAAyB,CAAzB;AACA,mBAAKqD,WAAL,GAAmB,KAAKujD,mBAAL,CAAyBttE,MAAzB,CAAgCgqB,QAAhC,EAAnB;AACA,mBAAKC,WAAL,GAAkB,EAAlB;AACD,aAdC,CAgBL;AACA;AACA;AACA;AACA;AACA;AACA;;AACC;AACF;;;kCACS9a,K,EAAsB;AAC9B;AACA,cAAIyc,CAAC,GAAGzc,KAAK,CAAC+c,QAAN,IAAkB,CAAlB,IAAuB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAzC,IAA+C/c,KAAK,CAAC+c,QAAN,IAAkB,CAAlE,GAA0E,IAA1E,GAAiF/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlB,IAAwB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlI;AACF,iBAAON,CAAP;AACC,S,CAED;;;;0CACe;AAEb,eAAKzH,gBAAL,CAAsBopD,aAAtB,GAAoC;AAClCpkD,wBAAY,EAAE,EADoB;AAElCgjD,sBAAU,EAAC,EAFuB;AAGlCC,oBAAQ,EAAE,EAHwB;AAIlCC,oBAAQ,EAAE,EAJwB;AAKlCC,kBAAM,EAAC,EAL2B;AAMlCkB,uBAAW,EAAC,EANsB;AAOlCpvC,uBAAW,EAAC,EAPsB;AAQlC9R,uBAAW,EAAC;AARsB,WAApC;AAUD;;;0CAEiB3gB,I,EAAI;AACpB,cAAM6hB,MAAM,GAAG,IAAI3sB,IAAJ,EAAf;AACC,eAAK4sB,SAAL,GAAiB9hB,IAAI,CAACke,UAAL,CAAgB6D,MAAjC;;AAED,cAAI,KAAKD,SAAL,GAAiBD,MAArB,EAA6B;AAC1B,iBAAKG,eAAL,GAAuB,IAAvB;AACA,iBAAKC,iBAAL,GAAyB,IAAzB;AACF,WAHD,MAII;AACF,iBAAKD,eAAL,GAAuB,KAAvB;AACA,iBAAKC,iBAAL,GAAyB,KAAzB;AACD;;AACD,iBAAO,KAAKD,eAAZ;AACH;;;;;;;uBA/QYi/C,4B,EAA4B,mK,EAAA,+H,EAAA,uH,EAAA,uJ,EAAA,8H;AAAA,K;;;YAA5BA,4B;AAA4B,gD;AAAA,e;AAAA,c;AAAA,4tH;AAAA;AAAA;;;ACbzC;;AACI;;AACI;;AACI;;AACI;;AACE;;AAKa;;AACf;;AACE;;AAA6I;;AAAqB;;AACpK;;AAEJ;;AACJ;;AACA;;AAGA;;AACE;;AACI;;AAAyE;;AAAa;;AACtF;;AAC4C;AAAA;AAAA,aAA0D,eAA1D,EAA0D;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAGpF,IAAA3jD,QAAA,iCAHoF;AAGzB,WAHjC;;AAD5C;;AAMC;;AAGL;;AACA;;AACE;;AAAmE;;AAAM;;AACxE;;AAAyC;AAAA;AAAA,aAAoD,QAApD,EAAoD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAEnF,IAAAA,QAAA,iCAFmF;AAExB,WAF5B;;AAGpC;;AAA0B;;AAAG;;AAC7B;;AAAoB;;AAAG;;AACvB;;AAAqB;;AAAI;;AACzB;;AAAuB;;AAAM;;AACjC;;AACJ;;AACA;;AACE;;AAAgE;;AAAY;;AAC1E;;AACE;;AACA;AAAA;AAAA,aAAyD,UAAzD,EAAyD;AAAA,mBAEI,IAAAkF,SAAA,QAFJ;AAEqB,WAF9E,EAAyD,eAAzD,EAAyD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAGxC,IAAAlF,QAAA,iCAHwC;AAGmB,WAH5E,EAAyD,eAAzD,EAAyD;AAAA;;AAAA;;AAAA,mBAGsC,IAAAiF,iBAAA,WAHtC;AAG0E,WAHnI;;AADA;;AAOE;;AACE;;AAA8E;AAAA;;AAAA;;AAAA,mBAAS,oBAAT;AAA2B,WAA3B;;AAC5E;;AACF;;AACF;;AAEA;;AAIA;;AAGN;;AACJ;;AAGA;;AAEE;;AACI;;AAGA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAjF,QAAA,iCAAT;AAAoE,WAApE;;AAEA;;AAAwD;;AAAO;;AACnE;;AACJ;;AACE;;AAGD;;AAEC;;AACE;;AACE;;AAA6D;;AAAI;;AACnE;;AACF;;AACE;;AAA6B;AAAA,mBAAU,IAAAmF,cAAA,QAAV;AAAgC,WAAhC;;AAE3B;;AAA4B;;AAAE;;AAC9B;;AAAmB;;AAAE;;AACrB;;AAAmB;;AAAE;;AACrB;;AAAoB;;AAAG;;AAC3B;;AACA;;AACA;;AACE;;AAAqE;;AAAO;;AAC9E;;AACA;;AAEG;;AAIE;;AASA;;AAGN;;AAGL;;AAEG;;AAOC;;AACE;;AACG;;AAAiB;AAAA,mBAAiB,IAAAq/C,6BAAA,CAA8B,cAA9B,EAA6C,CAA7C,CAAjB;AAAgE,WAAhE,EAAkE,OAAlE,EAAkE;AAAA,mBAAU,IAAAA,6BAAA,CAA8B,cAA9B,EAA6C,CAA7C,CAAV;AAAyD,WAA3H;;AAAmJ;;AAAa;;AACjL;;AAAiB;AAAA,mBAAiB,IAAAA,6BAAA,CAA8B,YAA9B,EAA2C,CAA3C,CAAjB;AAA8D,WAA9D,EAAgE,OAAhE,EAAgE;AAAA,mBAAU,IAAAA,6BAAA,CAA8B,YAA9B,EAA2C,CAA3C,CAAV;AAAuD,WAAvH;;AAA+I;;AAAU;;AAC1K;;AAAiB;AAAA,mBAAiB,IAAAA,6BAAA,CAA8B,UAA9B,EAAyC,CAAzC,CAAjB;AAA4D,WAA5D,EAA8D,OAA9D,EAA8D;AAAA,mBAAU,IAAAA,6BAAA,CAA8B,UAA9B,EAAyC,CAAzC,CAAV;AAAqD,WAAnH;;AAA2I;;AAAS;;AACrK;;AAAiB;AAAA,mBAAiB,IAAAA,6BAAA,CAA8B,UAA9B,EAAyC,CAAzC,CAAjB;AAA4D,WAA5D,EAA8D,OAA9D,EAA8D;AAAA,mBAAU,IAAAA,6BAAA,CAA8B,UAA9B,EAAyC,CAAzC,CAAV;AAAqD,WAAnH;;AAA0I;;AAAS;;AACpK;;AAAiB;AAAA,mBAAiB,IAAAA,6BAAA,CAA8B,aAA9B,EAA4C,CAA5C,CAAjB;AAA+D,WAA/D,EAAiE,OAAjE,EAAiE;AAAA,mBAAU,IAAAA,6BAAA,CAA8B,aAA9B,EAA4C,CAA5C,CAAV;AAAwD,WAAzH;;AAAgJ;;AAAU;;AAC3K;;AAAiB;AAAA,mBAAiB,IAAAA,6BAAA,CAA8B,aAA9B,EAA4C,CAA5C,CAAjB;AAA+D,WAA/D,EAAiE,OAAjE,EAAiE;AAAA,mBAAU,IAAAA,6BAAA,CAA8B,aAA9B,EAA4C,CAA5C,CAAV;AAAwD,WAAzH;;AAAgJ;;AAA6B;;AAC9L;;AAAiB;AAAA,mBAAiB,IAAAA,6BAAA,CAA8B,QAA9B,EAAuC,CAAvC,CAAjB;AAA0D,WAA1D,EAA4D,OAA5D,EAA4D;AAAA,mBAAU,IAAAA,6BAAA,CAA8B,QAA9B,EAAuC,CAAvC,CAAV;AAAmD,WAA/G;;AAAuI;;AAAM;;AACjK;;AACF;;AACA;;AACE;;;;AASA;;AAIF;;AACF;;AACA;;AACE;;AACE;;AAA0B;;AAAsG;;AAChI;;AACF;;AACI;;AAAqB;AAAA,mBAAc,IAAAlkD,WAAA,QAAd;AAAiC,WAAjC;;AAAmC;;AAC5D;;AACJ;;AAEA;;AAEA;;AACA;;AACA;;;;;;;;AAxKqB;;AAAA;;AAgBS;;AAAA;;AAG0B;;AAAA,+HAA0D,SAA1D,EAA0D,mFAA1D;;AAKb;;AAAA;;AAMS;;AAAA;;AAatC;;AAAA,8HAAyD,SAAzD,EAAyD,cAAzD,EAAyD,SAAzD,EAAyD,iIAAzD;;AAYgC;;AAAA;;AAIA;;AAAA;;AAOlB;;AAAA;;AA0ElB;;AAAA;;AASA;;AAAA;;AAQsB;;AAAA;;AAW+C;;AAAA;;;;;;;;;;sEDhKpEqjD,4B,EAA4B;cALxC,uDAKwC;eAL9B;AACT95D,kBAAQ,EAAE,2BADD;AAET4D,qBAAW,EAAE,wCAFJ;AAGT3D,mBAAS,EAAE,CAAC,uCAAD;AAHF,S;AAK8B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEbzC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACiCgB;;AACE;;AACF;;;;;;AACA;;AACI;;AACF;;;;;;AAqBI;;AACE;;AACF;;;;;;AADE;;AAAA;;;;;;AAEF;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AAcN;;AAA6D;;AAAW;;;;;;AAA/B;;AAAoB;;AAAA;;;;;;AAG/D;;AACE;;AACD;;;;;;AAiFS;;AACI;;AAAI;;AAAqC;;AACzC;;AAAI;;AAAsC;;AAC1C;;AAAI;;AAAyB;;AAC7B;;AAAI;;AAA2B;;AAC/B;;AAAI;;AAAoC;;AACxC;;AAAI;;AAAwB;;AAC5B;;AAAI;;;;AAAgD;;AACpD;;AAAI;;AAAyB;;AAC7B;;AAAI;;AAA2B;;AACnC;;;;;;AATQ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAER;;AACI;;AAAgB;;AAAiB;;AACrC;;;;;;AAiClB;;AACE;;AAAkD;;AAAqC;;AACvF;;AAAkD;;AAAsC;;AACxF;;AAAkD;;AAAyB;;AAC3E;;AAAkD;;AAA2B;;AAC7E;;AAAkD;;AAAoC;;AACtF;;AAAkD;;AAAwB;;AAC1E;;AAAkD;;;;AAAgD;;AAClG;;AAAkD;;AAAyB;;AAC3E;;AAAkD;;AAA2B;;AACjF;;;;;;AATsD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;;;;;QDxM7C26D,uB;AAyCX,uCAAmBC,uBAAnB,EAA2EjtE,IAA3E,EAAqGo/B,sBAArG,EACU8tC,QADV,EACuCtpD,QADvC,EAC0EvV,MAD1E,EACgGoV,gBADhG,EAEU0pD,gBAFV,EAE4C;AAAA;;AAFzB,aAAAF,uBAAA,GAAAA,uBAAA;AAAwD,aAAAjtE,IAAA,GAAAA,IAAA;AAA0B,aAAAo/B,sBAAA,GAAAA,sBAAA;AAC3F,aAAA8tC,QAAA,GAAAA,QAAA;AAA6B,aAAAtpD,QAAA,GAAAA,QAAA;AAAmC,aAAAvV,MAAA,GAAAA,MAAA;AAAsB,aAAAoV,gBAAA,GAAAA,gBAAA;AACtF,aAAA0pD,gBAAA,GAAAA,gBAAA;AA1CV,aAAAtpD,KAAA,GAAQ,IAAI1jB,IAAJ,EAAR;AACA,aAAA0qE,UAAA,GAAkC;AAChC9mD,mBAAS,EAAE,KADqB;AAEhCC,oBAAU,EAAE,YAFoB;AAGhCC,sBAAY,EAAE;AAAC/f,gBAAI,EAAE,KAAK2f,KAAL,CAAWxiB,WAAX,EAAP;AAAiC+B,iBAAK,EAAE,KAAKygB,KAAL,CAAWviB,QAAX,KAAwB,CAAhE;AAAmE4iB,eAAG,EAAE,KAAKL,KAAL,CAAWtiB,OAAX,KAAuB;AAA/F,WAHkB,CAKhC;;AALgC,SAAlC;AAUA,aAAA6rE,QAAA,GAAgB,IAAhB;AACA,aAAAC,MAAA,GAAc,IAAd;AAIA,aAAAC,kBAAA,GAA0B,EAA1B;AACA,aAAAC,uBAAA,GAA8B,EAA9B;AAOA,aAAAjpD,cAAA,GAAiB,IAAjB;AAYA,aAAAD,WAAA,GAAgB,EAAhB;AACA,aAAAiT,kBAAA,GAA2B,KAA3B;AACA,aAAA9E,QAAA,GAAqB,EAArB;AAI+C;;;;mCAEvC;AACN,cAAG,CAAC,mCAAC,CAAC,mBAAD,CAAD,CAAuBvN,EAAvB,CAA0B,UAA1B,CAAJ,EAA0C;AACxC,+CAAC,CAAC,mBAAD,CAAD,CAAuB7Q,GAAvB,CAA2B,SAA3B,EAAqC,OAArC;AACD;;AACD,eAAKo5D,SAAL;;AACA,eAAK5pD,QAAL,CAAcwB,IAAd;;AACA,eAAKqoD,WAAL;AACA,eAAKC,uBAAL;AACA,eAAK9nD,MAAL,GAAc;AACZC,wBAAY,EAAE,EADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAIG,eAAKC,YAAL,GAAmB,EAAnB;AACJ;;;oCAGWtX,K,EAAO;AACjB,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACA,eAAKsX,YAAL,GAAoB,KAAKH,MAAL,CAAYE,WAAZ,GAAwB,KAAKF,MAAL,CAAYC,YAAxD;AACA,eAAKG,iBAAL,GAAyB,KAAKD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAAZ,GAAyB,CAA9C,CAAzB;AACA,cAAG,KAAK0nD,uBAAL,CAA6BjuE,MAA7B,IAAqC,KAAKymB,YAA7C,EACE,KAAKA,YAAL,GAAoB,KAAKwnD,uBAAL,CAA6BjuE,MAAjD;AAEH;;;sCAEW6T,Q,EAASmwC,K,EAAOC,K,EAAMlpB,a,EAAa;AAC/C;AAEA,cAAMvN,MAAM,GAAG,IAAI3sB,IAAJ,EAAf;AACA,eAAK4sB,SAAL,GAAiBw2B,KAAK,CAACp6B,UAAN,CAAiB6D,MAAlC;AAEA;;AACA,cAAIs2B,KAAK,IAAI,IAAT,IAAiBC,KAAK,IAAG,IAA7B,EAAoC;AACjC,gBAAIA,KAAK,CAACp6B,UAAN,CAAiB6D,MAAlB,GAA6Bs2B,KAAK,CAACn6B,UAAN,CAAiB6D,MAAjD,EAAyD;AAC3D,mBAAKmvB,YAAL,GAAkB,2CAAlB;AACC,mBAAK+C,WAAL,GAAmB,KAAnB;AACD,aAHE,MAIC;AACF,mBAAK/C,YAAL,GAAkB,EAAlB;AACA,mBAAK+C,WAAL,GAAmB,IAAnB;AACA,mBAAK32B,QAAL,CAAcpV,QAAd,EAAuBmwC,KAAvB,EAA8BC,KAA9B,EAAoClpB,aAApC;AACD;AACA,WAVD,MAWI;AACF,iBAAK8hB,YAAL,GAAkB,EAAlB;AACA,iBAAK+C,WAAL,GAAmB,IAAnB;AAED;;AAED,cAAI,KAAKnyB,SAAL,GAAiBD,MAArB,EAA6B;AAC3B,iBAAKG,eAAL,GAAuB,IAAvB;AACF,WAFA,MAGG;AACF,iBAAKA,eAAL,GAAuB,KAAvB;AACD;;AAED,iBAAO,KAAKiyB,WAAZ;AACA;;;oCAGQ;AACP,eAAK+tB,uBAAL,CAA6BxhD,QAA7B,GAAsC;AACpCkiD,8BAAkB,EAAC,EADiB;AAEpCC,+BAAmB,EAAC,EAFgB;AAGpCjI,kBAAM,EAAC,CAH6B;AAIpCh6C,oBAAQ,EAAC,EAJ2B;AAKpCkiD,iBAAK,EAAC,EAL8B;AAMpCC,yBAAa,EAAE,IANqB;AAOpCr/C,kBAAM,EAAC,EAP6B;AAQpCtb,oBAAQ,EAAC,EAR2B;AASpC46D,sBAAU,EAAC,EATyB;AAUpCX,oBAAQ,EAAC,EAV2B;AAWpCC,kBAAM,EAAC,EAX6B;AAYpChzC,yBAAa,EAAC,EAZsB;AAapC2zC,6BAAiB,EAAC;AAbkB,WAAtC;AAeD;;;kCAESv/D,K,EAAsB;AAC9B;AACA,cAAIyc,CAAC,GAAGzc,KAAK,CAAC+c,QAAN,IAAgB,EAAhB,IAAsB/c,KAAK,CAAC+c,QAAN,IAAkB,CAAxC,IAA6C/c,KAAK,CAAC+c,QAAN,IAAkB,CAAhE,GAAwE,IAAxE,GAA+E/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlB,IAAwB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAhI;AAEA,iBAAON,CAAP;AACD;;;uCAEc/X,Q,EAASi6D,Q,EAASC,M,EAAOhzC,a,EAAa;AACnD;AACA,eAAK0mB,aAAL,CAAmB5tC,QAAnB,EAA4Bi6D,QAA5B,EAAqCC,MAArC,EAA4ChzC,aAA5C;AACD;;;2CAEkBlnB,Q,EAASi6D,Q,EAASC,M,EAAOhzC,a,EAAa;AACrD,cAAMkzB,QAAQ,GAAC,IAAIptD,IAAJ,EAAf;;AACA,cAAGitE,QAAQ,IAAE,IAAb,EAAkB;AACb,gBAAIA,QAAQ,CAACjkD,UAAT,CAAoB6D,MAApB,GAA6BugC,QAAjC,EAA2C;AAC5C,mBAAKE,aAAL,GAAqB,IAArB;AACF,aAFG,MAEI;AACP,mBAAKA,aAAL,GAAqB,KAArB;AACA,mBAAKllC,QAAL,CAAcpV,QAAd,EAAuBi6D,QAAvB,EAAgCC,MAAhC,EAAuChzC,aAAvC;AACA;AACD,WAPD,MAQI;AACD,iBAAKozB,aAAL,GAAqB,KAArB;AACA,mBAAO,KAAKA,aAAZ;AACF;AACJ;;;kDAEyB;AAAA;;AACtB,eAAKwf,uBAAL,CAA6BS,uBAA7B,CAAqD5rE,YAAY,CAACM,OAAb,CAAqB,aAArB,CAArD,EAA0FT,SAA1F,CAAoG,UAAA2rE,kBAAkB,EAAI;AACxH;AACA,oBAAI,CAACA,kBAAL,GAA0BA,kBAA1B;AACA,oBAAI,CAACC,uBAAL,GAA+B,QAAI,CAACD,kBAApC;;AACA,oBAAI,CAAC/kD,QAAL,CAAc,EAAd,EAAiB,EAAjB,EAAoB,EAApB,EAAuB,EAAvB;AACD,WALD,EAMC,UAAC9C,GAAD,EAAO;AACN,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WARD;;AAUA1O,oBAAU,CAAC,YAAM;AACf,oBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,WAFS,EAEP,GAFO,CAAV;AAGD;;;iCAEMrV,Q,EAAS86D,S,EAAUC,Q,EAAS7zC,a,EAAe;AAAA;;AAChD;;AACA,cAAI4zC,SAAS,IAAI,IAAb,IAAqBA,SAAS,IAAE,EAApC,EAAwC;AACtC,iBAAKb,QAAL,GAAe,KAAKhuC,sBAAL,CAA4BrnB,MAA5B,CAAmCk2D,SAAS,CAAC9kD,UAAV,CAAqBle,IAAxD,CAAf;AACD,WAFD,MAGK;AACH,iBAAKmiE,QAAL,GAAgB,EAAhB;AACD;;AACD,cAAIc,QAAQ,IAAG,IAAX,IAAmBA,QAAQ,IAAE,EAAjC,EAAqC;AACnC,iBAAKb,MAAL,GAAa,KAAKjuC,sBAAL,CAA4BrnB,MAA5B,CAAmCm2D,QAAQ,CAAC/kD,UAAT,CAAoBle,IAAvD,CAAb;AACD,WAFD,MAGK;AACH,iBAAKoiE,MAAL,GAAc,EAAd;AACD;;AAGD,cAAI,CAAChzC,aAAD,KAAmB4zC,SAAS,IAAE,IAAX,IAAmB,CAACA,SAAvC,MAAsDC,QAAQ,IAAE,IAAV,IAAiB,CAACA,QAAxE,KAAqF,CAAC/6D,QAA1F,EAAoG;AAClG,iBAAKo6D,uBAAL,GAA+B,KAAKD,kBAApC;AACD,WAFD,MAGI;AACF,iBAAKC,uBAAL,GAA+B,KAAKD,kBAAL,CAAwBplD,MAAxB,CAA+B,UAAAC,GAAG,EAAE;AACjE,qBAAO,CAACA,GAAG,CAACwlD,kBAAJ,GAAyB,GAAzB,GAA+BxlD,GAAG,CAACylD,mBAApC,EAAyD5kD,iBAAzD,GAA6EF,KAA7E,CAAmFuR,aAAa,CAACrR,iBAAd,EAAnF,CAAP;AACD,aAF8B,CAA/B;;AAIA,gBAAI,KAAKokD,QAAL,IAAgB,EAApB,EAAwB;AACtB,mBAAKG,uBAAL,GAA+B,KAAKA,uBAAL,CAA6BrlD,MAA7B,CAAoC,UAAAC,GAAG,EAAI;AACxE,uBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACX,QAA9B;AACD,eAF8B,CAA/B;AAGD;;AAED,gBAAI,KAAKC,MAAL,IAAc,EAAlB,EAAsB;AACpB,mBAAKE,uBAAL,GAA+B,KAAKA,uBAAL,CAA6BrlD,MAA7B,CAAoC,UAAAC,GAAG,EAAI;AACxE,uBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACV,MAA9B;AACD,eAF8B,CAA/B;AAGD;;AAED,iBAAKE,uBAAL,GAA+B,KAAKA,uBAAL,CAA6BrlD,MAA7B,CAAoC,UAAAC,GAAG,EAAI;AACxE,qBAAOA,GAAG,CAAChV,QAAJ,CAAa2V,KAAb,CAAmB3V,QAAnB,CAAP;AACD,aAF8B,CAA/B;AAIA,iBAAKo6D,uBAAL;AACA,iBAAK3nD,MAAL,GAAc;AACZC,0BAAY,EAAE,EADF;AAEZC,yBAAW,EAAE;AAFD,aAAd;AAKD;;AAGD,cAAIuU,aAAa,IAAG,EAAhB,IAAsBlnB,QAAQ,IAAG,EAAjC,IAAuC86D,SAAS,IAAG,EAAnD,IAAyDC,QAAQ,IAAE,EAAvE,EAA2E;AACzE,iBAAKloD,iBAAL,GAAyB,CAAzB;AACA,iBAAKD,YAAL,GAAoB,CAApB;AACA,iBAAKA,YAAL,GAAqB,KAAKH,MAAL,CAAYC,YAAjC;AACA,iBAAKwD,WAAL,GAAmB,EAAnB;AACA,iBAAKA,WAAL,GAAmB,KAAKkkD,uBAAL,CAA6BjuE,MAAhD;AACA,iBAAKiqB,WAAL,GAAmB,oBAAmB,KAAK+jD,kBAAL,CAAwBhuE,MAA3C,GAAmD,iBAAtE;AACD,WAPD,MAOK;AACH,iBAAK0mB,iBAAL,GAAyB,CAAzB;AACA,iBAAKD,YAAL,GAAoB,CAApB;AACA,iBAAKA,YAAL,GAAqB,KAAKH,MAAL,CAAYC,YAAjC;AACD,iBAAKwD,WAAL,GAAmB,EAAnB;AACA,iBAAKA,WAAL,GAAmB,KAAKikD,kBAAL,CAAwBhuE,MAA3C;AACA,iBAAKiqB,WAAL,GAAmB,EAAnB;AACA;AACF;;;0CAIiB0Y,Q,EAAQ;AAAA;;AACxB;;AACA,cAAGA,QAAQ,KAAK,OAAhB,EAAwB;AACtB,iBAAKC,QAAL,GAAe,qBAAf,CADsB,CAEtB;;AACA,gBAAMC,EAAE,GAAmB,2CAAWC,cAAX,CAA0B,KAAK+rC,gBAAL,CAAsB7rC,aAAhD,CAA3B;AAEA;;AACA,gBAAMC,EAAE,GAAkB,2CAAWC,QAAX,EAA1B;AACA,uDAAWC,iBAAX,CAA6BF,EAA7B,EAAiCJ,EAAjC,EAAqC,QAArC;AAEA;;AACA,2DAAeI,EAAf,EAAmB,KAAKL,QAAxB;AACD;;AACD,cAAGD,QAAQ,KAAK,KAAhB,EAAsB;AACpB,iBAAKC,QAAL,GAAgB,oBAAhB;AACA,gBAAIhgC,IAAI,GAAG8N,QAAQ,CAACglB,cAAT,CAAwB,kBAAxB,CAAX;AACA,+DAAa9yB,IAAb,EAAmBhH,IAAnB,CAAwB,UAAA40D,MAAM,EAAI;AAClC;AACA,kBAAIC,QAAQ,GAAG,GAAf;AACA,kBAAIC,UAAU,GAAG,GAAjB;AACA,kBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACn7C,KAAlD;AACA,kBAAIw7C,UAAU,GAAGF,SAAjB;AAEA,kBAAMG,cAAc,GAAGN,MAAM,CAACO,SAAP,CAAiB,WAAjB,CAAvB;AACA,kBAAIC,GAAG,GAAG,IAAI,kCAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CARkC,CAQI;;AACtC,kBAAIC,QAAQ,GAAG,CAAf;AACAD,iBAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDR,QAAjD,EAA2DE,SAA3D;AACAK,iBAAG,CAACntB,IAAJ,CAAS,QAAI,CAACjB,QAAd,EAXkC,CAWT;AAC1B,aAZC;AAaD;;AACD,cAAGD,QAAQ,KAAK,KAAhB,EAAsB;AACpB,iBAAKC,QAAL,GAAgB,oBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,kBAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,mEAAiErb,GAAG,CAACsb,SAArE,GAA+E,UAAhF,CAAT,EAAsG;AAC/GrgC,kBAAI,EAAE;AADyG,aAAtG,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;;AACD,cAAGD,QAAQ,KAAK,MAAhB,EAAuB;AACrB,iBAAKC,QAAL,GAAgB,qBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,kBAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,mEAAiErb,GAAG,CAACsb,SAArE,GAA+E,UAAhF,CAAT,EAAsG;AAC/GrgC,kBAAI,EAAE;AADyG,aAAtG,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;AACF,S,CAGH;;;;yCACiBD,Q,EAAQ;AACvB,cAAGA,QAAQ,KAAK,OAAhB,EAAwB;AACtB,iBAAKC,QAAL,GAAe,qBAAf,CADsB,CAErB;;AACD,gBAAMC,EAAE,GAAmB,2CAAWC,cAAX,CAA0B,KAAKgsC,qBAAL,CAA2B9rC,aAArD,CAA3B;AACA;;AACA,gBAAMC,EAAE,GAAkB,2CAAWC,QAAX,EAA1B;AACA,uDAAWC,iBAAX,CAA6BF,EAA7B,EAAiCJ,EAAjC,EAAqC,QAArC;AACA,2DAAeI,EAAf,EAAmB,KAAKL,QAAxB;AACD;;AACD,cAAGD,QAAQ,KAAK,KAAhB,EAAsB;AACpB,iBAAKC,QAAL,GAAgB,oBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,uBAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,sHAAoHrb,GAAG,CAACsb,SAAxH,GAAkI,UAAnI,CAAT,EAAyJ;AAClKrgC,kBAAI,EAAE;AAD4J,aAAzJ,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;;AACD,cAAGD,QAAQ,KAAK,MAAhB,EAAuB;AACrB,iBAAKC,QAAL,GAAgB,qBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,uBAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,sHAAoHrb,GAAG,CAACsb,SAAxH,GAAkI,UAAnI,CAAT,EAAyJ;AAClKrgC,kBAAI,EAAE;AAD4J,aAAzJ,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;;AACD,cAAGD,QAAQ,KAAK,KAAhB,EAAsB;AACpB,gBAAIY,IAAI,GAAG,KAAKurC,qBAAL,CAA2B9rC,aAAtC;AACD,gBAAIhb,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,uBAAxB,CAAV;AACA,gBAAI+N,GAAG,GAAG,IAAI,kCAAJ,CAAU,GAAV,EAAc,IAAd,EAAmB,CAAC,IAAD,EAAM,IAAN,CAAnB,CAAV;AACA,gBAAIL,IAAI,GAAG,IAAIC,IAAJ,CAAS,EAAT,EAAa,EAAb,CAAX;AAEA,gBAAIK,aAAa,GAAG;AAClB,yBAAU,gBAAS99B,OAAT,EAAiB+9B,QAAjB,EAAyB;AACjC,uBAAO,IAAP;AACD;AAHiB,aAApB;AAKAF,eAAG,CAACG,QAAJ,CAAa,oHAAkHL,IAAI,CAACD,SAAvH,GAAiI,UAA9I,EAAyJ,EAAzJ,EAA4J,EAA5J,EAA+J;AAC7J,uBAAQ,IADqJ;AAE7J,iCAAmBI;AAF0I,aAA/J;AAIAD,eAAG,CAACI,IAAJ,CAAS,oBAAT;AACD;AACD,S,CACD;AACA;AAEA;;;;uCAEiBtY,M,EAAM;AACnB,eAAK9E,YAAL,GAAoB,CAApB;AACA,eAAKA,YAAL,GAAoB8E,MAAM,CAAC1uB,MAAP,CAAcsE,KAAlC;AACA,eAAKmlB,MAAL,GAAc;AACZC,wBAAY,EAAE,KAAKE,YADP;AAEZD,uBAAW,EAAE;AAFD,WAAd;AAID;;;6CAEoBuoD,C,EAAG1nB,G,EAAK;AAC3B,cAAI2nB,KAAK,GAAqBt+D,QAAQ,CAACglB,cAAT,CAAwB,gBAAxB,CAA9B;AACA,6CAAC,CAAC,YAAD,CAAD,CAAgBt3B,MAAhB;AACA,cAAI6wE,GAAG,GAAGD,KAAK,CAACE,IAAN,CAAW,CAAX,EAAcC,KAAd,CAAoBJ,CAApB,CAAV;;AACA,cAAI1nB,GAAJ,EAAS;AACL,+CAAC,CAAC4nB,GAAD,CAAD,CAAOG,IAAP,CAAY,mCAAC,CAACH,GAAD,CAAD,CAAOG,IAAP,KAAgB,+EAA5B;AACH,WAFD,MAEO;AACH,+CAAC,CAACH,GAAD,CAAD,CAAOG,IAAP,CAAY,mCAAC,CAACH,GAAD,CAAD,CAAOG,IAAP,KAAgB,gFAA5B;AACH;AACF;;;0CAEiB5jD,K,EAAMC,G,EAAG;AAEzB;;AACF,cAAG,KAAKC,iBAAL,KAA2BF,KAA9B,EAAqC;AACnC,iBAAKxG,cAAL,GAAsB,CAAC,KAAKA,cAA5B;AAEA,iBAAKqqD,oBAAL,CAA0B5jD,GAA1B,EAA8B,KAAKzG,cAAnC;AACD,WAJD,MAKK;AACH,iBAAK0G,iBAAL,GAAyBF,KAAzB;AACA,iBAAKxG,cAAL,GAAsB,IAAtB;AAEA,iBAAKqqD,oBAAL,CAA0B5jD,GAA1B,EAA8B,KAAKzG,cAAnC;AACD;;AAED,cAAG,KAAKA,cAAR,EAAwB;AACtB,iBAAKipD,uBAAL,GAA+B,KAAKA,uBAAL,CAA6BtiD,IAA7B,CAAkC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAEzE,kBAAGL,KAAK,KAAK,QAAb,EAAsB;AACpB,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAC,CAAR;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAP;AACD,eALD,MAMI;AACF,oBAAII,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACA,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACD;;AACD,qBAAO,CAAP;AAED,aAhB8B,CAA/B;AAiBD,WAlBD,MAkBO;AACL,iBAAK41D,uBAAL,GAA+B,KAAKA,uBAAL,CAA6BtiD,IAA7B,CAAkC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAEzE,kBAAGL,KAAK,KAAK,QAAb,EAAsB;AACpB,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAP;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAC,CAAR;AACD,eALD,MAMI;AACJ,oBAAII,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACD;;AACD,qBAAO,CAAP;AACD,aAf8B,CAA/B;AAgBD;AAEA;;;sCAEU;AAAA;;AACT,eAAKw1D,gBAAL,CAAsByB,WAAtB,GAAoCjtE,SAApC,CAA8C,UAAA0oB,GAAG,EAAI;AACnD;AACA,oBAAI,CAACmI,QAAL,GAAgBnI,GAAhB;AACD,WAHD,EAGE,UAAC5E,GAAD,EAAO;AACP,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WALD;AAMH;;;;;;;uBAhaYu3D,uB,EAAuB,sK,EAAA,gI,EAAA,kJ,EAAA,yH,EAAA,+H,EAAA,wH,EAAA,wJ,EAAA,wJ;AAAA,K;;;YAAvBA,uB;AAAuB,0C;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACtBpC;;AACI;;AACI;;AACI;;AACI;;AAA+D;;AAAc;;AACjF;;AACJ;;AAEA;;AAEI;;AACI;;AAAqE;;AAAS;;AAE9E;;AAC8B;AAAA;AAAA;;AAD9B;;AAEJ;;AACA;;AACI;;AAAgE;;AAAS;;AACzE;;AACI;;AAC2B;AAAA,mBAAY,IAAAv/C,SAAA,QAAZ;AAA6B,WAA7B,EAA8B,eAA9B,EAA8B;AAAA;AAAA,WAA9B,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA,mBAGvC,IAAAlF,QAAA,yHAHuC;AAGuF,WAHrH,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA,mBAIxC,IAAAsmD,kBAAA,yHAJwC;AAIgG,WAJ9H;;AAD3B;;AAQE;;AACE;;AAAiE;AAAA;;AAAA;;AAAA,mBAAS,oBAAT;AAA2B,WAA3B;;AAC/D;;AACF;;AACF;;AACN;;AACA;;AAGA;;AAGJ;;AAEA;;AACI;;AAAgE;;AAAO;;AACrE;;AACE;;AAC4B;AAAA,mBAAY,IAAAphD,SAAA,QAAZ;AAA6B,WAA7B,EAA8B,eAA9B,EAA8B;AAAA;AAAA,WAA9B,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA,mBAGzC,IAAAqhD,cAAA,yHAHyC;AAG2F,WAHzH,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA,mBAIxC,IAAAvmD,QAAA,yHAJwC;AAIsF,WAJpH;;AAD5B;;AAUE;;AACE;;AAAiE;AAAA;;AAAA;;AAAA,mBAAS,oBAAT;AAA2B,WAA3B;;AAC/D;;AACF;;AACF;;AACA;;AAGA;;AAGA;;AAGN;;AACJ;;AAEA;;AACE;;AAA0E;;AAAa;;AAEvF;;AAC8C;AAAA;AAAA,aAA4D,QAA5D,EAA4D;AAAA;;AAAA;;AAAA;;AAAA,mBAC/F,IAAAA,QAAA,yHAD+F;AAC+B,WAD3F;;AAD9C;;AAMA;;AACE;;AACF;;AAEA;;AAGF;;AACJ;;AAEA;;AACI;;AACI;;AAAmC;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,QAAA,yHAAT;AAAuI,WAAvI;;AAGnC;;AAAwD;;AAAO;;AACnE;;AACJ;;AAEA;;AAEA;;AAEE;;AACE;;AACE;;AAA6D;;AAAI;;AACnE;;AACF;;AACE;;AAA6B;AAAA,mBAAU,IAAAmF,cAAA,QAAV;AAAgC,WAAhC;;AAE3B;;AAA4B;;AAAE;;AAC9B;;AAAmB;;AAAE;;AACrB;;AAAmB;;AAAE;;AACrB;;AAAoB;;AAAG;;AAC3B;;AACA;;AACA;;AACE;;AAAqE;;AAAO;;AAC9E;;AACA;;AACA;;AAGI;;AACE;;AACI;;AACM;;AACI;;AAEA;;AAAqG;;AACrG;;AACI;;AACE;;AAAsG;;AAAkB;;AACtH;;AACC;;AAAK;;AAAqF;AAAA,mBAAS,IAAAgjC,gBAAA,CAAiB,OAAjB,CAAT;AAAkC,WAAlC;;AAAoC;;AAAiB;;AAAI;;AACnJ;;AAAI;;AAAsF;AAAA,mBAAS,IAAAA,gBAAA,CAAiB,MAAjB,CAAT;AAAiC,WAAjC;;AAAmC;;AAAgB;;AAAI;;AACjJ;;AAAK;;AAAsF;AAAA,mBAAS,IAAAA,gBAAA,CAAiB,KAAjB,CAAT;AAAgC,WAAhC;;AAAkC;;AAAe;;AAAI;;AAChJ;;AAAI;;AAAsF;AAAA,mBAAS,IAAAA,gBAAA,CAAiB,KAAjB,CAAT;AAAgC,WAAhC;;AAAkC;;AAAe;;AAAI;;AAEhJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACL;;AACH;;AACN;;AAEK;;AACG;;AAII;;AACI;;AACI;;AAAI;AAAA,mBAAS,IAAAqe,iBAAA,CAAkB,oBAAlB,EAAuC,CAAvC,CAAT;AAAkD,WAAlD;;AAA2E;;AAAa;;AAC5F;;AAAI;AAAA,mBAAS,IAAAA,iBAAA,CAAkB,qBAAlB,EAAwC,CAAxC,CAAT;AAAmD,WAAnD;;AAA0E;;AAAc;;AAC5F;;AAAI;AAAA,mBAAS,IAAAA,iBAAA,CAAkB,QAAlB,EAA2B,CAA3B,CAAT;AAAsC,WAAtC;;AAA4D;;AAAG;;AACnE;;AAAI;AAAA,mBAAS,IAAAA,iBAAA,CAAkB,UAAlB,EAA6B,CAA7B,CAAT;AAAwC,WAAxC;;AAA+D;;AAAQ;;AAC3E;;AAAI;AAAA,mBAAS,IAAAA,iBAAA,CAAkB,mBAAlB,EAAsC,CAAtC,CAAT;AAAiD,WAAjD;;AAAuE;;AAAc;;AACzF;;AAAI;AAAA,mBAAS,IAAAA,iBAAA,CAAkB,OAAlB,EAA0B,CAA1B,CAAT;AAAqC,WAArC;;AAA2D;;AAAM;;AACrE;;AAAI;AAAA,mBAAS,IAAAA,iBAAA,CAAkB,eAAlB,EAAkC,CAAlC,CAAT;AAA6C,WAA7C;;AAAoE;;AAAW;;AACnF;;AAAI;AAAA,mBAAS,IAAAA,iBAAA,CAAkB,QAAlB,EAA2B,CAA3B,CAAT;AAAsC,WAAtC;;AAA6D;;AAAM;;AACvE;;AAAI;AAAA,mBAAS,IAAAA,iBAAA,CAAkB,UAAlB,EAA6B,CAA7B,CAAT;AAAwC,WAAxC;;AAA+D;;AAAW;;AAClF;;AACJ;;AACA;;AACI;;;;AAWA;;AAGJ;;AACJ;;AACA;;AACA;;AACI;;AAA0B;;AAAsG;;AAClI;;AACF;;AACI;;AAAqB;AAAA,mBAAc,IAAAlmD,WAAA,QAAd;AAAiC,WAAjC;;AAAmC;;AAC5D;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACE;;AAEE;;AACI;;AACE;;AAAqE;;AAArE;;AACA;;AAAqE;;AAAiB;;AACtF;;AAAqE;;AAAM;;AAC3E;;AAAqE;;AAAQ;;AAC7E;;AAAqE;;AAAc;;AACnF;;AAAqE;;AAAM;;AAC3E;;AAAqE;;AAAW;;AAChF;;AAAqE;;AAAM;;AAC3E;;AAAqE;;AAAW;;AACnF;;AACH;;AACA;;AAEE;;AAWF;;AACF;;AACF;;AAEA;;;;;;;;;;AAtN8C;;AAAA;;AAOW;;AAAA,6HAAuD,SAAvD,EAAuD,cAAvD,EAAuD,SAAvD,EAAuD,+HAAvD;;AAYX;;AAAA;;AAGA;;AAAA;;AAUO;;AAAA,2HAAqD,SAArD,EAAqD,cAArD,EAAqD,SAArD,EAAqD,6JAArD;;AAaD;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAUQ;;AAAA,kIAA4D,SAA5D,EAA4D,oFAA5D;;AAMpC;;AAAA;;AAGoB;;AAAA;;AAmFhB;;AAAA;;AAWA;;AAAA;;AAOkB;;AAAA;;AA4BpC;;AAAA;;AAeqE;;AAAA;;;;;;;;;;sED9MlEmkD,uB,EAAuB;cALnC,uDAKmC;eALzB;AACT56D,kBAAQ,EAAE,qBADD;AAET4D,qBAAW,EAAE,kCAFJ;AAGT3D,mBAAS,EAAE,CAAC,iCAAD;AAHF,S;AAKyB,Q;;;;;;;;;;;;;;;;;;;;gBA0OjC,uD;iBAAU,kB;;;gBAkDV,uD;iBAAU,uB;;;;;;;;;;;;;;;;;;;;AElTb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACIgB;;AACK;;AAAoD;AAAA;;AAAA;;AAAA;AAAA,WAAsB,eAAtB,EAAsB;AAAA;;AAAA;;AAAA;AAAA,SAAtB;;AAExC;;AACjB;;;;;;AAuBE;;AAAyE;;AAC5E;;;;;;AADgD;;AAA4B;;AAAA;;;;;;AAwBvE;;AACI;;AACH;;;;;;AACD;;AACE;;AACF;;;;;;AAiGA;;AACI;;AAA0B;;AACpB;;AACN;;AAAkD;;AAAwB;;AAC1E;;AAAkD;;AAA+B;;AACjF;;AAAkD;;AAA+B;;AACjF;;AAAkD;;AAA6B;;AAE/E;;AAAkD;;AAA6B;;AAC/E;;AAAkD;;AAA4B;;AAE9E;;AAAkD;;AAAiC;;AAEnF;;AAAkD;;AAA2B;;AAC7E;;AAAkD;;AAA+B;;AAErF;;;;;;AAf8B;;AAAA;;AAEwB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;;;;;AAGtD;;AACI;;AAAiB;;AAAiB;;AACtC;;;;;;;;;;QDlKP28D,2B;AAwBX;AAEA,2CAAoB3gE,MAApB,EAA0C4gE,0BAA1C,EAAyGrrD,QAAzG,EAAqI;AAAA;;AAAjH,aAAAvV,MAAA,GAAAA,MAAA;AAAsB,aAAA4gE,0BAAA,GAAAA,0BAAA;AAA+D,aAAArrD,QAAA,GAAAA,QAAA;AAzBzG,aAAAC,KAAA,GAAQ,IAAI1jB,IAAJ,EAAR;AACA,aAAA0qE,UAAA,GAAkC;AAChC9mD,mBAAS,EAAE,KADqB;AAEhCC,oBAAU,EAAE,YAFoB;AAGhCC,sBAAY,EAAE;AAAC/f,gBAAI,EAAE,KAAK2f,KAAL,CAAWxiB,WAAX,EAAP;AAAiC+B,iBAAK,EAAE,KAAKygB,KAAL,CAAWviB,QAAX,KAAwB,CAAhE;AAAmE4iB,eAAG,EAAE,KAAKL,KAAL,CAAWtiB,OAAX,KAAuB;AAA/F;AAHkB,SAAlC,CAwBqI,CAlBrI;;AACA,aAAA2tE,iBAAA,GAAuB,EAAvB;AACA,aAAAC,0BAAA,GAA+B,EAA/B;AAMA,aAAA7qD,cAAA,GAAiB,IAAjB;AAOA,aAAA8qD,aAAA,GAAmB,EAAnB;AAGwI;;;;mCAEhI;AAAU,eAAKxrD,QAAL,CAAcwB,IAAd;;AAChB,eAAKiqD,aAAL;;AACA,cAAG,CAACl7D,CAAC,CAAC,mBAAD,CAAD,CAAuB8Q,EAAvB,CAA0B,UAA1B,CAAJ,EAA0C;AACxC9Q,aAAC,CAAC,mBAAD,CAAD,CAAuBC,GAAvB,CAA2B,SAA3B,EAAqC,OAArC;AACD;;AACD,eAAKk7D,mBAAL;AACA,eAAKC,mBAAL;AACAC,iCAAuB,CAAC,CAAD,EAAG,KAAH,CAAvB,CAPM,CAQN;;AACA,eAAK5pD,MAAL,GAAc;AACZC,wBAAY,EAAE,EADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAIA,eAAKC,YAAL,GAAmB,EAAnB;AACA,eAAK0pD,gBAAL,GAAsB3tE,YAAY,CAACM,OAAb,CAAqB,qBAArB,EAA4CknB,QAA5C,EAAtB;;AAEA,cAAG,KAAKmmD,gBAAL,IAAwB,MAA3B,EAAkC;AAChC,iBAAKnE,cAAL,GAAoB,IAApB;AACD,WAFD,MAGI;AACF,iBAAKA,cAAL,GAAoB,KAApB;AACD;;AACDxpE,sBAAY,CAACwjB,UAAb,CAAwB,qBAAxB;AACD;;;wCAEY;AAAA;;AACX,eAAK2pD,0BAAL,CAAgCS,eAAhC,CAAgD5tE,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAhD,EAAqFT,SAArF,CAA+F,UAAAguE,UAAU,EAAI;AAC3G,oBAAI,CAACP,aAAL,GAAqBO,UAArB;AACD,WAFD;AAGD,S,CAEF;;;;oCACalhE,K,EAAO;AACjB,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACA,eAAKsX,YAAL,GAAoB,KAAKH,MAAL,CAAYE,WAAZ,GAAwB,KAAKF,MAAL,CAAYC,YAAxD;AACA,eAAKG,iBAAL,GAAyB,KAAKD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAAZ,GAAyB,CAA9C,CAAzB;AACA,cAAG,KAAKspD,0BAAL,CAAgC7vE,MAAhC,IAAwC,KAAKymB,YAAhD,EACE,KAAKA,YAAL,GAAoB,KAAKopD,0BAAL,CAAgC7vE,MAApD;AACH;;;uCAEcurB,M,EAAM;AACnB,eAAK9E,YAAL,GAAoB,CAApB;AACA,eAAKA,YAAL,GAAoB8E,MAAM,CAAC1uB,MAAP,CAAcsE,KAAlC;AACA,eAAKmlB,MAAL,GAAc;AACZC,wBAAY,EAAE,KAAKE,YADP;AAEZD,uBAAW,EAAE;AAFD,WAAd;AAID,S,CAED;;;;iCACSqhD,U,EAAW3H,Q,EAASr/D,I,EAAKyvE,c,EAAenhD,M,EAAQ;AACvD,cAAI,CAAC04C,UAAD,IAAe,CAAC3H,QAAhB,IAA4B,CAAC/wC,MAA7B,IAAuC,CAACmhD,cAAxC,IAA0D,CAACzvE,IAA/D,EAAqE;AACjE,iBAAKgvE,0BAAL,GAAkC,KAAKD,iBAAvC;AACH,WAFD,MAGI;AACF,gBAAG/H,UAAU,IAAE,IAAf,EAAoB;AACpB,mBAAKgI,0BAAL,GAAkC,KAAKD,iBAAL,CAAuBhnD,MAAvB,CAA8B,UAAAC,GAAG,EAAE;AACnE,uBAAOA,GAAG,CAACg/C,UAAJ,CAAen+C,iBAAf,GAAmCF,KAAnC,CAAyCq+C,UAAU,CAACn+C,iBAAX,EAAzC,CAAP;AACD,eAFiC,CAAlC;AAGD;;AACC,iBAAKmmD,0BAAL,GAAkC,KAAKA,0BAAL,CAAgCjnD,MAAhC,CAAuC,UAAAC,GAAG,EAAE;AAC5E,qBAAOA,GAAG,CAACq3C,QAAJ,CAAax2C,iBAAb,GAAiCF,KAAjC,CAAuC02C,QAAQ,CAACx2C,iBAAT,EAAvC,CAAP;AACD,aAFiC,CAAlC;;AAGA,gBAAG7oB,IAAI,IAAE,EAAN,IAAYA,IAAI,IAAE,IAArB,EAA2B;AACzB,mBAAKgvE,0BAAL,GAAkC,KAAKA,0BAAL,CAAgCjnD,MAAhC,CAAuC,UAAAC,GAAG,EAAE;AAC5E,uBAAOA,GAAG,CAACe,WAAJ,CAAgBF,iBAAhB,GAAoCF,KAApC,CAA0C3oB,IAAI,CAACgpB,UAAL,CAAgBC,SAAhB,CAA0BJ,iBAA1B,EAA1C,CAAP;AACD,eAFiC,CAAlC;AAGD,aAbC,CAcF;AACA;AACA;;;AACA,iBAAKmmD,0BAAL,GAAkC,KAAKA,0BAAL,CAAgCjnD,MAAhC,CAAuC,UAAAC,GAAG,EAAI;AAC9E,qBAAOA,GAAG,CAAC0nD,eAAJ,CAAoB/mD,KAApB,CAA0B8mD,cAA1B,CAAP;AACD,aAFiC,CAAlC;AAGA,iBAAKT,0BAAL,GAAkC,KAAKA,0BAAL,CAAgCjnD,MAAhC,CAAuC,UAAAC,GAAG,EAAI;AAC9E,qBAAOA,GAAG,CAAC2nD,eAAJ,CAAoBhnD,KAApB,CAA0B2F,MAA1B,CAAP;AACD,aAFiC,CAAlC;AAGA,iBAAK0gD,0BAAL;AACA,iBAAKvpD,MAAL,GAAc;AACZC,0BAAY,EAAE,EADF;AAEZC,yBAAW,EAAE;AAFD,aAAd;AAID;;AACD,cAAI05C,QAAQ,IAAG,EAAX,IAAiB/wC,MAAM,IAAG,EAA1B,IAAiC04C,UAAU,IAAE,EAA7C,IAAoDhnE,IAAI,IAAG,EAA3D,IAAiEyvE,cAAc,IAAG,EAAtF,EAA0F;AACxF,iBAAK5pD,iBAAL,GAAuB,CAAvB;AACA,iBAAKD,YAAL,GAAoB,CAApB;AACA,iBAAKA,YAAL,GAAqB,KAAKH,MAAL,CAAYC,YAAjC;AACA,iBAAKwD,WAAL,GAAmB,EAAnB;AACA,iBAAKA,WAAL,GAAmB,KAAK8lD,0BAAL,CAAgC7vE,MAAnD;AACA,iBAAKiqB,WAAL,GAAmB,oBAAmB,KAAK2lD,iBAAL,CAAuB5vE,MAA1C,GAAkD,iBAArE;AACD,WAPD,MAOK;AACH,iBAAK0mB,iBAAL,GAAuB,CAAvB;AACA,iBAAKD,YAAL,GAAoB,CAApB;AACA,iBAAKA,YAAL,GAAqB,KAAKH,MAAL,CAAYC,YAAjC,CAHG,CAIJ;;AACA,iBAAKwD,WAAL,GAAmB,EAAnB;AACA,iBAAKA,WAAL,GAAmB,KAAK8lD,0BAAL,CAAgC7vE,MAAnD;AACA,iBAAKiqB,WAAL,GAAmB,EAAnB;AACA;AACF,S,CAED;;;;8CACsB;AAAA;;AAEpB,eAAK0lD,0BAAL,CAAgCc,wBAAhC,CAAyDjuE,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAzD,EAA8FT,SAA9F,CAAwG,UAAAquE,IAAI,EAAE;AAC5G,oBAAI,CAACd,iBAAL,GAAyBc,IAAzB;AACA,oBAAI,CAACb,0BAAL,GAAkC,QAAI,CAACD,iBAAvC;AACA,oBAAI,CAAC7lD,WAAL,GAAmB,QAAI,CAAC8lD,0BAAL,CAAgC7vE,MAAnD;AACA,oBAAI,CAACiqB,WAAL,GAAkB,EAAlB;;AACA,oBAAI,CAAChB,QAAL,CAAc,EAAd,EAAiB,EAAjB,EAAoB,EAApB,EAAuB,EAAvB,EAA0B,EAA1B;AACD,WAND,EAOA,UAAC+U,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WAVD;;AAWA1O,oBAAU,CAAC,YAAM;AACf,oBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,WAFS,EAEP,GAFO,CAAV;AAGD,S,CAED;;;;6CACqBsC,K,EAAMC,G,EAAG;AAC5B;AAEA;;AACF,cAAG,KAAKC,iBAAL,KAA2BF,KAA9B,EAAqC;AACnC,iBAAKxG,cAAL,GAAsB,CAAC,KAAKA,cAA5B;AAEAkrD,mCAAuB,CAACzkD,GAAD,EAAK,KAAKzG,cAAV,CAAvB;AACD,WAJD,MAKK;AACH,iBAAK0G,iBAAL,GAAyBF,KAAzB;AACA,iBAAKxG,cAAL,GAAsB,IAAtB;AAEAkrD,mCAAuB,CAACzkD,GAAD,EAAK,KAAKzG,cAAV,CAAvB;AACD;;AAED,cAAG,KAAKA,cAAR,EAAwB;AACtB,iBAAK6qD,0BAAL,GAAkC,KAAKA,0BAAL,CAAgClkD,IAAhC,CAAqC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAC/E,kBAAGL,KAAK,KAAK,mBAAV,IAAiCA,KAAK,KAAK,eAA3C,IAA8DA,KAAK,KAAK,cAA3E,EAA0F;AACxF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAC,CAAR;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAP;AACD,eALD,MAMK,IAAGA,KAAK,KAAI,aAAZ,EAA0B;AAC7B,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAP;AACD,eALI,MAMD;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACA,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACD;;AACD,qBAAO,CAAP;AACD,aApBiC,CAAlC;AAqBD,WAtBD,MAsBO;AACL,iBAAKw3D,0BAAL,GAAkC,KAAKA,0BAAL,CAAgClkD,IAAhC,CAAqC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAC/E,kBAAGL,KAAK,KAAK,mBAAV,IAAiCA,KAAK,KAAK,eAA3C,IAA8DA,KAAK,KAAK,cAA3E,EAA0F;AACxF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAP;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAC,CAAR;AACD,eALD,MAMK,IAAGA,KAAK,KAAI,aAAZ,EAA0B;AAC7B,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAP;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACD,eALI,MAMD;AACJ,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACD;;AACD,qBAAO,CAAP;AACD,aApBiC,CAAlC;AAqBD;AAEA,S,CAED;;;;qCACU;AACR,eAAKtJ,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,oBAAD,CAArB;AACA,S,CAEF;;;;8CACmB;AAClB,eAAKw5D,0BAAL,CAAgCxjD,QAAhC,GAAyC;AACxCwzC,kBAAM,EAAC,CADiC;AAExCxwC,kBAAM,EAAC,EAFiC;AAGxCkwC,oBAAQ,EAAC,IAH+B;AAIxCkR,2BAAe,EAAE,EAJuB;AAKxCrQ,oBAAQ,EAAC,EAL+B;AAMxCyQ,2BAAe,EAAC,EANwB;AAOxCrR,yBAAa,EAAC,EAP0B;AAQxCsR,iBAAK,EAAC,EARkC;AASxCC,qBAAS,EAAC,EAT8B;AAUxCC,iBAAK,EAAC,EAVkC;AAWxCC,yBAAa,EAAC,EAX0B;AAYxCC,uBAAW,EAAC,EAZ4B;AAaxCC,6BAAiB,EAAC,EAbsB;AAcxCrkD,oBAAQ,EAAE,CAd8B;AAexCy/B,qBAAS,EAAC,EAf8B;AAgBxC6kB,oBAAQ,EAAE,CAhB8B;AAiBxCvnD,qBAAS,EAAC,EAjB8B;AAkBxCC,uBAAW,EAAE,EAlB2B;AAmBxC4mD,2BAAe,EAAC,EAnBwB;AAoBxC3I,sBAAU,EAAE,EApB4B;AAqBxCsJ,2BAAe,EAAE,EArBuB;AAsBxCC,yBAAa,EAAC,EAtB0B;AAuBxCC,yBAAa,EAAC,EAvB0B;AAwBxCC,wBAAY,EAAC,EAxB2B;AAyBxChlD,uBAAW,EAAC;AAzB4B,WAAzC;AA2BA,S,CAED;;;;0CACkB3gB,I,EAAI;AACpB,cAAM6hB,MAAM,GAAG,IAAI3sB,IAAJ,EAAf;AACA,eAAK4sB,SAAL,GAAiB9hB,IAAI,CAACke,UAAL,CAAgB6D,MAAjC;;AACD,cAAI,KAAKD,SAAL,GAAiBD,MAArB,EAA6B;AAC1B,iBAAKG,eAAL,GAAuB,IAAvB;AACA,iBAAKC,iBAAL,GAAyB,IAAzB;AACF,WAHD,MAII;AACF,iBAAKD,eAAL,GAAuB,KAAvB;AACA,iBAAKC,iBAAL,GAAyB,KAAzB;AACD;;AACD,iBAAO,KAAKD,eAAZ;AACA,S,CAED;;;;kCACUxe,K,EAAsB;AAC9B;AACA,cAAIyc,CAAC,GAAGzc,KAAK,CAAC+c,QAAN,IAAkB,CAAlB,IAAuB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAzC,IAA+C/c,KAAK,CAAC+c,QAAN,IAAkB,CAAlE,GAA0E,IAA1E,GAAiF/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlB,IAAwB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlI;AACF,iBAAON,CAAP;AACC;;;;;;;uBA7QU8jD,2B,EAA2B,uH,EAAA,8K,EAAA,8H;AAAA,K;;;YAA3BA,2B;AAA2B,+C;AAAA,gB;AAAA,c;AAAA,2pJ;AAAA;AAAA;;;ACdxC;;AACI;;AACI;;AACI;;AACI;;AAKA;;AACI;;AAA6I;;AAAmB;;AACpK;;AAEJ;;AACJ;;AACA;;AAEA;;AAQI;;AACI;;AAAsE;;AAAW;;AACjF;;AACsB;AAAA;AAAA,aAA4D,eAA5D,EAA4D;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAChE,IAAAzmD,QAAA,wDADgE;AAC8B,WAD1F;;AADtB;;AAGA;;AACE;;AADF;;AAGJ;;AAEA;;AACI;;AAAoE;;AAAS;;AAC7E;;AACA;AAAA;AAAA,aAA0D,eAA1D,EAA0D;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAChB,IAAAA,QAAA,wDADgB;AAC8E,WADxI;;AADA;;AAGJ;;AACA;;AACI;;AAAgE;;AAAa;;AAC3E;;AACA;;AACA;AAAA;AAAA,aAA6D,UAA7D,EAA6D;AAAA,mBACA,IAAAkF,SAAA,QADA;AACiB,WAD9E,EAA6D,eAA7D,EAA6D;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAE5C,IAAAlF,QAAA,wDAF4C;AAEkD,WAF/G,EAA6D,eAA7D,EAA6D;AAAA;;AAAA;;AAAA,mBAG5C,IAAAiF,iBAAA,WAH4C;AAGR,WAHrD;;AADA;;AAME;;AACE;;AAA8E;AAAA;;AAAA;;AAAA,mBAAS,oBAAT;AAA2B,WAA3B;;AAC5E;;AACF;;AACF;;AACA;;AAGA;;AAGN;;AACJ;;AAME;;AACI;;AAA0E;;AAAgB;;AAC1F;;AAEE;AAAA;AAAA,aAAiE,QAAjE,EAAiE;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACvD,IAAAjF,QAAA,wDADuD;AACuC,WADxG;;AAEE;;AAA0B;;AAAG;;AAC7B;;AAAuB;;AAAM;;AAC7B;;AAAsB;;AAAK;;AAC/B;;AACJ;;AACA;;AACI;;AAAsE;;AAAW;;AACjF;;AACA;AAAA;AAAA,aAAwD,QAAxD,EAAwD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC9C,IAAAA,QAAA,wDAD8C;AACgD,WADxG;;AAEI;;AAA0B;;AAAG;;AAC7B;;AAAuB;;AAAM;;AAC7B;;AAAuB;;AAAM;;AACjC;;AACJ;;AACA;;AACI;;AAEe;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,QAAA,wDAAT;AAAuG,WAAvG;;AAEf;;AAAwD;;AAAO;;AACnE;;AACJ;;AACA;;AACA;;AAEI;;AACI;;AACE;;AAA6D;;AAAI;;AACnE;;AACF;;AACE;;AAA6B;AAAA,mBAAU,IAAAmF,cAAA,QAAV;AAAgC,WAAhC;;AAE3B;;AAA4B;;AAAE;;AAC9B;;AAAmB;;AAAE;;AACrB;;AAAmB;;AAAE;;AACrB;;AAAoB;;AAAG;;AAC3B;;AACA;;AACA;;AACE;;AAAqE;;AAAO;;AAC9E;;AACA;;AACF;;AACI;;AAAiD;;AAAS;;AAC5D;;AAEA;;AACE;;AACI;;AAA+B;;AAAK;;AACpC;;AAAqB;;AAAI;;AACzB;;AAAoB;;AAAG;;AACvB;;AAAoB;;AAAG;;AAC3B;;AACF;;AAKN;;AAEA;;AACI;;AACI;;AACI;;AACI;;AAAiB;AAAA,mBAAiB,IAAAmjD,oBAAA,CAAqB,YAArB,EAAkC,CAAlC,CAAjB;AAAqD,WAArD,EAAuD,OAAvD,EAAuD;AAAA,mBAAU,IAAAA,oBAAA,CAAqB,YAArB,EAAkC,CAAlC,CAAV;AAA8C,WAArG;;AAA6H;;AAAY;;AAC1J;;AAAiB;AAAA,mBAAiB,IAAAA,oBAAA,CAAqB,UAArB,EAAgC,CAAhC,CAAjB;AAAmD,WAAnD,EAAqD,OAArD,EAAqD;AAAA,mBAAU,IAAAA,oBAAA,CAAqB,UAArB,EAAgC,CAAhC,CAAV;AAA4C,WAAjG;;AAAyH;;AAAU;;AACpJ;;AAAiB;AAAA,mBAAiB,IAAAA,oBAAA,CAAqB,iBAArB,EAAuC,CAAvC,CAAjB;AAA0D,WAA1D,EAA4D,OAA5D,EAA4D;AAAA,mBAAU,IAAAA,oBAAA,CAAqB,iBAArB,EAAuC,CAAvC,CAAV;AAAmD,WAA/G;;AAAuI;;AAAiB;;AACzK;;AAAiB;AAAA,mBAAiB,IAAAA,oBAAA,CAAqB,iBAArB,EAAuC,CAAvC,CAAjB;AAA0D,WAA1D,EAA4D,OAA5D,EAA4D;AAAA,mBAAU,IAAAA,oBAAA,CAAqB,iBAArB,EAAuC,CAAvC,CAAV;AAAmD,WAA/G;;AAAuI;;AAAoB;;AAC5K;;AAAiB;AAAA,mBAAiB,IAAAA,oBAAA,CAAqB,eAArB,EAAqC,CAArC,CAAjB;AAAwD,WAAxD,EAA0D,OAA1D,EAA0D;AAAA,mBAAU,IAAAA,oBAAA,CAAqB,eAArB,EAAqC,CAArC,CAAV;AAAiD,WAA3G;;AAAkI;;AAAsB;;AAIzK;;AAAiB;AAAA,mBAAiB,IAAAA,oBAAA,CAAqB,eAArB,EAAqC,CAArC,CAAjB;AAAwD,WAAxD,EAA0D,OAA1D,EAA0D;AAAA,mBAAU,IAAAA,oBAAA,CAAqB,eAArB,EAAqC,CAArC,CAAV;AAAiD,WAA3G;;AAAmI;;AAAmB;;AACvK;;AAAiB;AAAA,mBAAiB,IAAAA,oBAAA,CAAqB,cAArB,EAAoC,CAApC,CAAjB;AAAuD,WAAvD,EAAyD,OAAzD,EAAyD;AAAA,mBAAU,IAAAA,oBAAA,CAAqB,cAArB,EAAoC,CAApC,CAAV;AAAgD,WAAzG;;AAAgI;;AAAqB;;AAEtK;;AAAkB;AAAA,mBAAiB,IAAAA,oBAAA,CAAqB,mBAArB,EAAyC,CAAzC,CAAjB;AAA4D,WAA5D,EAA8D,OAA9D,EAA8D;AAAA,mBAAU,IAAAA,oBAAA,CAAqB,mBAArB,EAAyC,CAAzC,CAAV;AAAqD,WAAnH;;AAA0I;;AAAmB;;AAE/K;;AAAiB;AAAA,mBAAiB,IAAAA,oBAAA,CAAqB,aAArB,EAAmC,CAAnC,CAAjB;AAAsD,WAAtD,EAAwD,OAAxD,EAAwD;AAAA,mBAAU,IAAAA,oBAAA,CAAqB,aAArB,EAAmC,CAAnC,CAAV;AAA+C,WAAvG;;AAA+H;;AAA6B;;AAC7K;;AAAiB;AAAA,mBAAiB,IAAAA,oBAAA,CAAqB,iBAArB,EAAuC,CAAvC,CAAjB;AAA0D,WAA1D,EAA4D,OAA5D,EAA4D;AAAA,mBAAW,IAAAA,oBAAA,CAAqB,iBAArB,EAAuC,CAAvC,CAAX;AAAoD,WAAhH;;AAAwI;;AAAkB;;AAC/K;;AACJ;;AACA;;AACI;;;;AAiBA;;AAGJ;;AACJ;;AACA;;AACA;;AACI;;AAA0B;;AAAwG;;AACpI;;AACF;;AACI;;AAAqB;AAAA,mBAAc,IAAAhoD,WAAA,QAAd;AAAiC,WAAjC;;AAAmC;;AAC5D;;AACJ;;AAGJ;;AACA;;AACJ;;AAEA;;AACI;;AACI;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACJ;;AACJ;;;;;;AA5MsB;;AAAA;;AAwBgB;;AAAA;;AAGZ;;AAAA;;AAOV;;AAAA;;AAOE;;AAAA,mIAA6D,SAA7D,EAA6D,cAA7D,EAA6D,SAA7D,EAA6D,iIAA7D;;AAUgC;;AAAA;;AAGA;;AAAA;;AAchC;;AAAA;;AAUF;;AAAA;;AA2EQ;;AAAA;;AAiBA;;AAAA;;AAOkB;;AAAA;;AAY8B;;AAAA;;;;;;;;;;sEDnL3DmmD,2B,EAA2B;cALvC,uDAKuC;eAL7B;AACT58D,kBAAQ,EAAE,0BADD;AAET4D,qBAAW,EAAE,uCAFJ;AAGT3D,mBAAS,EAAE,CAAC,sCAAD;AAHF,S;AAK6B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AEdxC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACoBkB;;AAAyE;;AAAsB;;;;;;AAArD;;AAA+B;;AAAA;;;;;;AAG3E;;AACE;;AACD;;;;;;AAsCD;;AACE;;AACF;;;;;;AACA;;AACI;;AACF;;;;;;AAqBI;;AACE;;AACF;;;;;;AADE;;AAAA;;;;;;AAEF;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AAsGE;;AACI;;AAAI;;AAA6B;;AACjC;;AAAI;;AAAgC;;AAEpC;;AAAI;;AAA8B;;AAElC;;AAAI;;AAAgC;;AACpC;;AAAI;;AAA4B;;AAChC;;AAAI;;AAA4B;;AAChC;;AAAI;;AAA8B;;AAClC;;AAAI;;;;AAA4C;;AAChD;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAA6B;;AACrC;;;;;;AAZQ;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAER;;AACI;;AAAiB;;AAAiB;;AACtC;;;;;;AAkClB;;AACE;;AAAkD;;AAA6B;;AAC/E;;AAAkD;;AAAgC;;AAClF;;AAAkD;;AAA8B;;AAChF;;AAAkD;;AAAgC;;AAClF;;AAAkD;;AAA4B;;AAC9E;;AAAkD;;AAA4B;;AAC9E;;AAAkD;;AAA8B;;AAChF;;AAAkD;;;;AAA4C;;AAC9F;;AAAkD;;AAAsB;;AACxE;;AAAkD;;AAA6B;;AACnF;;;;;;AAVsD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;;;;;QD5O7Cy+D,4B;AAwCX,4CAAmBC,2BAAnB,EAAqF/wE,IAArF,EAA+Go/B,sBAA/G,EACU8tC,QADV,EACuCtpD,QADvC,EAC0EvV,MAD1E,EACgGoV,gBADhG,EACkI;AAAA;;AAD/G,aAAAstD,2BAAA,GAAAA,2BAAA;AAAkE,aAAA/wE,IAAA,GAAAA,IAAA;AAA0B,aAAAo/B,sBAAA,GAAAA,sBAAA;AACrG,aAAA8tC,QAAA,GAAAA,QAAA;AAA6B,aAAAtpD,QAAA,GAAAA,QAAA;AAAmC,aAAAvV,MAAA,GAAAA,MAAA;AAAsB,aAAAoV,gBAAA,GAAAA,gBAAA;AAxChG,aAAAI,KAAA,GAAQ,IAAI1jB,IAAJ,EAAR;AACA,aAAA0qE,UAAA,GAAkC;AAChC9mD,mBAAS,EAAE,KADqB;AAEhCC,oBAAU,EAAE,YAFoB;AAGhCC,sBAAY,EAAE;AAAC/f,gBAAI,EAAE,KAAK2f,KAAL,CAAWxiB,WAAX,EAAP;AAAiC+B,iBAAK,EAAE,KAAKygB,KAAL,CAAWviB,QAAX,KAAwB,CAAhE;AAAmE4iB,eAAG,EAAE,KAAKL,KAAL,CAAWtiB,OAAX,KAAuB;AAA/F,WAHkB,CAKhC;;AALgC,SAAlC;AAUA,aAAA6rE,QAAA,GAAgB,IAAhB;AACA,aAAAC,MAAA,GAAc,IAAd;AAIA,aAAA2D,sBAAA,GAA8B,EAA9B;AACA,aAAAC,2BAAA,GAAkC,EAAlC;AAOA,aAAA3sD,cAAA,GAAiB,IAAjB;AAYA,aAAAD,WAAA,GAAgB,EAAhB;AACA,aAAAiT,kBAAA,GAA2B,KAA3B;AAGqI;;;;mCAE7H;AACN,cAAG,CAAC,mCAAC,CAAC,mBAAD,CAAD,CAAuBrS,EAAvB,CAA0B,UAA1B,CAAJ,EAA0C;AACxC,+CAAC,CAAC,mBAAD,CAAD,CAAuB7Q,GAAvB,CAA2B,SAA3B,EAAqC,OAArC;AACD;;AACD,eAAKo5D,SAAL;;AACA,eAAK5pD,QAAL,CAAcwB,IAAd;;AACA,eAAKyT,iBAAL;AACA,eAAKq4C,2BAAL;AACA,eAAKtrD,MAAL,GAAc;AACZC,wBAAY,EAAE,EADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAIC,eAAKC,YAAL,GAAmB,EAAnB;AACF,S,CACF;;;;oCACatX,K,EAAO;AACjB,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACA,eAAKsX,YAAL,GAAoB,KAAKH,MAAL,CAAYE,WAAZ,GAAwB,KAAKF,MAAL,CAAYC,YAAxD;AACA,eAAKG,iBAAL,GAAyB,KAAKD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAAZ,GAAyB,CAA9C,CAAzB;AACA,cAAG,KAAKorD,2BAAL,CAAiC3xE,MAAjC,IAAyC,KAAKymB,YAAjD,EACE,KAAKA,YAAL,GAAoB,KAAKkrD,2BAAL,CAAiC3xE,MAArD;AACH,S,CAEH;;;;oCACS;AACP,eAAKyxE,2BAAL,CAAiCtlD,QAAjC,GAA0C;AACxChD,wBAAY,EAAC,EAD2B;AAExCgoD,2BAAe,EAAC,EAFwB;AAGxCU,6BAAiB,EAAE,EAHqB;AAIxCT,yBAAa,EAAC,EAJ0B;AAKxCU,2BAAe,EAAC,EALwB;AAMxCC,2BAAe,EAAC,CANwB;AAOxCC,uBAAW,EAAC,CAP4B;AAQxCC,uBAAW,EAAC,EAR4B;AASxCC,yBAAa,EAAC,CAT0B;AAUxCC,uBAAW,EAAC,CAV4B;AAWxCC,wBAAY,EAAC,EAX2B;AAYxCC,uBAAW,EAAC,EAZ4B;AAaxCzoD,uBAAW,EAAE,IAb2B;AAcxC6kD,sBAAU,EAAC,EAd6B;AAexCX,oBAAQ,EAAC,EAf+B;AAgBxCC,kBAAM,EAAC,EAhBiC;AAiBxCuE,iBAAK,EAAC;AAjBkC,WAA1C;AAmBD,S,CAED;;;;kCACUnjE,K,EAAsB;AAC9B;AACA,cAAIyc,CAAC,GAAGzc,KAAK,CAAC+c,QAAN,IAAgB,EAAhB,IAAsB/c,KAAK,CAAC+c,QAAN,IAAkB,CAAxC,IAA6C/c,KAAK,CAAC+c,QAAN,IAAkB,CAAhE,GAAwE,IAAxE,GAA+E/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlB,IAAwB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAhI,CAF8B,CAGhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,iBAAON,CAAP;AACC,S,CACD;;;;sCACczC,Y,EAAa66B,K,EAAOC,K,EAAM90B,M,EAAM;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEE,cAAM3B,MAAM,GAAG,IAAI3sB,IAAJ,EAAf;AACA,eAAK4sB,SAAL,GAAiBw2B,KAAK,CAACp6B,UAAN,CAAiB6D,MAAlC;AAEA;;AACA,cAAIs2B,KAAK,IAAI,IAAT,IAAiBC,KAAK,IAAG,IAA7B,EAAoC;AACjC,gBAAIA,KAAK,CAACp6B,UAAN,CAAiB6D,MAAlB,GAA6Bs2B,KAAK,CAACn6B,UAAN,CAAiB6D,MAAjD,EAAyD;AAC3D,mBAAKmvB,YAAL,GAAkB,2CAAlB;AACC,mBAAK+C,WAAL,GAAmB,KAAnB;AACD,aAHE,MAIC;AACF,mBAAK/C,YAAL,GAAkB,EAAlB;AACA,mBAAK+C,WAAL,GAAmB,IAAnB;AACA,mBAAK32B,QAAL,CAAcE,YAAd,EAA2B66B,KAA3B,EAAkCC,KAAlC,EAAwC90B,MAAxC;AACD;AACA,WAVD,MAWI;AACF,iBAAK0tB,YAAL,GAAkB,EAAlB;AACA,iBAAK+C,WAAL,GAAmB,IAAnB;AAED;;AAED,cAAI,KAAKnyB,SAAL,GAAiBD,MAArB,EAA6B;AAC3B,iBAAKG,eAAL,GAAuB,IAAvB;AACF,WAFA,MAGG;AACF,iBAAKA,eAAL,GAAuB,KAAvB;AACD;;AAED,iBAAO,KAAKiyB,WAAZ;AACA;;;uCAGcz2B,Y,EAAa2kD,Q,EAASC,M,EAAO5+C,M,EAAM;AAChD,eAAKsyB,aAAL,CAAmBt4B,YAAnB,EAAgC2kD,QAAhC,EAAyCC,MAAzC,EAAgD5+C,MAAhD;AACD;;;2CACkBhG,Y,EAAa2kD,Q,EAASC,M,EAAO5+C,M,EAAM;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,cAAM8+B,QAAQ,GAAC,IAAIptD,IAAJ,EAAf;;AACA,cAAGitE,QAAQ,IAAE,IAAb,EAAkB;AACb,gBAAIA,QAAQ,CAACjkD,UAAT,CAAoB6D,MAApB,GAA6BugC,QAAjC,EAA2C;AAC5C,mBAAKE,aAAL,GAAqB,IAArB;AACF,aAFG,MAEI;AACP,mBAAKA,aAAL,GAAqB,KAArB;AACA,mBAAKllC,QAAL,CAAcE,YAAd,EAA2B2kD,QAA3B,EAAoCC,MAApC,EAA2C5+C,MAA3C;AACA;AACD,WAPD,MAQI;AACD,iBAAKg/B,aAAL,GAAqB,KAArB;AACA,mBAAO,KAAKA,aAAZ;AACF;AACJ,S,CACD;;;;sDAC8B;AAAA;;AAC1B,eAAKsjB,2BAAL,CAAiCc,2BAAjC,CAA6D/vE,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA7D,EAAkGT,SAAlG,CAA4G,UAAAmwE,sBAAsB,EAAI;AACpI,oBAAI,CAACd,sBAAL,GAA8Bc,sBAA9B;AACA,oBAAI,CAACb,2BAAL,GAAmC,QAAI,CAACD,sBAAxC;;AACA,oBAAI,CAACzoD,QAAL,CAAc,EAAd,EAAiB,EAAjB,EAAoB,EAApB,EAAuB,EAAvB;AACD,WAJD,EAKC,UAAC9C,GAAD,EAAO;AACN,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAPD;;AASA1O,oBAAU,CAAC,YAAM;AACf,oBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,WAFS,EAEP,GAFO,CAAV;AAGD,S,CAEH;;;;iCACSC,Y,EAAawlD,S,EAAUC,Q,EAASz/C,M,EAAQ;AAAA;;AAC7C,cAAIw/C,SAAS,IAAI,IAAb,IAAqBA,SAAS,IAAE,EAApC,EAAwC;AACtC,iBAAKb,QAAL,GAAe,KAAKhuC,sBAAL,CAA4BrnB,MAA5B,CAAmCk2D,SAAS,CAAC9kD,UAAV,CAAqBle,IAAxD,CAAf,CADsC,CAExC;AACC;AACA,WAJD,MAKK;AACH,iBAAKmiE,QAAL,GAAgB,EAAhB;AACD;;AACD,cAAIc,QAAQ,IAAG,IAAX,IAAmBA,QAAQ,IAAE,EAAjC,EAAqC;AACnC,iBAAKb,MAAL,GAAa,KAAKjuC,sBAAL,CAA4BrnB,MAA5B,CAAmCm2D,QAAQ,CAAC/kD,UAAT,CAAoBle,IAAvD,CAAb,CADmC,CAEnC;AACA;AACD,WAJD,MAKK;AACH,iBAAKoiE,MAAL,GAAc,EAAd;AACD;;AAGD,cAAI,CAAC5kD,YAAD,KAAkBwlD,SAAS,IAAE,IAAX,IAAmB,CAACA,SAAtC,MAAqDC,QAAQ,IAAE,IAAV,IAAiB,CAACA,QAAvE,KAAoF,CAACz/C,MAAzF,EAAiG;AAC/F,iBAAKwiD,2BAAL,GAAmC,KAAKD,sBAAxC;AACD,WAFD,MAGI;AACF,iBAAKC,2BAAL,GAAmC,KAAKD,sBAAL,CAA4B9oD,MAA5B,CAAmC,UAAAC,GAAG,EAAE;AACzE,qBAAOA,GAAG,CAACM,YAAJ,CAAiBO,iBAAjB,GAAqCF,KAArC,CAA2CL,YAAY,CAACO,iBAAb,EAA3C,CAAP;AACD,aAFkC,CAAnC;;AAIA,gBAAI,KAAKokD,QAAL,IAAgB,EAApB,EAAwB;AACtB,mBAAK6D,2BAAL,GAAmC,KAAKA,2BAAL,CAAiC/oD,MAAjC,CAAwC,UAAAC,GAAG,EAAI;AAChF,uBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACX,QAA9B;AACD,eAFkC,CAAnC;AAGD;;AAED,gBAAI,KAAKC,MAAL,IAAc,EAAlB,EAAsB;AACpB,mBAAK4D,2BAAL,GAAmC,KAAKA,2BAAL,CAAiC/oD,MAAjC,CAAwC,UAAAC,GAAG,EAAI;AAChF,uBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACV,MAA9B;AACD,eAFkC,CAAnC;AAGD;;AAED,iBAAK4D,2BAAL,GAAmC,KAAKA,2BAAL,CAAiC/oD,MAAjC,CAAwC,UAAAC,GAAG,EAAI;AAChF,qBAAOA,GAAG,CAACwpD,WAAJ,CAAgB7oD,KAAhB,CAAsB2F,MAAtB,CAAP;AACD,aAFkC,CAAnC;AAIA,iBAAKwiD,2BAAL;AACA,iBAAKrrD,MAAL,GAAc;AACZC,0BAAY,EAAE,EADF;AAEZC,yBAAW,EAAE;AAFD,aAAd;AAKD;;AAED,eAAKC,YAAL,GAAmB,KAAKkrD,2BAAL,CAAiC3xE,MAApD;;AACA,cAAImpB,YAAY,IAAG,EAAf,IAAqBgG,MAAM,IAAG,EAA9B,IAAoCw/C,SAAS,IAAG,EAAhD,IAAsDC,QAAQ,IAAE,EAApE,EAAwE;AACtE,gBAAI,KAAKnoD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAArC,EAAmD;AACjD;AACC,mBAAKE,YAAL,GAAoB,KAAKA,YAAzB;AACA,mBAAKC,iBAAL,GAAyB,CAAzB;AACD,aAJF,MAKM;AACH,mBAAKD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAoB,KAAKH,MAAL,CAAYC,YAAhC;AACA,mBAAKG,iBAAL,GAAyB,CAAzB;AACD,aAVoE,CAWtE;AACA;AACA;;;AACA,iBAAKqD,WAAL,GAAmB,EAAnB;AACA,iBAAKA,WAAL,GAAmB,KAAK4nD,2BAAL,CAAiC3xE,MAApD;AACA,iBAAKiqB,WAAL,GAAmB,oBAAmB,KAAKynD,sBAAL,CAA4B1xE,MAA/C,GAAuD,iBAA1E;AACD,WAjBD,MAiBK;AACH,gBAAI,KAAKymB,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAArC,EAAmD;AACjD;AACC,mBAAKE,YAAL,GAAoB,KAAKA,YAAzB;AACA,mBAAKC,iBAAL,GAAyB,CAAzB;AACA,mBAAKqD,WAAL,GAAmB,KAAK2nD,sBAAL,CAA4B1xE,MAA5B,CAAmCgqB,QAAnC,EAAnB;AACA,mBAAKC,WAAL,GAAkB,EAAlB;AACD,aANF,MAOM;AACH,mBAAKxD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAoB,KAAKH,MAAL,CAAYC,YAAhC;AACA,mBAAKG,iBAAL,GAAyB,CAAzB;AACA,mBAAKqD,WAAL,GAAmB,KAAK2nD,sBAAL,CAA4B1xE,MAA5B,CAAmCgqB,QAAnC,EAAnB;AACA,mBAAKC,WAAL,GAAkB,EAAlB;AACD,aAdC,CAgBL;AACA;AACA;AACA;AACA;AACA;;AACC;AACF;;;0CAIiB0Y,Q,EAAQ;AAAA;;AACxB;;AACA,cAAGA,QAAQ,KAAK,OAAhB,EAAwB;AACtB,iBAAKC,QAAL,GAAe,yBAAf,CADsB,CAEtB;;AACA,gBAAMC,EAAE,GAAmB,2CAAWC,cAAX,CAA0B,KAAK+rC,gBAAL,CAAsB7rC,aAAhD,CAA3B;AAEA;;AACA,gBAAMC,EAAE,GAAkB,2CAAWC,QAAX,EAA1B;AACA,uDAAWC,iBAAX,CAA6BF,EAA7B,EAAiCJ,EAAjC,EAAqC,QAArC;AAEA;;AACA,2DAAeI,EAAf,EAAmB,KAAKL,QAAxB;AACD;;AACD,cAAGD,QAAQ,KAAK,KAAhB,EAAsB;AACpB,iBAAKC,QAAL,GAAgB,wBAAhB;AACA,gBAAIhgC,IAAI,GAAG8N,QAAQ,CAACglB,cAAT,CAAwB,kBAAxB,CAAX;AACA,+DAAa9yB,IAAb,EAAmBhH,IAAnB,CAAwB,UAAA40D,MAAM,EAAI;AAClC;AACA,kBAAIC,QAAQ,GAAG,GAAf;AACA,kBAAIC,UAAU,GAAG,GAAjB;AACA,kBAAIC,SAAS,GAAGH,MAAM,CAACI,MAAP,GAAgBH,QAAhB,GAA2BD,MAAM,CAACn7C,KAAlD;AACA,kBAAIw7C,UAAU,GAAGF,SAAjB;AAEA,kBAAMG,cAAc,GAAGN,MAAM,CAACO,SAAP,CAAiB,WAAjB,CAAvB;AACA,kBAAIC,GAAG,GAAG,IAAI,kCAAJ,CAAU,GAAV,EAAe,IAAf,EAAqB,IAArB,CAAV,CARkC,CAQI;;AACtC,kBAAIC,QAAQ,GAAG,CAAf;AACAD,iBAAG,CAACE,QAAJ,CAAaJ,cAAb,EAA6B,KAA7B,EAAoC,CAApC,EAAuCG,QAAvC,EAAiDR,QAAjD,EAA2DE,SAA3D;AACAK,iBAAG,CAACntB,IAAJ,CAAS,QAAI,CAACjB,QAAd,EAXkC,CAWT;AAC1B,aAZC;AAaD;;AACD,cAAGD,QAAQ,KAAK,KAAhB,EAAsB;AACpB,iBAAKC,QAAL,GAAgB,wBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,kBAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,mEAAiErb,GAAG,CAACsb,SAArE,GAA+E,UAAhF,CAAT,EAAsG;AAC/GrgC,kBAAI,EAAE;AADyG,aAAtG,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;;AACD,cAAGD,QAAQ,KAAK,MAAhB,EAAuB;AACrB,iBAAKC,QAAL,GAAgB,yBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,kBAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,mEAAiErb,GAAG,CAACsb,SAArE,GAA+E,UAAhF,CAAT,EAAsG;AAC/GrgC,kBAAI,EAAE;AADyG,aAAtG,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;AACF,S,CAGH;;;;yCACiBD,Q,EAAQ;AACvB,cAAGA,QAAQ,KAAK,OAAhB,EAAwB;AACtB,iBAAKC,QAAL,GAAe,yBAAf,CADsB,CAErB;;AACD,gBAAMC,EAAE,GAAmB,2CAAWC,cAAX,CAA0B,KAAK2vC,yBAAL,CAA+BzvC,aAAzD,CAA3B;AACA;;AACA,gBAAMC,EAAE,GAAkB,2CAAWC,QAAX,EAA1B;AACA,uDAAWC,iBAAX,CAA6BF,EAA7B,EAAiCJ,EAAjC,EAAqC,QAArC;AACA,2DAAeI,EAAf,EAAmB,KAAKL,QAAxB;AACD;;AACD,cAAGD,QAAQ,KAAK,KAAhB,EAAsB;AACpB,iBAAKC,QAAL,GAAgB,wBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,2BAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,sHAAoHrb,GAAG,CAACsb,SAAxH,GAAkI,UAAnI,CAAT,EAAyJ;AAClKrgC,kBAAI,EAAE;AAD4J,aAAzJ,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;;AACD,cAAGD,QAAQ,KAAK,MAAhB,EAAuB;AACrB,iBAAKC,QAAL,GAAgB,yBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,2BAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,sHAAoHrb,GAAG,CAACsb,SAAxH,GAAkI,UAAnI,CAAT,EAAyJ;AAClKrgC,kBAAI,EAAE;AAD4J,aAAzJ,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;;AACD,cAAGD,QAAQ,KAAK,KAAhB,EAAsB;AACpB,gBAAIY,IAAI,GAAG,KAAKkvC,yBAAL,CAA+BzvC,aAA1C;AACD,gBAAIhb,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,2BAAxB,CAAV;AACA,gBAAI+N,GAAG,GAAG,IAAI,kCAAJ,CAAU,GAAV,EAAc,IAAd,EAAmB,CAAC,IAAD,EAAM,IAAN,CAAnB,CAAV;AACA,gBAAIL,IAAI,GAAG,IAAIC,IAAJ,CAAS,EAAT,EAAa,EAAb,CAAX;AAEA,gBAAIK,aAAa,GAAG;AAClB,yBAAU,gBAAS99B,OAAT,EAAiB+9B,QAAjB,EAAyB;AACjC,uBAAO,IAAP;AACD;AAHiB,aAApB;AAKAF,eAAG,CAACG,QAAJ,CAAa,oHAAkHL,IAAI,CAACD,SAAvH,GAAiI,UAA9I,EAAyJ,EAAzJ,EAA4J,EAA5J,EAA+J;AAC7J,uBAAQ,IADqJ;AAE7J,iCAAmBI;AAF0I,aAA/J;AAIAD,eAAG,CAACI,IAAJ,CAAS,wBAAT;AACD;AACD,S,CACD;AACA;AACA;AACA;;;;uCACiBtY,M,EAAM;AACnB,eAAK9E,YAAL,GAAoB,CAApB;AACA,eAAKA,YAAL,GAAoB8E,MAAM,CAAC1uB,MAAP,CAAcsE,KAAlC;AACA,eAAKmlB,MAAL,GAAc;AACZC,wBAAY,EAAE,KAAKE,YADP;AAEZD,uBAAW,EAAE;AAFD,WAAd;AAID,S,CACH;;;;8CACwBgF,K,EAAMC,G,EAAG;AAC/B,cAAG,KAAKC,iBAAL,KAA2BF,KAA9B,EAAqC;AACnC,iBAAKxG,cAAL,GAAsB,CAAC,KAAKA,cAA5B;AACA0tD,oCAAwB,CAACjnD,GAAD,EAAK,KAAKzG,cAAV,CAAxB;AACD,WAHD,MAIK;AACH,iBAAK0G,iBAAL,GAAyBF,KAAzB;AACA,iBAAKxG,cAAL,GAAsB,IAAtB;AACA0tD,oCAAwB,CAACjnD,GAAD,EAAK,KAAKzG,cAAV,CAAxB;AACD;;AACD,cAAG,KAAKA,cAAR,EAAwB;AACtB,iBAAK2sD,2BAAL,GAAmC,KAAKA,2BAAL,CAAiChmD,IAAjC,CAAsC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAEjF,kBAAGL,KAAK,KAAK,iBAAb,EAA+B;AAC7B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAC,CAAR;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAP;AACD,eALD,MAMK,IAAGA,KAAK,KAAK,aAAb,EAA2B;AAC9B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAC,CAAR;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAP;AACD,eALI,MAMA,IAAGA,KAAK,KAAK,eAAb,EAA6B;AAChC,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAC,CAAR;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAP;AACD,eALI,MAMD;AACF,oBAAII,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACA,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACD;;AACD,qBAAO,CAAP;AAED,aA5BkC,CAAnC;AA6BD,WA9BD,MA8BO;AACL,iBAAKs5D,2BAAL,GAAmC,KAAKA,2BAAL,CAAiChmD,IAAjC,CAAsC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAEjF,kBAAGL,KAAK,KAAK,iBAAb,EAA+B;AAC7B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAP;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAC,CAAR;AACD,eALD,MAMK,IAAGA,KAAK,KAAK,aAAb,EAA2B;AAC9B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAP;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAC,CAAR;AACD,eALI,MAMA,IAAGA,KAAK,KAAK,eAAb,EAA6B;AAChC,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAP;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAC,CAAR;AACD,eALI,MAMD;AACJ,oBAAII,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACD;;AACD,qBAAO,CAAP;AACD,aA3BkC,CAAnC;AA4BD;AAEA,S,CAEH;;;;4CACmB;AAAA;;AAChB,iBAAO,KAAK8L,gBAAL,CAAsBwV,4BAAtB,CAAmD,GAAnD,EAAuDn3B,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAvD,EAA4FT,SAA5F,CAAsG,UAAAO,IAAI,EAAG;AAClHA,gBAAI,CAAC+C,OAAL,CAAa,UAAAC,OAAO,EAAI;AACtB,sBAAI,CAACmf,WAAL,CAAiBlf,IAAjB,CAAsBD,OAAtB;;AACA,kBAAGA,OAAO,CAAC,QAAD,CAAP,IAAmB,GAAtB,EAA0B;AACxB,wBAAI,CAACoyB,kBAAL,GAAwB,IAAxB;AACD;AACF,aALD,EAKE,UAAC7R,GAAD,EAAO;AACP,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aAPD;AAQD,WATM,CAAP;AAUA,S,CAEH;;;;yCACgB;AACZ,6CAAC,CAAC,WAAD,CAAD,CAAe2uB,OAAf,CAAuB,OAAvB;AACD;;;4CACgB;AACf,6CAAC,CAAC,yBAAD,CAAD,CAA6BA,OAA7B,CAAqC,OAArC,EAA8ChwB,GAA9C,CAAkD,SAAlD,EAA4D,OAA5D;AACD;;;;;;;uBAlfU08D,4B,EAA4B,mL,EAAA,gI,EAAA,kJ,EAAA,yH,EAAA,+H,EAAA,wH,EAAA,wJ;AAAA,K;;;YAA5BA,4B;AAA4B,8C;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACvBzC;;AACI;;AACI;;AACI;;AACI;;AAA6I;;AAAoB;;AACrK;;AACJ;;AAEA;;AAEI;;AACI;;AAAyE;;AAAa;;AAEtF;;AAC4C;AAAA;AAAA,aAA+D,QAA/D,EAA+D;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAChG,IAAAvoD,QAAA,6CADgG;AACtB,WADzC;;AAD5C;;AAMA;;AACE;;AACF;;AAEA;;AAGJ;;AAoBA;;AACI;;AAAgE;;AAAS;;AACzE;;AACI;;AAC2B;AAAA,mBAAY,IAAAkF,SAAA,QAAZ;AAA6B,WAA7B,EAA8B,eAA9B,EAA8B;AAAA;AAAA,WAA9B,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAGvC,IAAAlF,QAAA,6CAHuC;AAGmC,WAHjE,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAIxC,IAAAsmD,kBAAA,6CAJwC;AAI4C,WAJ1E;;AAD3B;;AAQE;;AACE;;AAA8E;AAAA;;AAAA;;AAAA,mBAAS,oBAAT;AAA2B,WAA3B;;AAC5E;;AACF;;AACF;;AACN;;AACA;;AAGA;;AAGJ;;AAEA;;AACI;;AAAgE;;AAAO;;AACrE;;AACE;;AAC4B;AAAA,mBAAY,IAAAphD,SAAA,QAAZ;AAA6B,WAA7B,EAA8B,eAA9B,EAA8B;AAAA;AAAA,WAA9B,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAGzC,IAAAqhD,cAAA,6CAHyC;AAGuC,WAHrE,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAIxC,IAAAvmD,QAAA,6CAJwC;AAIkC,WAJhE;;AAD5B;;AAUE;;AACE;;AAA8E;AAAA;;AAAA;;AAAA,mBAAS,oBAAT;AAA2B,WAA3B;;AAC5E;;AACF;;AACF;;AACA;;AAGA;;AAGA;;AAGN;;AAKJ;;AAEA;;AACI;;AAAwE;;AAAY;;AACpF;;AAC6C;AAAA;AAAA,aAA8D,QAA9D,EAA8D;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAEjG,IAAAA,QAAA,6CAFiG;AAEvB,WAFvC;;AAGzC;;AAA0B;;AAAG;;AAC7B;;AAAuB;;AAAM;;AAC7B;;AAAuB;;AAAM;;AACjC;;AACJ;;AAEJ;;AAEA;;AACI;;AACI;;AAAmC;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,QAAA,6CAAT;AAAmF,WAAnF;;AAGnC;;AAAwD;;AAAO;;AACnE;;AACJ;;AAEA;;AAEA;;AAEE;;AACE;;AACE;;AAA6D;;AAAI;;AACnE;;AACF;;AACE;;AAA6B;AAAA,mBAAU,IAAAmF,cAAA,QAAV;AAAgC,WAAhC;;AAE3B;;AAA4B;;AAAE;;AAC9B;;AAAmB;;AAAE;;AACrB;;AAAmB;;AAAE;;AACrB;;AAAoB;;AAAG;;AAC3B;;AACA;;AACA;;AACE;;AAAqE;;AAAO;;AAC9E;;AACA;;AACA;;AAGI;;AACE;;AACI;;AAAmC;AAAA,mBAAiB,IAAAukD,cAAA,EAAjB;AAAiC,WAAjC;;AAC7B;;AACI;;AAEA;;AAAqG;;AACrG;;AACI;;AAA6B;AAAA,mBAAiB,IAAAC,iBAAA,EAAjB;AAAoC,WAApC;;AAC3B;;AAAmH;;AAAkB;;AACnI;;AACC;;AAAK;;AAAkG;AAAA,mBAAS,IAAAxhB,gBAAA,CAAiB,OAAjB,CAAT;AAAkC,WAAlC,EAAmC,eAAnC,EAAmC;AAAA,mBAAmB,IAAAA,gBAAA,CAAiB,OAAjB,CAAnB;AAA4C,WAA/E;;AAAiF;;AAAiB;;AAAI;;AAC7M;;AAAI;;AAAkG;AAAA,mBAAS,IAAAA,gBAAA,CAAiB,MAAjB,CAAT;AAAiC,WAAjC,EAAkC,eAAlC,EAAkC;AAAA,mBAAmB,IAAAA,gBAAA,CAAiB,MAAjB,CAAnB;AAA2C,WAA7E;;AAA+E;;AAAgB;;AAAI;;AACzM;;AAAI;;AAAkG;AAAA,mBAAS,IAAAA,gBAAA,CAAiB,KAAjB,CAAT;AAAgC,WAAhC,EAAiC,eAAjC,EAAiC;AAAA,mBAAkB,IAAAA,gBAAA,CAAiB,KAAjB,CAAlB;AAAyC,WAA1E;;AAA4E;;AAAe;;AAAI;;AACrM;;AAAI;;AAAmG;AAAA,mBAAS,IAAAA,gBAAA,CAAiB,KAAjB,CAAT;AAAgC,WAAhC,EAAiC,eAAjC,EAAiC;AAAA,mBAAkB,IAAAA,gBAAA,CAAiB,KAAjB,CAAlB;AAAyC,WAA1E;;AAA4E;;AAAe;;AAAI;;AAEvM;;AACJ;;AACJ;;AACJ;;AACJ;;AACL;;AACH;;AACN;;AAEK;;AACG;;AAII;;AACI;;AACI;;AAAiB;AAAA,mBAAiB,IAAAyhB,qBAAA,CAAsB,cAAtB,EAAqC,CAArC,CAAjB;AAAwD,WAAxD,EAA0D,OAA1D,EAA0D;AAAA,mBAAW,IAAAA,qBAAA,CAAsB,cAAtB,EAAqC,CAArC,CAAX;AAAkD,WAA5G;;AAAqI;;AAAa;;AACnK;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,iBAAtB,EAAwC,CAAxC,CAAjB;AAA2D,WAA3D,EAA6D,OAA7D,EAA6D;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,iBAAtB,EAAwC,CAAxC,CAAV;AAAoD,WAAjH;;AAAwI;;AAAiB;;AAE1K;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,eAAtB,EAAsC,CAAtC,CAAjB;AAAyD,WAAzD,EAA2D,OAA3D,EAA2D;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,eAAtB,EAAsC,CAAtC,CAAV;AAAkD,WAA7G;;AAAoI;;AAAe;;AAEpK;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,iBAAtB,EAAwC,CAAxC,CAAjB;AAA2D,WAA3D,EAA6D,OAA7D,EAA6D;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,iBAAtB,EAAwC,CAAxC,CAAV;AAAoD,WAAjH;;AAAwI;;AAAgB;;AACzK;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,aAAtB,EAAoC,CAApC,CAAjB;AAAuD,WAAvD,EAAyD,OAAzD,EAAyD;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,aAAtB,EAAoC,CAApC,CAAV;AAAgD,WAAzG;;AAA+H;;AAAa;;AAC7J;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,aAAtB,EAAoC,CAApC,CAAjB;AAAuD,WAAvD,EAAyD,OAAzD,EAAyD;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,aAAtB,EAAoC,CAApC,CAAV;AAAgD,WAAzG;;AAA+H;;AAAc;;AAC9J;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,eAAtB,EAAsC,CAAtC,CAAjB;AAAyD,WAAzD,EAA2D,OAA3D,EAA2D;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,eAAtB,EAAsC,CAAtC,CAAV;AAAkD,WAA7G;;AAAoI;;AAAe;;AACpK;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,aAAtB,EAAoC,CAApC,CAAjB;AAAuD,WAAvD,EAAyD,OAAzD,EAAyD;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,aAAtB,EAAoC,CAApC,CAAV;AAAgD,WAAzG;;AAAgI;;AAAW;;AAC5J;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,OAAtB,EAA8B,CAA9B,CAAjB;AAAiD,WAAjD,EAAmD,OAAnD,EAAmD;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,OAAtB,EAA8B,CAA9B,CAAV;AAA0C,WAA7F;;AAAoH;;AAAM;;AAC3I;;AAAiB;AAAA,mBAAiB,IAAAA,qBAAA,CAAsB,cAAtB,EAAqC,CAArC,CAAjB;AAAwD,WAAxD,EAA0D,OAA1D,EAA0D;AAAA,mBAAU,IAAAA,qBAAA,CAAsB,cAAtB,EAAqC,CAArC,CAAV;AAAiD,WAA3G;;AAAkI;;AAAY;;AACnK;;AACJ;;AACA;;AACI;;;;AAcA;;AAGJ;;AACJ;;AACA;;AACA;;AACI;;AAA0B;;AAAsG;;AAClI;;AACF;;AACI;;AAAqB;AAAA,mBAAc,IAAAtpD,WAAA,QAAd;AAAiC,WAAjC;;AAAmC;;AAC5D;;AACJ;;AACJ;;AACJ;;AACJ;;AAEA;;AACE;;AAEE;;AACI;;AACE;;AAAqE;;AAAa;;AAClF;;AAAqE;;AAAiB;;AACtF;;AAAqE;;AAAe;;AACpF;;AAAqE;;AAAgB;;AACrF;;AAAqE;;AAAa;;AAClF;;AAAqE;;AAAc;;AACnF;;AAAmE;;AAAe;;AAClF;;AAAqE;;AAAW;;AAChF;;AAAqE;;AAAM;;AAC3E;;AAAqE;;AAAY;;AACpF;;AACH;;AACA;;AAEE;;AAYF;;AACF;;AACF;;AAEA;;;;;;;;;;AA3P4D;;AAAA,qIAA+D,SAA/D,EAA+D,mFAA/D;;AAMlC;;AAAA;;AAGoB;;AAAA;;AA4BW;;AAAA,iIAA2D,SAA3D,EAA2D,cAA3D,EAA2D,SAA3D,EAA2D,+HAA3D;;AAYX;;AAAA;;AAGA;;AAAA;;AAUO;;AAAA,+HAAyD,SAAzD,EAAyD,cAAzD,EAAyD,SAAzD,EAAyD,6JAAzD;;AAaD;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAaS;;AAAA;;AA2FjC;;AAAA;;AAcA;;AAAA;;AAOkB;;AAAA;;AA6BpC;;AAAA;;AAgBqE;;AAAA;;;;;;;;;;sEDlPlEioD,4B,EAA4B;cALxC,uDAKwC;eAL9B;AACT1+D,kBAAQ,EAAE,yBADD;AAET4D,qBAAW,EAAE,sCAFJ;AAGT3D,mBAAS,EAAE,CAAC,qCAAD;AAHF,S;AAK8B,Q;;;;;;;;;;;;;;;;;;gBAwStC,uD;iBAAU,kB;;;gBAkDV,uD;iBAAU,2B;;;;;;;;;;;;;;;;;;;;AEjXb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACKgB;;AACE;;AAAoD;AAAA;;AAAA;;AAAA;AAAA,WAAsB,eAAtB,EAAsB;AAAA;;AAAA;;AAAA;AAAA,SAAtB;;AACsE;;AAE5H;;;;;;AAkBJ;;AACE;;AACD;;;;;;AAoCH;;AACE;;AACA;;;;;;AAED;;AACC;;AACF;;;;;;AA6EJ;;AACE;;AAAI;;AAAwB;;AAC5B;;AAAI;;AAA0B;;AAC9B;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAA0B;;AAC9B;;AAAI;;AAAyB;;AAC7B;;AAAI;;AAAoB;;AAC1B;;;;;;AAPM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAEN;;AACE;;AAAgB;;AAAiB;;AACnC;;;;;;;;;;QD/IO+/D,wB;AAyBX,wCAAmBn/D,QAAnB,EAA2D8mC,KAA3D,EAAwFs4B,UAAxF,EAAmIzuD,QAAnI,EAAuKvV,MAAvK,EAAuL;AAAA;;AAApK,aAAA4E,QAAA,GAAAA,QAAA;AAAwC,aAAA8mC,KAAA,GAAAA,KAAA;AAA6B,aAAAs4B,UAAA,GAAAA,UAAA;AAA2C,aAAAzuD,QAAA,GAAAA,QAAA;AAAoC,aAAAvV,MAAA,GAAAA,MAAA;AAxBvK,aAAAwV,KAAA,GAAQ,IAAI1jB,IAAJ,EAAR;AACA,aAAA0qE,UAAA,GAAkC;AAChC9mD,mBAAS,EAAE,KADqB;AAEhCC,oBAAU,EAAE,YAFoB;AAGhCC,sBAAY,EAAE;AAAC/f,gBAAI,EAAE,KAAK2f,KAAL,CAAWxiB,WAAX,EAAP;AAAiC+B,iBAAK,EAAE,KAAKygB,KAAL,CAAWviB,QAAX,KAAwB,CAAhE;AAAmE4iB,eAAG,EAAE,KAAKL,KAAL,CAAWtiB,OAAX,KAAuB;AAA/F,WAHkB,CAKhC;;AALgC,SAAlC;AAWA,aAAA+iB,cAAA,GAAiB,IAAjB;AAEA,aAAAguD,WAAA,GAAiB,CAAjB;AAeA,aAAAC,SAAA,GAAc,EAAd;AAGA,aAAAC,cAAA,GAAsB,GAAtB,CARuL,CASvL;;AACQ,aAAA36C,GAAA,GAAM,8CAAaC,IAAb,CAAkB31B,KAAlB,CAAwB,kBAAxB,CAAN;AACA,aAAA41B,EAAA,GAAK,8CAAaD,IAAb,CAAkB31B,KAAlB,CAAwB,kBAAxB,CAAL,CAX+K,CACvL;AACA;AACA;AACC;;;;2CAQoB61B,S,EAAW;AAC5B,cAAIC,SAAS,GAAG,8CAAaC,OAAb,CAAqBF,SAArB,EAAgC,KAAKH,GAArC,EAA0C;AACtDM,mBAAO,EAAE,MAAM,CADuC;AAEtDJ,cAAE,EAAE,KAAKA,EAF6C;AAGtDK,gBAAI,EAAE,+CAAcC,GAHkC;AAItDC,mBAAO,EAAE,8CAAaC;AAJgC,WAA1C,CAAhB;AAMA,iBAAON,SAAS,CAAC3O,QAAV,CAAmB,8CAAawO,IAAhC,CAAP;AACH;;;mCAEO;AAAA;;AACN,cAAG,CAAC,mCAAC,CAAC,mBAAD,CAAD,CAAuB7S,EAAvB,CAA0B,UAA1B,CAAJ,EAA0C;AACxC,+CAAC,CAAC,mBAAD,CAAD,CAAuB7Q,GAAvB,CAA2B,SAA3B,EAAqC,OAArC;AACD;;AACD,eAAKwP,QAAL,CAAcwB,IAAd;;AACA,eAAK20B,KAAL,CAAW1sB,WAAX,CAAuB1rB,SAAvB,CAAiC,UAAA82B,MAAM,EAAI;AACzC,oBAAI,CAACg6C,kBAAL,GAAwBh6C,MAAM,CAAC,QAAD,CAA9B;AACA,oBAAI,CAACi6C,kBAAL,GAAwB,QAAI,CAACz/D,QAAL,CAAce,kBAAd,CAAiCykB,MAAM,CAAC,QAAD,CAAvC,CAAxB;AACA,oBAAI,CAAC65C,WAAL,GAAmB,QAAI,CAACI,kBAAxB;AACC,WAJH,EALM,CAUN;AACA;AACA;AACA;;AACA,eAAKC,eAAL;AACA,eAAKpG,eAAL;AACA,eAAK3mD,MAAL,GAAc;AACZC,wBAAY,EAAE,EADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAID,eAAKC,YAAL,GAAmB,EAAnB;;AACC,cAAG,KAAKusD,WAAL,IAAkB,CAArB,EAAuB;AACnB,iBAAKhH,cAAL,GAAoB,KAApB;AACA,iBAAKC,oBAAL,GAA0B,IAA1B;AACA;;AACJ,cAAG,KAAK+G,WAAL,IAAkB,CAArB,EAAuB;AACnB,iBAAKhH,cAAL,GAAoB,IAApB;AACA,iBAAKC,oBAAL,GAA0B,KAA1B;AACA;;AACJzpE,sBAAY,CAACwjB,UAAb,CAAwB,aAAxB;AACAstD,kCAAwB,CAAC,CAAD,EAAG,KAAH,CAAxB;AAED,S,CACH;;;;oCACcnkE,K,EAAO;AACjB,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACA,eAAKsX,YAAL,GAAoB,KAAKH,MAAL,CAAYE,WAAZ,GAAwB,KAAKF,MAAL,CAAYC,YAAxD;AACA,eAAKG,iBAAL,GAAyB,KAAKD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAAZ,GAAyB,CAA9C,CAAzB;AACA,cAAG,KAAKgtD,wBAAL,CAA8BvzE,MAA9B,IAAsC,KAAKymB,YAA9C,EACE,KAAKA,YAAL,GAAoB,KAAK8sD,wBAAL,CAA8BvzE,MAAlD;AAEH,S,CACH;;;;qCACe;AACXwC,sBAAY,CAACwjB,UAAb,CAAwB,aAAxB;AACA,eAAKjX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,mBAAD,CAArB;AACD,S,CACH;;;;0CACiB;AAEb,eAAK48D,UAAL,CAAgB5mD,QAAhB,GAAyB;AACvB25C,oBAAQ,EAAE,EADa;AAEvBqG,sBAAU,EAAC,EAFY;AAGvBC,oBAAQ,EAAE,EAHa;AAIvBC,oBAAQ,EAAC,EAJc;AAKvBC,kBAAM,EAAC,EALgB;AAMvBC,wBAAY,EAAC,EANU;AAOvBnuC,uBAAW,EAAC,EAPW;AAQvB9R,uBAAW,EAAC;AARW,WAAzB;AAUD,S,CACH;;;;uCACiBf,M,EAAM;AACnB,eAAK9E,YAAL,GAAoB,CAApB;AACA,eAAKA,YAAL,GAAoB8E,MAAM,CAAC1uB,MAAP,CAAcsE,KAAlC;AACA,eAAKmlB,MAAL,GAAc;AACZC,wBAAY,EAAE,KAAKE,YADP;AAEZD,uBAAW,EAAE;AAFD,WAAd;AAID,S,CACH;;;;0CACiB;AAAA;;AACb,eAAKusD,UAAL,CAAgB1F,qBAAhB,CAAsC,KAAK2F,WAA3C,EAAwD3wE,SAAxD,CAAkE,UAAAkvD,QAAQ,EAAE;AAC1E;AACA,oBAAI,CAAC0hB,SAAL,GAAiB1hB,QAAjB;AACA,oBAAI,CAACgiB,wBAAL,GAAgC,QAAI,CAACN,SAArC;AACA,oBAAI,CAAClpD,WAAL,GAAmB,QAAI,CAACwpD,wBAAL,CAA8BvzE,MAAjD;AACA,oBAAI,CAACiqB,WAAL,GAAkB,EAAlB;;AACA,oBAAI,CAAChB,QAAL,CAAc,EAAd,EAAiB,EAAjB,EAAoB,EAApB;AACF,WAPA,EAOC,UAAC9C,GAAD,EAAO;AACR,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACA,WATA;;AAUD1O,oBAAU,CAAC,YAAM;AAChB,oBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,WAFU,EAER,GAFQ,CAAV;AAGA,S,CACH;;;;kDAC4BsC,K,EAAMC,G,EAAG;AACnC,cAAG,KAAKC,iBAAL,KAA2BF,KAA9B,EAAqC;AACnC,iBAAKxG,cAAL,GAAsB,CAAC,KAAKA,cAA5B;AACAsuD,oCAAwB,CAAC7nD,GAAD,EAAK,KAAKzG,cAAV,CAAxB;AACD,WAHD,MAIK;AACH,iBAAK0G,iBAAL,GAAyBF,KAAzB;AACA,iBAAKxG,cAAL,GAAsB,IAAtB;AAEAsuD,oCAAwB,CAAC7nD,GAAD,EAAK,KAAKzG,cAAV,CAAxB;AACD;;AAED,cAAG,KAAKA,cAAR,EAAwB;AACtB,iBAAKuuD,wBAAL,GAAgC,KAAKA,wBAAL,CAA8B5nD,IAA9B,CAAmC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAE3E,kBAAGL,KAAK,KAAK,aAAb,EAA2B;AACzB,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAP;AAED,eAND,MAQI;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACA,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACD;;AACD,qBAAO,CAAP;AAED,aAlB+B,CAAhC;AAmBD,WApBD,MAoBO;AACL,iBAAKk7D,wBAAL,GAAgC,KAAKA,wBAAL,CAA8B5nD,IAA9B,CAAmC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAE3E,kBAAGL,KAAK,KAAK,aAAb,EAA2B;AACzB,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACD,OAAO,CAAP;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AAEA,eAND,MAOI;AACJ,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACD;;AACD,qBAAO,CAAP;AACD,aAhB+B,CAAhC;AAiBD;AAEA,S,CACD;;;;iCACSxE,Q,EAAS44D,M,EAAOC,U,EAAY;AACnC,cAAI,CAAC74D,QAAD,IAAa,CAAC44D,MAAd,KAAyB,CAACC,UAAD,IAAeA,UAAU,IAAE,IAApD,CAAJ,EAA+D;AAC3D,iBAAK6G,wBAAL,GAAgC,KAAKN,SAArC;AACH,WAFD,MAGI;AACF,iBAAKM,wBAAL,GAAgC,KAAKN,SAAL,CAAerqD,MAAf,CAAsB,UAAAC,GAAG,EAAE;AACzD,qBAAOA,GAAG,CAACi9C,QAAJ,CAAap8C,iBAAb,GAAiCF,KAAjC,CAAuC3V,QAAQ,CAAC6V,iBAAT,EAAvC,CAAP;AACD,aAF+B,CAAhC;AAGA,iBAAK6pD,wBAAL,GAAgC,KAAKA,wBAAL,CAA8B3qD,MAA9B,CAAqC,UAAAC,GAAG,EAAE;AACxE,qBAAOA,GAAG,CAACyjD,MAAJ,CAAW5iD,iBAAX,GAA+BF,KAA/B,CAAqCijD,MAAM,CAAC/iD,iBAAP,EAArC,CAAP;AACD,aAF+B,CAAhC;;AAGA,gBAAGgjD,UAAU,IAAE,EAAZ,IAAkBA,UAAU,IAAE,IAAjC,EAAuC;AACvC,mBAAK6G,wBAAL,GAAgC,KAAKA,wBAAL,CAA8B3qD,MAA9B,CAAqC,UAAAC,GAAG,EAAE;AACxE,uBAAOA,GAAG,CAACuV,WAAJ,CAAgB1U,iBAAhB,GAAoCF,KAApC,CAA0CkjD,UAAU,CAAC7iD,UAAX,CAAsBC,SAAtB,CAAgCJ,iBAAhC,EAA1C,CAAP;AACD,eAF+B,CAAhC;AAGD;;AAEA,iBAAK6pD,wBAAL;AACC,iBAAKjtD,MAAL,GAAc;AACZC,0BAAY,EAAE,EADF;AAEZC,yBAAW,EAAE;AAFD,aAAd;AAID;;AACD,eAAKC,YAAL,GAAkB,KAAK8sD,wBAAL,CAA8BvzE,MAAhD;;AACA,cAAI6T,QAAQ,IAAG,EAAX,IAAiB44D,MAAM,IAAG,EAA1B,IAAgCC,UAAU,IAAE,EAAhD,EAAoD;AAClD,gBAAI,KAAKjmD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAArC,EAAmD;AACjD;AACC,mBAAKE,YAAL,GAAoB,KAAKA,YAAzB;AACA,mBAAKC,iBAAL,GAAyB,CAAzB;AACD,aAJF,MAKM;AACH,mBAAKD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAoB,KAAKH,MAAL,CAAYC,YAAhC;AACA,mBAAKG,iBAAL,GAAyB,CAAzB;AACD,aAVgD,CAWlD;AACA;AACA;;;AACA,iBAAKqD,WAAL,GAAmB,EAAnB;AACA,iBAAKA,WAAL,GAAmB,KAAKwpD,wBAAL,CAA8BvzE,MAAjD;AACA,iBAAKiqB,WAAL,GAAmB,oBAAmB,KAAKgpD,SAAL,CAAejzE,MAAlC,GAA0C,iBAA7D;AACD,WAjBD,MAiBK;AACH,gBAAI,KAAKymB,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAArC,EAAmD;AACjD;AACC,mBAAKE,YAAL,GAAoB,KAAKA,YAAzB;AACA,mBAAKC,iBAAL,GAAyB,CAAzB;AACA,mBAAKqD,WAAL,GAAmB,KAAKwpD,wBAAL,CAA8BvzE,MAA9B,CAAqCgqB,QAArC,EAAnB;AACA,mBAAKC,WAAL,GAAkB,EAAlB;AACD,aANF,MAOM;AACH,mBAAKxD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAoB,KAAKH,MAAL,CAAYC,YAAhC;AACA,mBAAKG,iBAAL,GAAyB,CAAzB;AACA,mBAAKqD,WAAL,GAAmB,KAAKwpD,wBAAL,CAA8BvzE,MAA9B,CAAqCgqB,QAArC,EAAnB;AACA,mBAAKC,WAAL,GAAkB,EAAlB;AACD,aAdC,CAeL;AACA;AACA;AACA;AACA;AACA;;AACC;AACF,S,CACH;;;;kCACY9a,K,EAAsB;AAC9B;AACA,cAAIyc,CAAC,GAAGzc,KAAK,CAAC+c,QAAN,IAAkB,CAAlB,IAAuB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAzC,IAA+C/c,KAAK,CAAC+c,QAAN,IAAkB,CAAlE,GAA0E,IAA1E,GAAiF/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlB,IAAwB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlI;AACF,iBAAON,CAAP;AACC,S,CACH;;;;0CACoBjgB,I,EAAI;AACpB,cAAM6hB,MAAM,GAAG,IAAI3sB,IAAJ,EAAf;AACC,eAAK4sB,SAAL,GAAiB9hB,IAAI,CAACke,UAAL,CAAgB6D,MAAjC;;AAED,cAAI,KAAKD,SAAL,GAAiBD,MAArB,EAA6B;AAC1B,iBAAKG,eAAL,GAAuB,IAAvB;AACA,iBAAKC,iBAAL,GAAyB,IAAzB;AACF,WAHD,MAII;AACF,iBAAKD,eAAL,GAAuB,KAAvB;AACA,iBAAKC,iBAAL,GAAyB,KAAzB;AACD;;AACD,iBAAO,KAAKD,eAAZ;AACH;;;;;;;uBAhRYmlD,wB,EAAwB,mK,EAAA,+H,EAAA,8J,EAAA,8H,EAAA,uH;AAAA,K;;;YAAxBA,wB;AAAwB,4C;AAAA,e;AAAA,c;AAAA,irH;AAAA;AAAA;;;AChBrC;;AACE;;AACI;;AACI;;AACI;;AACE;;AAKa;;AACf;;AACE;;AAA6I;;AAAiB;;AAChK;;AAEJ;;AACJ;;AACA;;AAGA;;AACE;;AACI;;AAAqE;;AAAS;;AAC9E;;AAAuD;AAAA;AAAA,aAA2C,eAA3C,EAA2C;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAEnC,IAAA7pD,QAAA,iCAFmC;AAEoB,WAF/D;;AAAvD;;AAIA;;AAGJ;;AAQA;;AACE;;AAAmE;;AAAM;;AACxE;;AAAyC;AAAA;AAAA,aAAyC,QAAzC,EAAyC;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAExE,IAAAA,QAAA,iCAFwE;AAEjB,WAFxB;;AAGpC;;AAA0B;;AAAG;;AAC7B;;AAAoB;;AAAG;;AACvB;;AAAqB;;AAAI;;AACzB;;AAAuB;;AAAM;;AACjC;;AACJ;;AACA;;AACE;;AAAgE;;AAAY;;AAC1E;;AACE;;AACA;AAAA;AAAA,aAA6C,UAA7C,EAA6C;AAAA,mBACV,IAAAkF,SAAA,QADU;AACO,WADpD,EAA6C,eAA7C,EAA6C;AAAA;;AAAA;;AAAA,mBACyC,IAAAD,iBAAA,WADzC;AAC6E,WAD1H,EAA6C,eAA7C,EAA6C;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAE5B,IAAAjF,QAAA,iCAF4B;AAE2B,WAFxE;;AADA;;AAME;;AACE;;AAA8E;AAAA;;AAAA;;AAAA,mBAAS,oBAAT;AAA2B,WAA3B;;AAC5E;;AACF;;AACF;;AACN;;AAEA;;AAIC;;AAIL;;AACA;;AAEE;;AACI;;AAGA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,QAAA,iCAAT;AAAgE,WAAhE;;AAEA;;AAAwD;;AAAO;;AACnE;;AACJ;;AACE;;AAGD;;AAEC;;AACE;;AACE;;AAA6D;;AAAI;;AACnE;;AACF;;AACE;;AAA6B;AAAA,mBAAU,IAAAmF,cAAA,QAAV;AAAgC,WAAhC;;AAE3B;;AAA4B;;AAAE;;AAC9B;;AAAmB;;AAAE;;AACrB;;AAAmB;;AAAE;;AACrB;;AAAoB;;AAAG;;AAC3B;;AACA;;AACA;;AACE;;AAAqE;;AAAO;;AAC9E;;AACA;;AAEG;;AAIE;;AASA;;AAGN;;AAGL;;AAEG;;AAOC;;AACE;;AACG;;AAAkB;AAAA,mBAAiB,IAAAolD,yBAAA,CAA0B,UAA1B,EAAqC,CAArC,CAAjB;AAAwD,WAAxD,EAA0D,OAA1D,EAA0D;AAAA,mBAAU,IAAAA,yBAAA,CAA0B,UAA1B,EAAqC,CAArC,CAAV;AAAiD,WAA3G;;AAAmI;;AAAS;;AAC9J;;AAAkB;AAAA,mBAAiB,IAAAA,yBAAA,CAA0B,YAA1B,EAAuC,CAAvC,CAAjB;AAA0D,WAA1D,EAA4D,OAA5D,EAA4D;AAAA,mBAAU,IAAAA,yBAAA,CAA0B,YAA1B,EAAuC,CAAvC,CAAV;AAAmD,WAA/G;;AAAuI;;AAAU;;AACnK;;AAAkB;AAAA,mBAAiB,IAAAA,yBAAA,CAA0B,UAA1B,EAAqC,CAArC,CAAjB;AAAwD,WAAxD,EAA0D,OAA1D,EAA0D;AAAA,mBAAW,IAAAA,yBAAA,CAA0B,UAA1B,EAAqC,CAArC,CAAX;AAAkD,WAA5G;;AAAoI;;AAAS;;AAC/J;;AAAkB;AAAA,mBAAiB,IAAAA,yBAAA,CAA0B,UAA1B,EAAqC,CAArC,CAAjB;AAAwD,WAAxD,EAA0D,OAA1D,EAA0D;AAAA,mBAAU,IAAAA,yBAAA,CAA0B,UAA1B,EAAqC,CAArC,CAAV;AAAiD,WAA3G;;AAAkI;;AAAS;;AAC7J;;AAAkB;AAAA,mBAAiB,IAAAA,yBAAA,CAA0B,cAA1B,EAAyC,CAAzC,CAAjB;AAA4D,WAA5D,EAA8D,OAA9D,EAA8D;AAAA,mBAAU,IAAAA,yBAAA,CAA0B,cAA1B,EAAyC,CAAzC,CAAV;AAAqD,WAAnH;;AAA0I;;AAAU;;AACtK;;AAAkB;AAAA,mBAAiB,IAAAA,yBAAA,CAA0B,aAA1B,EAAwC,CAAxC,CAAjB;AAA2D,WAA3D,EAA6D,OAA7D,EAA6D;AAAA,mBAAU,IAAAA,yBAAA,CAA0B,aAA1B,EAAwC,CAAxC,CAAV;AAAoD,WAAjH;;AAAwI;;AAA6B;;AACvL;;AAAkB;AAAA,mBAAiB,IAAAA,yBAAA,CAA0B,QAA1B,EAAmC,CAAnC,CAAjB;AAAsD,WAAtD,EAAwD,OAAxD,EAAwD;AAAA,mBAAU,IAAAA,yBAAA,CAA0B,QAA1B,EAAmC,CAAnC,CAAV;AAA+C,WAAvG;;AAA+H;;AAAM;;AAC1J;;AACF;;AACA;;AACE;;;;AASA;;AAIF;;AACF;;AACA;;AACE;;AACE;;AAA0B;;AAAsG;;AAGhI;;AACF;;AACI;;AAAqB;AAAA,mBAAc,IAAAjqD,WAAA,QAAd;AAAiC,WAAjC;;AAAmC;;AAC5D;;AACJ;;AAEA;;AAEA;;AACA;;AACA;;;;;;;;AA7KqB;;AAAA;;AAgBU;;AAAA;;AAEoC;;AAAA,gHAA2C,SAA3C,EAA2C,mFAA3C;;AAIzB;;AAAA;;AAaU;;AAAA;;AAatC;;AAAA,mHAA6C,SAA7C,EAA6C,cAA7C,EAA6C,SAA7C,EAA6C,iIAA7C;;AAY0B;;AAAA;;AAIC;;AAAA;;AAKb;;AAAA;;AA0ElB;;AAAA;;AASA;;AAAA;;AAQsB;;AAAA;;AAa+C;;AAAA;;;;;;;;;;sEDlKlEupD,wB,EAAwB;cALpC,uDAKoC;eAL1B;AACThgE,kBAAQ,EAAE,uBADD;AAET4D,qBAAW,EAAE,oCAFJ;AAGT3D,mBAAS,EAAE,CAAC,mCAAD;AAHF,S;AAK0B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEhBrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAMa0gE,e;;;;QAmBAC,qB;AAEX,qCAAoBhzE,IAApB,EAA4CC,MAA5C,EAAiE;AAAA;;AAA7C,aAAAD,IAAA,GAAAA,IAAA;AAAwB,aAAAC,MAAA,GAAAA,MAAA;AAEnC,aAAAK,OAAA,GAAU,2DAAUC,MAAV,GAAmB,aAA7B;AAF2D;;;;gDAI1C2/D,M,EAAc;AAClC,eAAKjgE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAiC,KAAKtC,OAAL,GAAe,+BAAf,GAAiD4/D,MAAlF,EAA0Fz9D,WAA1F,CAAP;AACL;;;;;;;uBAfUuwE,qB,EAAqB,uH,EAAA,wI;AAAA,K;;;aAArBA,qB;AAAqB,eAArBA,qBAAqB,K;AAAA,kBAFpB;;;;;sEAEDA,qB,EAAqB;cAHjC,wDAGiC;eAHtB;AACV7rE,oBAAU,EAAE;AADF,S;AAGsB,Q;;;;;;;;;;;;;;;;;;;;;;;;ACzBlC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUa8rE,wB;AAEX,wCAAoBjzE,IAApB,EAA2CC,MAA3C,EAAgE;AAAA;;AAA5C,aAAAD,IAAA,GAAAA,IAAA;AAAuB,aAAAC,MAAA,GAAAA,MAAA;AAElC,aAAAK,OAAA,GAAU,2DAAUC,MAAV,GAAmB,mBAA7B;AAF0D;;;;iDAIxC2/D,M,EAAc;AACnC,eAAKjgE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAqC,KAAKtC,OAAL,GAAe,+BAAf,GAAiD4/D,MAAtF,EAA8Fz9D,WAA9F,CAAP;AACL;;;wCAEiBy9D,M,EAAc;AAC5B,eAAKjgE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAqB,KAAKtC,OAAL,GAAe,uBAAf,GAAyC4/D,MAA9D,EAAsEz9D,WAAtE,CAAP;AACH;;;;;;;uBA1BUwwE,wB,EAAwB,uH,EAAA,wI;AAAA,K;;;aAAxBA,wB;AAAwB,eAAxBA,wBAAwB,K;AAAA,kBAFvB;;;;;sEAEDA,wB,EAAwB;cAHpC,wDAGoC;eAHzB;AACV9rE,oBAAU,EAAE;AADF,S;AAGyB,Q;;;;;;;;;;;;;;;;;;;;;;;;ACVrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUa+rE,2B;AAEX,2CAAoBlzE,IAApB,EAA4CC,MAA5C,EAAiE;AAAA;;AAA7C,aAAAD,IAAA,GAAAA,IAAA;AAAwB,aAAAC,MAAA,GAAAA,MAAA;AAEnC,aAAAK,OAAA,GAAU,2DAAUC,MAAV,GAAmB,aAA7B;AAF2D;;;;oDAItC2/D,M,EAAc;AACtC,eAAKjgE,MAAL,CAAYuC,YAAZ;;AACA,cAAMC,WAAW,GAAG;AAChBC,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AACrB,8BAAgB,kBADK;AAErB,+BAAiB,KAAKzC,MAAL,CAAY0C;AAFR,aAAhB;AADO,WAApB;AAMA,iBAAO,KAAK3C,IAAL,CAAU4C,GAAV,CAAqC,KAAKtC,OAAL,GAAe,mCAAf,GAAqD4/D,MAA1F,EAAkGz9D,WAAlG,CAAP;AACL;;;;;;;uBAfUywE,2B,EAA2B,uH,EAAA,wI;AAAA,K;;;aAA3BA,2B;AAA2B,eAA3BA,2BAA2B,K;AAAA,kBAF1B;;;;;sEAEDA,2B,EAA2B;cAHvC,wDAGuC;eAH5B;AACV/rE,oBAAU,EAAE;AADF,S;AAG4B,Q;;;;;;;;;;;;;;;;;;;;;;;;ACVxC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;AC2DsB;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AANF;;AACE;;AAGA;;AAGF;;;;;;;;AANO;;AAAA;;AAGA;;AAAA;;;;;;AA+DL;;AACuD;;AAA6B;;;;;;AAWpF;;AAIG;;AAAuC;;;;;;AAFxC;;AAA4B;;AAE3B;;AAAA;;;;;;AAGH;;AAEC;;AAA+B;;;;;;AAsBlC;;AAA6G;;AAAiB;;;;;;AAgB5H;;AACE;;AAAqB;;;;;;AAYvB;;AACE;;AAAiB;;;;;;AA0Cb;;AAEA;;AACF;;;;;;AAWJ;;AACG;;AAAiB;;;;;;AAetB;;AACE;;AAAyB;;;;;;AAoB1B;;AACkD;;AAA2B;;;;;;AAW1E;;AAGG;;AAAkE;;;;;;;;AADnE;;AAA4B;;AAC3B;;AAAA;;;;;;AAGJ;;AACyD;;AAA6B;;;;;;AACvF;;AACG;;AAA4D;;;;;;;;;;QDzSxEgsE,sB;AAqCX,sCAAoB9kE,MAApB,EAA2C+kE,cAA3C,EACSC,eADT,EACgD;AAAA;;AAD5B,aAAAhlE,MAAA,GAAAA,MAAA;AAAuB,aAAA+kE,cAAA,GAAAA,cAAA;AAClC,aAAAC,eAAA,GAAAA,eAAA;AAtBT,aAAA/kD,cAAA,GAA0B,KAA1B;AACA,aAAAD,cAAA,GAA0B,KAA1B;AAKA,aAAAilD,qBAAA,GAA6B,EAA7B;AACA,aAAAC,mBAAA,GAA2B,EAA3B;AACA,aAAAC,YAAA,GAAuB,OAAvB;AAUA,aAAAp3B,OAAA,GAAmB,KAAnB;AAoIA,aAAAq3B,aAAA,GAAyB,KAAzB;AAEA,aAAAC,2BAAA,GAAuC,IAAvC;AAmeA,aAAAC,yBAAA,GAAoC,EAApC;AArmBmD;;;;mCAE3C;AACN,eAAKC,UAAL,GAAkB,CAAC9xE,YAAY,CAACM,OAAb,CAAqB,QAArB,CAAnB;AACA,eAAKyxE,YAAL,GAAoB/xE,YAAY,CAACM,OAAb,CAAqB,UAArB,CAApB;AACA,eAAK0xE,gBAAL,GAAwBhyE,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAAxB;AACA,eAAK2xE,QAAL,GAAgB,CAACjyE,YAAY,CAACM,OAAb,CAAqB,UAArB,CAAjB;AACA,eAAK4xE,cAAL,GAAsB,CAAClyE,YAAY,CAACM,OAAb,CAAqB,cAArB,CAAvB,CALM,CAMP;;AACC,cAAI,KAAKwxE,UAAL,IAAmB,CAAvB,EAA0B;AACxB;AACA,iBAAKh7C,QAAL,GAAgB,sBAAsB92B,YAAY,CAACM,OAAb,CAAqB,YAArB,CAAtC;AACD,WAHD,MAIK;AACH,iBAAKw2B,QAAL,GAAgB,uBAAuB92B,YAAY,CAACM,OAAb,CAAqB,YAArB,CAAvC;AAA0E;AAC1E,iBAAKg6C,OAAL,GAAe,IAAf;AACD,WAdK,CAeN;;;AACA,eAAK63B,cAAL,CAAoB,KAAKL,UAAzB;;AAEA,cAAI,KAAKA,UAAL,IAAmB,CAAvB,EAA0B;AACxB,iBAAKM,uBAAL;AACD;;AACD,eAAK5pD,UAAL,GAAkBxoB,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAlB;;AACA,cAAI,KAAKkoB,UAAL,IAAmB,IAAnB,IAA2B,KAAKA,UAAL,IAAmB,EAAlD,EAAsD;AACpD,iBAAKjF,KAAL;AACD,WAFD,MAEO;AACL,iBAAKiF,UAAL,IAAmBxoB,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAnB;AACA,iBAAK2iB,OAAL,GAAe,IAAf;AACA,iBAAKC,YAAL,GAAoB,KAApB;AACAljB,wBAAY,CAACwjB,UAAb,CAAwB,KAAxB;AACA,iBAAKD,KAAL;AACD;AAEF,S,CACH;;;;uCACiBuuD,U,EAAoB;AAAA;;AACjC,cAAIA,UAAU,GAAG,CAAjB,EAAoB;AAClB;AACA;AACA,mBAAO,KAAKR,cAAL,CAAoBe,sBAApB,CAA2C,KAAKP,UAAL,CAAgBtqD,QAAhB,EAA3C,EAAuE3nB,SAAvE,CAAiF,UAAAO,IAAI,EAAI;AAC9F,sBAAI,CAACkxE,cAAL,CAAoB3nD,QAApB,GAA+BvpB,IAAI,CAAC,CAAD,CAAnC;AACA,sBAAI,CAACkxE,cAAL,CAAoB3nD,QAApB,CAA6B2lD,eAA7B,GAA+C,QAAI,CAACgC,cAAL,CAAoB3nD,QAApB,CAA6B2oD,gBAA5E;;AACA,kBAAI,QAAI,CAAChB,cAAL,CAAoB3nD,QAApB,CAA6B2oD,gBAA7B,IAAiD,GAArD,EAA0D;AACxD,wBAAI,CAAChB,cAAL,CAAoB3nD,QAApB,CAA6B2lD,eAA7B,GAA+C,GAA/C;AACD;;AAED,kBAAI,QAAI,CAACgC,cAAL,CAAoB3nD,QAApB,CAA6BokD,eAA7B,IAAgD,QAApD,EACE,QAAI,CAAC8D,yBAAL,GAAiC,UAAjC,CADF,KAGE,QAAI,CAACA,yBAAL,GAAiC,WAAjC;;AAEF,kBAAI,QAAI,CAACP,cAAL,CAAoB3nD,QAApB,CAA6B4oD,YAA7B,IAA6C,CAA7C,IAAkD,QAAI,CAACjB,cAAL,CAAoB3nD,QAApB,CAA6B4oD,YAA7B,IAA6C,CAAnG,EAAsG;AACpG,wBAAI,CAACC,6BAAL,GAAqC,IAArC;AACD,eAFD,MAIE,QAAI,CAACA,6BAAL,GAAqC,KAArC,CAhB4F,CAkB9F;;;AACA;;AACA,sBAAI,CAACJ,uBAAL;;AACA,sBAAI,CAACpgD,2BAAL,GArB8F,CAsB9F;;AACD,aAvBM,EAwBL,UAACwJ,KAAD,EAAW;AACT,sBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,aA3BI,CAAP;AA4BD,WA/BD,MAgCK;AACH,iBAAKqe,2BAAL;AACA,iBAAKigD,QAAL,GAAgB,CAACjyE,YAAY,CAACM,OAAb,CAAqB,UAArB,CAAjB;AACA,iBAAK0xE,gBAAL,GAAwBhyE,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAAxB;AACA,iBAAKgxE,cAAL,CAAoB3nD,QAApB,GAA+B;AAC7BgD,oBAAM,EAAE,GADqB;AAE7BwwC,oBAAM,EAAE,CAFqB;AAG7BN,sBAAQ,EAAE,KAAKoV,QAHc;AAI7BvU,sBAAQ,EAAE,EAJmB;AAK7ByQ,6BAAe,EAAE,EALY;AAM7BkB,+BAAiB,EAAE,IANU;AAO7BjB,mBAAK,EAAE,EAPsB;AAQ7BC,uBAAS,EAAE,EARkB;AAS7BC,mBAAK,EAAE,EATsB;AAU7BC,2BAAa,EAAE,EAVc;AAW7Be,6BAAe,EAAE,IAXY;AAY7BmD,qBAAO,EAAE,EAZoB;AAa7BroD,sBAAQ,EAAE,IAbmB;AAc7By/B,uBAAS,EAAE,EAdkB;AAe7BkkB,6BAAe,EAAE,EAfY;AAgB7Bv7C,iBAAG,EAAE,CAhBwB;AAiB7B4G,6BAAe,EAAE,KAAK44C,gBAjBO;AAkB7B;AACA;AACA7qD,uBAAS,EAAE,CApBkB;AAqB7B4C,uBAAS,EAAE,CArBkB;AAsB7B3C,yBAAW,EAAE,EAtBgB;AAuB7B4C,yBAAW,EAAE,EAvBgB;AAwB7B3Y,sBAAQ,EAAE,EAxBmB;AAyB7BqhE,2BAAa,EAAE,EAzBc;AA0B7BC,6BAAe,EAAE,EA1BY;AA2B7BC,4BAAc,EAAE,EA3Ba;AA4B7BN,8BAAgB,EAAE,EA5BW;AA6B7BC,0BAAY,EAAE,IA7Be;AA8B7BM,+BAAiB,EAAE,EA9BU;AA+B7B/oD,yBAAW,EAAE,EA/BgB;AAgC7BtW,oBAAM,EAAC;AAhCsB,aAA/B,CAJG,CAsCH;AACD;AACF,S,CAEH;;;;qCAEe;AACX,eAAKjH,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,oBAAD,CAArB;AACA3T,sBAAY,CAACwjB,UAAb,CAAwB,QAAxB;AACAxjB,sBAAY,CAACwjB,UAAb,CAAwB,UAAxB;AACD;;;kCACS;AACR,eAAKP,OAAL,GAAe,KAAf;AACD;;;oCAEW;AACV,eAAKC,YAAL,GAAoB,IAApB;AACD;;;oCACW;AACV,eAAKA,YAAL,GAAoB,KAApB;AACD,S,CAKD;;;;kCACUqrD,a,EAAeJ,e,EAAiBrR,a,EAAe0R,W,EAAa;AACpE,eAAKc,eAAL,GAAuBd,WAAvB,CADoE,CACjC;;AACnC,eAAKsE,mBAAL,GAA2B,EAA3B;;AACA,cAAIhW,aAAa,IAAI,EAArB,EAAyB;AACvB,iBAAK,IAAIiW,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKC,aAAL,CAAmBx1E,MAAvC,EAA+Cu1E,CAAC,EAAhD,EAAoD;AAClD,kBAAIjW,aAAa,IAAI,KAAKkW,aAAL,CAAmBD,CAAnB,EAAsBt6C,SAA3C,EAAsD;AACpD;AACA;AACA,oBAAI,KAAKu6C,aAAL,CAAmBD,CAAnB,EAAsBE,aAAtB,IAAuC,IAA3C,EAAiD;AAC/C,uBAAKtB,aAAL,GAAqB,IAArB;AACD,iBAFD,MAGK;AACH,uBAAKL,cAAL,CAAoB3nD,QAApB,CAA6BokD,eAA7B,GAA+C,QAA/C;AACA,uBAAK8D,yBAAL,GAAiC,UAAjC;AACA,uBAAKF,aAAL,GAAqB,KAArB;AACD;;AACD,qBAAKuB,uBAAL,GAA+B,MAAM,KAAKF,aAAL,CAAmBD,CAAnB,EAAsBx6C,aAA3D;AACD;AACF;AACF;;AACD,eAAK46C,mBAAL,GAA2B,KAAKH,aAAL,CAAmB5sD,MAAnB,CAA0B,UAAAC,GAAG,EAAI;AAC1D,mBAAOA,GAAG,CAACsB,WAAJ,CAAgBT,iBAAhB,GAAoCF,KAApC,CAA0CmnD,eAAe,CAACjnD,iBAAhB,EAA1C,CAAP;AACD,WAF0B,CAA3B;AAGA,eAAKksD,kBAAL,GAA0B,KAAKC,YAAL,CAAkBjtD,MAAlB,CAAyB,UAAAC,GAAG,EAAI;AACxD,mBAAOA,GAAG,CAACsB,WAAJ,CAAgBT,iBAAhB,GAAoCF,KAApC,CAA0CunD,aAAa,CAACrnD,iBAAd,EAA1C,CAAP;AACD,WAFyB,CAA1B;AAGA,cAAI41C,aAAa,IAAI,EAArB,EACE,KAAKsW,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAC,GAAG,EAAI;AAC9D,mBAAOA,GAAG,CAACoS,SAAJ,IAAiB/J,QAAQ,CAACouC,aAAD,CAAhC;AACD,WAFyB,CAA1B;;AAGF,cAAIA,aAAa,IAAI0R,WAArB,EAAkC;AAChC,iBAAK8C,cAAL,CAAoB3nD,QAApB,CAA6B2lD,eAA7B,GAA+C,IAA/C;AACD;;AACD,cAAId,WAAW,IAAI,GAAnB,EAAwB;AAAA,uDACL,KAAK4E,kBADA;AAAA;;AAAA;AACtB,kEAA0C;AAAA,oBAAjC/zE,IAAiC;;AACxC,oBAAIA,IAAI,CAACo5B,SAAL,IAAkBqkC,aAAtB,EAAqC;AACnC,uBAAKgW,mBAAL,CAAyBzvE,IAAzB,CAA8BhE,IAAI,CAACo5B,SAAnC;AACD;AACF;AALqB;AAAA;AAAA;AAAA;AAAA;;AAMtB,iBAAKq6C,mBAAL;AACD,WAxCmE,CA0CpE;;;AACA,eAAKQ,qBAAL;AACD,S,CACD;;;;mCACW3mE,K,EAAK;AAEd,cAAM+c,QAAQ,GAAI/c,KAAK,CAACguB,KAAP,GAAgBhuB,KAAK,CAACguB,KAAtB,GAA8BhuB,KAAK,CAACiuB,OAArD;;AACA,cAAIlR,QAAQ,IAAI,EAAZ,IAAkBA,QAAQ,GAAG,EAA7B,KAAoCA,QAAQ,GAAG,EAAX,IAAiBA,QAAQ,GAAG,EAAhE,CAAJ,EAAyE;AAEvE,mBAAO,KAAP;AACD;;AACD,iBAAO,IAAP;AACD;;;sDAE+B;AAAA;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAGA,eAAK4nD,cAAL,CAAoB15C,gBAApB,CAAqC,KAAKq6C,QAAL,CAAczqD,QAAd,EAArC,EAA+D,KAAK0qD,cAAL,CAAoB1qD,QAApB,EAA/D,EAA+F3nB,SAA/F,CAAyG,UAAA0oB,GAAG,EAAI;AAC9G,oBAAI,CAACmI,QAAL,GAAgBnI,GAAhB;AACA,oBAAI,CAACyqD,aAAL,GAAqB,QAAI,CAACtiD,QAA1B;AACA,oBAAI,CAAC2iD,YAAL,GAAoB,QAAI,CAAC3iD,QAAzB;;AACA,oBAAI,CAAC6iD,SAAL,CAAe,QAAI,CAACjC,cAAL,CAAoB3nD,QAApB,CAA6B4kD,aAA5C,EACE,QAAI,CAAC+C,cAAL,CAAoB3nD,QAApB,CAA6BwkD,eAD/B,EACgD,QAAI,CAACmD,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAD7E,EAEI,QAAI,CAACiC,cAAL,CAAoB3nD,QAApB,CAA6B2lD,eAFjC;AAID,WARD,EASE,UAAC9zC,KAAD,EAAW;AACT,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WAZH;AAaD;;;kCAGS6b,I,EAAe;AAGvB,cAAI,KAAKuiD,YAAL,IAAqB,MAArB,IAA+B,KAAKD,UAAL,GAAkB,CAArD,EAAwD;AACtD,gBAAItiD,IAAI,IAAI,IAAZ,EACE,KAAKjM,KAAL,GAFoD,CAGtD;;AACA,iBAAK+tD,cAAL,CAAoB3nD,QAApB,GAA+B;AAC7BgD,oBAAM,EAAE,GADqB;AAE7BwwC,oBAAM,EAAE,KAAK2U,UAFgB;AAG7BjV,sBAAQ,EAAE,KAAKoV,QAHc;AAI7BvU,sBAAQ,EAAE,EAJmB;AAK7ByQ,6BAAe,EAAE,EALY;AAM7BkB,+BAAiB,EAAE,IANU;AAO7BjB,mBAAK,EAAE,EAPsB;AAQ7BC,uBAAS,EAAE,EARkB;AAS7BC,mBAAK,EAAE,EATsB;AAU7BC,2BAAa,EAAE,EAVc;AAW7Be,6BAAe,EAAE,IAXY;AAY7BmD,qBAAO,EAAE,EAZoB;AAa7BroD,sBAAQ,EAAE,IAbmB;AAc7By/B,uBAAS,EAAE,EAdkB;AAe7BkkB,6BAAe,EAAE,EAfY;AAgB7Bv7C,iBAAG,EAAE,CAhBwB;AAiB7B4G,6BAAe,EAAE,KAAK44C,gBAjBO;AAkB7B7qD,uBAAS,EAAE,CAlBkB;AAmB7B4C,uBAAS,EAAE,CAnBkB;AAoB7B3C,yBAAW,EAAE,EApBgB;AAqB7B4C,yBAAW,EAAE,EArBgB;AAsB7B3Y,sBAAQ,EAAE,EAtBmB;AAuB7BqhE,2BAAa,EAAE,EAvBc;AAwB7BC,6BAAe,EAAE,EAxBY;AAyB7BC,4BAAc,EAAE,EAzBa;AA0B7BN,8BAAgB,EAAE,EA1BW;AA2B7BC,0BAAY,EAAE,IA3Be;AA4B7BM,+BAAiB,EAAE,EA5BU;AA6B7B/oD,yBAAW,EAAE,EA7BgB;AA8B7BtW,oBAAM,EAAC;AA9BsB,aAA/B;AAgCA,iBAAKyP,OAAL,GAAe,KAAf;AACA,iBAAKC,YAAL,GAAoB,KAApB;AAED,WAvCD,MAwCK;AACH,gBAAIsM,IAAI,IAAI,IAAZ,EACEA,IAAI,CAACsL,SAAL;AACF,iBAAK7X,OAAL,GAAe,KAAf;AACA,iBAAKC,YAAL,GAAoB,KAApB;AACA,iBAAKouD,cAAL,CAAoB3nD,QAApB,GAA+B;AAC7BgD,oBAAM,EAAE,GADqB;AAE7BwwC,oBAAM,EAAE,CAFqB;AAG7BN,sBAAQ,EAAE,KAAKoV,QAHc;AAI7BvU,sBAAQ,EAAE,EAJmB;AAK7ByQ,6BAAe,EAAE,EALY;AAM7BkB,+BAAiB,EAAE,IANU;AAO7BjB,mBAAK,EAAE,EAPsB;AAQ7BC,uBAAS,EAAE,EARkB;AAS7BC,mBAAK,EAAE,EATsB;AAU7BC,2BAAa,EAAE,EAVc;AAW7Be,6BAAe,EAAE,IAXY;AAY7BmD,qBAAO,EAAE,EAZoB;AAa7BroD,sBAAQ,EAAE,IAbmB;AAc7By/B,uBAAS,EAAE,EAdkB;AAe7BkkB,6BAAe,EAAE,EAfY;AAgB7Bv7C,iBAAG,EAAE,CAhBwB;AAiB7B4G,6BAAe,EAAE,KAAK44C,gBAjBO;AAkB7B7qD,uBAAS,EAAE,CAlBkB;AAmB7B4C,uBAAS,EAAE,CAnBkB;AAoB7B3C,yBAAW,EAAE,EApBgB;AAqB7B4C,yBAAW,EAAE,EArBgB;AAsB7B3Y,sBAAQ,EAAE,EAtBmB;AAuB7BqhE,2BAAa,EAAE,EAvBc;AAwB7BC,6BAAe,EAAE,EAxBY;AAyB7BC,4BAAc,EAAE,EAzBa;AA0B7BN,8BAAgB,EAAE,EA1BW;AA2B7BC,0BAAY,EAAE,IA3Be;AA4B7BM,+BAAiB,EAAE,EA5BU;AA6B7B/oD,yBAAW,EAAE,EA7BgB;AA8B7BtW,oBAAM,EAAE;AA9BqB,aAA/B;AAgCD;AACF,S,CACH;;;;sCACgBgc,I,EAAM;AAElB;AACA;AACA;AACA;AAEA,eAAKsL,SAAL,CAAetL,IAAf;AACA,eAAKjM,KAAL;AACAte,oBAAU,CAAC,YAAY;AACrB,iBAAKiJ,QAAL,CAAc5B,QAAd,CAAuBwH,MAAvB;AACD,WAFS,EAEP,IAFO,CAAV;AAID;;;8BAIK0/D,W,EAAaC,S,EAAWC,M,EAAQC,I,EAAM;AAE1C,cAAIH,WAAW,IAAIC,SAAf,IAA4BC,MAAM,IAAIC,IAA1C,EAAgD;AAC9C,mBAAO,KAAKjC,YAAL,GAAoB,MAA3B,CAD8C,CAE9C;AACD,WAHD,MAIK;AACH,mBAAO,KAAKA,YAAL,GAAoB,OAA3B,CADG,CAEH;AAED;AACF,S,CACH;;;;oCACcvU,M,EAAQtT,S,EAAW;AAAA;;AAE7B,eAAKynB,cAAL,CAAoBsC,oBAApB,CAAyCzW,MAAzC,EAAiDtT,SAAjD,EAA4D7pD,YAAY,CAACM,OAAb,CAAqB,UAArB,CAA5D,EAA8FT,SAA9F,CAAwG,UAAA0oB,GAAG,EAAI;AAE7G,oBAAI,CAAC+oD,cAAL,CAAoB3nD,QAApB,CAA6BS,QAA7B,GAAwC7B,GAAxC;AAED,WAJD,EAKE,UAACiT,KAAD,EAAW;AACT,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WARH;AASD,S,CACD;;;;yCACiBhH,K,EAAO;AACtB;AACA,cAAGA,KAAK,IAAE,mBAAV,EAA8B;AAC5B,iBAAK2kE,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAA7B,GAAiD,IAAjD;AACD;;AACD,cAAG1iE,KAAK,IAAE,oBAAV,EAA+B;AAC7B,iBAAK2kE,cAAL,CAAoB3nD,QAApB,CAA6B2lD,eAA7B,GAA+C,IAA/C;AACD;;AACD,cAAG3iE,KAAK,IAAE,cAAV,EAAyB;AACvB,iBAAK2kE,cAAL,CAAoB3nD,QAApB,CAA6B4kD,aAA7B,GAA6C,EAA7C;AACA,iBAAK+C,cAAL,CAAoB3nD,QAApB,CAA6B2lD,eAA7B,GAA+C,IAA/C;AACD;;AACD,eAAKrsD,OAAL,GAAe,KAAf;AACA,eAAKC,YAAL,GAAoB,KAApB;AACD;;;iCAEQsM,I,EAAc;AAAA;;AACrB,cAAIkuC,QAAQ,GAAG,KAAK4T,cAAL,CAAoB3nD,QAApB,CAA6B+zC,QAA5C;AACAA,kBAAQ,GAAGA,QAAQ,CAAC/tC,OAAT,CAAiB,KAAjB,EAAwB,EAAxB,CAAX;;AACA,cAAI+tC,QAAQ,IAAI,EAAhB,EAAoB;AAChB,iBAAK4T,cAAL,CAAoB3nD,QAApB,CAA6B+zC,QAA7B,GAAwCA,QAAxC;AACH;;AACD,cAAI,KAAK4T,cAAL,CAAoB3nD,QAApB,CAA6B+zC,QAA7B,IAAyC,EAA7C,EAAiD;AACzCxjE,kBAAO,CAAC41B,MAAR,CAAeN,IAAI,CAACO,QAApB,EAA8B5sB,OAA9B,CAAsC,UAAA6sB,OAAO,EAAI;AACrDA,qBAAO,CAACC,aAAR;AACD,aAFK;AAGN,mBAAO,KAAP;AACD,WALD,MAMI;AACJ;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAIT,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAA3B,EAA8B;AAC5B6wB,kBAAI,CAAC7wB,KAAL,CAAW,WAAX,IAA0BqB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA1B;AACD,aAFD,MAGK;AACHkvB,kBAAI,CAAC7wB,KAAL,CAAW,WAAX,IAA0BqB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA1B;AACD;;AACD,gBAAIg5C,QAAQ,GAAG,EAAf;AAEAA,oBAAQ,CAAC,QAAD,CAAR,GAAqB9pB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,CAArB;AACA26C,oBAAQ,CAAC,QAAD,CAAR,GAAqB9pB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,CAArB;AACA26C,oBAAQ,CAAC,UAAD,CAAR,GAAuB9pB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,CAAvB;AACA26C,oBAAQ,CAAC,UAAD,CAAR,GAAuB9pB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,CAAvB;AACA26C,oBAAQ,CAAC,iBAAD,CAAR,GAA8B9pB,IAAI,CAAC7wB,KAAL,CAAW,iBAAX,CAA9B;AACA26C,oBAAQ,CAAC,mBAAD,CAAR,GAAgC9pB,IAAI,CAAC7wB,KAAL,CAAW,mBAAX,CAAhC;AACA26C,oBAAQ,CAAC,OAAD,CAAR,GAAoB9pB,IAAI,CAAC7wB,KAAL,CAAW,OAAX,CAApB;AACA26C,oBAAQ,CAAC,WAAD,CAAR,GAAwB9pB,IAAI,CAAC7wB,KAAL,CAAW,WAAX,CAAxB;AACA26C,oBAAQ,CAAC,OAAD,CAAR,GAAoB9pB,IAAI,CAAC7wB,KAAL,CAAW,OAAX,CAApB;AACA26C,oBAAQ,CAAC,eAAD,CAAR,GAA4B9pB,IAAI,CAAC7wB,KAAL,CAAW,eAAX,CAA5B;AACA26C,oBAAQ,CAAC,iBAAD,CAAR,GAA8B9pB,IAAI,CAAC7wB,KAAL,CAAW,iBAAX,CAA9B;AACA26C,oBAAQ,CAAC,SAAD,CAAR,GAAsB9pB,IAAI,CAAC7wB,KAAL,CAAW,SAAX,CAAtB;AACA26C,oBAAQ,CAAC,UAAD,CAAR,GAAuB9pB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,CAAvB;AACA26C,oBAAQ,CAAC,WAAD,CAAR,GAAwB9pB,IAAI,CAAC7wB,KAAL,CAAW,WAAX,CAAxB,CArCI,CAsCJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA26C,oBAAQ,CAAC,iBAAD,CAAR,GAA8B,KAAKg4B,cAAL,CAAoB3nD,QAApB,CAA6BokD,eAA3D,CAjDI,CAmDJ;AACA;AACA;AACA;AACA;;AACAz0B,oBAAQ,CAAC,WAAD,CAAR,GAAwB9pB,IAAI,CAAC7wB,KAAL,CAAW,WAAX,CAAxB;AACA26C,oBAAQ,CAAC,WAAD,CAAR,GAAwB9pB,IAAI,CAAC7wB,KAAL,CAAW,WAAX,CAAxB;AAEA26C,oBAAQ,CAAC,KAAD,CAAR,GAAkB9pB,IAAI,CAAC7wB,KAAL,CAAW,KAAX,CAAlB;AACA26C,oBAAQ,CAAC,iBAAD,CAAR,GAA8B9pB,IAAI,CAAC7wB,KAAL,CAAW,iBAAX,CAA9B;AACA26C,oBAAQ,CAAC,iBAAD,CAAR,GAA8B9pB,IAAI,CAAC7wB,KAAL,CAAW,iBAAX,CAA9B;AACA26C,oBAAQ,CAAC,gBAAD,CAAR,GAA6B9pB,IAAI,CAAC7wB,KAAL,CAAW,gBAAX,CAA7B;AACA26C,oBAAQ,CAAC,aAAD,CAAR,GAA0B9pB,IAAI,CAAC7wB,KAAL,CAAW,aAAX,CAA1B;AACA26C,oBAAQ,CAAC,aAAD,CAAR,GAA0B9pB,IAAI,CAAC7wB,KAAL,CAAW,aAAX,CAA1B;AACA26C,oBAAQ,CAAC,UAAD,CAAR,GAAuB9pB,IAAI,CAAC7wB,KAAL,CAAW,UAAX,CAAvB;AACA26C,oBAAQ,CAAC,eAAD,CAAR,GAA4B9pB,IAAI,CAAC7wB,KAAL,CAAW,eAAX,CAA5B;;AAEA,gBAAI6wB,IAAI,CAAC7wB,KAAL,CAAW,iBAAX,KAAiC,GAArC,EAA0C;AACxC26C,sBAAQ,CAAC,iBAAD,CAAR,GAA8B,EAA9B;AACA,mBAAKw5B,mBAAL,CAAyB3vE,OAAzB,CAAiC,UAAAC,OAAO,EAAI;AAC1C,oBAAI+hD,aAAa,GAAG,EAApB;AACAA,6BAAa,CAAC,WAAD,CAAb,GAA6B/hD,OAA7B;AACAk2C,wBAAQ,CAAC,iBAAD,CAAR,CAA4Bj2C,IAA5B,CAAiC8hD,aAAjC;AACD,eAJD;AAKA7L,sBAAQ,CAAC,kBAAD,CAAR,GAA+B,GAA/B;AACD,aARD,MASK;AACHA,sBAAQ,CAAC,kBAAD,CAAR,GAA+B9pB,IAAI,CAAC7wB,KAAL,CAAW,iBAAX,CAA/B,CADG,CAEH;AACD,aAhFG,CAkFJ;AAEA;AACA;AACA;AACA;;;AACA26C,oBAAQ,CAAC,cAAD,CAAR,GAA2B9pB,IAAI,CAAC7wB,KAAL,CAAW,cAAX,CAA3B;;AAEA,iBAAK2yE,cAAL,CAAoBuC,kBAApB,CAAuCv6B,QAAQ,CAAC,UAAD,CAA/C,EAA6DA,QAAQ,CAAC,QAAD,CAArE,EAAiFA,QAAQ,CAAC,UAAD,CAAzF,EAAuGz5C,SAAvG,CAAiH,UAAAi0E,aAAa,EAAI;AAChI,kBAAIA,aAAa,IAAI,IAArB,EAA2B;AACzB,wBAAI,CAAC7wD,OAAL,GAAe,KAAf;AACA,wBAAI,CAACC,YAAL,GAAoB,IAApB;AACA,wBAAI,CAACsF,UAAL,GAAkB,sCAAsCxoB,YAAY,CAACM,OAAb,CAAqB,YAArB,CAAtC,GAA2E,SAA7F,CAHyB,CAGoF;;AAC7G,wBAAI,CAACijB,KAAL;AACD,eALD,MAMK;AACH,wBAAI,CAAC+tD,cAAL,CAAoByC,sBAApB,CAA2Cz6B,QAA3C,EAAqDz5C,SAArD,CAA+D,UAAA0oB,GAAG,EAAI;AACpE;;AACA,sBAAIA,GAAG,CAAC40C,MAAJ,IAAc,CAAC,CAAnB,EAAsB;AACpB,4BAAI,CAACl6C,OAAL,GAAe,KAAf;AACA,4BAAI,CAACC,YAAL,GAAoB,IAApB;AACA,4BAAI,CAACsF,UAAL,GAAkB,sCAAsCD,GAAG,CAACshC,SAA1C,GAAsD,YAAxE,CAHoB,CAIpB;;AACA,4BAAI,CAACtmC,KAAL;AACD,mBAND,MAOK;AACH,4BAAI,CAACqT,aAAL,GAAqB,KAArB;AACA,4BAAI,CAACpO,UAAL,GAAkB,QAAI,CAAC8oD,cAAL,CAAoB3nD,QAApB,CAA6BwzC,MAA7B,CAAoC31C,QAApC,MAAkD,GAAlD,IAChB,QAAI,CAAC8pD,cAAL,CAAoB3nD,QAApB,CAA6BwzC,MAA7B,CAAoC31C,QAApC,MAAkD,IADlC,GACyC,yBADzC,GACqE,2BADvF,CAFG,CAIH;;AACA,4BAAI,CAACgB,UAAL,GAAkBD,GAAG,CAACm1C,QAAJ,GAAe,GAAf,GAAqB,QAAI,CAACl1C,UAA5C;;AAEA,wBAAI,QAAI,CAAC8oD,cAAL,CAAoB3nD,QAApB,CAA6BwzC,MAA7B,IAAuC,CAA3C,EAA8C;AAC5CjvD,8BAAQ,CAAC5B,QAAT,CAAkBwH,MAAlB;AACA9T,kCAAY,CAACC,OAAb,CAAqB,KAArB,EAA4B,QAAI,CAACuoB,UAAjC;;AACA,8BAAI,CAACjF,KAAL;AACD,qBAJD,MAKK;AACH,8BAAI,CAACN,OAAL,GAAe,IAAf;AACA,8BAAI,CAACC,YAAL,GAAoB,KAApB;;AACA,8BAAI,CAACK,KAAL;;AACA,8BAAI,CAAC6uD,uBAAL;AACD,qBAjBE,CAoBH;AAGA;AACA;;AACD;AACF,iBAnCD,EAoCE,UAAC52C,KAAD,EAAW;AAET,0BAAI,CAACvY,OAAL,GAAe,KAAf;AACA,0BAAI,CAACC,YAAL,GAAoB,IAApB;AACA,0BAAI,CAACsF,UAAL,GAAkB,mBAAlB;AACA,0BAAI,CAACoO,aAAL,GAAqB,KAArB;;AACA,0BAAI,CAACrT,KAAL;;AACA,0BAAI,CAAChX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,iBA7CH;AA+CD;AACF,aAxDD;AAyDA;AACF,S,CACA;;;;gCACQ;AACNmU,gBAAM,CAACC,MAAP,CAAc;AACZC,eAAG,EAAE,CADO;AAEZC,gBAAI,EAAE,CAFM;AAGZC,oBAAQ,EAAE;AAHE,WAAd;AAKD,S,CACH;;;;kDAC4B;AAAA;;AACxB,eAAKopD,cAAL,CAAoB0C,kCAApB,CAAuD,KAAKlC,UAAL,CAAgBtqD,QAAhB,EAAvD,EAAmF3nB,SAAnF,CAA6F,UAAA67B,SAAS,EAAI;AACxG,oBAAI,CAACu4C,sBAAL,GAA8Bv4C,SAA9B;;AAEA,gBAAI,QAAI,CAACu4C,sBAAL,CAA4B,CAA5B,EAA+B7sD,WAA/B,IAA8C,EAAlD,EAAsD;AACpD,sBAAI,CAACoF,cAAL,GAAsB,IAAtB;AACA,sBAAI,CAACoP,WAAL,GAAmB,QAAI,CAACq4C,sBAAL,CAA4B,CAA5B,EAA+B7sD,WAAlD;AACA,sBAAI,CAACyU,eAAL,GAAuB,QAAI,CAACo4C,sBAAL,CAA4B,CAA5B,EAA+B5iE,QAAtD;AACD;;AACD,gBAAI,QAAI,CAAC4iE,sBAAL,CAA4B,CAA5B,EAA+BjqD,WAA/B,IAA8C,EAAlD,EAAsD;AACpD,sBAAI,CAACuC,cAAL,GAAsB,IAAtB;AACA,sBAAI,CAACuP,aAAL,GAAqB,QAAI,CAACm4C,sBAAL,CAA4B,CAA5B,EAA+B5iE,QAApD;AACA,sBAAI,CAAC0qB,UAAL,GAAkB,QAAI,CAACk4C,sBAAL,CAA4B,CAA5B,EAA+BjqD,WAAjD;AACD;AACF,WAbD,EAcE,UAACwR,KAAD,EAAW;AACT,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WAjBH;AAkBD,S,CA6DD;;;;2CACmBugE,W,EAAa;AAAA;;AAE9B,cAAIA,WAAW,IAAI,GAAf,IAAsBA,WAAW,IAAI,GAArC,IAA4CA,WAAW,IAAI,GAA/D,EAAoE;AAClE;AACA;AACA;AACA;AACA,gBAAI,KAAKvC,aAAL,IAAsB,KAA1B,EAAiC;AAC/B,mBAAKL,cAAL,CAAoB3nD,QAApB,CAA6BokD,eAA7B,GAA+C,QAA/C;AACA,mBAAK8D,yBAAL,GAAiC,UAAjC,CAF+B,CAG/B;;AACA,mBAAKuB,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAC,GAAG,EAAI;AAAE,uBAAOA,GAAG,CAAC4sD,aAAJ,IAAqB,IAA5B;AAAkC,eAA1E,CAA1B;AACA,kBAAI,KAAK3B,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAA7B,IAAkD,EAAtD,EACE,KAAK+D,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAC,GAAG,EAAI;AAC9D,uBAAOA,GAAG,CAACoS,SAAJ,IAAiB/J,QAAQ,CAAC,QAAI,CAAC4iD,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAA9B,CAAhC;AACD,eAFyB,CAA1B;AAGH,aATD,MAUK;AACH,mBAAK+D,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAC,GAAG,EAAI;AAAE,uBAAOA,GAAG,CAAC4sD,aAAJ,IAAqB,KAA5B;AAAmC,eAA3E,CAA1B;AACA,kBAAI,KAAK3B,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAA7B,IAAkD,EAAtD,EACE,KAAK+D,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAC,GAAG,EAAI;AAC9D,uBAAOA,GAAG,CAACoS,SAAJ,IAAiB/J,QAAQ,CAAC,QAAI,CAAC4iD,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAA9B,CAAhC;AACD,eAFyB,CAA1B;AAGH,aArBiE,CAsBlE;AACA;;AAGD,WA1BD,MA2BK;AACH,iBAAKmD,6BAAL,GAAqC,KAArC;AACA,iBAAKY,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAAC4sD,aAAJ,IAAqB,IAA5B;AAAkC,aAA1E,CAA1B;AACA,gBAAI,KAAK3B,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAA7B,IAAkD,EAAtD,EACE,KAAK+D,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAC,GAAG,EAAI;AAC9D,qBAAOA,GAAG,CAACoS,SAAJ,IAAiB/J,QAAQ,CAAC,QAAI,CAAC4iD,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAA9B,CAAhC;AACD,aAFyB,CAA1B;AAGH;;AACD,cAAI,KAAKC,eAAL,IAAwB,GAA5B,EAAiC;AAC/B,iBAAKwD,mBAAL,GAA2B,EAA3B;;AAD+B,wDAEd,KAAKM,kBAFS;AAAA;;AAAA;AAE/B,qEAA0C;AAAA,oBAAjC/zE,IAAiC;;AACxC,oBAAIA,IAAI,CAACo5B,SAAL,IAAkB/J,QAAQ,CAAC,KAAK4iD,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAA9B,CAA9B,EAAgF;AAC9E,uBAAKyD,mBAAL,CAAyBzvE,IAAzB,CAA8BhE,IAAI,CAACo5B,SAAnC;AACD;AACF;AAN8B;AAAA;AAAA;AAAA;AAAA;AAOhC;;AAED,cAAIy7C,WAAW,IAAI,MAAnB,EAA2B;AACzB,iBAAK5C,cAAL,CAAoB3nD,QAApB,CAA6B4oD,YAA7B,GAA4C,IAA5C;AACD;AACF,S,CAGD;;;;gDACwB;AAAA;;AACtB,cAAI,KAAKjB,cAAL,CAAoB3nD,QAApB,CAA6BokD,eAA7B,IAAgD,OAApD,EAA6D;AAC3D,iBAAK8D,yBAAL,GAAiC,WAAjC;AACA,iBAAKsC,mBAAL,GAA2B,KAA3B;AACA,iBAAKf,kBAAL,GAA0B,KAAKA,kBAA/B;AACA,gBAAI,KAAK9B,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAA7B,IAAkD,EAAtD,EACE,KAAK+D,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAC,GAAG,EAAI;AAC9D,qBAAOA,GAAG,CAACoS,SAAJ,IAAiB/J,QAAQ,CAAC,QAAI,CAAC4iD,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAA9B,CAAhC;AACD,aAFyB,CAA1B;AAGH,WARD,MASK,IAAI,KAAKiC,cAAL,CAAoB3nD,QAApB,CAA6BokD,eAA7B,IAAgD,QAApD,EAA8D;AACjE,iBAAK8D,yBAAL,GAAiC,UAAjC;;AACA,gBAAI,KAAKF,aAAT,EAAwB;AACtB,mBAAKL,cAAL,CAAoB3nD,QAApB,CAA6B4oD,YAA7B,GAA4C,CAA5C;AACA,mBAAK4B,mBAAL,GAA2B,IAA3B;AACA,mBAAKf,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAC,GAAG,EAAI;AAAE,uBAAOA,GAAG,CAAC4sD,aAAJ,IAAqB,IAA5B;AAAkC,eAA1E,CAA1B;AACA,kBAAI,KAAK3B,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAA7B,IAAkD,EAAtD,EACE,KAAK+D,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAC,GAAG,EAAI;AAC9D,uBAAOA,GAAG,CAACoS,SAAJ,IAAiB/J,QAAQ,CAAC,QAAI,CAAC4iD,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAA9B,CAAhC;AACD,eAFyB,CAA1B;AAGH,aARD,MASK;AACH,mBAAK8E,mBAAL,GAA2B,KAA3B,CADG,CAEL;;AACE,mBAAKf,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAC,GAAG,EAAI;AAAE,uBAAOA,GAAG,CAAC4sD,aAAJ,IAAqB,IAA5B;AAAkC,eAA1E,CAA1B;AACD;AACF;;AACD,cAAI,KAAK3D,eAAL,IAAwB,GAA5B,EAAiC;AAC/B,iBAAKwD,mBAAL,GAA2B,EAA3B;;AAD+B,wDAEd,KAAKM,kBAFS;AAAA;;AAAA;AAE/B,qEAA0C;AAAA,oBAAjC/zE,IAAiC;;AACxC,oBAAIA,IAAI,CAACo5B,SAAL,IAAkB/J,QAAQ,CAAC,KAAK4iD,cAAL,CAAoB3nD,QAApB,CAA6B0lD,iBAA9B,CAA9B,EAAgF;AAC9E,uBAAKyD,mBAAL,CAAyBzvE,IAAzB,CAA8BhE,IAAI,CAACo5B,SAAnC;AACD;AACF;AAN8B;AAAA;AAAA;AAAA;AAAA;AAOhC;;AACD,eAAK27C,kBAAL,CAAwB,KAAK9C,cAAL,CAAoB3nD,QAApB,CAA6B4oD,YAArD;AACD;;;;;;;uBAtuBUlB,sB,EAAsB,uH,EAAA,4J,EAAA,kK;AAAA,K;;;YAAtBA,sB;AAAsB,0C;AAAA,gB;AAAA,c;AAAA,glN;AAAA;AAAA;;;ACfnC;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AACI;;AAAoD;AAAA,mBAAS,IAAAtqC,UAAA,EAAT;AAAqB,WAArB,EAAsB,eAAtB,EAAsB;AAAA,mBAAkB,IAAAA,UAAA,EAAlB;AAA8B,WAApD;;AAC0C;;AAClG;;AACA;;AACE;;AAA6I;;AAAY;;AAC7J;;AAIF;;AACJ;;AAEA;;AAAwC;AAAA;;AAAA;;AAAA,qCAA+B,IAAAtK,QAAA,KAA/B;AAA6C,WAA7C;;AAEtC;;AACE;;AAGA;;AACE;;AAAqD;;AAA8B;;AAErF;;AACF;;AACA;;AACE;;AACC;;AACC;;AAAiB;AAAA,mBAAS,IAAAjR,OAAA,EAAT;AAAkB,WAAlB;;AAAuC;;AAAO;;AAC/D;;AAAQ;;AAAQ;;AAAU;;AAC5B;;AAEA;;AACE;;AAAiB;AAAA,mBAAS,IAAAC,SAAA,EAAT;AAAoB,WAApB;;AAAyC;;AAAO;;AACjE;;AAAQ;;AAAM;;AAAU;;AAC1B;;AAEF;;AAID;;AACA;;AACC;;AACD;;AAAa;;AACb;;AACC;;AAAqD;AAAA;AAAA;;AAArD;;AACA;;AAAyD;AAAA;AAAA;;AAAzD;;AACA;;AACE;;AAAyC;;AAAS;;AAA2B;;AAAC;;AAAO;;AACrF;;AAAuD;AAAA;AAAA,aAA8C,UAA9C,EAA8C;AAAA,mBAEzF,IAAAiR,gBAAA,QAFyF;AAEjE,WAFmB;;AAAvD;;AAGA;;AAQF;;AACA;;AACE;;AAAyC;;AAAM;;AAAQ;;AACvD;;AACE;AAAA;AAAA,aAA4C,eAA5C,EAA4C;AAAA,mBAAuC,IAAAA,gBAAA,QAAvC;AAA+D,WAA3G;;AAEA;;AAAkB;;AAAM;;AACxB;;AAAkB;;AAAQ;;AAC9B;;AACA;;AAIA;;AACE;;AAA0C;;AAAS;;AACnD;;AAA8C;AAAA;AAAA,aAA+C,eAA/C,EAA+C;AAAA,mBAAkB,IAAAA,gBAAA,QAAlB;AAA0C,WAAzF,EAA+C,QAA/C,EAA+C;AAAA;;AAAA;;AAAA;;AAAA,mBACnF,IAAA23C,WAAA,sBADmF;AAC1C,WADL;;AAE9C;;AAA0B;;AAAgB;;AAC1C;;AAAsB;;AAAK;;AAC3B;;AAAoB;;AAAG;;AACvB;;AAAoB;;AAAO;;AAC3B;;AAAoB;;AAAG;;AACxB;;AAAmC;;AAAG;;AACvC;;AAGA;;AAGA;;AACE;;AAAyC;;AAAQ;;AACjD;;AAAgE;AAAA;AAAA,aAA8C,UAA9C,EAA8C;AAAA,mBAClG,IAAA33C,gBAAA,QADkG;AAC1E,WAD4B;;AAAhE;;AAGF;;AACF;;AACF;;AAGI;;AAEA;;AACE;;AACD;;AAAkB;;AACnB;;AACE;;AACE;;AAAgD;;AAAmB;;AAA2B;;AAAC;;AAAO;;AACtG;;AAA0D;AAAA;AAAA,aAAqD,QAArD,EAAqD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACrG,IAAA62C,SAAA,+CADqG;AACH,WADlD,EAAqD,eAArD,EAAqD;AAAA,mBAG9F,IAAA72C,gBAAA,CAAiB,mBAAjB,CAH8F;AAGzD,WAHI;;AAI1D;;AAA0B;;AAAmB;;AAC7C;;AAA8B;;AAAU;;AACxC;;AAA+B;;AAAW;;AAC1C;;AAA4B;;AAAQ;;AACpC;;AAA8B;;AAAU;;AACxC;;AAAqC;;AAAiB;;AACtD;;AAA+B;;AAAW;;AAC5C;;AACE;;AAEF;;AACA;;AACE;;AAA4C;;AAAqB;;AAA2B;;AAAC;;AAAO;;AAEpG;;AAA+D;AAAA;AAAA,aAAuD,QAAvD,EAAuD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAE5G,IAAA62C,SAAA,+CAF4G;AAEV,WAF7C,EAAuD,eAAvD,EAAuD;AAAA,mBAIrG,IAAA72C,gBAAA,QAJqG;AAI7E,WAJsB;;AAK/D;;AAAgC;;AAAqB;;AACrD;;AAMA;;AACA;;AAGF;;AAGF;;AACA;;AAEE;;AACE;;AAAsC;;AAAK;;AAA2B;;AAAC;;AAAO;;AAE9E;;AACiB;AAAA;AAAA,aAA2C,eAA3C,EAA2C;AAAA,mBAG3C,IAAAA,gBAAA,QAH2C;AAGnB,WAHxB;;AAIjB;;AAA0B;;AAAY;;AACtC;;AAAgC;;AAAe;;AAC/C;;AAAkC;;AAAiB;;AACnD;;AAAgG;;AAAa;;AAC7G;;AAA+B;;AAAc;;AAC9C;;AAED;;AACA;;AACA;;AACE;;AAA0C;;AAAS;;AAA2B;;AAAC;;AAAO;;AACtF;;AAA8C;AAAA;AAAA,aAA+C,eAA/C,EAA+C;AAAA,mBAG5E,IAAAA,gBAAA,QAH4E;AAGpD,WAHK;;AAI9C;;AAA0B;;AAAgB;;AAC1C;;AAA0B;;AAAC;;AAC3B;;AAAmC;;AAAE;;AACrC;;AAA6B;;AAAC;;AAC9B;;AAAmC;;AAAE;;AACrC;;AAAsB;;AAAC;;AAEzB;;AACE;;AAEF;;AACA;;AACE;;AAAsC;;AAAK;;AAA2B;;AAAC;;AAAO;;AAC9E;;AACC;AAAA,mBAAY,IAAAuQ,UAAA,QAAZ;AAA8B,WAA9B,EAA+B,eAA/B,EAA+B;AAAA;AAAA,WAA/B,EAA+B,UAA/B,EAA+B;AAAA,mBAKnB,IAAAvQ,gBAAA,QALmB;AAKK,WALpC;;AADD;;AAQA;;AAEF;;AACF;;AACF;;AACA;;AAGA;;AACE;;AACD;;AAAoB;;AAEnB;;AACE;;AACE;;AAA4C;;AAAgB;;AAA2B;;AAAC;;AAAO;;AAoBzF;;AAC2B;AAAA;AAAA,aAAqD,QAArD,EAAqD;AAAA,mBAAW,IAAA42C,qBAAA,EAAX;AAAkC,WAAvF;;AAG3B;;AAA0B;;AAAwB;;AAChD;;AAAwB;;AAAkC;;AAC1D;;AAAuB;;AAAiC;;AAC5D;;AAEE;;AAMV;;AACE;;AACE;;AAAuC;;AAAK;;AAA2B;;AAAC;;AAAO;;AAC/E;;AAAoG;AAAA;AAAA,aAA6C,UAA7C,EAA6C;AAAA,mBACrI,IAAArmC,UAAA,QADqI;AACnH,WADsE,EAA6C,eAA7C,EAA6C;AAAA,mBAIhI,IAAAvQ,gBAAA,QAJgI;AAIxG,WAJ2D;;AAApG;;AAKA;;AAEF;;AACA;;AACE;;AAAuC;;AAAa;;AAA2B;;AAAC;;AAAO;;AACvF;;AACwB;AAAA;AAAA,aAAkD,QAAlD,EAAkD;AAAA;;AAAA;;AAAA,mBAAW,IAAA03C,kBAAA,YAAX;AAAiD,WAAnG,EAAkD,eAAlD,EAAkD;AAAA,mBAEzD,IAAA13C,gBAAA,CAAiB,cAAjB,CAFyD;AAEzB,WAFzB;;AAGtB;;AAA4B;;AAAoB;;AAChD;;AAAqE;;AAAa;;AAClF;;AAA2E;;AAAI;;AAE/E;;AAA2E;;AAAI;;AACnF;;AAEA;;AAEA;;AAGF;;AACA;;AACE;;AACE;;AAA8C;;AAAkB;;AAA2B;;AAAC;;AAAO;;AACnG;;AAAsD;AAAA;AAAA,aAAmD,QAAnD,EAAmD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC/F,IAAA62C,SAAA,+CAD+F;AACG,WADtD,EAAmD,eAAnD,EAAmD;AAAA,mBAGxF,IAAA72C,gBAAA,CAAiB,oBAAjB,CAHwF;AAGlD,WAHD;;AAItD;;AAA0B;;AAAmB;;AAC7C;;AAA8B;;AAAU;;AACxC;;AAA+B;;AAAW;;AAC1C;;AAA4B;;AAAQ;;AACpC;;AAA8B;;AAAU;;AACxC;;AAAqC;;AAAiB;;AACtD;;AAA+B;;AAAW;;AAC5C;;AACC;;AAED;;AACA;;AACE;;AAAgD;;AAAoB;;AAA2B;;AAAC;;AAAO;;AACvG;;AAA0D;AAAA;AAAA,aAAqD,QAArD,EAAqD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACrG,IAAA62C,SAAA,+CADqG;AACH,WADlD,EAAqD,eAArD,EAAqD;AAAA,mBAIvC,IAAA72C,gBAAA,QAJuC;AAIf,WAJtC;;AAKxD;;AAAuB;;AAAqB;;AAC5C;;AAA8D;;AAAiB;;AAC/E;;AAKA;;AACD;;AAED;;AAGF;;AAEF;;AACA;;AACA;;AAIF;;AACE;;AACE;;AAID;AAAA;;AAAA;;AAAA,mBAAS,IAAAnB,aAAA,KAAT;AAA4B,WAA5B;;AAJC;;AAOA;;AAMF;;AAEF;;AAEA;;AAIA;;AACG;;AAAqD;;AAE1D;;AACA;;AAIE;;AACG;;AAAkD;;AAEvD;;AAGE;;AAGJ;;AACJ;;AACJ;;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAlWuK;;AAAA;;AAqB7I;;AAAA;;AAEsB;;AAAA;;AAGvB;;AAAA;;AAEqB;;AAAA;;AAYyB;;AAAA;;AACI;;AAAA;;AAGA;;AAAA,oHAA8C,SAA9C,EAA8C,kIAA9C;;AAGzB;;AAAA;;AAY5B;;AAAA,kHAA4C,SAA5C,EAA4C,kIAA5C;;AAW4C;;AAAA;;AAgBkB;;AAAA;;AAgBJ;;AAAA,2HAAqD,SAArD,EAAqD,kIAArD;;AAY5B;;AAAA;;AAMiC;;AAAA,6HAAuD,SAAvD,EAAuD,qIAAvD;;AAKvD;;AAAA;;AAEN;;AAAA;;AAM4B;;AAAA;;AAab;;AAAA,iHAA2C,SAA3C,EAA2C,qIAA3C;;AAOa;;AAAA;;AAIF;;AAAA;;AAIkB;;AAAA,qHAA+C,SAA/C,EAA+C,qIAA/C;;AAYhB;;AAAA;;AAQC;;AAAA,iHAA2C,SAA3C,EAA2C,qIAA3C;;AAKD;;AAAA;;AAmCG;;AAAA,2HAAqD,SAArD,EAAqD,qIAArD,EAAqD,UAArD,EAAqD,kBAArD;;AAID;;AAAA;;AACD;;AAAA;;AAIA;;AAAA;;AAQqE;;AAAA,mHAA6C,SAA7C,EAA6C,qIAA7C;;AAKtE;;AAAA;;AAMN;;AAAA,wHAAkD,SAAlD,EAAkD,qIAAlD;;AAIJ;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AAGQ;;AAAA;;AAS0B;;AAAA,yHAAmD,SAAnD,EAAmD,qIAAnD;;AAYzB;;AAAA;;AAK6B;;AAAA,2HAAqD,SAArD,EAAqD,mKAArD;;AAKhD;;AAAA;;AACU;;AAAA;;AAEhB;;AAAA;;AAK2B;;AAAA;;AAED;;AAAA;;AAchC;;AAAA,0FAAkB,UAAlB,EAAkB,gBAAlB;;AAOA;;AAAA;;AAWJ;;AAAA;;AAGG;;AAAA;;AAKH;;AAAA;;AAGG;;AAAA;;;;;;;;;sEDnVN81C,sB,EAAsB;cALlC,uDAKkC;eALxB;AACT/gE,kBAAQ,EAAE,qBADD;AAET4D,qBAAW,EAAE,kCAFJ;AAGT3D,mBAAS,EAAE,CAAC,iCAAD;AAHF,S;AAKwB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;AEfnC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACmEoB;;AACE;;AACF;;;;;;AAEA;;AACE;;AACF;;;;;;AAPF;;AACE;;AAIA;;AAGF;;;;;;;;AAPO;;AAAA;;AAIA;;AAAA;;;;;;AAmBP;;AAAiI;;AAA8B;;;;;;AAa7J;;AACE;;AAAgC;;;;;;AAgBpC;;AACE;;AAAkC;;;;;;AAapC;;AAAoI;;AAA+B;;;;;;AAuCnK;;AAEE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AACA;;AACE;;AACH;;;;;;AAwCG;;AAA2E;;AAAwB;;;;;;AAAzD;;AAAiC;;AAAA;;;;;;AAQ7E;;AAA2H;;AAAiC;;;;;;AA8B5J;;AAA0F;;AAC5F;;;;;;AADsD;;AAAsC;;AAAA;;;;;;AAM5F;;AACE;;AACF;;;;;;AAkBQ;;AAEE;;AAAuB;;;;;;;;;;;;;;AAhB3B;;AACE;;AAAuC;;AAAO;;AAAkB;;AAAC;;AAAO;;AAAQ;;AAChF;;AACA;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAA4C,eAA5C,EAA4C;AAAA;;AAAA;;AAAA;AAAA,SAA5C;;AAIE;;AAA6B;;AAAa;;AAC1C;;AAAmB;;AAAQ;;AAC3B;;AAAkB;;AAAQ;;AAC5B;;AACA;;AAEkC;;AAAqB;;AACvD;;AAGF;;;;;;;;;;AAfgE;;AAAA,oGAA0B,SAA1B,EAA0B,4CAA1B,EAA0B,SAA1B,EAA0B,oKAA1B;;AAU9D;;AAAA;;AACkC;;AAAA;;AAEhC;;AAAA;;;;;;AAmBF;;AAEE;;AAAuB;;;;;;;;AAjB3B;;AACE;;AAAuC;;AAAO;;AAAkB;;AAAC;;AAAO;;AAAQ;;AAChF;;AACE;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAA4C,eAA5C,EAA4C;AAAA;;AAAA;;AAAA;AAAA,SAA5C;;AAKA;;AAA6B;;AAAa;;AAC1C;;AAAmB;;AAAQ;;AAC3B;;AAAkB;;AAAQ;;AAC5B;;AACA;;AAEkC;;AAAqB;;AACvD;;AAGF;;;;;;;;;;AAhBgE;;AAAA,oGAA0B,SAA1B,EAA0B,4CAA1B,EAA0B,SAA1B,EAA0B,oKAA1B;;AAW9D;;AAAA;;AACkC;;AAAA;;AAEhC;;AAAA;;;;QDlSb+jE,kB;AAsDX;AAEA,kCAAmBC,oBAAnB,EAAoEhoE,MAApE,EAA0FuV,QAA1F,EAA6HH,gBAA7H,EACUuK,eADV,EACwDgJ,qBADxD,EACsGrT,WADtG,EAEU1Q,QAFV,EAE0C;AAAA;;AAFvB,aAAAojE,oBAAA,GAAAA,oBAAA;AAAiD,aAAAhoE,MAAA,GAAAA,MAAA;AAAsB,aAAAuV,QAAA,GAAAA,QAAA;AAAmC,aAAAH,gBAAA,GAAAA,gBAAA;AACnH,aAAAuK,eAAA,GAAAA,eAAA;AAA8C,aAAAgJ,qBAAA,GAAAA,qBAAA;AAA8C,aAAArT,WAAA,GAAAA,WAAA;AAC5F,aAAA1Q,QAAA,GAAAA,QAAA;AAxDV,aAAA6Q,WAAA,GAAmC;AACjCC,mBAAS,EAAE,KADsB;AAEjCC,oBAAU,EAAE,YAFqB,CAGjC;;AAHiC,SAAnC;AAcA,aAAAs5B,YAAA,GAAmB,EAAnB;AAUA,aAAAhvB,cAAA,GAAuB,KAAvB;AACA,aAAAD,cAAA,GAAuB,KAAvB;AAMA,aAAA4tB,SAAA,GAAmB,IAAnB;AACA,aAAAG,OAAA,GAAkB,KAAlB,CAwB0C,CArB1C;;AACA,aAAAk6B,gBAAA,GAAqB,EAArB;AACA,aAAAjwD,iBAAA,GAA4B,KAA5B;AAEA,aAAA6T,aAAA,GAAsB,KAAtB;AACA,aAAAC,aAAA,GAAsB,KAAtB;AAOA,aAAAlN,eAAA,GAAyB,IAAzB;AACA,aAAAoK,WAAA,GAAqB,IAArB;AACA,aAAAk/C,cAAA,GAAuB,KAAvB,CAO0C,CA6D1C;;AAEA,aAAAxmD,WAAA,GAAsB,KAAtB;AAoUA,aAAAmE,MAAA,GAAc,EAAd;AAnY6C;;;;mCAErC;AAAA;;AACN,eAAK7O,KAAL;AACA,eAAKkI,SAAL;AACA,eAAKD,OAAL;;AAEA,cAAGxrB,YAAY,CAACM,OAAb,CAAqB,aAArB,KAAqC,IAAxC,EAA6C;AAC3C,iBAAKiM,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,EAAD,CAArB;AACA;AACD;;AAED,eAAK6U,UAAL,GAAkBxoB,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAlB;;AACA,cAAI,KAAKkoB,UAAL,IAAmB,IAAnB,IAA2B,KAAKA,UAAL,IAAmB,EAAlD,EAAsD,CAErD,CAFD,MAEK;AACH,iBAAKA,UAAL,IAAmBxoB,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAnB;AACA,iBAAK2iB,OAAL,GAAe,IAAf;AACA,iBAAKC,YAAL,GAAoB,KAApB;AACAljB,wBAAY,CAACwjB,UAAb,CAAwB,KAAxB;AACA,iBAAKD,KAAL;AACD;;AAED,eAAKmxD,cAAL,GAAsB,CAAC10E,YAAY,CAACM,OAAb,CAAqB,cAArB,CAAvB;AACA,eAAKkT,MAAL,GAAc,CAAC,KAAKrC,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAAf;;AAEA,eAAK40B,qBAAL,CAA2B3J,WAA3B,CAAuC1rB,SAAvC,CAAiD,UAAA82B,MAAM,EAAI;AACzD,oBAAI,CAACtL,QAAL,GAAgBsL,MAAM,CAAC,UAAD,CAAtB;AACD,WAFD;;AAIA,cAAI,KAAKtL,QAAL,IAAiB,MAArB,EAA6B;AAC3B,iBAAKuL,aAAL,GAAqB,IAArB;AAEA,iBAAKC,YAAL,GAAkB,IAAlB;AACD;;AACD,eAAKjT,kBAAL;AACA,eAAKklC,uBAAL,GAlCM,CAmCN;;AAEA,cAAI,KAAK4rB,cAAL,GAAsB,CAA1B,EAA4B;AAC5B,iBAAKC,0BAAL;AACC;;AACC,cAAG,KAAKD,cAAL,IAAuB,CAA1B,EACE,KAAKE,YAAL,GAAmB,mBAAnB;AACL,S,CAED;;;;yCACiBjoE,K,EAAK;AAEpB,eAAKsW,OAAL,GAAe,KAAf;AACA,eAAKC,YAAL,GAAoB,KAApB;AACD;;;kCACM;AACL,eAAKD,OAAL,GAAe,KAAf;AACD;;;oCACQ;AACP,eAAKC,YAAL,GAAoB,IAApB;AACD;;;oCACQ;AACP,eAAKA,YAAL,GAAoB,KAApB;AACD,S,CAID;;;;sCACc2xD,Q,EAAe;AAAA;;AAC3B,cAAGA,QAAQ,GAAG,CAAd,EAAgB;AACd,iBAAK/yD,QAAL,CAAcwB,IAAd;;AAEA,gBAAI,KAAK+H,QAAL,IAAiB,MAArB,EAA6B;AAC3B,mBAAKupD,YAAL,GAAkB,oBAAlB;AACA,mBAAKh+C,aAAL,GAAqB,IAArB;AAEA,mBAAK/J,UAAL,GAAkB,IAAlB;AACD,aALD,MAMK,IAAG,KAAKxB,QAAL,IAAiB,WAApB,EAAgC;AACnC,mBAAK4C,WAAL,GAAmB,IAAnB;AACA,mBAAK2mD,YAAL,GAAkB,oBAAlB;AAAwC,aAFrC,MAGD;AACF,mBAAKA,YAAL,GAAkB,oBAAlB;AACA,mBAAKh+C,aAAL,GAAqB,KAArB;AACA,mBAAK0jB,OAAL,GAAa,IAAb;AACA,mBAAKztB,UAAL,GAAkB,KAAlB;AACD;;AAGD,mBAAO,KAAK0nD,oBAAL,CAA0BO,qBAA1B,CAAgDD,QAAQ,CAACrtD,QAAT,EAAhD,EAAqE3nB,SAArE,CAA+E,UAAAO,IAAI,EAAE;AAC1F,sBAAI,CAACm0E,oBAAL,CAA0B5qD,QAA1B,GAAmCvpB,IAAI,CAAC,CAAD,CAAvC;;AACA,sBAAI,CAAC20E,qBAAL,CAA2B,EAA3B,EAA8B,QAAI,CAACR,oBAAL,CAA0B5qD,QAA1B,CAAmC9B,UAAjE;;AAEA,kBAAG,QAAI,CAAC0sD,oBAAL,CAA0B5qD,QAA1B,CAAmC8O,SAAnC,IAAgD,CAAnD,EACE,QAAI,CAAC87C,oBAAL,CAA0B5qD,QAA1B,CAAmC8O,SAAnC,GAA+C,IAA/C;AAEF,sBAAI,CAACX,gBAAL,GAAsB,QAAI,CAACy8C,oBAAL,CAA0B5qD,QAA1B,CAAmCqrD,WAAzD;;AACA,kBAAI50E,IAAI,CAAC,CAAD,CAAJ,CAAQ60E,eAAR,IAA2B,IAA/B,EAAqC;AAEnC,oBAAIhkC,eAAe,GAAG;AACpBX,yBAAO,EAAG,KADU;AAEpBjpB,4BAAU,EAAG;AAAEle,wBAAI,EAAG;AAAE/G,0BAAI,EAAE,CAAR;AAAWd,2BAAK,EAAE,CAAlB;AAAqB8gB,yBAAG,EAAE;AAA1B,qBAAT;AAAuC8I,0BAAM,EAAC,EAA9C;AAAiD5D,6BAAS,EAAC,EAA3D;AAA8DipB,wBAAI,EAAC;AAAnE,mBAFO;AAGpBtuB,2BAAS,EAAC;AAHU,iBAAtB;AAMA,oBAAI8G,MAAM,GAAG,mCAAM,CAAC3oB,IAAI,CAAC,CAAD,CAAJ,CAAQ60E,eAAT,CAAN,CAAgCxkC,QAAhC,EAAb;AACAQ,+BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgCiZ,GAAhC,GAAsC2G,MAAM,CAAC5f,IAA7C;AACA8nC,+BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC7H,KAAhC,GAAwCynB,MAAM,CAAC1nB,MAAP,GAAc,CAAtD;AACA4vC,+BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC/G,IAAhC,GAAuC2mB,MAAM,CAAC2nB,KAA9C;AAEA,wBAAI,CAAC6jC,oBAAL,CAA0B5qD,QAA1B,CAAmCsrD,eAAnC,GAAmDhkC,eAAnD;AACD;;AAED,kBAAI,QAAI,CAACsjC,oBAAL,CAA0B5qD,QAA1B,CAAmCsrD,eAAnC,CAAmD5tD,UAAnD,CAA8Dle,IAA9D,CAAmE7H,KAAnE,IAA4E,IAAhF,EAAsF;AACpF,wBAAI,CAAC4zE,eAAL,GAAuB,QAAI,CAACX,oBAAL,CAA0B5qD,QAA1B,CAAmCsrD,eAAnC,CAAmD5tD,UAAnD,CAA8Dle,IAA9D,CAAmEiZ,GAAnE,GAAuE,GAAvE,GACvB,QAAI,CAACmyD,oBAAL,CAA0B5qD,QAA1B,CAAmCsrD,eAAnC,CAAmD5tD,UAAnD,CAA8Dle,IAA9D,CAAmE7H,KAD5C,GACkD,GADlD,GACsD,QAAI,CAACizE,oBAAL,CAA0B5qD,QAA1B,CAAmCsrD,eAAnC,CAAmD5tD,UAAnD,CAA8Dle,IAA9D,CAAmE/G,IADhJ;AAED,eAHD,MAIK;AACH,wBAAI,CAAC8yE,eAAL,GAAuB,QAAI,CAACX,oBAAL,CAA0B5qD,QAA1B,CAAmCsrD,eAAnC,CAAmD5tD,UAAnD,CAA8Dle,IAA9D,CAAmEiZ,GAAnE,GAAuE,IAAvE,GACvB,QAAI,CAACmyD,oBAAL,CAA0B5qD,QAA1B,CAAmCsrD,eAAnC,CAAmD5tD,UAAnD,CAA8Dle,IAA9D,CAAmE7H,KAD5C,GACkD,GADlD,GACsD,QAAI,CAACizE,oBAAL,CAA0B5qD,QAA1B,CAAmCsrD,eAAnC,CAAmD5tD,UAAnD,CAA8Dle,IAA9D,CAAmE/G,IADhJ;AAED;;AAED,sBAAI,CAAC61B,eAAL,GAAqBC,MAAM,CAAC,QAAI,CAACq8C,oBAAL,CAA0B5qD,QAA1B,CAAmCwrD,YAApC,CAA3B;;AACA,kBAAG,QAAI,CAACl9C,eAAL,IAAsB,GAAtB,IAA6B,QAAI,CAACA,eAAL,IAAsB,GAAnD,IAA0D,QAAI,CAACA,eAAL,IAAuB,GAApF,EAAwF;AACtF,wBAAI,CAACG,aAAL,GAAmB,IAAnB;AACA,wBAAI,CAACN,gBAAL,GAAsB,QAAI,CAACA,gBAA3B;AACD;;AAED,kBAAG,QAAI,CAACG,eAAL,IAAuB,GAA1B,EAA8B;AAC5B,wBAAI,CAACI,aAAL,GAAmB,IAAnB;AACD;;AAEH,kBAAG,QAAI,CAAC9T,iBAAL,IAA0B,IAA1B,IAAmC,QAAI,CAACgwD,oBAAL,CAA0B5qD,QAA1B,CAAmC4jC,SAAnC,IAAgD,QAAI,CAAC/5C,MAA3F,EACE,QAAI,CAAC8kB,WAAL,GAAmB,QAAnB,CADF,KAGE,QAAI,CAACA,WAAL,GAAmB,QAAnB;AAEF,kBAAG,QAAI,CAACjN,QAAL,IAAiB,MAApB,EACI,QAAI,CAACuL,aAAL,GAAqB,IAArB,CADJ,KAEI;AACF,oBAAG,CAAC,QAAI,CAACqB,eAAL,IAAuB,GAAvB,IAA8B,QAAI,CAACA,eAAL,IAAuB,GAArD,IAA4D,QAAI,CAACA,eAAL,IAAuB,GAApF,KAA4F,QAAI,CAACs8C,oBAAL,CAA0B5qD,QAA1B,CAAmC4jC,SAAnC,IAAgD,QAAI,CAAC/5C,MAApJ,EACE,QAAI,CAACojB,aAAL,GAAqB,IAArB,CADF,KAEK,IAAG,CAAC,QAAI,CAACqB,eAAL,IAAuB,GAAvB,IAA8B,QAAI,CAACA,eAAL,IAAuB,GAArD,IAA4D,QAAI,CAACA,eAAL,IAAuB,GAApF,KAA4F,CAAC,QAAI,CAAC1T,iBAArG,EACH,QAAI,CAACqS,aAAL,GAAqB,IAArB,CADG,KAGH,QAAI,CAACA,aAAL,GAAqB,KAArB;AACH;;AACD,kBAAG,QAAI,CAACqB,eAAL,IAAsB,GAAtB,IAA6B,QAAI,CAACA,eAAL,IAAsB,GAAnD,IAA2D,QAAI,CAACA,eAAL,IAAsB,GAAjF,IAAwF,QAAI,CAACA,eAAL,IAAsB,GAA9G,IAAqH,QAAI,CAACA,eAAL,IAAsB,GAA3I,IAAkJ,QAAI,CAACA,eAAL,IAAsB,GAAxK,IAA+K,QAAI,CAACA,eAAL,IAAsB,GAAxM,EAA8M;AAC5M,wBAAI,CAACw8C,cAAL,GAAoB,IAApB;AACD;;AAEF,kBAAG,QAAI,CAAClwD,iBAAR,EAA2B;AAC5B,oBAAG,QAAI,CAACA,iBAAL,KAA2B,QAAI,CAAC0T,eAAL,IAAwB,GAAxB,IAA+B,QAAI,CAACA,eAAL,IAAwB,GAAvD,IAA8D,QAAI,CAACA,eAAL,IAAwB,GAAtF,IAA6F,QAAI,CAACA,eAAL,IAAwB,GAArH,IAC3B,QAAI,CAACA,eAAL,IAAwB,GADG,IACI,QAAI,CAACA,eAAL,IAAwB,GADvD,KAC+D,QAAI,CAACs8C,oBAAL,CAA0B5qD,QAA1B,CAAmC4jC,SAAnC,IAAgD,QAAI,CAAC/5C,MADvH,EAC8H;AAC5H,0BAAI,CAACojB,aAAL,GAAqB,IAArB;AACD,iBAHD,MAIK,IAAG,QAAI,CAACrS,iBAAL,IAA2B,QAAI,CAACgwD,oBAAL,CAA0B5qD,QAA1B,CAAmC4jC,SAAnC,IAAgD,QAAI,CAAC/5C,MAAhF,KAA4F,QAAI,CAACykB,eAAL,IAAuB,GAAvB,IAA8B,QAAI,CAACA,eAAL,IAAuB,GAArD,IAA4D,QAAI,CAACA,eAAL,IAAuB,GAA/K,CAAH,EAAuL;AAC1L,0BAAI,CAACrB,aAAL,GAAqB,IAArB;AACA,0BAAI,CAAC4B,aAAL,GAAqB,IAArB;;AACA,sBAAI,QAAI,CAAC+7C,oBAAL,CAA0B5qD,QAA1B,CAAmCgD,MAAnC,IAA6C,CAAjD,EAAmD;AAClD,4BAAI,CAAC4nD,oBAAL,CAA0B5qD,QAA1B,CAAmCgD,MAAnC,GAA4C,IAA5C;AACA;AACF,iBANI,MAOF;AACD,sBAAI,QAAI,CAAC4nD,oBAAL,CAA0B5qD,QAA1B,CAAmCgD,MAAnC,IAA6C,CAAjD,EAAmD;AACjD,4BAAI,CAAC4nD,oBAAL,CAA0B5qD,QAA1B,CAAmCgD,MAAnC,GAA4C,IAA5C;AACA;;AACD,0BAAI,CAACiK,aAAL,GAAqB,KAArB;AACF;;AACD,oBAAG,QAAI,CAACvL,QAAL,IAAiB,MAAjB,IAA2B,QAAI,CAAC9G,iBAAhC,IAAqD,QAAI,CAACgwD,oBAAL,CAA0B5qD,QAA1B,CAAmC4jC,SAAnC,IAAgD,QAAI,CAAC/5C,MAA7G,EACE,QAAI,CAACojB,aAAL,GAAqB,IAArB;AACD;;AACD,kBAAG,QAAI,CAACqB,eAAL,IAAuB,GAA1B,EAA8B;AAC5B,wBAAI,CAACrB,aAAL,GAAmB,IAAnB;AACD;;AACI3xB,wBAAU,CAAC,YAAM;AACd,wBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACH,eAFU,EAER,GAFQ,CAAV;AAGF,aAzFM,EA0FP,UAAC8U,KAAD,EAAS;AACP,sBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,aA7FM,CAAP;AA8FD,WAlHD,MAmHI;AACF,iBAAK4gE,oBAAL,CAA0B5qD,QAA1B,GAAqC;AACnCkzC,sBAAQ,EAAC,CAD0B;AAEnCwI,wBAAU,EAAC,EAFwB;AAGnC+P,0BAAY,EAAC,IAHsB;AAInCC,4BAAc,EAAC,GAJoB;AAKnCC,8BAAgB,EAAC,IALkB;AAMnCC,2BAAa,EAAC,IANqB;AAOnCC,yBAAW,EAAC,IAPuB;AAQnCP,6BAAe,EAAC,EARmB;AASnC1nB,uBAAS,EAAC,CATyB;AAUnCkoB,uBAAS,EAAC,CAVyB;AAWnCr8C,6BAAe,EAAC,EAXmB;AAYnChS,yBAAW,EAAC,EAZuB;AAanC4C,yBAAW,EAAC,EAbuB;AAcnCwI,iBAAG,EAAC,EAd+B;AAenCsE,sBAAQ,EAAC,mBAf0B;AAgBnCuC,sBAAQ,EAAC,QAhB0B;AAiBnC1M,oBAAM,EAAC,CAjB4B;AAkBnCqoD,yBAAW,EAAC,EAlBuB;AAmBnCntD,wBAAU,EAAC,IAnBwB;AAoBnC6tD,0BAAY,EAAC,CApBsB;AAqBnCC,8BAAgB,EAAC,CArBkB;AAsBnCC,mCAAqB,EAAC,EAtBa;AAuBnC/uD,yBAAW,EAAC,EAvBuB;AAwBnC+S,yBAAW,EAAC,EAxBuB;AAyBnCu7C,0BAAY,EAAC,IAzBsB;AAyBjBx7C,yBAAW,EAAC,EAzBK;AA0BnCk8C,6BAAe,EAAE,IA1BkB;AA2BnCp9C,uBAAS,EAAC,IA3ByB;AA4BnCq9C,wBAAU,EAAC,IA5BwB;AA6BnCj9C,yBAAW,EAAC;AA7BuB,aAArC;AA+BA,iBAAKP,WAAL,GAAmB,QAAnB;AACA,iBAAKs8C,YAAL,GAAkB,mBAAlB;AACA,iBAAKJ,gBAAL,GAAwB,KAAKD,oBAAL,CAA0B5qD,QAAlD;AACD;AACF;;;4CAEmBosD,Q,EAAQ;AAAA;;AAC1B,cAAG,KAAKrB,cAAL,GAAsB,CAAzB,EAA2B;AACzB,mBAAO,KAAKH,oBAAL,CAA0ByB,2BAA1B,CAAsDD,QAAQ,CAACvuD,QAAT,EAAtD,EAA2E3nB,SAA3E,CAAqF,UAAAO,IAAI,EAAE;AAEhG,sBAAI,CAACo0E,gBAAL,GAAsBp0E,IAAtB;;AAEA,kBAAIiwB,IAAI,GAAG,QAAI,CAACmrB,YAAL,CAAkBp1B,MAAlB,CAAyB,UAAAkK,CAAC;AAAA,uBAAIA,CAAC,CAACC,QAAF,KAAe,QAAI,CAACikD,gBAAL,CAAsB3sD,UAAzC;AAAA,eAA1B,EAA+E,CAA/E,CAAX;;AACA,kBAAGwI,IAAI,IAAE9J,SAAT,EAAmB,CAAG,CAAtB,MACI;AACF,wBAAI,CAACiuD,gBAAL,CAAsBp7C,eAAtB,GAAuC/I,IAAI,CAAC+I,eAA5C;AACD;;AAED,sBAAI,CAACm7C,oBAAL,CAA0B0B,sCAA1B,CAAiEj2E,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjE,EAAqG,QAAI,CAACk0E,gBAAL,CAAsB3sD,UAA3H,EAAuIhoB,SAAvI,CAAiJ,UAAA0oB,GAAG,EAAI;AACtJ,wBAAI,CAACmI,QAAL,GAAgBnI,GAAG,CAACoI,YAApB;AACA,wBAAI,CAACC,mBAAL,GAA2BrI,GAAG,CAACoI,YAA/B;;AACA,oBAAIgB,KAAK,GAAG,QAAI,CAACf,mBAAL,CAAyBxK,MAAzB,CAAgC,UAAAkK,CAAC;AAAA,yBAAIA,CAAC,CAACmI,SAAF,KAAgB,QAAI,CAAC+7C,gBAAL,CAAsB/7C,SAA1C;AAAA,iBAAjC,EAAsF,CAAtF,CAAZ;;AACA,oBAAG9G,KAAK,IAAEpL,SAAV,EAAoB,CAAG,CAAvB,MACI;AACF,0BAAI,CAACiuD,gBAAL,CAAsBt6C,mBAAtB,GAA4CvI,KAAK,CAACuI,mBAAlD;AACD;AACF,eARD;;AAUA,kBAAI95B,IAAI,CAAC60E,eAAL,IAAwB,IAA5B,EAAkC;AAEhC,oBAAIhkC,eAAe,GAAG;AACpBX,yBAAO,EAAG,KADU;AAEpBjpB,4BAAU,EAAG;AAAEle,wBAAI,EAAG;AAAE/G,0BAAI,EAAE,CAAR;AAAWd,2BAAK,EAAE,CAAlB;AAAqB8gB,yBAAG,EAAE;AAA1B,qBAAT;AAAuC8I,0BAAM,EAAC,EAA9C;AAAiD5D,6BAAS,EAAC,EAA3D;AAA8DipB,wBAAI,EAAC;AAAnE,mBAFO;AAGpBtuB,2BAAS,EAAC;AAHU,iBAAtB;AAMA,oBAAI8G,MAAM,GAAG,mCAAM,CAAC3oB,IAAI,CAAC60E,eAAN,CAAN,CAA6BxkC,QAA7B,EAAb;AACAQ,+BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgCiZ,GAAhC,GAAsC2G,MAAM,CAAC5f,IAA7C;AACA8nC,+BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC7H,KAAhC,GAAwCynB,MAAM,CAAC1nB,MAAP,GAAc,CAAtD;AACA4vC,+BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC/G,IAAhC,GAAuC2mB,MAAM,CAAC2nB,KAA9C;AAEA,wBAAI,CAAC8jC,gBAAL,CAAsBS,eAAtB,GAAsChkC,eAAtC;;AAEA,oBAAI,QAAI,CAACujC,gBAAL,CAAsBS,eAAtB,CAAsC5tD,UAAtC,CAAiDle,IAAjD,CAAsD7H,KAAtD,IAA+D,IAAnE,EAAyE;AACvE,0BAAI,CAAC40E,qBAAL,GAA6B,QAAI,CAAC1B,gBAAL,CAAsBS,eAAtB,CAAsC5tD,UAAtC,CAAiDle,IAAjD,CAAsDiZ,GAAtD,GAA0D,GAA1D,GAC7B,QAAI,CAACoyD,gBAAL,CAAsBS,eAAtB,CAAsC5tD,UAAtC,CAAiDle,IAAjD,CAAsD7H,KADzB,GAC+B,GAD/B,GACmC,QAAI,CAACkzE,gBAAL,CAAsBS,eAAtB,CAAsC5tD,UAAtC,CAAiDle,IAAjD,CAAsD/G,IADtH;AAED,iBAHD,MAIK;AACH,0BAAI,CAAC8zE,qBAAL,GAA6B,QAAI,CAAC1B,gBAAL,CAAsBS,eAAtB,CAAsC5tD,UAAtC,CAAiDle,IAAjD,CAAsDiZ,GAAtD,GAA0D,IAA1D,GAC7B,QAAI,CAACoyD,gBAAL,CAAsBS,eAAtB,CAAsC5tD,UAAtC,CAAiDle,IAAjD,CAAsD7H,KADzB,GAC+B,GAD/B,GACmC,QAAI,CAACkzE,gBAAL,CAAsBS,eAAtB,CAAsC5tD,UAAtC,CAAiDle,IAAjD,CAAsD/G,IADtH;AAED;AACF,eA3C+F,CA4C9F;;AAED,aA9CI,EA+CL,UAACo5B,KAAD,EAAS;AACP,sBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,aAlDI,CAAP;AAmDD,WApDD,MAqDI;AACF,iBAAK6gE,gBAAL,GAAwB,KAAKD,oBAAL,CAA0B5qD,QAAlD;AACD;AACF,S,CACD;AAEA;;;;+BACO;AAAE,eAAK7G,SAAL,GAAiB,IAAjB;AAAwB;;;+BAC1B;AAAE,eAAKA,SAAL,GAAiB,KAAjB;AAAyB,S,CACnC;AAEA;;;;kCACW0M,I,EAAe;AACvB,cAAI,KAAKklD,cAAL,GAAsB,CAA1B,EAA6B;AAC3B,iBAAKH,oBAAL,CAA0B5qD,QAA1B,GAAqC;AACnCkzC,sBAAQ,EAAC,CAD0B;AAEnCwI,wBAAU,EAAC,EAFwB;AAGnC+P,0BAAY,EAAC,EAHsB;AAInCC,4BAAc,EAAC,GAJoB;AAKnCC,8BAAgB,EAAC,EALkB;AAMnCC,2BAAa,EAAC,EANqB;AAOnCC,yBAAW,EAAC,EAPuB;AAQnCP,6BAAe,EAAC,EARmB;AASnC1nB,uBAAS,EAAC,CATyB;AAUnCkoB,uBAAS,EAAC,CAVyB;AAWnCr8C,6BAAe,EAAC,EAXmB;AAYnChS,yBAAW,EAAC,EAZuB;AAanC4C,yBAAW,EAAC,EAbuB;AAcnCwI,iBAAG,EAAC,EAd+B;AAenCsE,sBAAQ,EAAC,oBAf0B;AAgBnCuC,sBAAQ,EAAC,QAhB0B;AAiBnC1M,oBAAM,EAAC,CAjB4B;AAkBnCqoD,yBAAW,EAAC,EAlBuB;AAmBnCntD,wBAAU,EAAC,IAnBwB;AAoBnC6tD,0BAAY,EAAC,CApBsB;AAqBnCC,8BAAgB,EAAC,CArBkB;AAsBnCC,mCAAqB,EAAC,EAtBa;AAuBnC/uD,yBAAW,EAAC,EAvBuB;AAwBnC+S,yBAAW,EAAC,EAxBuB;AAyBnCu7C,0BAAY,EAAC,IAzBsB;AAyBjBx7C,yBAAW,EAAC,EAzBK;AA0BnCk8C,6BAAe,EAAC,IA1BmB;AA2BnCp9C,uBAAS,EAAC,IA3ByB;AA4BnCq9C,wBAAU,EAAC,IA5BwB;AA6BnCj9C,yBAAW,EAAC;AA7BuB,aAArC;AA+BA,iBAAK+7C,YAAL,GAAkB,oBAAlB;AACD,WAjCD,MAkCI;AACF,gBAAIplD,IAAI,IAAI,IAAZ,EAAiB;AACfA,kBAAI,CAACsL,SAAL;AACD;;AAED,iBAAKy5C,oBAAL,CAA0B5qD,QAA1B,GAAqC;AACnCkzC,sBAAQ,EAAC,CAD0B;AAEnCwI,wBAAU,EAAC,EAFwB;AAGnC+P,0BAAY,EAAC,EAHsB;AAInCC,4BAAc,EAAC,GAJoB;AAKnCC,8BAAgB,EAAC,EALkB;AAMnCC,2BAAa,EAAC,EANqB;AAOnCC,yBAAW,EAAC,EAPuB;AAQnCP,6BAAe,EAAC,EARmB;AASnC1nB,uBAAS,EAAC,CATyB;AAUnCkoB,uBAAS,EAAC,CAVyB;AAWnCr8C,6BAAe,EAAC,EAXmB;AAYnChS,yBAAW,EAAC,EAZuB;AAanC4C,yBAAW,EAAC,EAbuB;AAcnCwI,iBAAG,EAAC,EAd+B;AAenCsE,sBAAQ,EAAC,mBAf0B;AAgBnCuC,sBAAQ,EAAC,QAhB0B;AAiBnC1M,oBAAM,EAAC,CAjB4B;AAkBnCqoD,yBAAW,EAAC,EAlBuB;AAmBnCntD,wBAAU,EAAC,IAnBwB;AAoBnC6tD,0BAAY,EAAC,CApBsB;AAqBnCC,8BAAgB,EAAC,CArBkB;AAsBnCC,mCAAqB,EAAC,EAtBa;AAuBnC/uD,yBAAW,EAAC,EAvBuB;AAwBnC+S,yBAAW,EAAC,EAxBuB;AAyBnCu7C,0BAAY,EAAC,IAzBsB;AAyBjBx7C,yBAAW,EAAC,EAzBK;AA0BnCk8C,6BAAe,EAAC,IA1BmB;AA2BnCp9C,uBAAS,EAAC,IA3ByB;AA4BnCq9C,wBAAU,EAAC,IA5BwB;AA6BnCj9C,yBAAW,EAAC;AA7BuB,aAArC;AA+BA,iBAAK+7C,YAAL,GAAkB,mBAAlB;AACD;;AAED,eAAK9yD,QAAL,CAAc4E,IAAd;AACD,S,CAEF;;;;kDAC2B;AAAA;;AACxB,eAAK/E,gBAAL,CAAsBw0D,4BAAtB,CAAmDn2E,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAnD,EAAwFT,SAAxF,CAAkG,UAAAO,IAAI,EAAG;AACvGA,gBAAI,CAAC+C,OAAL,CAAa,UAAAC,OAAO,EAAE;AACpB,kBAAGA,OAAO,CAAC,QAAD,CAAP,IAAqB,QAAxB,EACC,QAAI,CAACo4C,YAAL,CAAkBn4C,IAAlB,CAAuBD,OAAvB;AACF,aAHD;;AAIA,oBAAI,CAACgzE,mBAAL,CAAyB,QAAI,CAAC1B,cAA9B;AACD,WAND,EAOA,UAACl5C,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WAVD;AAWD;;;gCAEOxK,I,EAAI;AAEV,cAAGA,IAAI,CAAC/G,IAAL,IAAa,IAAb,IAAqB+G,IAAI,CAAC/G,IAAL,IAAW,GAAnC,EAAuC;AACrC,iBAAK+3C,SAAL,GAAe,KAAf;AACD,WAFD,MAGI;AACF,iBAAKA,SAAL,GAAiB,IAAjB;AACD;AACF;;;0CAGc;AACb,cAAI5hB,aAAa,GAAG,EAApB;AACA,cAAI89C,cAAc,GAAG,EAArB;AACA,cAAIx9C,WAAW,GAAG,EAAlB;AAEA,cAAIy9C,SAAS,GAAG,KAAK9B,gBAAL,CAAsBt6C,mBAAtB,CAA0C3K,KAA1C,CAAgD,GAAhD,CAAhB;AACA+mD,mBAAS,GAAGA,SAAS,CAAC,CAAD,CAAT,CAAa9uD,QAAb,GAAwB2U,IAAxB,EAAZ;AACA,cAAI9L,IAAI,GAAG,KAAKO,mBAAL,CAAyBxK,MAAzB,CAAgC,UAAAkK,CAAC;AAAA,mBAAIA,CAAC,CAACiI,aAAF,KAAoB+9C,SAAxB;AAAA,WAAjC,EAAoE,CAApE,CAAX;;AACA,cAAGjmD,IAAI,IAAE9J,SAAT,EAAmB,CAAG,CAAtB,MACI;AACF,iBAAKiuD,gBAAL,CAAsB/7C,SAAtB,GAAkCpI,IAAI,CAACoI,SAAvC;AACD;;AAED,eAAI,IAAIhT,CAAC,GAAC,CAAV,EAAcA,CAAC,GAAE,KAAKmL,mBAAL,CAAyBpzB,MAA1C,EAAkDioB,CAAC,EAAnD,EAAsD;AACpD,gBAAG,KAAK+uD,gBAAL,CAAsB/7C,SAAtB,IAAmC,KAAK7H,mBAAL,CAAyBnL,CAAzB,EAA4BgT,SAAlE,EAA4E;AAC1EF,2BAAa,GAAG,KAAK3H,mBAAL,CAAyBnL,CAAzB,EAA4B8S,aAA5C;AACA89C,4BAAc,GAAG,KAAKzlD,mBAAL,CAAyBnL,CAAzB,EAA4BuS,cAA7C;AACAa,yBAAW,GAAG,KAAKjI,mBAAL,CAAyBnL,CAAzB,EAA4BoT,WAA1C;AAGF,mBAAKzG,MAAL,GAAc,sGAAsGmG,aAAtG,GAAsH,yNAAtH,GAAiV,KAAKi8C,gBAAL,CAAsB/7C,SAAvW,GAAkX,iBAAlX,GAAqY,KAAK+7C,gBAAL,CAAsB/7C,SAA3Z,GAAsa,sLAAta,GAA6lBF,aAA7lB,GAA2mB,iBAA3mB,GAA6nBA,aAA7nB,GAA2oB,yFAA3oB,GAAuuB,KAAKi8C,gBAAL,CAAsB/7C,SAA7vB,GAAywB,iHAAzwB,GAA23BI,WAA33B,GAAu4B,iBAAv4B,GAAy5BN,aAAz5B,GAAu6B,oHAAv6B,GAA8hC,KAAKi8C,gBAAL,CAAsB/7C,SAApjC,GAAgkC,+BAAhkC,GAAimC,KAAK+7C,gBAAL,CAAsBc,gBAAvnC,GAAyoC,uGAAzoC,GAAmvC,KAAKd,gBAAL,CAAsB/7C,SAAzwC,GAAqxC,iCAArxC,GAAuzC49C,cAAvzC,GAAs0C,yIAAt0C,GAAk9C,KAAK7B,gBAAL,CAAsB/7C,SAAx+C,GAAo/C,kJAAp/C,GAAyoD,KAAK+7C,gBAAL,CAAsB/7C,SAA/pD,GAA2qD,mGAA3qD,GAAixD,KAAK+7C,gBAAL,CAAsB/7C,SAAvyD,GAAmzD,0RAAnzD,GAAglE,KAAK+7C,gBAAL,CAAsB/7C,SAAtmE,GAAknE,sCAAlnE,GAAypEF,aAAzpE,GAAuqE,2KAAvqE,GAAm1EA,aAAn1E,GAAi2E,iDAA/2E;AACC;AACF;AACF,S,CAEF;;;;iCACU/I,I,EAAc;AAAA;;AACrB;;AACA,cAAG,KAAK3C,UAAL,IAAmB,IAAnB,IAA2B,KAAK4nD,cAAL,IAAuB,IAAlD,IAA0D,KAAKxmD,WAAL,IAAoB,IAAjF,EAAsF;AACpFuB,gBAAI,CAAC7wB,KAAL,CAAW,WAAX,IAA0B,KAAK41E,oBAAL,CAA0B5qD,QAA1B,CAAmC8O,SAA7D;AACD,WAFD,MAGK;AACH,gBAAGjJ,IAAI,CAAC7wB,KAAL,CAAW,WAAX,KAA2B4nB,SAA9B,EACAiJ,IAAI,CAAC7wB,KAAL,CAAW,WAAX,IAA0B,KAAK61E,gBAAL,CAAsB/7C,SAAhD;AACC;;AACH,cAAI4sC,UAAU,GAAG,KAAKmP,gBAAL,CAAsBnP,UAAvC;AACAA,oBAAU,GAAGA,UAAU,CAAC11C,OAAX,CAAmB,KAAnB,EAA0B,EAA1B,CAAb;;AACA,cAAI01C,UAAU,IAAI,EAAlB,EAAsB;AACpB,iBAAKmP,gBAAL,CAAsBnP,UAAtB,GAAmCA,UAAnC;AACD;;AACD,cAAI,KAAKmP,gBAAL,CAAsBnP,UAAtB,IAAoC,EAApC,IAA0C,KAAKmP,gBAAL,CAAsB/7C,SAAtB,IAAmC,IAA7E,IACG,KAAK+7C,gBAAL,CAAsBp7C,eAAtB,IAAyC,EADhD,EACoD;AAC5Cl/B,kBAAO,CAAC41B,MAAR,CAAeN,IAAI,CAACO,QAApB,EAA8B5sB,OAA9B,CAAsC,UAAA6sB,OAAO,EAAI;AACrDA,qBAAO,CAACC,aAAR;AACD,aAFK;AAGN,mBAAO,KAAP;AACD,WAND,MAOI;AACJ,gBAAIT,IAAI,CAACwL,KAAL,IAAc,KAAKmf,SAAL,IAAgB,IAA9B,IAAsC,KAAKhvB,eAAL,IAAsB,IAA5D,IAAqE,KAAKoK,WAAL,IAAoB,IAA7F,EAAmG;AACjG,mBAAKqB,aAAL,GAAmB,IAAnB;AACD;;AAED,gBAAIpH,IAAI,CAAC7wB,KAAL,CAAWs2E,eAAX,CAA2B5tD,UAA3B,CAAsCle,IAAtC,CAA2C7H,KAA3C,IAAoD,IAAxD,EAA8D;AAC5D,mBAAK86C,OAAL,GAAe5sB,IAAI,CAAC7wB,KAAL,CAAWs2E,eAAX,CAA2B5tD,UAA3B,CAAsCle,IAAtC,CAA2C/G,IAA3C,GAAgD,GAAhD,GAAoDotB,IAAI,CAAC7wB,KAAL,CAAWs2E,eAAX,CAA2B5tD,UAA3B,CAAsCle,IAAtC,CAA2C7H,KAA/F,GAAqG,GAArG,GAAyGkuB,IAAI,CAAC7wB,KAAL,CAAWs2E,eAAX,CAA2B5tD,UAA3B,CAAsCle,IAAtC,CAA2CiZ,GAAnK;AACD,aAFD,MAGK;AACH,mBAAKg6B,OAAL,GAAe5sB,IAAI,CAAC7wB,KAAL,CAAWs2E,eAAX,CAA2B5tD,UAA3B,CAAsCle,IAAtC,CAA2C/G,IAA3C,GAAgD,IAAhD,GAAqDotB,IAAI,CAAC7wB,KAAL,CAAWs2E,eAAX,CAA2B5tD,UAA3B,CAAsCle,IAAtC,CAA2C7H,KAAhG,GAAsG,GAAtG,GAA0GkuB,IAAI,CAAC7wB,KAAL,CAAWs2E,eAAX,CAA2B5tD,UAA3B,CAAsCle,IAAtC,CAA2CiZ,GAApK;AACD;;AAED,gBAAIiO,IAAI,GAAG,KAAKmrB,YAAL,CAAkBp1B,MAAlB,CAAyB,UAAAkK,CAAC;AAAA,qBAAIA,CAAC,CAAC8I,eAAF,KAAsB5J,IAAI,CAAC7wB,KAAL,CAAWkpB,UAArC;AAAA,aAA1B,EAA2E,CAA3E,CAAX;;AACA,gBAAGwI,IAAI,IAAE9J,SAAT,EAAmB,CAAG,CAAtB,MACI;AACFiJ,kBAAI,CAAC7wB,KAAL,CAAW,YAAX,IAA0B0xB,IAAI,CAACE,QAA/B;AACD;;AAED,gBAAG,KAAKmkD,cAAL,GAAqB,CAAxB,EAA0B;AACxBllD,kBAAI,CAAC7wB,KAAL,CAAW,YAAX,IAAyB,KAAK61E,gBAAL,CAAsB3sD,UAA/C;AACD;;AACD,gBAAG,KAAKsyB,SAAL,IAAkB,IAAlB,IAA0B,KAAKhvB,eAAL,IAAsB,IAAhD,IAAyD,KAAKoK,WAAL,IAAoB,IAAhF,EAAqF;AACrF;AAEA,mBAAKg/C,oBAAL,CAA0BgC,qBAA1B,CAAgD/mD,IAAI,CAAC7wB,KAAL,CAAW0mE,UAA3D,EAAsE71C,IAAI,CAAC7wB,KAAL,CAAWk+D,QAAjF,EAA2Fh9D,SAA3F,CAAqG,UAAA22E,WAAW,EAAI;AAElH,oBAAIA,WAAW,IAAI,CAAnB,EAAsB;AACpB,0BAAI,CAACvzD,OAAL,GAAe,KAAf;AACI,0BAAI,CAACC,YAAL,GAAoB,IAApB;AACA,0BAAI,CAACsF,UAAL,GAAkB,2DAAlB;;AACA,0BAAI,CAACjF,KAAL;;AACA,0BAAI,CAACqT,aAAL,GAAqB,KAArB;AACA,yBAAO,KAAP;AACL,iBAPD,MAQI;AACFpH,sBAAI,CAAC7wB,KAAL,CAAWswB,MAAX,GAAoBjvB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAApB;;AAEA,sBAAIkvB,IAAI,CAAC7wB,KAAL,CAAWk+D,QAAX,IAAuB,CAA3B,EAA8B;AAC5B,wBAAI,QAAI,CAAC6X,cAAL,GAAsB,CAA1B,EACIllD,IAAI,CAAC7wB,KAAL,CAAWk+D,QAAX,GAAsB,QAAI,CAAC6X,cAA3B;AACL;;AAEDllD,sBAAI,CAAC7wB,KAAL,CAAW,iBAAX,IAAgC,QAAI,CAACy9C,OAArC;AACA5sB,sBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,QAAI,CAAC41E,oBAAL,CAA0B5qD,QAA1B,CAAmCgD,MAA1D;;AACA,sBAAG,QAAI,CAACE,UAAL,IAAmB,IAAnB,IAA2B,QAAI,CAAC4nD,cAAL,IAAuB,IAAlD,IAA0D,QAAI,CAACxmD,WAAL,IAAoB,IAAjF,EAAsF;AACpFuB,wBAAI,CAAC7wB,KAAL,CAAW,WAAX,IAA0B,QAAI,CAAC41E,oBAAL,CAA0B5qD,QAA1B,CAAmC8O,SAA7D;AACD,mBAFD,MAEK;AACLjJ,wBAAI,CAAC7wB,KAAL,CAAW,WAAX,IAAwB,QAAI,CAAC61E,gBAAL,CAAsB/7C,SAA9C;AACC;;AACD,sBAAI,QAAI,CAACi8C,cAAL,GAAsB,CAA1B,EACAllD,IAAI,CAAC7wB,KAAL,CAAWw2E,YAAX,GAAwB,QAAI,CAACZ,oBAAL,CAA0B5qD,QAA1B,CAAmCwrD,YAA3D;;AAEA,sBAAI,QAAI,CAACT,cAAL,GAAsB,CAA1B,EAA4B;AAC1BllD,wBAAI,CAAC7wB,KAAL,CAAWw2E,YAAX,GAAwB,QAAI,CAACZ,oBAAL,CAA0B5qD,QAA1B,CAAmCwrD,YAA3D;AACAn1E,gCAAY,CAACC,OAAb,CAAqB,gBAArB,EAAsC,QAAtC;AACD,mBAHD,MAKAuvB,IAAI,CAAC7wB,KAAL,CAAWw2E,YAAX,GAAwB,CAAxB;;AAEA,sBAAG,CAAC,QAAI,CAAC5wD,iBAAN,IAA4B,QAAI,CAACA,iBAAL,IAA0B,QAAI,CAACgwD,oBAAL,CAA0B5qD,QAA1B,CAAmC4jC,SAAnC,IAAgD,QAAI,CAAC/5C,MAA9G,EAAsH;AACpHgc,wBAAI,CAAC7wB,KAAL,CAAWguB,MAAX,GAAkB,CAAlB,CADoH,CAChG;;AACpB,wBAAG,QAAI,CAAC4nD,oBAAL,CAA0B5qD,QAA1B,CAAmCwrD,YAAnC,IAAiD,CAAjD,IAAsD,QAAI,CAACZ,oBAAL,CAA0B5qD,QAA1B,CAAmCwrD,YAAnC,IAAmD,CAAzG,IAA8G,QAAI,CAACZ,oBAAL,CAA0B5qD,QAA1B,CAAmCwrD,YAAnC,IAAmD,CAAjK,IACD,QAAI,CAACZ,oBAAL,CAA0B5qD,QAA1B,CAAmCwrD,YAAnC,IAAmD,CADlD,IACuD,QAAI,CAACZ,oBAAL,CAA0B5qD,QAA1B,CAAmCwrD,YAAnC,IAAmD,CAD1G,IAC+G,QAAI,CAACZ,oBAAL,CAA0B5qD,QAA1B,CAAmCwrD,YAAnC,IAAmD,CADrK,EAC6K;AAC3K3lD,0BAAI,CAAC7wB,KAAL,CAAWw2E,YAAX,GAAwB,CAAxB,CAD2K,CACjJ;;AAC1Bn1E,kCAAY,CAACC,OAAb,CAAqB,gBAArB,EAAsC,SAAtC;AACD,qBAJD,MAKI;AACFuvB,0BAAI,CAAC7wB,KAAL,CAAWw2E,YAAX,GAAwB,CAAxB,CADE,CACwB;;AAC1Bn1E,kCAAY,CAACC,OAAb,CAAqB,gBAArB,EAAsC,SAAtC;AAED;AACF;;AAED,sBAAG,QAAI,CAACy0E,cAAL,GAAqB,CAAxB,EAA0B;AACxBllD,wBAAI,CAAC7wB,KAAL,CAAW,YAAX,IAAyB,QAAI,CAAC61E,gBAAL,CAAsB3sD,UAA/C,CADwB,CAExB;;AACA,wBAAG,QAAI,CAACuK,MAAL,IAAe,EAAf,IAAqB,QAAI,CAACmiD,oBAAL,CAA0B5qD,QAA1B,CAAmC8O,SAAnC,IAAgD,QAAI,CAAC+7C,gBAAL,CAAsB/7C,SAA9F,EAAwG;AACtGjJ,0BAAI,CAAC7wB,KAAL,CAAW,YAAX,IAA2B,QAAI,CAACyzB,MAAhC;AACD,qBAFD,MAGI;AACF5C,0BAAI,CAAC7wB,KAAL,CAAW,YAAX,IAA2B,EAA3B;AACD;AACF,mBATD,MAUK;AACH6wB,wBAAI,CAAC7wB,KAAL,CAAW,YAAX,IAA2B,QAAI,CAACyzB,MAAhC;AACD;;AAEyH,mBAC1H,QAAI,CAACmiD,oBAAL,CAA0BkC,eAA1B,CAA0CjnD,IAAI,CAAC7wB,KAA/C,EAAsDkB,SAAtD,CAAgE,UAAA0oB,GAAG,EAAI;AACrE,4BAAI,CAACksD,cAAL,GAAoB,IAApB;;AACA,wBAAG,QAAI,CAAClwD,iBAAL,KAA2BgE,GAAG,CAAC4sD,YAAJ,IAAoB,CAApB,IAAyB5sD,GAAG,CAAC4sD,YAAJ,IAAoB,CAA7C,IAAkD5sD,GAAG,CAAC4sD,YAAJ,IAAoB,CAAtE,IAA2E5sD,GAAG,CAAC4sD,YAAJ,IAAoB,CAA/F,IACzB5sD,GAAG,CAAC4sD,YAAJ,IAAoB,CADK,IACA5sD,GAAG,CAAC4sD,YAAJ,IAAoB,CAD/C,CAAH,EACqD;AACjD,8BAAI,CAACv+C,aAAL,GAAqB,IAArB;AACD,qBAHH,MAIO,IAAIrO,GAAG,CAAC4sD,YAAJ,IAAoB,CAAxB,EAA2B;AAC9B,8BAAI,CAACv+C,aAAL,GAAqB,IAArB;AACD,qBAFI,MAGD;AACF,8BAAI,CAACA,aAAL,GAAqB,KAArB;AACD;;AAEH,wBAAIqa,eAAe,GAAG;AACpBX,6BAAO,EAAG,KADU;AAEpBjpB,gCAAU,EAAG;AAAEle,4BAAI,EAAG;AAAE/G,8BAAI,EAAE,CAAR;AAAWd,+BAAK,EAAE,CAAlB;AAAqB8gB,6BAAG,EAAE;AAA1B,yBAAT;AAAuC8I,8BAAM,EAAC,EAA9C;AAAiD5D,iCAAS,EAAC,EAA3D;AAA8DipB,4BAAI,EAAC;AAAnE,uBAFO;AAGpBtuB,+BAAS,EAAC;AAHU,qBAAtB;AAMA,wBAAI8G,MAAM,GAAG,mCAAM,CAACR,GAAG,CAAC0sD,eAAL,CAAN,CAA4BxkC,QAA5B,EAAb;AAEAQ,mCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgCiZ,GAAhC,GAAsC2G,MAAM,CAAC5f,IAA7C;AACA8nC,mCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC7H,KAAhC,GAAwCynB,MAAM,CAAC1nB,MAAP,GAAc,CAAtD;AACA4vC,mCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC/G,IAAhC,GAAuC2mB,MAAM,CAAC2nB,KAA9C;AACA,4BAAI,CAAC6jC,oBAAL,CAA0B5qD,QAA1B,CAAmCsrD,eAAnC,GAAqDhkC,eAArD;;AAGA,wBAAG,QAAI,CAAC1sB,iBAAL,IAA0B,QAAI,CAACgwD,oBAAL,CAA0B5qD,QAA1B,CAAmC4jC,SAAnC,IAAgD,QAAI,CAAC/5C,MAA/E,IAAyF+U,GAAG,CAAC4sD,YAAJ,IAAoB,CAA7G,IAAkH5sD,GAAG,CAACoE,MAAJ,IAAc,CAAnI,EAAsI;AACpI,8BAAI,CAACnE,UAAL,GAAkB,QAAI,CAAC+rD,oBAAL,CAA0B5qD,QAA1B,CAAmC07C,UAAnC,GAAgD,GAAhD,GAAsD98C,GAAG,CAACiK,GAA5E;AACD,qBAFD,MAIC,QAAI,CAAChK,UAAL,GAAiBD,GAAG,CAAC88C,UAAJ,GAAiB,GAAjB,GAAuB98C,GAAG,CAACiK,GAA5C;;AAEA,wBAAI,QAAI,CAACkiD,cAAL,GAAsB,CAA1B,EAA4B;AAE3B,8BAAI,CAACC,0BAAL;;AACA,8BAAI,CAAC1xD,OAAL,GAAe,IAAf;;AACA,8BAAI,CAACM,KAAL;AACA,qBALD,MAMI;AACHrV,8BAAQ,CAAC5B,QAAT,CAAkBwH,MAAlB;AACA9T,kCAAY,CAACC,OAAb,CAAqB,KAArB,EAA2B,QAAI,CAACuoB,UAAhC;;AACA,8BAAI,CAACjF,KAAL;AACA;AACC,mBA5CL,EA6CI,UAACiY,KAAD,EAAS;AACP,4BAAI,CAACvY,OAAL,GAAe,KAAf;AACA,4BAAI,CAACC,YAAL,GAAoB,IAApB;AACA,4BAAI,CAACsF,UAAL,GAAkB,mBAAlB;AACA,4BAAI,CAACoO,aAAL,GAAqB,KAArB;;AACA,4BAAI,CAACrT,KAAL;;AACA,4BAAI,CAAChX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,mBArDL,CAD0H;AAuD3H;AACA,eAvHH;AAwHE;AACD;AACD,S,CAEF;;;;4CACoBgS,M,EAAQ;AAC1B,eAAK4uD,oBAAL,CAA0B5qD,QAA1B,CAAmCgD,MAAnC,GAA4ChH,MAA5C;;AACA,cAAI,KAAKpB,iBAAL,IAA0B,IAA9B,EAAoC;AAClC,gBAAIoB,MAAM,IAAI,MAAd,EAAsB;AACpB,mBAAK4P,WAAL,GAAmB,KAAnB;AACD,aAFD,MAGK;AACH,mBAAKA,WAAL,GAAmB,IAAnB;AACD;AACF;AACF,S,CAED;;;;qCACU;AACR,eAAKhpB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,eAAD,CAArB;AACD,S,CAED;;;;gCACK;AACHmU,gBAAM,CAACC,MAAP,CAAc;AACZC,eAAG,EAAE,CADO;AAEZC,gBAAI,EAAE,CAFM;AAGZC,oBAAQ,EAAC;AAHG,WAAd;AAKD,S,CAED;;;;qDAC0B;AAAA;;AACxB,eAAKqsD,oBAAL,CAA0BxY,8BAA1B,CAAyD,KAAK2Y,cAAL,CAAoBltD,QAApB,EAAzD,EAAyF3nB,SAAzF,CAAmG,UAAA67B,SAAS,EAAE;AAC5G,oBAAI,CAACg7C,qBAAL,GAA2Bh7C,SAA3B;;AAEA,gBAAG,QAAI,CAACg7C,qBAAL,CAA2B,CAA3B,EAA8BtvD,WAA9B,IAA6C,EAAhD,EAAmD;AACjD,sBAAI,CAACoF,cAAL,GAAoB,IAApB;AACA,sBAAI,CAACoP,WAAL,GAAiB,QAAI,CAAC86C,qBAAL,CAA2B,CAA3B,EAA8BtvD,WAA/C;AACA,sBAAI,CAACyU,eAAL,GAAqB,QAAI,CAAC66C,qBAAL,CAA2B,CAA3B,EAA8BrlE,QAAnD;AACD;;AACD,gBAAG,QAAI,CAACqlE,qBAAL,CAA2B,CAA3B,EAA8B1sD,WAA9B,IAA6C,EAAhD,EAAmD;AAClD,sBAAI,CAACuC,cAAL,GAAoB,IAApB;AACC,sBAAI,CAACuP,aAAL,GAAmB,QAAI,CAAC46C,qBAAL,CAA2B,CAA3B,EAA8BrlE,QAAjD;AACA,sBAAI,CAAC0qB,UAAL,GAAgB,QAAI,CAAC26C,qBAAL,CAA2B,CAA3B,EAA8B1sD,WAA9C;AACD;AAEF,WAdD,EAeA,UAACwR,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WAlBD;AAmBD,S,CAED;;;;sCACc6b,I,EAAI;AAChB,cAAI,KAAKklD,cAAL,GAAsB,CAA1B,EAA6B;AACzB,iBAAK55C,SAAL,CAAetL,IAAf;AACA,iBAAKjM,KAAL;AACA,WAHJ,MAIK;AACH,iBAAKuX,SAAL,CAAetL,IAAf;AACA,iBAAKjM,KAAL;AAEArV,oBAAQ,CAAC5B,QAAT,CAAkBwH,MAAlB;AAED;AACF,S,CAED;;;;kCACUnH,K,EAAsB;AAE9B,cAAIyc,CAAC,GAAGzc,KAAK,CAAC+c,QAAN,IAAkB,CAAlB,IAAuB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAzC,IAA+C/c,KAAK,CAAC+c,QAAN,IAAkB,CAAlE,GAA0E,IAA1E,GAAiF/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlB,IAAwB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlI;AACF,iBAAON,CAAP;AACC,S,CAED;;;;6CACkB;AAAA;;AAChB,eAAKvH,WAAL,CAAiBuC,eAAjB,CAAiCpkB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,EAAqE,eAArE,EAAsFT,SAAtF,CAAgG,UAAAwkB,UAAU,EAAE;AAC1G,oBAAI,CAACE,iBAAL,GAAuBF,UAAU,CAAC,CAAD,CAAV,CAAcG,aAArC;;AACF,gBAAG,QAAI,CAACD,iBAAL,IAAwB,IAA3B,EAAgC,CAE/B,CAFD,MAGI;AACF,sBAAI,CAACA,iBAAL,GAAuB,KAAvB;AACD;;AACC,oBAAI,CAACoyD,aAAL,CAAmB,QAAI,CAACjC,cAAxB;AACD,WATD,EAUA,UAACl5C,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WAbD;AAcD,S,CAED;;;;mCACWhH,K,EAAK;AACd,cAAM+c,QAAQ,GAAI/c,KAAK,CAACguB,KAAP,GAAgBhuB,KAAK,CAACguB,KAAtB,GAA8BhuB,KAAK,CAACiuB,OAArD;;AACA,cAAIlR,QAAQ,IAAI,EAAZ,IAAkBA,QAAQ,GAAG,EAA7B,KAAoCA,QAAQ,GAAG,EAAX,IAAiBA,QAAQ,GAAG,EAAhE,CAAJ,EAAwE;AACtE,mBAAO,KAAP;AACD;;AACD,iBAAO,IAAP;AACA,S,CAEF;;;;0CACkBvgB,I,EAAI;AAEpB,cAAM6hB,MAAM,GAAG,IAAI3sB,IAAJ,EAAf;AACA,eAAK4sB,SAAL,GAAgB9hB,IAAI,CAACke,UAAL,CAAgB6D,MAAhC;;AACD,cAAI,KAAKD,SAAL,GAAiBD,MAAjB,IAA2B,KAAKC,SAAL,IAAkBD,MAAjD,EAAyD;AACtD,iBAAKG,eAAL,GAAuB,KAAvB;AACF,WAFD,MAGI;AACF,iBAAKA,eAAL,GAAuB,IAAvB;AACD;;AACD,iBAAO,KAAKA,eAAZ;AACA,S,CAED;;;;+CACoB;AAClB,cAAG,KAAKqpD,gBAAL,CAAsBY,YAAtB,GAAqC,CAArC,IAA0C,KAAKZ,gBAAL,CAAsBY,YAAtB,IAAsC,IAAnF,EAAwF;AACxF,gBAAG,KAAKZ,gBAAL,CAAsBa,cAAtB,IAAwC,IAAxC,IAAgD,KAAKb,gBAAL,CAAsBa,cAAtB,IAAwC9uD,SAA3F,EACE,KAAKiuD,gBAAL,CAAsBc,gBAAtB,GAAyC,KAAKd,gBAAL,CAAsBY,YAA/D,CADF,KAGE,KAAKZ,gBAAL,CAAsBc,gBAAtB,GAAyC,KAAKd,gBAAL,CAAsBY,YAAtB,GAAqC,KAAKZ,gBAAL,CAAsBa,cAApG;AACD,WALD,MAMI;AACF,iBAAKb,gBAAL,CAAsBc,gBAAtB,GAAyC,CAAzC;AACD;AACF;;;8CAKqBl8C,e,EAAgBvR,U,EAAU;AAAA;;AAC9C,eAAK/F,QAAL,CAAcwB,IAAd;;AACA,eAAKkxD,gBAAL,CAAsBt6C,mBAAtB,GAA0C,IAA1C;;AACA,cAAGrS,UAAU,IAAI,GAAjB,EAAqB;AACnB,gBAAIwI,IAAI,GAAG,KAAKmrB,YAAL,CAAkBp1B,MAAlB,CAAyB,UAAAkK,CAAC;AAAA,qBAAIA,CAAC,CAAC8I,eAAF,KAAsBA,eAA1B;AAAA,aAA1B,EAAqE,CAArE,CAAX;;AACA,gBAAG/I,IAAI,IAAE9J,SAAT,EAAmB;AAAEsB,wBAAU,GAAG,CAAb;AAAgB,aAArC,MACI;AACFA,wBAAU,GAAEwI,IAAI,CAACE,QAAjB;AACD;AACF;;AACD,eAAKgkD,oBAAL,CAA0B0B,sCAA1B,CAAiEj2E,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjE,EAAqGunB,UAArG,EAAiHhoB,SAAjH,CAA2H,UAAA0oB,GAAG,EAAI;AAChI,oBAAI,CAACmI,QAAL,GAAgBnI,GAAG,CAACoI,YAApB;AACA,oBAAI,CAACC,mBAAL,GAA2BrI,GAAG,CAACoI,YAA/B;;AACA,oBAAI,CAAC7O,QAAL,CAAc4E,IAAd;AACD,WAJD,EAV8C,CAgB9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACD,S,CACD;;;;4CACoB/Z,K,EAAO;AACzB;AACA,cAAItS,MAAM,GAAGsS,KAAK,CAACtS,MAAnB;;AACA,cAAG,KAAKwyB,UAAL,IAAmB,IAAnB,IAA2B,KAAK4nD,cAAL,IAAuB,IAAlD,IAA0D,KAAKxmD,WAAL,IAAoB,IAAjF,EAAsF;AACtFthB,iBAAK,CAAC2vB,WAAN,GAAoB,KAApB;AACAjiC,kBAAM,CAACsE,KAAP,GAAe,KAAK41E,oBAAL,CAA0B5qD,QAA1B,CAAmC8O,SAAlD;AACA9rB,iBAAK,CAAC4vB,cAAN;AACA;AACD;;;yDACiC5vB,K,EAAO;AACvCA,eAAK,CAAC2vB,WAAN,GAAoB,KAApB;AACA3vB,eAAK,CAAC4vB,cAAN;AACA;;;;;;;uBAzyBS+3C,kB,EAAkB,yJ,EAAA,uH,EAAA,8H,EAAA,gJ,EAAA,2J,EAAA,+H,EAAA,4J,EAAA,mK;AAAA,K;;;YAAlBA,kB;AAAkB,qC;AAAA,gB;AAAA,e;AAAA,s/L;AAAA;AAAA;;;ACpB/B;;AACE;;AACI;;AACI;;AACE;;AACE;;AACE;;AACE;;AAAiE;AAAA,mBAAiB,IAAA93C,UAAA,EAAjB;AAA6B,WAA7B,EAA8B,OAA9B,EAA8B;AAAA,mBAAU,IAAAA,UAAA,EAAV;AAAsB,WAApD;;AAClD;;AACjB;;AACA;;AACE;;AAA6I;;AAAgB;;AAE/J;;AACA;;AAGF;;AACF;;AAEA;;AAAwC;AAAA;;AAAA;;AAAA,qCAA+B,IAAAC,QAAA,KAA/B;AAA6C,WAA7C;;AAEtC;;AACE;;AAGA;;AACE;;AAAqD;;AAA8B;;AAErF;;AACF;;AACA;;AACE;;AACC;;AACC;;AAAiB;AAAA,mBAAS,IAAAjR,OAAA,EAAT;AAAkB,WAAlB;;AAAuC;;AAAO;;AAC/D;;AAAQ;;AAAQ;;AAAU;;AAC5B;;AAEA;;AACE;;AAAiB;AAAA,mBAAS,IAAAC,SAAA,EAAT;AAAoB,WAApB;;AAAyC;;AAAO;;AACjE;;AAAQ;;AAAM;;AAAU;;AAC1B;;AAEF;;AAID;;AAEC;;AAEE;;AACE;;AAAyD;AAAA;AAAA;;AAAzD;;AAEA;;AAA2C;;AAAW;;AAA2B;;AAAC;;AAAO;;AAEzF;;AAAkG;AAAA;AAAA,aAAyC,UAAzC,EAAyC;AAAA,mBACvD,IAAAiR,gBAAA,QADuD;AAC/B,WADV;;AAAlG;;AAKF;;AAEwC;;AACxC;;AAEE;;AAUF;;AAGA;;AACE;;AAA6C;;AAAa;;AAA2B;;AAAC;;AAAO;;AAC7F;;AAAwG;AAAA,mBAAY,IAAAuQ,UAAA,QAAZ;AAA8B,WAA9B,EAA+B,eAA/B,EAA+B;AAAA;AAAA,WAA/B,EAA+B,OAA/B,EAA+B;AAAA,mBAEhE,IAAA2pC,oBAAA,EAFgE;AAE1C,WAFW,EAA+B,QAA/B,EAA+B;AAAA,mBAE9B,IAAAC,eAAA,EAF8B;AAEb,WAFlB;;AAAxG;;AAIF;;AAE0C;;AAC1C;;AAEE;;AACF;;AAEA;;AACI;;AAA+C;;AAAe;;AAA2B;;AAAC;;AAAO;;AACjG;;AAAkI;AAAA;AAAA,aAA6C,UAA7C,EAA6C;AAAA,mBACnK,IAAA5pC,UAAA,QADmK;AACjJ,WADoG,EAA6C,OAA7C,EAA6C;AAAA,mBACR,IAAA2pC,oBAAA,EADQ;AACc,WAD3D;;AAAlI;;AAGJ;;AAE4C;;AAC5C;;AAEI;;AAEF;;AAEJ;;AAEA;;AACE;;AACE;;AAAiD;;AAAiB;;AAA2B;;AAAC;;AAAO;;AACrG;;AAAoB;AAAA,mBAAW,IAAAE,gCAAA,QAAX;AAAmD,WAAnD,EAAoD,eAApD,EAAoD;AAAA;AAAA,WAApD;;AAApB;;AAGJ;;AAE8C;;AAC9C;;AAEI;;AAEF;;AAEA;;AACE;;AAA8C;;AAAc;;AAA2B;;AAAC;;AAAO;;AAC/F;;AAA0G;AAAA;AAAA;;AAA1G;;AAGJ;;AAE2C;;AAC3C;;AAEI;;AACF;;AACA;;AAEE;;AAAgD;;AAAiB;;AAA2B;;AAAC;;AAAO;;AAiBpG;;AACE;;AACA;AAAA;AAAA,aAA8C,UAA9C,EAA8C;AAAA,mBACV,IAAAnrD,SAAA,QADU;AACO,WADrD,EAA8C,eAA9C,EAA8C;AAAA;;AAAA;;AAAA,mBAC2C,IAAAorD,iBAAA,YAD3C;AACmF,WADjI;;AADA;;AAKE;;AACE;;AAAyG;AAAA;;AAAA;;AAAA,mBAAS,qBAAT;AAA4B,WAA5B;;AACvG;;AACF;;AACF;;AACJ;;AAEJ;;AAE6C;;AAC7C;;AAEI;;AAIA;;AAGA;;AAGA;;AAIF;;AAcF;;AAEA;;AAIE;;AACE;;AAA2C;;AAAgB;;AAA2B;;AAAC;;AAAO;;AAYjG;;AACG;AAAA;AAAA,aAA8C,SAA9C,EAA8C;AAAA,mBAEnC,IAAAh6C,mBAAA,QAFmC;AAER,WAFtC,EAA8C,QAA9C,EAA8C;AAAA;;AAAA;;AAEqC,gBAAAg4C,qBAAA,aAAuC,GAAvC;AAA6C,mBAAF,iCAAoC,IAAlC;AAAsC,WAFtK;;AADH;;AAIC;;AACI;;AACJ;;AAEF;;AAEwC;;AACxC;;AAEI;;AACJ;;AAsBA;;AACE;;AAAoD;;AAAe;;AAAkB;;AAAC;;AAAO;;AAAS;;AACtG;;AAC+B;AAAA;AAAA,aAAkD,QAAlD,EAAkD;AAAA,mBACvE,IAAA8B,eAAA,EADuE;AACtD,WADI;;AAD/B;;AAIA;;AACE;;AADF;;AAGA;;AAEqC;;AACrC;;AACA;;AAGF;;AAGQ;;AAmBA;;AAmBV;;AACA;;AACE;;AAIE;;AAEF;;AACF;;AAEA;;AAIA;;AACG;;AAAqD;;AAE1D;;AACA;;AAIE;;AACG;;AAAkD;;AAEvD;;AAEE;;AACE;;AACJ;;AACJ;;AACF;;AAIA;;AACE;;AACE;;AACE;;AACE;;AAA4E;;AAAY;;AACxF;;AAA4E;AAAA,mBAAW,IAAAnwD,IAAA,EAAX;AAAiB,WAAjB;;AAC1E;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACA;;AACA;;AACA;;AACI;;AAAqH;;AAAK;;AAC9H;;AACE;;AACJ;;AACJ;;AAEA;;;;;;;;;;;;;;;;;;;;;;AArW2J;;AAAA;;AAsBzI;;AAAA;;AAEsB;;AAAA;;AAGvB;;AAAA;;AAEqB;;AAAA;;AAYiC;;AAAA;;AAItC;;AAAA,kHAAsC,SAAtC,EAAsC,+BAAtC,EAAsC,SAAtC,EAAsC,kIAAtC;;AAMnB;;AAAA;;AACsC;;AAAA;;AAGR;;AAAA;;AAeT;;AAAA,kHAAsC,SAAtC,EAAsC,iCAAtC,EAAsC,SAAtC,EAAsC,kIAAtC;;AAKrB;;AAAA;;AACwC;;AAAA;;AAGV;;AAAA;;AAKe;;AAAA,kHAAsC,SAAtC,EAAsC,mCAAtC,EAAsC,SAAtC,EAAsC,kIAAtC;;AAI7C;;AAAA;;AAC0C;;AAAA;;AAGV;;AAAA;;AASyC;;AAAA,qFAAiB,SAAjB,EAAiB,qCAAjB,EAAiB,SAAjB,EAAiB,kIAAjB;;AAI3E;;AAAA;;AAC4C;;AAAA;;AAGZ;;AAAA;;AAMT;;AAAA,kHAAsC,SAAtC,EAAsC,kCAAtC,EAAsC,SAAtC,EAAsC,qIAAtC;;AAIvB;;AAAA;;AACyC;;AAAA;;AAGT;;AAAA;;AAsByB;;AAAA,kHAAsC,SAAtC,EAAsC,oCAAtC,EAAsC,SAAtC,EAAsC,eAAtC,EAAsC,SAAtC,EAAsC,qKAAtC;;AAM1B;;AAAA;;AAO/B;;AAAA;;AAC2C;;AAAA;;AAGX;;AAAA;;AAIA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAqCO;;AAAA,wIAAwD,SAAxD,EAAwD,oCAAxD,EAAwD,SAAxD,EAAwD,qIAAxD;;AAK3B;;AAAA;;AAIZ;;AAAA;;AACsC;;AAAA;;AAGN;;AAAA;;AA0BD;;AAAA,wHAAkD,UAAlD,EAAkD,uDAAlD,EAAkD,SAAlD,EAAkD,sIAAlD;;AAIrB;;AAAA;;AAGV;;AAAA;;AACqC;;AAAA;;AAEP;;AAAA;;AAMF;;AAAA;;AAmBA;;AAAA;;AAyBiC;;AAAA;;AAA3B;;AAOtC;;AAAA;;AAGG;;AAAA;;AAKH;;AAAA;;AAGG;;AAAA;;AAYN;;AAAA;;AAUC;;AAAA;;AASyE;;AAAA;;;;;;;;;sED5VtE4tD,kB,EAAkB;cAL9B,uDAK8B;eALpB;AACThkE,kBAAQ,EAAE,gBADD;AAET4D,qBAAW,EAAE,6BAFJ;AAGT3D,mBAAS,EAAE,CAAC,4BAAD;AAHF,S;AAKoB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEpB/B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACmEY;;AAA0E;AAAA;;AAAA;;AAAA;AAAA,WAAwC,OAAxC,EAAwC;AAAA;;AAAA;;AAAA;AAAA,SAAxC;;AACzC;;;;;;;;AAwB3B;;AACE;;AACE;;AAAoD;AAAA;;AAAA;;AAAA;AAAA,WAA0B,QAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAApD;;AAGA;;AACF;;AACF;;;;;;AALwD;;AAAA,iGAA0B,SAA1B,EAA0B,mBAA1B,EAA0B,UAA1B,EAA0B,6BAA1B;;;;;;;;AAuCrD;;AACC;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACD;;AAAwC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACnB;;AAAO;;AAC/B;;;;;;AAH6D;;AAAA;;;;;;;;AAOhE;;AAEE;;AACE;;AAAuB;AAAA;;AAAA;;AAAA;AAAA,WAAiC,QAAjC,EAAiC;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAAjC;;AAAvB;;AAGA;;AACF;;AACF;;;;;;AAJkC;;AAAA;;AACwC;;AAF/C,qGAAiC,SAAjC,EAAiC,uBAAjC,EAAiC,UAAjC,EAAiC,6BAAjC;;AAGa;;AAAA;;;;;;;;AAxC1C;;AACE;;AAAI;;AAAiB;;AACrB;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAAoB;;AACxB;;AAAI;;AAAiB;;AACrB;;AAAI;;AAAkB;;AAGrB;;AAAI;;AAAe;;AACnB;;AAAI;;AAA0B;;AAC/B;;AACE;;AACE;;AACA;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACD;;AAA0C;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAE7B;;AAAO;;AACtB;;AAEC;;AACC;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACD;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAG1B;;AAAO;;AAC3B;;AACA;;AAMD;;AACF;;AACA;;AASF;;;;;;;;AA1CM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAGC;;AAAA;;AACA;;AAAA;;AAaG;;AAAA;;AAIA;;AAAA;;AAQJ;;AAAA;;;;;;AAUN;;AACE;;AAAgB;;AAAgB;;AAClC;;;;QDtIHymE,yB;AA6CX,yCAAmBC,cAAnB,EAAgE1qE,MAAhE,EACSglE,eADT,EACuDD,cADvD,EAEUzvD,WAFV,EAE0C;AAAA;;AAFvB,aAAAo1D,cAAA,GAAAA,cAAA;AAA6C,aAAA1qE,MAAA,GAAAA,MAAA;AACvD,aAAAglE,eAAA,GAAAA,eAAA;AAA8C,aAAAD,cAAA,GAAAA,cAAA;AAC7C,aAAAzvD,WAAA,GAAAA,WAAA,CAAgC,CA9C1C;;AACA,aAAAq1D,YAAA,GAAoB,EAApB;AAgBA,aAAA10D,cAAA,GAAiB,IAAjB;AAQA,aAAA20D,sBAAA,GAAkC,KAAlC;AAKA,aAAA10D,WAAA,GAAgB,EAAhB;AAEA,aAAAC,UAAA,GAAqB,IAArB;AAKA,aAAA00D,sBAAA,GAA6B,EAA7B;AACA,aAAAC,qBAAA,GAA8B,KAA9B;AAKA,aAAAC,qBAAA,GAA8B,EAA9B;AAIA,aAAAxgD,QAAA,GAAS,EAAT;AA0LA,aAAAygD,uBAAA,GAA0B,EAA1B;AACA,aAAAC,mBAAA,GAAsB,EAAtB;AA5L6C;;;;mCAIrC;AACN,eAAKj0D,KAAL;;AAEA,cAAGvjB,YAAY,CAACM,OAAb,CAAqB,aAArB,KAAqC,IAAxC,EACA;AACE,iBAAKiM,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,EAAD,CAArB;AACA;AACD,WAPK,CAQP;AACA;;;AACC,eAAKmjB,QAAL,GAAc,+BAA8B92B,YAAY,CAACM,OAAb,CAAqB,YAArB,CAA9B,GAAkE,KAAlE,GAAyEN,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAAvF;AACAN,sBAAY,CAACwjB,UAAb,CAAwB,QAAxB;AACA,eAAKs5C,aAAL,GAAqB98D,YAAY,CAACM,OAAb,CAAqB,eAArB,CAArB;AACA,eAAKunB,UAAL,GAAkB6G,QAAQ,CAAC1uB,YAAY,CAACM,OAAb,CAAqB,QAArB,CAAD,CAA1B;AACA,eAAKyuB,QAAL,GAAgB/uB,YAAY,CAACM,OAAb,CAAqB,cAArB,CAAhB;AACAN,sBAAY,CAACwjB,UAAb,CAAwB,eAAxB;AACAxjB,sBAAY,CAACwjB,UAAb,CAAwB,cAAxB;AACA,eAAKI,kBAAL,GAjBM,CAmBN;;AACA,cAAG,KAAKmL,QAAL,IAAiB,mBAAjB,IAAwC,KAAK+tC,aAAL,IAAsB,IAA9D,IAAsE,KAAKA,aAAL,IAAsB,EAA/F,EAAkG;AAChG,iBAAK2a,UAAL,CAAgB,CAACz3E,YAAY,CAACM,OAAb,CAAqB,UAArB,CAAjB,EAAkD,KAAKw8D,aAAvD,EADgG,CAEhG;AACD,WAHD,MAKG,KAAK2a,UAAL,CAAgB,CAACz3E,YAAY,CAACM,OAAb,CAAqB,UAArB,CAAjB,EAAkD,GAAlD,EAzBG,CA0BF;AACJ;AACA;;;AACA,eAAK0xB,2BAAL;AACA,eAAKlO,MAAL,GAAc;AACZC,wBAAY,EAAE,EADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAIA,eAAKC,YAAL,GAAmB,EAAnB;AACAyzD,0BAAgB,CAAC,CAAD,EAAG,KAAH,CAAhB;AAED;;;6CAEoB;AAAA;;AACnB,eAAK71D,WAAL,CAAiBuC,eAAjB,CAAiCpkB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,EAAsE,eAAtE,EAAuFT,SAAvF,CAAiG,UAAAwkB,UAAU,EAAI;AAC7G,oBAAI,CAAC8yD,sBAAL,GAA8B9yD,UAAU,CAAC,CAAD,CAAV,CAAcW,oBAA5C,CAD6G,CAE7G;AACD,WAHD,EAGI,UAACrB,GAAD,EAAS;AACT,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WALH;AAOD,S,CAED;;;;qCACU;AACR3T,sBAAY,CAACC,OAAb,CAAqB,qBAArB,EAA2C,MAA3C;AACA,eAAKsM,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,oBAAD,CAArB;AACD,S,CACD;;;;qCACU;AACR,cAAG,KAAKob,QAAL,IAAiB,EAAjB,IAAuB,KAAKA,QAAL,IAAiB,IAA3C,EAAgD;AAC9C,iBAAKxiB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,eAAD,CAArB;AACA3T,wBAAY,CAACwjB,UAAb,CAAwB,YAAxB;AACAxjB,wBAAY,CAACwjB,UAAb,CAAwB,UAAxB;AACAxjB,wBAAY,CAACwjB,UAAb,CAAwB,iBAAxB;AACAxjB,wBAAY,CAACwjB,UAAb,CAAwB,oBAAxB;AACAxjB,wBAAY,CAACwjB,UAAb,CAAwB,yBAAxB;AACD,WAPD,MAQI;AACF,iBAAKjX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,oBAAD,CAArB;AACD;AACF;;;qCACS;AAAA;;AACR,eAAKsjE,cAAL,CAAoBU,oBAApB,CAAyC33E,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAzC,EAA8ET,SAA9E,CAAwF,UAAA+3E,MAAM,EAAE,CAC/F;AACD;AACA;AACE;AACD,WALD,EAMA,UAACp8C,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WATD;AAUD,S,CACD;;;;yCACc;AACZ,eAAKs+D,QAAL,GAAiB,CAACjyE,YAAY,CAACM,OAAb,CAAqB,UAArB,CAAlB;AACA,eAAK84B,eAAL,GAAwB,CAACp5B,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAAzB;AACA,eAAKgxE,cAAL,CAAoB3nD,QAApB,GAA6B;AAC7BgD,kBAAM,EAAC,GADsB;AAE7BwwC,kBAAM,EAAC,CAFsB;AAG7BN,oBAAQ,EAAE,EAHmB;AAI7Ba,oBAAQ,EAAG,KAJkB;AAK7ByQ,2BAAe,EAAI,EALU;AAM7BkB,6BAAiB,EAAG,IANS;AAO7BjB,iBAAK,EAAE,EAPsB;AAQ7BC,qBAAS,EAAG,EARiB;AAS7BC,iBAAK,EAAI,EAToB;AAU7BC,yBAAa,EAAI,EAVY;AAW7Be,2BAAe,EAAG,IAXW;AAY7BmD,mBAAO,EAAI,EAZkB;AAa7BroD,oBAAQ,EAAG,IAbkB;AAc7By/B,qBAAS,EAAE,EAdkB;AAe7BkkB,2BAAe,EAAE,EAfY;AAgB7Bv7C,eAAG,EAAC,CAhByB;AAiB7B4G,2BAAe,EAAC,KAAKA,eAjBQ;AAkB7B;AACA;AACAjS,qBAAS,EAAC,CApBmB;AAqB7B4C,qBAAS,EAAC,CArBmB;AAsB7B3C,uBAAW,EAAC,EAtBiB;AAuB7B4C,uBAAW,EAAC,EAvBiB;AAwB7B3Y,oBAAQ,EAAC,EAxBoB;AAyB7BqhE,yBAAa,EAAC,EAzBe;AA0B7BC,2BAAe,EAAC,EA1Ba;AA2B7BC,0BAAc,EAAC,EA3Bc;AA4B7BN,4BAAgB,EAAC,EA5BY;AA6B7BC,wBAAY,EAAC,IA7BgB;AA8B7BM,6BAAiB,EAAC,EA9BW;AA+B7B/oD,uBAAW,EAAC,EA/BiB;AAgC7BtW,kBAAM,EAAC;AAhCsB,WAA7B;AAkCA,eAAKjH,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,gBAAD,CAArB;AACD,S,CACD;;;;iCACSkkE,O,EAAgB;AACvB,eAAKvG,cAAL,CAAoB3nD,QAApB,GAA6BkuD,OAA7B;AACA,cAAI3a,MAAM,GAAChlC,MAAM,CAAC2/C,OAAO,CAAC1a,MAAT,CAAjB;AACAn9D,sBAAY,CAACC,OAAb,CAAqB,QAArB,EAA8Bi4B,MAAM,CAACglC,MAAD,CAApC;AACAl9D,sBAAY,CAACC,OAAb,CAAqB,UAArB,EAAgCi4B,MAAM,CAAC,MAAD,CAAtC;AAEA,eAAK3rB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,gBAAD,CAArB;AACA,S,CACD;;;;mCACUkkE,O,EAAgB;AACzB,eAAK1a,MAAL,GAAc0a,OAAO,CAAC1a,MAAtB;AACA,eAAK30C,UAAL,GAAkB,kCAAlB;AACA,eAAKlF,IAAL;AACD;;;wCAEY;AACX,eAAK6E,qBAAL,GAA2B,KAA3B;AACA,eAAKC,QAAL,GAAgB,KAAhB;AACA,eAAK0vD,UAAL,GAAgB,KAAhB;AACD;;;wCACY;AACX,eAAK3vD,qBAAL,GAA2B,IAA3B;AACD;;;2CACe;AAAA;;AACd,eAAK+uD,YAAL,CAAkB/zE,OAAlB,CAA0B,UAAAC,OAAO,EAAI;AACnC,oBAAI,CAACkuE,cAAL,CAAoByG,eAApB,CAAoC30E,OAAO,CAAC+5D,MAA5C,EAAoDt9D,SAApD,CAA8D,UAAA0oB,GAAG,EAAI;AACnE,sBAAI,CAACkvD,UAAL,CAAgB,CAACz3E,YAAY,CAACM,OAAb,CAAqB,UAArB,CAAjB,EAAkD,GAAlD;;AACA,sBAAI,CAACuiD,uBAAL,GAA6B,iCAA7B,CAFmE,CAGlE;;AACF,sBAAI,CAACp6B,OAAL;;AACC,sBAAI,CAAClF,KAAL;;AACA,sBAAI,CAACmF,aAAL;AACD,aAPD,EAQA,UAAC8S,KAAD,EAAS;AACP,sBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,aAXD;AAYD,WAbD;AAcD;;;6CACiB;AAChB,eAAKyU,QAAL,GAAgB,IAAhB;AACA,eAAK0vD,UAAL,GAAgB,IAAhB;AACA,eAAKnvD,aAAL;AACD,S,CACD;;;;8CACsB;AAAA;;AACpB,eAAK2oD,cAAL,CAAoByG,eAApB,CAAoC,KAAK5a,MAAzC,EAAiDt9D,SAAjD,CAA2D,UAAA0oB,GAAG,EAAI;AAChE,oBAAI,CAACkvD,UAAL,CAAgB,CAACz3E,YAAY,CAACM,OAAb,CAAqB,UAArB,CAAjB,EAAkD,GAAlD;AAED,WAHD,EAIA,UAACk7B,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WAPD;;AAQA,eAAK+S,IAAL;AAED,eAAKm8B,uBAAL,GAA6B,2BAA7B;AACG,eAAKp6B,OAAL,GAZkB,CAalB;;AACA,eAAKlF,KAAL;AACH,S,CAID;;;;oCACYs0D,O,EAAgB;AAAA;;AAC1B,eAAKvG,cAAL,CAAoB0G,oBAApB,CAAyCH,OAAzC,EAAkDh4E,SAAlD,CAA4D,UAAA0oB,GAAG,EAAI;AACjE,gBAAGA,GAAG,CAACmmD,QAAJ,IAAc,CAAjB,EAAmB;AAAC;AAClB,kBAAGnmD,GAAG,CAACwlD,eAAJ,IAAqB,QAAxB,EAAiC;AAC/B,wBAAI,CAACkK,mBAAL,GAAyB,oBAAzB,CAD+B,CACgB;;AAC/C,wBAAI,CAACC,eAAL,GAAqB3vD,GAAG,CAAC88C,UAAJ,GAAgB,iCAArC,CAF+B,CAI/B;AACD;;AACD,kBAAG98C,GAAG,CAACwlD,eAAJ,IAAqB,OAAxB,EAAgC;AAC9B,wBAAI,CAACkK,mBAAL,GAAyB,oBAAzB,CAD8B,CACiB;;AAC/C,wBAAI,CAACC,eAAL,GAAqB3vD,GAAG,CAAC88C,UAAJ,GAAgB,gCAArC,CAF8B,CAI9B;AACF;AACC;AACF;;AACD,gBAAG98C,GAAG,CAACmmD,QAAJ,IAAc,CAAjB,EAAmB;AAAC;AAClBnmD,iBAAG,CAACylD,eAAJ;AACAzlD,iBAAG,CAACylD,eAAJ,GAAuBzlD,GAAG,CAACylD,eAAJ,CAAoBxwE,MAApB,GAA6B,CAA9B,GAAmC+qB,GAAG,CAACylD,eAAJ,CAAoBp4D,KAApB,CAA0B,CAA1B,CAAnC,GAAkE2S,GAAG,CAACylD,eAA5F;;AAEA,kBAAGzlD,GAAG,CAACwlD,eAAJ,IAAqB,QAAxB,EAAiC;AAC/B,wBAAI,CAACkK,mBAAL,GAAyB,mBAAzB;AACA,wBAAI,CAACC,eAAL,GAAqB3vD,GAAG,CAAC88C,UAAJ,GAAgB,mCAAhB,GAAqD98C,GAAG,CAACylD,eAA9E,CAF+B,CAIhC;AACA;;AACD,kBAAGzlD,GAAG,CAACwlD,eAAJ,IAAqB,OAAxB,EAAgC;AAC9B,wBAAI,CAACkK,mBAAL,GAAyB,mBAAzB;AACA,wBAAI,CAACC,eAAL,GAAqB3vD,GAAG,CAAC88C,UAAJ,GAAgB,kCAAhB,GAAoD98C,GAAG,CAACylD,eAA7E;AAA6F,iBAF/D,CAI9B;AACH,eAfkB,CAgBpB;AACG;AACD;;AACF;;AACD,gBAAGzlD,GAAG,CAACmmD,QAAJ,IAAgB,CAAnB,EAAqB;AACnB,sBAAI,CAACuJ,mBAAL,GAAyB,4BAAzB;AACA,sBAAI,CAACC,eAAL,GAAuB3vD,GAAG,CAAC88C,UAAJ,GAAgB,sCAAvC;AACF,aAvCmE,CAwCjE;;;AACF,oBAAI,CAAC8S,UAAL;AAEC,WA3CD,EA4CA,UAAC38C,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WA/CD;AAgDH;;;uCACgB6b,I,EAAY,CAE5B,C,CACD;;;;0CACiB;AAAA;;AACb,eAAKgoD,mBAAL,GAA2B,EAA3B;AACA,eAAKD,uBAAL,GAAgC,EAAhC;AACD,eAAKa,oBAAL,GAHc,CAIb;AACA;AACA;AACA;AACA;;AACE,eAAK9G,cAAL,CAAoB+G,wBAApB,CAA6C,KAAKjB,sBAAlD,EAA0Ev3E,SAA1E,CAAoF,UAAA0oB,GAAG,EAAI;AACzF,gBAAI+vD,UAAU,GAAG,EAAjB;AACA,gBAAIC,QAAQ,GAAG,EAAf;AACA,gBAAIC,WAAW,GAAG,EAAlB;AACAjwD,eAAG,CAACplB,OAAJ,CAAY,UAAAC,OAAO,EAAI;AACrBA,qBAAO,CAAC4qE,eAAR,GAA2B5qE,OAAO,CAAC4qE,eAAR,CAAwBxwE,MAAzB,GAAmC4F,OAAO,CAAC4qE,eAAR,CAAwBp4D,KAAxB,CAA8B,CAA9B,CAAnC,GAAsExS,OAAO,CAAC4qE,eAAxG;;AACA,kBAAG5qE,OAAO,CAACsrE,QAAR,IAAkB,CAArB,EAAuB;AACf,oBAAGtrE,OAAO,CAAC2qE,eAAR,IAAyB,QAA5B,EAAqC;AACnC,0BAAI,CAACyJ,mBAAL,IAA4Bp0E,OAAO,CAACs6D,QAAR,GAAkB,mCAAlB,GAAuDt6D,OAAO,CAAC4qE,eAA/D,GAAiF,IAA7G;AACD;;AACD,oBAAG5qE,OAAO,CAAC2qE,eAAR,IAAyB,OAA5B,EAAoC;AAClC,0BAAI,CAACyJ,mBAAL,IAA4Bp0E,OAAO,CAACs6D,QAAR,GAAkB,kCAAlB,GAAsDt6D,OAAO,CAAC4qE,eAA9D,GAAgF,IAA5G;AACD;AACJ,eAPL,MAQM,IAAG5qE,OAAO,CAACsrE,QAAR,IAAoB,CAAvB,EAAyB;AAC7B,oBAAGtrE,OAAO,CAAC2qE,eAAR,IAAyB,QAA5B,EAAqC;AACnC,0BAAI,CAACyJ,mBAAL,IAA4Bp0E,OAAO,CAACs6D,QAAR,GAAkB,iCAAlB,GAAsD,IAAlF;AACD;;AACD,oBAAGt6D,OAAO,CAAC2qE,eAAR,IAAyB,OAA5B,EAAoC;AAClC,0BAAI,CAACyJ,mBAAL,IAA4Bp0E,OAAO,CAACs6D,QAAR,GAAkB,gCAAlB,GAAqD,IAAjF;AACD;AACD,eAPI,MAQA,IAAGt6D,OAAO,CAACsrE,QAAR,IAAoB,CAAvB,EAAyB;AAC3B,wBAAI,CAAC8I,mBAAL,IAA4Bp0E,OAAO,CAACs6D,QAAR,GAAkB,sCAAlB,GAA2D,IAAvF;AACF;AAEH,aAtBD;AAwBA,oBAAI,CAAC8Z,mBAAL,IAA4B,uCAA5B;AACAc,sBAAU,GAAG/vD,GAAG,CAACnC,MAAJ,CAAW,UAAAC,GAAG,EAAE;AAC3B,qBAAOA,GAAG,CAACqoD,QAAJ,IAAgB,CAAvB;AACD,aAFY,CAAb;AAIA6J,oBAAQ,GAAGhwD,GAAG,CAACnC,MAAJ,CAAW,UAAAC,GAAG,EAAE;AACzB,qBAAOA,GAAG,CAACqoD,QAAJ,IAAgB,CAAvB;AACD,aAFU,CAAX;AAIA8J,uBAAW,GAAGjwD,GAAG,CAACnC,MAAJ,CAAW,UAAAC,GAAG,EAAE;AAC5B,qBAAOA,GAAG,CAACqoD,QAAJ,IAAgB,CAAvB;AACD,aAFa,CAAd;AAIA,oBAAI,CAAC5qD,MAAL,GAAc;AACZC,0BAAY,EAAG,QAAI,CAACuzD,qBADR;AAEZtzD,yBAAW,EAAE;AAFD,aAAd;;AAKA,gBAAGs0D,UAAU,CAAC96E,MAAX,GAAoB,CAApB,IAAyB+6E,QAAQ,CAAC/6E,MAAT,IAAmB,CAA/C,EAAiD;AAC/C,sBAAI,CAAC+5E,uBAAL,GAA+B,mBAA/B;;AACA,sBAAI,CAACkB,mBAAL;AACD,aAHD,MAIK,IAAGF,QAAQ,CAAC/6E,MAAT,GAAkB,CAAlB,IAAuB86E,UAAU,CAAC96E,MAAX,IAAqB,CAA/C,EAAiD;AACpD,sBAAI,CAAC+5E,uBAAL,GAA+B,oBAA/B;;AACA,sBAAI,CAACkB,mBAAL;AACD,aAHI,MAIA,IAAIF,QAAQ,CAAC/6E,MAAT,GAAkB,CAAlB,IAAuB86E,UAAU,CAAC96E,MAAX,GAAoB,CAA5C,IAAkDg7E,WAAW,CAACh7E,MAAZ,GAAqB,CAA1E,EAA4E;AAC/E,sBAAI,CAAC+5E,uBAAL,GAA+B,8DAA/B;;AACA,sBAAI,CAACkB,mBAAL;AACD;;AACD,oBAAI,CAACrB,sBAAL,GAA8B,EAA9B;AACA,oBAAI,CAACC,qBAAL,GAA6B,KAA7B;AACD,WA5DD,EA6DA,UAAC77C,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WAhED;AAiEF,S,CACJ;;;;mCACa+kE,O,EAAQC,a,EAAa;AAAA;;AAE9B,eAAKrH,cAAL,CAAoBsH,gBAApB,CAAqCF,OAArC,EAA6CC,aAA7C,EAA4D94E,SAA5D,CAAsE,UAAAquE,IAAI,EAAE;AAC1E,oBAAI,CAACgJ,YAAL,GAAoBhJ,IAApB;AACA,oBAAI,CAACjqD,YAAL,GAAkB,QAAI,CAACizD,YAAL,CAAkB15E,MAApC;;AACA,gBAAI,QAAI,CAACymB,YAAL,IAAqB,QAAI,CAACH,MAAL,CAAYC,YAArC,EAAmD;AAChD,sBAAI,CAACE,YAAL,GAAoB,QAAI,CAACA,YAAzB;AACA,sBAAI,CAACC,iBAAL,GAAyB,CAAzB;AACA,sBAAI,CAACqD,WAAL,GAAmB,QAAI,CAAC2vD,YAAL,CAAkB15E,MAAlB,CAAyBgqB,QAAzB,EAAnB;AACA,sBAAI,CAACC,WAAL,GAAkB,EAAlB;AACD,aALF,MAMM;AACH,sBAAI,CAACxD,YAAL,GAAoB,CAApB;AACA,sBAAI,CAACA,YAAL,GAAoB,QAAI,CAACH,MAAL,CAAYC,YAAhC;AACA,sBAAI,CAACG,iBAAL,GAAyB,CAAzB;AACA,sBAAI,CAACqD,WAAL,GAAmB,QAAI,CAAC2vD,YAAL,CAAkB15E,MAAlB,CAAyBgqB,QAAzB,EAAnB;AACA,sBAAI,CAACC,WAAL,GAAkB,EAAlB;AACD,aAfwE,CAgB1E;AACA;AACA;AAEH;AACE;;;AACA,gBAAG,CAACznB,YAAY,CAACM,OAAb,CAAqB,oBAArB,KAA4C,GAA5C,IAAmDN,YAAY,CAACM,OAAb,CAAqB,oBAArB,KAA4C,GAAhG,KAAwGN,YAAY,CAACM,OAAb,CAAqB,yBAArB,KAAiD,GAA5J,EAAgK;AAC/J,mBAAI,IAAIs1C,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,QAAI,CAACshC,YAAL,CAAkB15E,MAAhC,EAAuCo4C,CAAC,EAAxC,EAA2C;AAC7C;AACI,oBAAG,QAAI,CAACshC,YAAL,CAAkBthC,CAAlB,EAAqBjpB,MAArB,IAA+B,QAAlC,EAA2C;AACzC,0BAAI,CAACuqD,YAAL,CAAkBthC,CAAlB,EAAqBijC,oBAArB,GAA4C,KAA5C;AACF,iBAFA,MAGG;AACH,0BAAI,CAAC3B,YAAL,CAAkBthC,CAAlB,EAAqBijC,oBAArB,GAA4C,IAA5C;AACA;AACD;AACF,aAVA,MAWG;AACF,mBAAI,IAAIjjC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,QAAI,CAACshC,YAAL,CAAkB15E,MAAhC,EAAuCo4C,CAAC,EAAxC,EAA2C;AACzC,wBAAI,CAACshC,YAAL,CAAkBthC,CAAlB,EAAqBijC,oBAArB,GAA4C,IAA5C;AACA,wBAAI,CAACC,sBAAL,GAA8B,IAA9B;AACA;AACH,aAtC2E,CAwC5E;;;AACA,gBAAIC,oBAAoB,GAAG,EAA3B;AACAA,gCAAoB,GAAG,QAAI,CAAC7B,YAAL,CAAkB9wD,MAAlB,CAAyB,UAAAC,GAAG,EAAG;AAAC,qBAAOA,GAAG,CAACwyD,oBAAJ,IAA4B,KAAnC;AAA0C,aAA1E,CAAvB;AACA,gBAAGE,oBAAoB,CAACv7E,MAArB,GAA8B,CAAjC,EACE,QAAI,CAACs7E,sBAAL,GAA8B,KAA9B,CADF,KAGG,QAAI,CAACA,sBAAL,GAA8B,IAA9B;;AAEF,oBAAI,CAAC5B,YAAL,CAAkB/zE,OAAlB,CAA0B,UAAAC,OAAO,EAAI;AACnC,kBAAGA,OAAO,CAAC,cAAD,CAAP,IAA2B,GAA9B,EACGA,OAAO,CAAC,mBAAD,CAAP,GAA+B,eAA/B,CADH,KAEK,IAAGA,OAAO,CAAC,cAAD,CAAP,IAA2B,GAA9B,EACFA,OAAO,CAAC,mBAAD,CAAP,GAA+B,MAA/B,CADE,KAEA,IAAGA,OAAO,CAAC,cAAD,CAAP,IAA2B,GAA9B,EACFA,OAAO,CAAC,mBAAD,CAAP,GAA+B,MAA/B,CADE,KAGFA,OAAO,CAAC,mBAAD,CAAP,GAA+B,MAA/B;AACFA,qBAAO,CAACoQ,MAAR,GAAiBxT,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjB;AACF,aAVD;AAWA,WA3DD,EA4DA,UAACk7B,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WA/DD;;AAiEA,eAAK,IAAI8R,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKyxD,YAAL,CAAkB15E,MAAtC,EAA8CioB,CAAC,EAA/C,EAAmD;AACjD,iBAAKyxD,YAAL,CAAkBzxD,CAAlB,EAAqBuzD,kBAArB,GAA0C,KAA1C;AACD;;AACD,eAAKxyD,mBAAL,GAA2B,KAAK0wD,YAAL,CAAkB15E,MAA7C;AACD;;;kCACS;AAAE,eAAKylB,OAAL,GAAe,IAAf;AAAqB;;;kCACvB;AAAG,eAAKA,OAAL,GAAe,KAAf;AAAqB;;;+BAC3B;AAAE,eAAKH,SAAL,GAAiB,IAAjB;AACPzQ,WAAC,CAACnE,QAAD,CAAD,CAAY6U,KAAZ,CAAkB,YAAY;AAC5B1Q,aAAC,CAAC,cAAD,CAAD,CAAkBE,EAAlB,CAAqB,CAArB,EAAwByQ,KAAxB;AACD,WAFD;AAEK;;;+BACA;AAAE,eAAKF,SAAL,GAAiB,KAAjB;AAAyB;;;+CAEX;AACrB,eAAKm2D,eAAL,GAAuB,IAAvB;AACD;;;+CACsB;AAAE,eAAKA,eAAL,GAAuB,KAAvB;AAA+B;;;qCAC9C;AACR,eAAKC,eAAL,GAAqB,IAArB;AACD;;;0CACc;AACb,eAAKA,eAAL,GAAqB,KAArB;AACD;;;8CAIkB;AACjB,eAAKC,mBAAL,GAA2B,IAA3B;AACD,S,CACD;;;;8CACmB;AACjB,eAAKA,mBAAL,GAA2B,KAA3B;AACA,eAAKC,YAAL,GAAkB,KAAlB;;AACA,eAAK,IAAI3zD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKyxD,YAAL,CAAkB15E,MAAtC,EAA8CioB,CAAC,EAA/C,EAAmD;AACjD,iBAAKyxD,YAAL,CAAkBzxD,CAAlB,EAAqB4zD,cAArB,GAAoC,KAApC;AACD;AACF,S,CACH;;;;gCACU;AACNvxD,gBAAM,CAACC,MAAP,CAAc;AACZC,eAAG,EAAE,CADO;AAEZC,gBAAI,EAAE,CAFM;AAGZC,oBAAQ,EAAE;AAHE,WAAd;AAKD;;;mCACO,CACP,C,CACD;;;;oCACYvb,K,EAAO;AACjB,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACA,eAAKsX,YAAL,GAAoB,KAAKH,MAAL,CAAYE,WAAZ,GAAwB,KAAKF,MAAL,CAAYC,YAAxD;AACA,eAAKG,iBAAL,GAAyB,KAAKD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAAZ,GAAyB,CAA9C,CAAzB;AACA,cAAG,KAAKmzD,YAAL,CAAkB15E,MAAlB,IAA0B,KAAKymB,YAAlC,EACE,KAAKA,YAAL,GAAoB,KAAKizD,YAAL,CAAkB15E,MAAtC;AACH,S,CACD;;;;uCACeurB,M,EAAM;AACnB,eAAK9E,YAAL,GAAoB,CAApB;AACA,eAAKC,iBAAL,GAAuB,CAAvB;AACA,eAAKD,YAAL,GAAoB8E,MAAM,CAAC1uB,MAAP,CAAcsE,KAAlC;AACA,eAAK24E,qBAAL,GAA6BvuD,MAAM,CAAC1uB,MAAP,CAAcsE,KAA3C;AACA,eAAKmlB,MAAL,GAAc;AACZC,wBAAY,EAAE,KAAKE,YADP;AAEZD,uBAAW,EAAE;AAFD,WAAd,CALmB,CASpB;AACA,S,CACD;;;;sDAC8B;AAAA;;AAC5B,eAAKutD,eAAL,CAAqB/gD,8BAArB,CAAoDxwB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAApD,EAAwF,KAAKunB,UAAL,CAAgBL,QAAhB,EAAxF,EAAoH3nB,SAApH,CAA8H,UAAA0oB,GAAG,EAAI;AACnI,oBAAI,CAACmI,QAAL,GAAgBnI,GAAG,CAACoI,YAApB,CADmI,CAErI;AACA,WAHA,EAIF,UAAC6K,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WAPC;AAQD,S,CACH;;;;yCACmBqV,K,EAAMC,G,EAAG;AACxB;AAGF,cAAG,KAAKC,iBAAL,KAA2BF,KAA9B,EAAqC;AACnC,iBAAKxG,cAAL,GAAsB,CAAC,KAAKA,cAA5B;AACAk1D,4BAAgB,CAACzuD,GAAD,EAAK,KAAKzG,cAAV,CAAhB;AACD,WAHD,MAIK;AACH,iBAAK0G,iBAAL,GAAyBF,KAAzB;AACA,iBAAKxG,cAAL,GAAsB,IAAtB;AACAk1D,4BAAgB,CAACzuD,GAAD,EAAK,KAAKzG,cAAV,CAAhB;AACD;;AAED,cAAG,KAAKA,cAAR,EAAwB;AACtB,iBAAK00D,YAAL,GAAoB,KAAKA,YAAL,CAAkB/tD,IAAlB,CAAuB,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACnD;AACA;AACA;AACA;AACA;AACA;AACC,kBAAGL,KAAK,KAAK,UAAb,EAAwB;AACvB,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAC,CAAR;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAP;AACD,eALA,MAMI,IAAGA,KAAK,KAAI,aAAZ,EAA0B;AAC7B,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAP;AACD,eALI,CAML;AACA;AACA;AACA;AACA;AACA;AAXK,mBAYD;AACJ,sBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAwBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA5B,EACE,OAAO,CAAC,CAAR;AACF,sBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACD;;AACD,qBAAO,CAAP;AAED,aAjCmB,CAApB;AAkCD,WAnCD,MAoCM;AACJ,iBAAKqhE,YAAL,GAAoB,KAAKA,YAAL,CAAkB/tD,IAAlB,CAAuB,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAGL,KAAK,KAAK,UAAb,EAAwB;AACtB,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAP;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAC,CAAR;AACD,eALD,MAMK,IAAGA,KAAK,KAAI,aAAZ,EAA0B;AAC7B,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAP;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACD,eALI,CAML;AACA;AACA;AACA;AACA;AACA;AAXK,mBAYD;AACJ,sBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACF,sBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACD;;AACD,qBAAO,CAAP;AACD,aAjCmB,CAApB;AAkCD;AAEA;;;gDAIoB;AACnB,eAAK8S,aAAL;AACA;;;8CAEoB;AAEpB,eAAKP,QAAL,GAAgB,IAAhB;AACA,eAAKkxD,YAAL,IAAqB,KAAKA,YAA1B;;AAEA,cAAI,KAAKpC,YAAL,CAAkB15E,MAAlB,GAA2B,CAA/B,EAAkC;AAChC,iBAAK,IAAIioB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKyxD,YAAL,CAAkB15E,MAAtC,EAA8CioB,CAAC,EAA/C,EAAmD;AACjD,mBAAKyxD,YAAL,CAAkBzxD,CAAlB,EAAqB6gC,cAArB,GAAsC,KAAKgzB,YAA3C;AACD;AACF;;AACD,eAAK9vD,kBAAL;AACD;;;kCAEShW,M,EAAOmS,M,EAAM;AAErB,eAAKqzD,kBAAL,IAA2BrzD,MAA3B;;AACA,eAAK,IAAIF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKe,mBAAzB,EAA8Cf,CAAC,EAA/C,EAAmD;AAC/C,iBAAKyxD,YAAL,CAAkBzxD,CAAlB,EAAqBuzD,kBAArB,IAA2C,KAAKA,kBAAhD;AACL;;AACC,eAAKxvD,kBAAL;AACD;;;6CAGiB;AAChB,eAAK/G,WAAL,GAAmB,EAAnB;;AACA,eAAK,IAAIgD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKe,mBAAzB,EAA8Cf,CAAC,EAA/C,EAAmD;AACjD,gBAAG,KAAKyxD,YAAL,CAAkBzxD,CAAlB,EAAqBuzD,kBAArB,IAA2C,IAA9C,EACC,KAAKv2D,WAAL,CAAiBpf,IAAjB,CAAsB,KAAK6zE,YAAL,CAAkBzxD,CAAlB,CAAtB;AACF;;AACD,eAAKhD,WAAL,GAAmBviB,IAAI,CAACC,SAAL,CAAe,KAAKsiB,WAApB,CAAnB;;AAEA,cAAG,KAAKA,WAAL,CAAiBjlB,MAAjB,GAA0B,CAA7B,EAA+B;AAC9B,iBAAKklB,UAAL,GAAkB,KAAlB;AACA,WAFD,MAGI;AACF,iBAAKA,UAAL,GAAkB,IAAlB;AACD;AACF,S,CACD;;;;6CACkB;AACf,eAAK00D,sBAAL,GAA4B,EAA5B;;AACF,eAAK,IAAI3xD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKyxD,YAAL,CAAkB15E,MAAtC,EAA8CioB,CAAC,EAA/C,EAAmD;AAClD;AACA,gBAAG,KAAKyxD,YAAL,CAAkBzxD,CAAlB,EAAqB4zD,cAArB,IAAqC,IAArC,IAA6C,KAAKnC,YAAL,CAAkBzxD,CAAlB,EAAqBozD,oBAArB,IAA6C,KAA7F,EAAmG;AAChG,mBAAKzB,sBAAL,CAA4B/zE,IAA5B,CAAiC,KAAK6zE,YAAL,CAAkBzxD,CAAlB,CAAjC;AACD;AACF,WAPgB,CAQhB;AACA;AACA;AACA;AACA;AACF;;;AACE,cAAG,KAAK2xD,sBAAL,CAA4B55E,MAA5B,GAAqC,CAAxC,EAA0C;AACzC,iBAAK65E,qBAAL,GAA6B,IAA7B;AACA,WAFD,MAGI;AACF,iBAAKA,qBAAL,GAA6B,KAA7B;AACD;AACF,S,CACD;;;;sDAC2B;AACzB,eAAK+B,YAAL,IAAqB,KAAKA,YAA1B;;AACA,cAAI,KAAKlC,YAAL,CAAkB15E,MAAlB,GAA2B,CAA/B,EAAkC;AAChC,iBAAK,IAAIioB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKyxD,YAAL,CAAkB15E,MAAtC,EAA8CioB,CAAC,EAA/C,EAAmD;AACrD;AACI,kBAAG,KAAKyxD,YAAL,CAAkBzxD,CAAlB,EAAqBozD,oBAArB,IAA6C,KAAhD,EACA,KAAK3B,YAAL,CAAkBzxD,CAAlB,EAAqB4zD,cAArB,GAAsC,KAAKD,YAA3C;AACD;AACF,WAND,MAQA;AACE,iBAAK,IAAI3zD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKe,mBAAzB,EAA8Cf,CAAC,EAA/C,EAAmD;AACjD,mBAAKyxD,YAAL,CAAkBzxD,CAAlB,EAAqB4zD,cAArB,GAAsC,KAAKD,YAA3C;AACD;AACF;;AACF,eAAKG,kBAAL;AACA,S,CACD;;;;iDACyB/lE,M,EAAOmS,M,EAAM;AACpCA,gBAAM,IAAG,KAAKyzD,YAAd;;AACA,eAAK,IAAI3zD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKyxD,YAAzB,EAAuCzxD,CAAC,EAAxC,EAA4C;AACxC,iBAAKyxD,YAAL,CAAkBzxD,CAAlB,EAAqB4zD,cAArB,IAAuC,KAAKD,YAA5C;AACA,iBAAK/B,qBAAL,GAA2B,IAA3B;AACH;;AACH,eAAKkC,kBAAL;AACA;;;;;;;uBAtrBWvC,yB,EAAyB,gK,EAAA,uH,EAAA,kK,EAAA,4J,EAAA,4J;AAAA,K;;;YAAzBA,yB;AAAyB,6C;AAAA,gB;AAAA,c;AAAA,q8K;AAAA;AAAA;AClBtC;;AACI;;AACE;;AACE;;AACI;;AACI;;AAAoD;AAAA,mBAAS,IAAAjwC,UAAA,EAAT;AAAqB,WAArB,EAAsB,eAAtB,EAAsB;AAAA,mBAA+B,IAAAA,UAAA,EAA/B;AAA2C,WAAjE;;AAC8B;;AACtF;;AACA;;AACI;;AAA6I;;AAAY;;AAC7J;;AAEJ;;AACJ;;AAOC;;AAIA;;AACC;;AACA;;AACE;;AAAkC;AAAA,mBAAS,IAAAyyC,UAAA,EAAT;AAAqB,WAArB,EAAsB,eAAtB,EAAsB;AAAA,mBAAmB,IAAAA,UAAA,EAAnB;AAA+B,WAArD;;AAAlC;;AAIJ;;AACE;;AAKE;;AAAiB;AAAA,mBAAS,IAAAhuD,OAAA,EAAT;AAAkB,WAAlB;;AAAuC;;AAAO;;AAC/D;;AAAQ;;AAAQ;;AAAU;;AAC5B;;AAIF;;AAEE;;AACE;;AACE;;AACE;;AACE;;AAA6D;;AAAI;;AACnE;;AACF;;AACE;;AAA6B;AAAA,mBAAU,IAAAI,cAAA,QAAV;AAAgC,WAAhC;;AAE3B;;AAA4B;;AAAE;;AAC9B;;AAAmB;;AAAE;;AACrB;;AAAmB;;AAAE;;AACrB;;AAAoB;;AAAG;;AAC3B;;AACA;;AACA;;AACE;;AAAqE;;AAAO;;AAC9E;;AACA;;AAEA;;AACE;;AAEF;;AACA;;AACE;;AAAkC;AAAA,mBAAS,IAAA6tD,cAAA,EAAT;AAAyB,WAAzB;;AAAlC;;AACF;;AAEF;;AACA;;AAEF;;AACE;;AACI;;AACI;;AACE;;AAAiB;AAAA,mBAAiB,IAAAC,gBAAA,CAAiB,UAAjB,EAA4B,CAA5B,CAAjB;AAA+C,WAA/C,EAAiD,OAAjD,EAAiD;AAAA,mBAAU,IAAAA,gBAAA,CAAiB,UAAjB,EAA4B,CAA5B,CAAV;AAAwC,WAAzF;;AAAgH;;AAAS;;AAC1I;;AAAiB;AAAA,mBAAiB,IAAAA,gBAAA,CAAiB,eAAjB,EAAiC,CAAjC,CAAjB;AAAoD,WAApD,EAAsD,OAAtD,EAAsD;AAAA,mBAAU,IAAAA,gBAAA,CAAiB,eAAjB,EAAiC,CAAjC,CAAV;AAA6C,WAAnG;;AAA0H;;AAAc;;AACzJ;;AAAiB;AAAA,mBAAiB,IAAAA,gBAAA,CAAiB,aAAjB,EAA+B,CAA/B,CAAjB;AAAkD,WAAlD,EAAoD,OAApD,EAAoD;AAAA,mBAAU,IAAAA,gBAAA,CAAiB,aAAjB,EAA+B,CAA/B,CAAV;AAA2C,WAA/F;;AAAsH;;AAA6B;;AACpK;;AAAiB;AAAA,mBAAiB,IAAAA,gBAAA,CAAiB,UAAjB,EAA4B,CAA5B,CAAjB;AAA+C,WAA/C,EAAiD,OAAjD,EAAiD;AAAA,mBAAU,IAAAA,gBAAA,CAAiB,UAAjB,EAA4B,CAA5B,CAAV;AAAwC,WAAzF;;AAAgH;;AAAQ;;AACzI;;AAAkB;AAAA,mBAAiB,IAAAA,gBAAA,CAAiB,WAAjB,EAA6B,CAA7B,CAAjB;AAAgD,WAAhD,EAAkD,OAAlD,EAAkD;AAAA,mBAAU,IAAAA,gBAAA,CAAiB,WAAjB,EAA6B,CAA7B,CAAV;AAAyC,WAA3F;;AAAkH;;AAAS;;AAG7I;;AAAkB;AAAA,mBAAiB,IAAAA,gBAAA,CAAiB,QAAjB,EAA0B,CAA1B,CAAjB;AAA6C,WAA7C,EAA+C,OAA/C,EAA+C;AAAA,mBAAU,IAAAA,gBAAA,CAAiB,QAAjB,EAA0B,CAA1B,CAAV;AAAsC,WAArF;;AAA4G;;AAAM;;AACpI;;AAAiB;AAAA,mBAAiB,IAAAA,gBAAA,CAAiB,mBAAjB,EAAqC,CAArC,CAAjB;AAAwD,WAAxD,EAA0D,OAA1D,EAA0D;AAAA,mBAAU,IAAAA,gBAAA,CAAiB,mBAAjB,EAAqC,CAArC,CAAV;AAAiD,WAA3G;;AAAkI;;AAAa;;AAChK;;AAA2D;;AAAQ;;AAEnE;;AAWC;;AACL;;AAEA;;AACE;;;;AA4CA;;AAIF;;AAGF;;AACA;;AACE;;AACE;;AACE;;AACF;;AAEF;;AACA;;AACE;;AAAsB;AAAA,mBAAc,IAAA3yD,WAAA,QAAd;AAAiC,WAAjC;;AAAyD;;AACjF;;AACF;;AAEL;;AACH;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AAAyF;AAAA,mBAAW,IAAAL,IAAA,EAAX;AAAiB,WAAjB;;AACvF;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACA;;AAAoC;;AAAgC;;AACpE;;AACA;;AACE;;AAA2E;AAAA,mBAAS,IAAAizD,mBAAA,EAAT;AAA8B,WAA9B;;AAA3E;;AACA;;AAAQ;AAAA,mBAAS,IAAAjzD,IAAA,EAAT;AAAe,WAAf;;AAEY;;AAAK;;AACzB;;AACA;;AACJ;;AACJ;;AAEA;;AACE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AAA4E;AAAA,mBAAW,IAAAkzD,eAAA,EAAX;AAA4B,WAA5B;;AAC1E;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACA;;AAAoC;;AAAQ;;AAAuB;;AAAS;;AAC5E;;AAAoC;;AAAoB;;AACtD;;AAA0C;;AAC5C;;AACA;;AAEE;;AAAQ;AAAA,mBAAS,IAAAA,eAAA,EAAT;AAA0B,WAA1B;;AAEa;;AAAK;;AAC1B;;AAEA;;AACJ;;AACJ;;AACA;;AACE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AAA4E;AAAA,mBAAW,IAAAlxD,aAAA,EAAX;AAA0B,WAA1B;;AAC1E;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACA;;AAAoC;;AAA4C;;AAChF;;AACA;;AACE;;AAA6C;AAAA,mBAAS,IAAAqD,gBAAA,EAAT;AAA2B,WAA3B;;AAA7C;;AACA;;AAAQ;AAAA,mBAAS,IAAArD,aAAA,EAAT;AAAwB,WAAxB;;AAEY;;AAAM;;AAC1B;;AACA;;AACJ;;AACJ;;AAEA;;AAEU;;AACI;;AACI;;AACI;;AAA2E;;AAAY;;AACvF;;AACI;AAAA,mBAAS,IAAA0vD,oBAAA,EAAT;AAA+B,WAA/B;;AACA;;AAAyB;;AAAO;;AACpC;;AACJ;;AACA;;AACI;;AAAoC;;AAAsC;;AAC9E;;AACA;;AACI;;AAAyD;AAAA,mBAAS,IAAAyB,eAAA,EAAT;AAA0B,WAA1B;;AAAzD;;AACA;;AAAQ;AAAA,mBAAS,IAAAzB,oBAAA,EAAT;AAA+B,WAA/B;;AAEiB;;AAAK;;AAClC;;AACJ;;AACJ;;AACJ;;AAEA;;AACE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AAA4E;AAAA,mBAAW,IAAA0B,mBAAA,EAAX;AAAgC,WAAhC;;AAC1E;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACA;;AAAoC;;AAAQ;;AAA2B;;AAAS;;AAChF;;AAAoD;;AAAuB;;AAC3E;;AACA;;AACE;;AAAQ;AAAA,mBAAS,IAAAA,mBAAA,EAAT;AAA8B,WAA9B;;AAEY;;AAAK;;AACzB;;AACA;;AACJ;;AACJ;;;;AApRqJ;;AAAA;;AAwBrJ;;AAAA;;AAK0B;;AAAA;;AA4BnB;;AAAA;;AAyBO;;AAAA;;AAeF;;AAAA;;AA4CA;;AAAA;;AAWF;;AAAA;;AAYX;;AAAA;;AAsBA;;AAAA;;AAU6C;;AAAA;;AACR;;AAAA;;AAarC;;AAAA;;AAsBA;;AAAA;;AAwBM;;AAAA;;AAU6C;;AAAA;;AACQ;;AAAA;;;;;;;;;;sEDlQrD9C,yB,EAAyB;cALrC,uDAKqC;eAL3B;AACT1mE,kBAAQ,EAAE,wBADD;AAET4D,qBAAW,EAAE,qCAFJ;AAGT3D,mBAAS,EAAE,CAAC,oCAAD;AAHF,S;AAK2B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEnBtC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;AC0Da;;AACC;;AACD;;;;;;AA4BL;;AACE;;AACD;;;;;;AAkFC;;;;;;;;AACA;;AACE;;AAKM;;AAAoC;AAAA;;AAAA;;AAAA;AAAA;;AAEhC;;AACI;;AAEA;;AAAoG;;AACpG;;AAEI;;AAA8B;AAAA;;AAAA;;AAAA;AAAA;;AAAsC;;AAAkH;;AAAkB;;AACpM;;AACC;;AAAI;;AAAmG;AAAA;;AAAA;;AAAA,0CAA0B,OAA1B;AAAiC,SAAjC,EAAmC,eAAnC,EAAmC;AAAA;;AAAA;;AAAA,0CAAmC,OAAnC;AAA0C,SAA7E;;AAAgF;;AAAiB;;AAAI;;AAC5M;;AAAI;;AAAmG;AAAA;;AAAA;;AAAA,0CAA0B,MAA1B;AAAgC,SAAhC,EAAkC,eAAlC,EAAkC;AAAA;;AAAA;;AAAA,0CAAmC,MAAnC;AAAyC,SAA3E;;AAA8E;;AAAgB;;AAAI;;AACzM;;AAAI;;AAAmG;AAAA;;AAAA;;AAAA,6CAA6B,KAA7B;AAAkC,SAAlC,EAAoC,eAApC,EAAoC;AAAA;;AAAA;;AAAA,6CAAsC,KAAtC;AAA2C,SAA/E;;AAAkF;;AAAe;;AAAI;;AAC5M;;AAAI;;AAAoG;AAAA;;AAAA;;AAAA,0CAA0B,KAA1B;AAA+B,SAA/B,EAAiC,eAAjC,EAAiC;AAAA;;AAAA;;AAAA,0CAAoC,KAApC;AAAyC,SAA1E;;AAA6E;;AAAe;;AAAI;;AAEzM;;AACJ;;AACJ;;AACJ;;AAEJ;;AAEL;;AACH;;;;;;;;AACA;;AACE;;AAKM;;AAAoC;AAAA;;AAAA;;AAAA;AAAA;;AAEhC;;AACI;;AAEA;;AAAoG;;AACpG;;AAEE;;AAA8B;AAAA;;AAAA;;AAAA;AAAA;;AAAsC;;AAAkH;;AAAkB;;AACpM;;AACC;;AAAI;;AAAmG;AAAA;;AAAA;;AAAA,0CAA0B,OAA1B;AAAiC,SAAjC,EAAmC,eAAnC,EAAmC;AAAA;;AAAA;;AAAA,0CAAmC,OAAnC;AAA0C,SAA7E;;AAAgF;;AAAiB;;AAAI;;AAC5M;;AAAI;;AAAmG;AAAA;;AAAA;;AAAA,0CAA0B,MAA1B;AAAgC,SAAhC,EAAkC,eAAlC,EAAkC;AAAA;;AAAA;;AAAA,0CAAmC,MAAnC;AAAyC,SAA3E;;AAA8E;;AAAgB;;AAAI;;AACzM;;AAAI;;AAAmG;AAAA;;AAAA;;AAAA,6CAA6B,KAA7B;AAAkC,SAAlC,EAAoC,eAApC,EAAoC;AAAA;;AAAA;;AAAA,6CAAsC,KAAtC;AAA2C,SAA/E;;AAAkF;;AAAe;;AAAI;;AAC5M;;AAAI;;AAAoG;AAAA;;AAAA;;AAAA,0CAA0B,KAA1B;AAA+B,SAA/B,EAAiC,eAAjC,EAAiC;AAAA;;AAAA;;AAAA,0CAAoC,KAApC;AAAyC,SAA1E;;AAA6E;;AAAe;;AAAI;;AAEzM;;AACJ;;AACJ;;AACF;;AAEJ;;AAEL;;AACH;;;;;;;;AA2CY;;AACE;;AACE;;AAA+E;AAAA;;AAAA;;AAAA;AAAA,WAA4B,QAA5B,EAA4B;AAAA;;AAAA;;AAAA;AAAA,SAA5B;;AAA/E;;AAGA;;AACF;;AACF;;;;;;AALwD;;AAAA,oGAA0B,SAA1B,EAA0B,sBAA1B;;;;;;;;AAiD5D;;AACE;;AAEE;;AAAuB;AAAA;;AAAA;;AAAA;AAAA,WAAqC,QAArC,EAAqC;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAArC;;AAAvB;;AAKA;;AACF;;AACF;;;;;;AAJkC;;AAAA;;AAC7B;;AAJsB,yGAAqC,UAArC,EAAqC,2BAArC,EAAqC,SAArC,EAAqC,2BAArC;;AAKa;;AAAA;;;;;;;;AAhD1C;;AACE;;AAEI;;AAEF;;AACF;;AAAuC;;AAAuB;;AAC9D;;AAAuC;;AAAyB;;AAChE;;AAAuC;;AAA2B;;AAClE;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAAsB;;AAG1B;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAAgC;;AACpC;;AACE;;AACE;;AACE;;AAAgB;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAA2C,OAA3C,EAA2C;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAA3C;;AAAgN;;AACpO;;AACE;;AACE;;AAAgB;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAA2C,OAA3C,EAA2C;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAA3C;;AAA4K;;AAAyF;;AACtR;;AACD;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAA0C,OAA1C,EAA0C;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAA1C;;AAA8U;;AACjW;;AAEF;;AACC;;AAAgB;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAoC,OAApC,EAAoC;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAApC;;AAA8J;;AAAiG;;AAChR;;AACA;;AACA;;AAA8E;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAA2C,OAA3C,EAA2C;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAA3C;;AAAkF;;AAA4N;;AAC5X;;AACA;;AACE;;AAAgB;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAmC,OAAnC,EAAmC;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAAnC;;AAChB;;AAAsB;;AAC1B;;AACA;;AACA;;AACA;;AAiBF;;;;;;;;AAtDM;;AAAA;;AAGmC;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACnC;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAGsB;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA,yHAAoD,QAApD,EAAoD,mDAApD;;AAC8D;;AAAA;;AAAkH;;AAGnL;;AAAA;;AAGC;;AAAA,kHAA6C,QAA7C,EAA6C,kDAA7C;;AACN;;AAAA;;AAA4Q;;AAAA;;AAEtQ;;AAAA;;AAC4D;;AAAA;;AAKhF;;AAAA;;;;;;AAkBN;;AACE;;AAAiB;;AAAiB;;AACpC;;;;;;AACA;;AACE;;AAAiB;;AAAiB;;AACpC;;;;;;;;AAgBF;;AACE;;AAOA;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAoB,eAApB,EAAoB;AAAA;;AAAA;;AAAA;AAAA,SAApB;;AAAmD;;AAAiD;;AAAO;;AAAI;;AAChI;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAmB,eAAnB,EAAmB;AAAA;;AAAA;;AAAA;AAAA,SAAnB;;AAAiD;;AAAiD;;AAAM;;AAAI;;AACjI;;AAMF;;;;AARmG;;AAAA;;AACF;;AAAA;;;;;;AA6CrG;;AACE;;AAAmD;;AAAsB;;AACzE;;AAAkD;;AAAuB;;AACzE;;AAAkD;;AAAyB;;AAC3E;;AAAmD;;AAA2B;;AAC9E;;AAAkD;;AAAwB;;AAE1E;;AAAmD;;AAA0B;;AAC7E;;AAAkD;;AAA0B;;AAC5E;;AAAkD;;AAAsB;;AAExE;;AAAkD;;AAAsB;;AACxE;;AAAkD;;AAAsB;;AACxE;;AAAkD;;AAAsB;;AACxE;;AAAkD;;AAAsB;;AACxE;;AAAkD;;AAAsB;;AACxE;;AAAkD;;AAAsB;;AAC1E;;;;;;AAhBqD;;AAAA;;AACD;;AAAA;;AACA;;AAAA;;AACC;;AAAA;;AACD;;AAAA;;AAEC;;AAAA;;AACD;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AA8BlD;;AACE;;AAAoE;;AAAqB;;AACzF;;AAAqE;;AAAuB;;AAC5F;;AAAoE;;AAAyB;;AAC7F;;AAAoE;;AAA2B;;AAC/F;;AAAoE;;AAAwB;;AAE5F;;AAAmE;;AAA0B;;AAE7F;;AAAmE;;AAAsB;;AACzF;;AAAmE;;AAAsB;;AACzF;;AAAmE;;AAAsB;;AACzF;;AAAmE;;AAAsB;;AACzF;;AAAmE;;AAAgC;;AACvG;;;;;;AAbwE;;AAAA;;AACC;;AAAA;;AACD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAED;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AA8BrE;;AACE;;AAAoE;;AAAqB;;AACzF;;AAAqE;;AAAuB;;AAC5F;;AAAoE;;AAAyB;;AAC7F;;AAAoE;;AAA2B;;AAC/F;;AAAoE;;AAAwB;;AAE5F;;AAAmE;;AAA0B;;AAE7F;;AAAmE;;AAAsB;;AACzF;;AAAmE;;AAAsB;;AACzF;;AAAmE;;AAAsB;;AACzF;;AAAmE;;AAAsB;;AACzF;;AAAmE;;AAAgC;;AACvG;;;;;;AAbwE;;AAAA;;AACC;;AAAA;;AACD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAED;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;;;;;QDjflEwpE,qB;AAgEZ;AAEC,qCAAmB9C,cAAnB,EAAiE1qE,MAAjE,EAAuFuV,QAAvF,EAA0HD,WAA1H,EACUyb,sBADV,EACgEnsB,QADhE,EACgG;AAAA;;AAD7E,aAAA8lE,cAAA,GAAAA,cAAA;AAA8C,aAAA1qE,MAAA,GAAAA,MAAA;AAAsB,aAAAuV,QAAA,GAAAA,QAAA;AAAmC,aAAAD,WAAA,GAAAA,WAAA;AAChH,aAAAyb,sBAAA,GAAAA,sBAAA;AAAsD,aAAAnsB,QAAA,GAAAA,QAAA;AAlEhE,aAAA4Q,KAAA,GAAQ,IAAI1jB,IAAJ,EAAR;AACA,aAAA2jB,WAAA,GAAmC;AACjCC,mBAAS,EAAE,KADsB;AAEjCC,oBAAU,EAAE,YAFqB;AAGjCC,sBAAY,EAAE;AAAC/f,gBAAI,EAAE,KAAK2f,KAAL,CAAWxiB,WAAX,EAAP;AAAiC+B,iBAAK,EAAE,KAAKygB,KAAL,CAAWviB,QAAX,KAAwB,CAAhE;AAAmE4iB,eAAG,EAAE,KAAKL,KAAL,CAAWtiB,OAAX,KAAuB;AAA/F,WAHmB,CAKjC;;AALiC,SAAnC,CAiEgG,CAzDjG;;AACC,aAAAm4E,MAAA,GAAa,EAAb;AAEA,aAAAoC,SAAA,GAAgB,EAAhB;AACA,aAAAC,cAAA,GAAuB,EAAvB;AAGA,aAAAC,MAAA,GAAc,IAAd;AAqBA,aAAA13D,cAAA,GAAiB,IAAjB;AASA,aAAAC,WAAA,GAAgB,EAAhB;AAEA,aAAAC,UAAA,GAAqB,IAArB;AAcA,aAAAy3D,cAAA,GAAsB,EAAtB;AAImG;;;;mCAE3F;AACN,eAAKr4D,QAAL,CAAcwB,IAAd;;AACA,eAAKC,KAAL;;AACA,cAAGvjB,YAAY,CAACM,OAAb,CAAqB,aAArB,KAAqC,IAAxC,EAA6C;AAC3C,iBAAKiM,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,EAAD,CAArB;AACA;AACD;;AAED,cAAG,CAAC,mCAAC,CAAC,mBAAD,CAAD,CAAuBwP,EAAvB,CAA0B,UAA1B,CAAJ,EAA0C;AACxC,+CAAC,CAAC,mBAAD,CAAD,CAAuB7Q,GAAvB,CAA2B,SAA3B,EAAqC,OAArC;AACD;;AAED,eAAK8nE,YAAL;AACA,eAAKD,cAAL,GAAsBn6E,YAAY,CAACM,OAAb,CAAqB,gBAArB,CAAtB;AACAN,sBAAY,CAACwjB,UAAb,CAAwB,cAAxB;AACAxjB,sBAAY,CAACwjB,UAAb,CAAwB,iBAAxB;AACAxjB,sBAAY,CAACwjB,UAAb,CAAwB,gBAAxB;AAEA,eAAKI,kBAAL;AAEA,eAAKE,MAAL,GAAc;AACZC,wBAAY,EAAE,EADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAKA,eAAKC,YAAL,GAAmB,EAAnB;AACA,eAAKC,iBAAL,GAAyB,CAAzB;AACAm2D,4BAAkB,CAAC,CAAD,EAAG,KAAH,CAAlB;AACD,S,CAED;;;;0CACkB;AAChB,eAAKpD,cAAL,CAAoBttD,QAApB,GAA+B;AAC7BkzC,oBAAQ,EAAC,CADoB;AAE7BwI,sBAAU,EAAC,EAFkB;AAG7B+P,wBAAY,EAAC,IAHgB;AAI7BC,0BAAc,EAAC,IAJc;AAK7BC,4BAAgB,EAAC,IALY;AAM7BC,yBAAa,EAAC,IANe;AAO7BC,uBAAW,EAAC,IAPiB;AAQ7BP,2BAAe,EAAC,EARa;AAS7B1nB,qBAAS,EAAC,CATmB;AAU7BkoB,qBAAS,EAAC,CAVmB;AAW7Br8C,2BAAe,EAAC,EAXa;AAY7BhS,uBAAW,EAAC,EAZiB;AAa7B4C,uBAAW,EAAC,EAbiB;AAc7BwI,eAAG,EAAC,EAdyB;AAe7BsE,oBAAQ,EAAC,EAfoB;AAgB7BuC,oBAAQ,EAAC,QAhBoB;AAiB7B1M,kBAAM,EAAC,CAjBsB;AAkB7BqoD,uBAAW,EAAC,QAlBiB;AAmB7BntD,sBAAU,EAAC,IAnBkB;AAoB7B6tD,wBAAY,EAAC,CApBgB;AAqB7BC,4BAAgB,EAAC,CArBY;AAsB7BC,iCAAqB,EAAC,EAtBO;AAuB7B/uD,uBAAW,EAAC,EAvBiB;AAwB7B+S,uBAAW,EAAC,EAxBiB;AAyB7Bu7C,wBAAY,EAAC,IAzBgB;AAyBXx7C,uBAAW,EAAC,EAzBD;AA0B7Bk8C,2BAAe,EAAC,IA1Ba;AA2B7Bp9C,qBAAS,EAAC,IA3BmB;AA4B7Bq9C,sBAAU,EAAC,IA5BkB;AA6B7Bj9C,uBAAW,EAAC;AA7BiB,WAA/B;AA+BA,eAAKtsB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,YAAD,CAArB;AACD,S,CAED;;;;uCACe;AACb,eAAKsjE,cAAL,CAAoBttD,QAApB,GAA+B;AAC7BkzC,oBAAQ,EAAC,CADoB;AAE7BwI,sBAAU,EAAC,EAFkB;AAG7B+P,wBAAY,EAAC,IAHgB;AAI7BC,0BAAc,EAAC,IAJc;AAK7BC,4BAAgB,EAAC,IALY;AAM7BC,yBAAa,EAAC,IANe;AAO7BC,uBAAW,EAAC,IAPiB;AAQ7BP,2BAAe,EAAC,EARa;AAS7B1nB,qBAAS,EAAC,CATmB;AAU7BkoB,qBAAS,EAAC,CAVmB;AAW7Br8C,2BAAe,EAAC,EAXa;AAY7BhS,uBAAW,EAAC,EAZiB;AAa7B4C,uBAAW,EAAC,EAbiB;AAc7BwI,eAAG,EAAC,EAdyB;AAe7BsE,oBAAQ,EAAC,EAfoB;AAgB7BuC,oBAAQ,EAAC,QAhBoB;AAiB7B1M,kBAAM,EAAC,CAjBsB;AAkB7BqoD,uBAAW,EAAC,QAlBiB;AAmB7BntD,sBAAU,EAAC,IAnBkB;AAoB7B6tD,wBAAY,EAAC,CApBgB;AAqB7BC,4BAAgB,EAAC,CArBY;AAsB7BC,iCAAqB,EAAC,EAtBO;AAuB7B/uD,uBAAW,EAAC,EAvBiB;AAwB7B+S,uBAAW,EAAC,EAxBiB;AAyB7Bu7C,wBAAY,EAAC,IAzBgB;AAyBXx7C,uBAAW,EAAC,EAzBD;AA0B7Bk8C,2BAAe,EAAC,IA1Ba;AA2B7Bp9C,qBAAS,EAAC,IA3BmB;AA4B7Bq9C,sBAAU,EAAC,IA5BkB;AA6B7Bj9C,uBAAW,EAAC;AA7BiB,WAA/B;AA+BA,S,CAEH;;;;qCACW;AAAA;;AACR,eAAKo+C,cAAL,CAAoBU,oBAApB,CAAyC33E,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAzC,EAA8ET,SAA9E,CAAwF,UAAA+3E,MAAM,EAAE;AAC9F,oBAAI,CAACoC,SAAL,GAAiB,EAAjB;AAEApC,kBAAM,CAACz0E,OAAP,CAAe,UAAAC,OAAO,EAAE;AACtB,kBAAGA,OAAO,CAAC,kBAAD,CAAP,IAA+B,CAAlC,EACEA,OAAO,CAAC,uBAAD,CAAP,GAAmC,gBAAnC,CADF,KAEK,IAAGA,OAAO,CAAC,kBAAD,CAAP,IAA+B,CAAlC,EACHA,OAAO,CAAC,uBAAD,CAAP,GAAmC,SAAnC,CADG,KAEA,IAAGA,OAAO,CAAC,kBAAD,CAAP,IAA+B,CAAlC,EACHA,OAAO,CAAC,uBAAD,CAAP,GAAmC,UAAnC,CADG,KAEA,IAAGA,OAAO,CAAC,kBAAD,CAAP,IAA+B,CAAlC,EACHA,OAAO,CAAC,uBAAD,CAAP,GAAmC,UAAnC,CADG,KAEA,IAAGA,OAAO,CAAC,kBAAD,CAAP,IAA+B,CAAlC,EACHA,OAAO,CAAC,uBAAD,CAAP,GAAmC,sBAAnC;;AAEA,sBAAI,CAAC42E,SAAL,CAAe32E,IAAf,CAAoBD,OAApB;AACH,aAbD;;AAeA,iBAAK,IAAIqiB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACu0D,SAAL,CAAex8E,MAAnC,EAA2CioB,CAAC,EAA5C,EAAgD;AAC9C,kBAAG,QAAI,CAACu0D,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAkC,CAArC,EAAuC;AACrC,wBAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkBkU,WAAlB,GAA8B,sBAA9B;AACD,eAFD,MAGK,IAAG,QAAI,CAACqgD,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAkC,CAArC,EAAuC;AAC1C,wBAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkBkU,WAAlB,GAA8B,cAA9B;AACD,eAFI,MAGA,IAAG,QAAI,CAACqgD,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAkC,CAArC,EAAuC;AAC1C,wBAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkBkU,WAAlB,GAA8B,cAA9B;AACD,eAFI,MAGA,IAAG,QAAI,CAACqgD,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAkC,CAArC,EAAuC;AAC1C,wBAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkBkU,WAAlB,GAA8B,uBAA9B;AACD,eAFI,MAGA,IAAG,QAAI,CAACqgD,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAkC,CAArC,EAAuC;AAC1C,wBAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkBkU,WAAlB,GAA8B,eAA9B;AACD,eAFI,MAGA,IAAG,QAAI,CAACqgD,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAkC,CAArC,EAAuC;AAC1C,wBAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkBkU,WAAlB,GAA8B,eAA9B;AACD,eAFI,MAGA,IAAG,QAAI,CAACqgD,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAkC,CAArC,EAAuC;AAC1C,wBAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkBkU,WAAlB,GAA8B,yBAA9B;AACD,eAFI,MAGA,IAAG,QAAI,CAACqgD,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAkC,CAArC,EAAuC;AAC1C,wBAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkBkU,WAAlB,GAA8B,iBAA9B;AACD,eAFI,MAGA,IAAG,QAAI,CAACqgD,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAkC,CAArC,EAAuC;AAC1C,wBAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkBkU,WAAlB,GAA8B,iBAA9B;AACD,eAFI,MAGA;AACH,wBAAI,CAACqgD,SAAL,CAAev0D,CAAf,EAAkBkU,WAAlB,GAA8B,EAA9B;AACD;;AACD,kBAAG,QAAI,CAACqgD,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAkC,GAAlC,IAAyC,QAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAkC,GAA9E,EAAkF;AAChF,wBAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkB60D,mBAAlB,GAAwC,IAAxC;AACD,eAFD,MAGK,IAAG,QAAI,CAACN,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAkC,GAAlC,KAA0C,CAAC,QAAI,CAAC5lB,aAAN,IAAuB,QAAI,CAACyqB,SAAL,CAAev0D,CAAf,EAAkB8nC,SAAlB,IAA+B,QAAI,CAACp8C,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAAhG,CAAH,EAA0K;AAC7K,wBAAI,CAAC05E,SAAL,CAAev0D,CAAf,EAAkB60D,mBAAlB,GAAwC,IAAxC;AACD,eAFI,MAGD;AAAC,wBAAI,CAACN,SAAL,CAAev0D,CAAf,EAAkB60D,mBAAlB,GAAsC,KAAtC;AAA6C,eArCJ,CAuC9C;;;AAEA,kBAAI,QAAI,CAACN,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAgC,GAAhC,IAAuC,QAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAgC,GAAvE,IAA8E,QAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAgC,GAA9G,IAAsH,QAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAgC,GAAhC,IACrH,QAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkBkwD,gBAAlB,IAAsC,GAD3C,EACiD;AAAC;AACjD;AACC,wBAAI,CAACqE,SAAL,CAAev0D,CAAf,EAAkB80D,kBAAlB,GAAqC,KAArC;AACD,eAJD,MAKI;AACF,wBAAI,CAACP,SAAL,CAAev0D,CAAf,EAAkB80D,kBAAlB,GAAqC,IAArC;AACD;;AAED,kBAAG,QAAI,CAACP,SAAL,CAAev0D,CAAf,EAAkBkwD,gBAAlB,IAAsC,GAAtC,IAA6C,QAAI,CAACpmB,aAAlD,IAAmE,QAAI,CAACyqB,SAAL,CAAev0D,CAAf,EAAkBowD,eAAlB,IAAqC,CAAC,QAAI,CAAC1kE,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAA5G,EAAkL;AAChL,wBAAI,CAAC05E,SAAL,CAAev0D,CAAf,EAAkB80D,kBAAlB,GAAqC,IAArC;AACD;;AACD,kBAAG,QAAI,CAACP,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAgC,GAAhC,IAAuC,CAAC,QAAI,CAAC5wD,iBAAhD,EAAoE;AAClE,wBAAI,CAACy1D,SAAL,CAAev0D,CAAf,EAAkB80D,kBAAlB,GAAqC,KAArC;AACD,eAFD,MAGK,IAAG,QAAI,CAACP,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAgC,GAAhC,IAAuC,QAAI,CAAC5wD,iBAA5C,IAAiE,QAAI,CAACy1D,SAAL,CAAev0D,CAAf,EAAkBkwD,gBAAlB,IAAoC,GAAxG,EAA4G;AAC/G,wBAAI,CAACqE,SAAL,CAAev0D,CAAf,EAAkB80D,kBAAlB,GAAqC,KAArC;AACD,eAFI,MAGA,IAAG,QAAI,CAACP,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAgC,GAAhC,IAAuC,QAAI,CAAC5wD,iBAA5C,IAAiE,QAAI,CAACy1D,SAAL,CAAev0D,CAAf,EAAkBkwD,gBAAlB,IAAoC,GAAxG,EAA4G;AAC/G,wBAAI,CAACqE,SAAL,CAAev0D,CAAf,EAAkB80D,kBAAlB,GAAqC,KAArC;AACD,eAFI,CAEJ;AAFI,mBAGA,IAAG,QAAI,CAACP,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAgC,GAAhC,KAAwC,QAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkBkwD,gBAAlB,IAAoC,GAApC,IAA2C,QAAI,CAACqE,SAAL,CAAev0D,CAAf,EAAkBkwD,gBAAlB,IAAoC,GAAvH,CAAH,EAA+H;AAClI,0BAAI,CAACqE,SAAL,CAAev0D,CAAf,EAAkB80D,kBAAlB,GAAqC,KAArC;AACD,iBAFI,MAGA,IAAG,QAAI,CAACP,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAgC,GAAhC,KAAwC,QAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkBkwD,gBAAlB,IAAoC,GAApC,IAA2C,QAAI,CAACqE,SAAL,CAAev0D,CAAf,EAAkBkwD,gBAAlB,IAAoC,GAAvH,CAAH,EAA+H;AAClI,0BAAI,CAACqE,SAAL,CAAev0D,CAAf,EAAkB80D,kBAAlB,GAAqC,KAArC;AACD;;AAED,kBAAG,QAAI,CAACP,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAgC,GAAhC,IAAuC,QAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAgC,GAAvE,IAA8E,QAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkB0vD,YAAlB,IAAgC,GAAjH,EACA,QAAI,CAAC6E,SAAL,CAAev0D,CAAf,EAAkBG,kBAAlB,GAAuC,KAAvC,CADA,KAGA,QAAI,CAACo0D,SAAL,CAAev0D,CAAf,EAAkBG,kBAAlB,GAAuC,IAAvC,CAxE8C,CAyEhD;AACC;;AACD,iBAAK,IAAIH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACu0D,SAAL,CAAex8E,MAAnC,EAA2CioB,CAAC,EAA5C,EAAgD;AAC9C,kBAAG,QAAI,CAACu0D,SAAL,CAAev0D,CAAf,EAAkB8nC,SAAlB,IAA8B,QAAI,CAACp8C,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAAjC,EAAuG;AACrG,wBAAI,CAAC05E,SAAL,CAAev0D,CAAf,EAAkB+0D,gBAAlB,GAAqC,IAArC;AACD;;AAAA,sBAAI,CAACR,SAAL,CAAev0D,CAAf,EAAkBg1D,gBAAlB,GAAqC,KAArC;AACF;;AACD,oBAAI,CAACR,cAAL,GAAsB,QAAI,CAACD,SAA3B;AACA,oBAAI,CAACxzD,mBAAL,GAA2B,QAAI,CAACwzD,SAAL,CAAex8E,MAA1C;AACA,oBAAI,CAACy5E,cAAL,CAAoBttD,QAApB,CAA6BqrD,WAA7B,GAAyC,EAAzC,CApG8F,CAqG9F;AACA;AACA;AACA;AACA;AACA;AACC;AACD;;AACG,oBAAI,CAACvuD,QAAL,CAAc,EAAd,EAAiB,IAAjB,EAAsB,IAAtB,EAA2B,IAA3B,EAAgC,EAAhC,EAAmC,EAAnC,EAAsC,EAAtC,EAAyC,EAAzC;;AACCxhB,sBAAU,CAAC,YAAM;AACf,sBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACH,aAFW,EAET,GAFS,CAAV;AAGL,WAjHD,EAkHA,UAAC8U,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WArHD;AAsHD,S,CAED;;;;6CACkB;AAAA;;AAChB,eAAKkO,WAAL,CAAiBuC,eAAjB,CAAiCpkB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,EAAqE,KAAKiM,MAAL,CAAYnS,GAAjF,EAAsFyF,SAAtF,CAAgG,UAAAwkB,UAAU,EAAE;AAC1G,oBAAI,CAACC,UAAL,GAAgBD,UAAU,CAAC,CAAD,CAA1B;AACA,oBAAI,CAACE,iBAAL,GAAyBF,UAAU,CAAC,CAAD,CAAV,CAAcG,aAAvC;AACA,oBAAI,CAACC,QAAL,GAAe,QAAI,CAACH,UAAL,CAAgBI,UAA/B;AACA,oBAAI,CAACC,eAAL,GAAqB,QAAI,CAACL,UAAL,CAAgBM,YAArC;AACA,oBAAI,CAACC,aAAL,GAAmB,QAAI,CAACP,UAAL,CAAgBQ,SAAnC;AACA,oBAAI,CAACyqC,aAAL,GAAqB,QAAI,CAACjrC,UAAL,CAAgBE,aAArC;AACA,oBAAI,CAACo/B,WAAL,GAAiB,QAAI,CAACt/B,UAAL,CAAgBs/B,WAAjC;AACA,oBAAI,CAACplB,eAAL,GAAuB,QAAI,CAACla,UAAL,CAAgBka,eAAvC;AACA,oBAAI,CAACC,eAAL,GAAqB,QAAI,CAACna,UAAL,CAAgBma,eAArC;;AACA,gBAAG,CAAC,QAAI,CAACha,QAAN,IAAkB,QAAI,CAACH,UAAL,CAAgBW,UAArC,EAAgD;AAC9C,sBAAI,CAACC,aAAL,GAAmB,IAAnB;AAAyB,aAD3B,MAEM;AAAI,sBAAI,CAACA,aAAL,GAAmB,KAAnB;AAA0B;;AAElC,gBAAG,QAAI,CAACqqC,aAAL,KAAuB,QAAI,CAAC4qB,cAAL,IAAuB,EAAvB,IAA6B,QAAI,CAACA,cAAL,IAAuB,IAA3E,CAAH,EACE,QAAI,CAACA,cAAL,GAAsB,SAAtB,CADF,KAEK,IAAG,CAAC,QAAI,CAAC5qB,aAAN,KAAwB,QAAI,CAAC4qB,cAAL,IAAuB,EAAvB,IAA6B,QAAI,CAACA,cAAL,IAAuB,IAA5E,CAAH,EACH,QAAI,CAACA,cAAL,GAAsB,QAAtB;AAEF,oBAAI,CAAClD,cAAL,CAAoBttD,QAApB,CAA6BqrD,WAA7B,GAA2C,QAAI,CAACmF,cAAhD;;AAEF,oBAAI,CAACO,UAAL;AACC,WAtBH,EAuBE,UAACl/C,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WA1BH;AA2BD,S,CAEF;;;;0CACmBgnE,M,EAAsB;AACtC,cAAI9d,QAAQ,GAAC3kC,MAAM,CAACyiD,MAAM,CAAC9d,QAAR,CAAnB;AACA78D,sBAAY,CAACC,OAAb,CAAqB,cAArB,EAAoCi4B,MAAM,CAAC2kC,QAAD,CAA1C;AAEA,cAAIxxC,QAAQ,GAAC,MAAb;AACA,cAAIC,gBAAgB,GAAqB;AACvCC,uBAAW,EAAE;AACXF,sBAAQ,EAARA;AADW;AAD0B,WAAzC;AAKA,eAAK9e,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,YAAD,CAArB,EAAqC2X,gBAArC;AACD,S,CAED;;;;kCACUqvD,M,EAAsB;AAC9B,cAAI9d,QAAQ,GAAC3kC,MAAM,CAACyiD,MAAM,CAAC9d,QAAR,CAAnB;AACA78D,sBAAY,CAACC,OAAb,CAAqB,cAArB,EAAoCi4B,MAAM,CAAC2kC,QAAD,CAA1C;AAEA,cAAIxxC,QAAQ,GAAC,WAAb;AACA,cAAIC,gBAAgB,GAAqB;AACvCC,uBAAW,EAAE;AACXF,sBAAQ,EAARA;AADW;AAD0B,WAAzC;AAKA,eAAK9e,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,YAAD,CAArB,EAAqC2X,gBAArC;AACD,S,CAED;;;;0CACkBqvD,M,EAAsB;AAEtC,cAAI9d,QAAQ,GAAC3kC,MAAM,CAACyiD,MAAM,CAAC9d,QAAR,CAAnB;AACA78D,sBAAY,CAACC,OAAb,CAAqB,cAArB,EAAoCi4B,MAAM,CAAC2kC,QAAD,CAA1C;AAEA,cAAIxxC,QAAQ,GAAC,MAAb;AACA,cAAIC,gBAAgB,GAAqB;AACvCC,uBAAW,EAAE;AACXF,sBAAQ,EAARA;AADW;AAD0B,WAAzC;;AAMF,cAAGA,QAAQ,IAAI,MAAf,EAAsB;AACpB,iBAAK9e,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,YAAD,CAArB,EAAqC2X,gBAArC;AACD;AAEA,S,CAED;;;;yCACiBqvD,M,EAAsB;AACrC,eAAKC,YAAL,GAAoBD,MAApB;AACA,eAAKr3D,IAAL;AACD,S,CACD;;;;wCACa;AAAA;;AACP,eAAK2zD,cAAL,CAAoB4D,kBAApB,CAAuC,KAAKD,YAAL,CAAkB/d,QAAlB,CAA2Br1C,QAA3B,EAAvC,EAA6ExnB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA7E,EAAkHT,SAAlH,CAA4H,UAAA0oB,GAAG,EAAE;AAC/H,oBAAI,CAACmyD,UAAL;;AACA,oBAAI,CAACh0D,IAAL;;AACA,oBAAI,CAAC8B,UAAL,GAAkBD,GAAlB;;AAEJ,gBAAGA,GAAG,IAAI,6BAAV,EACA;AACE,sBAAI,CAACrF,YAAL,GAAoB,KAApB;AACA,sBAAI,CAACD,OAAL,GAAe,IAAf;AACD,aAJD,MAKK;AACH,sBAAI,CAACA,OAAL,GAAe,KAAf;AACA,sBAAI,CAACC,YAAL,GAAoB,IAApB;AACD,aAbkI,CAc/H;;;AACA,oBAAI,CAACK,KAAL;AACD,WAhBD,EAiBA,UAACiY,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WApBD;AAsBL,S,CAED;;;;wCACa;AAAG,eAAKwU,qBAAL,GAA2B,KAA3B;AACd,eAAKC,QAAL,GAAgB,KAAhB;AACA,eAAK0yD,WAAL,GAAiB,KAAjB;AACD;;;wCACY;AACX,eAAK3yD,qBAAL,GAA2B,IAA3B;AACD;;;2CACe;AAAA;;AACd,eAAK8xD,cAAL,CAAoB92E,OAApB,CAA4B,UAAAC,OAAO,EAAI;AACvC,gBAAGA,OAAO,CAACq3E,gBAAR,IAA4B,IAA/B,EAAoC;AAClC,sBAAI,CAACxD,cAAL,CAAoB8D,sBAApB,CAA2C33E,OAAO,CAACy5D,QAAR,CAAiBr1C,QAAjB,EAA3C,EAAwE3nB,SAAxE,CAAkF,UAAA0oB,GAAG,EAAE;AACrF,wBAAI,CAACmyD,UAAL;;AAAkB,wBAAI,CAACj7C,wBAAL,GAA8B,KAA9B,CADmE,CAErF;;AACA,wBAAI,CAACjX,UAAL,GAAgB,2CAAhB;;AACA,wBAAI,CAACC,OAAL;;AACA,wBAAI,CAAClF,KAAL;;AACA,wBAAI,CAACmF,aAAL;;AACA,wBAAI,CAACsyD,cAAL,GAAsB,KAAtB;AACD,eARD,EASA,UAACx/C,KAAD,EAAS;AACP,wBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,eAZD;AAaD;AACA,WAhBD;AAiBD;;;0CACc;AACb,eAAKyU,QAAL,GAAgB,IAAhB;AACA,eAAK0yD,WAAL,GAAiB,IAAjB;AACA,eAAKnyD,aAAL;AACD,S,CACD;AAEA;;;;gCACQ;AACNb,gBAAM,CAACC,MAAP,CAAc;AACZC,eAAG,EAAE,CADO;AAEZC,gBAAI,EAAE,CAFM;AAGZC,oBAAQ,EAAE;AAHE,WAAd;AAKD,S,CAED;;;;oCACYvb,K,EAAO;AACjB,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACA,eAAKsX,YAAL,GAAoB,KAAKH,MAAL,CAAYE,WAAZ,GAAwB,KAAKF,MAAL,CAAYC,YAAxD;AACA,eAAKG,iBAAL,GAAyB,KAAKD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAAZ,GAAyB,CAA9C,CAAzB;AACA,cAAG,KAAKk2D,cAAL,CAAoBz8E,MAApB,IAA4B,KAAKymB,YAApC,EACE,KAAKA,YAAL,GAAoB,KAAKg2D,cAAL,CAAoBz8E,MAAxC;AACH,S,CAED;;;;kCACU;AACR,eAAKylB,OAAL,GAAe,IAAf;AACD;;;kCACS;AACR,eAAKA,OAAL,GAAe,KAAf;AACD;;;oCAEW;AACV,eAAKC,YAAL,GAAoB,IAApB;AACD;;;oCACW;AACV,eAAKA,YAAL,GAAoB,KAApB;AACD,S,CACD;AAEA;;;;+BACO;AAAE,eAAKJ,SAAL,GAAiB,IAAjB;AACP,6CAAC,CAAC5U,QAAD,CAAD,CAAY6U,KAAZ,CAAkB,YAAY;AAC5B,+CAAC,CAAC,cAAD,CAAD,CAAkBxQ,EAAlB,CAAqB,CAArB,EAAwByQ,KAAxB;AACD,WAFD;AAGF;;;+BACO;AAAE,eAAKF,SAAL,GAAiB,KAAjB;AAAyB,S,CAClC;AAEA;;;;iCACSuiD,U,EAAW+P,Y,EAAaC,c,EAAeC,gB,EAAiB3oD,M,EAAOvF,W,EAAYuS,W,EAAYxS,S,EAAS;AAAA;;AAEvG,cAAIC,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAG,EAAzC,EAA8C;AAC5C,iBAAK8yD,MAAL,GAAc9yD,WAAW,CAACC,UAAZ,CAAuBC,SAArC;AACD;;AAED,eAAKP,WAAL,CAAiBpa,KAAjB;;AACA,cAAG04D,UAAU,IAAE,EAAZ,KAAmB+P,YAAY,IAAE,EAAd,IAAoBA,YAAY,IAAE,IAArD,MAA+DC,cAAc,IAAE,EAAhB,IAAsBA,cAAc,IAAE,IAArG,MAA+GC,gBAAgB,IAAE,EAAlB,IAAwBA,gBAAgB,IAAE,IAAzJ,KAAkK3oD,MAAM,IAAE,EAA1K,KAAiLvF,WAAW,IAAE,EAAb,IAAmBA,WAAW,IAAE,IAAjN,KAA0NuS,WAAW,IAAE,EAAvO,IAA6OxS,SAAS,IAAE,EAA3P,EAA8P;AAC5P,iBAAK8yD,cAAL,GAAsB,KAAKD,SAA3B;AACD,WAFD,MAGI;AAEF,iBAAKC,cAAL,GAAsB,KAAKD,SAAL,CAAe5zD,MAAf,CAAsB,UAAAC,GAAG,EAAE;AAC/C,qBAAOA,GAAG,CAACg/C,UAAJ,CAAen+C,iBAAf,GAAmCF,KAAnC,CAAyCq+C,UAAU,CAACn+C,iBAAX,EAAzC,CAAP;AACD,aAFqB,CAAtB;;AAGA,gBAAI,KAAKgzD,MAAL,IAAe3zD,SAAf,IAA4B,KAAK2zD,MAAL,IAAe,EAA3C,IAAiD,KAAKA,MAAL,IAAe,IAAhE,IAAwE9yD,WAAW,IAAG,EAAtF,IAA4FA,WAAW,IAAI,IAA/G,EAAoH;AAClH,mBAAK6yD,cAAL,GAAsB,KAAKA,cAAL,CAAoB7zD,MAApB,CAA2B,UAAAC,GAAG,EAAE;AACrD,uBAAOA,GAAG,CAACe,WAAJ,CAAgBF,iBAAhB,GAAoCF,KAApC,CAA0C,QAAI,CAACkzD,MAAL,CAAYhzD,iBAAZ,EAA1C,CAAP;AACA,eAFqB,CAAtB;AAGA;;AACD,gBAAGkuD,YAAY,IAAE,EAAd,IAAoBA,YAAY,IAAE,IAArC,EAA0C;AAC3C,mBAAK6E,cAAL,GAAsB,KAAKA,cAAL,CAAoB7zD,MAApB,CAA2B,UAAAC,GAAG,EAAE;AACpD,uBAAOA,GAAG,CAAC+uD,YAAJ,CAAiBpuD,KAAjB,CAAuBouD,YAAvB,CAAP;AACD,eAFqB,CAAtB;AAGD;;AAED,gBAAGC,cAAc,IAAE,EAAhB,IAAsBA,cAAc,IAAE,IAAzC,EAA8C;AAC5C,mBAAK4E,cAAL,GAAsB,KAAKA,cAAL,CAAoB7zD,MAApB,CAA2B,UAAAC,GAAG,EAAE;AACpD,uBAAOA,GAAG,CAACgvD,cAAJ,CAAmBruD,KAAnB,CAAyBquD,cAAzB,CAAP;AACD,eAFqB,CAAtB;AAGD;;AACC,gBAAGC,gBAAgB,IAAE,EAAlB,IAAwBA,gBAAgB,IAAE,IAA7C,EAAkD;AAClD,mBAAK2E,cAAL,GAAsB,KAAKA,cAAL,CAAoB7zD,MAApB,CAA2B,UAAAC,GAAG,EAAE;AACpD,uBAAOA,GAAG,CAACivD,gBAAJ,CAAqBtuD,KAArB,CAA2BsuD,gBAA3B,CAAP;AACD,eAFqB,CAAtB;AAGD;;AACC,gBAAG37C,WAAW,IAAE,EAAb,IAAmBA,WAAW,IAAE,IAAnC,EAAwC;AACtC,mBAAKsgD,cAAL,GAAsB,KAAKA,cAAL,CAAoB7zD,MAApB,CAA2B,UAAAC,GAAG,EAAE;AACpD,uBAAOA,GAAG,CAACsT,WAAJ,CAAgB3S,KAAhB,CAAsB2S,WAAtB,CAAP;AACD,eAFqB,CAAtB;AAGH;;AAGD,gBAAGhN,MAAM,IAAE,EAAX,EAAc;AACZ,mBAAKstD,cAAL,GAAsB,KAAKA,cAAL,CAAoB7zD,MAApB,CAA2B,UAAAC,GAAG,EAAE;AACpD,uBAAOA,GAAG,CAAC2uD,WAAJ,IAAkBroD,MAAzB;AACD,eAFqB,CAAtB;AAGD,aAJD,MAKI;AACF,mBAAKstD,cAAL,GAAsB,KAAKA,cAAL,CAAoB7zD,MAApB,CAA2B,UAAAC,GAAG,EAAE;AACpD,uBAAOA,GAAG,CAAC2uD,WAAJ,CAAgB9tD,iBAAhB,GAAoCF,KAApC,CAA0C2F,MAAM,CAACzF,iBAAP,EAA1C,CAAP;AACD,eAFqB,CAAtB;AAGD;;AACD,iBAAK+yD,cAAL,GAAsB,KAAKA,cAAL,CAAoB7zD,MAApB,CAA2B,UAAAC,GAAG,EAAE;AACpD,qBAAOA,GAAG,CAACQ,WAAJ,CAAgBK,iBAAhB,GAAoCF,KAApC,CAA0CG,SAAS,CAACD,iBAAV,EAA1C,CAAP;AACD,aAFqB,CAAtB;AAGC;;AACD,eAAKjD,YAAL,GAAmB,KAAKg2D,cAAL,CAAoBz8E,MAAvC;;AACE,cAAI6nE,UAAU,IAAG,EAAb,IAAkB+P,YAAY,IAAE,IAAhC,IAAyCC,cAAc,IAAE,IAAzD,IAAiEC,gBAAgB,IAAE,IAAnF,IAA2F3oD,MAAM,IAAI,EAArG,IACAvF,WAAW,IAAE,EADb,IACmBuS,WAAW,IAAI,EADlC,IACwCxS,SAAS,IAAG,EADxD,EAC4D;AAC1D,gBAAI,KAAKlD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAArC,EAAmD;AACjD;AACC,mBAAKE,YAAL,GAAoB,KAAKA,YAAzB;AACA,mBAAKC,iBAAL,GAAyB,CAAzB;AACD,aAJF,MAKM;AACH,mBAAKD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAoB,KAAKH,MAAL,CAAYC,YAAhC;AACA,mBAAKG,iBAAL,GAAyB,CAAzB;AACD,aAVwD,CAW5D;AACA;AACA;;;AACA,iBAAKqD,WAAL,GAAmB,CAAnB;AACA,iBAAKA,WAAL,GAAmB,KAAK0yD,cAAL,CAAoBz8E,MAApB,CAA2BgqB,QAA3B,EAAnB;AACA,iBAAKC,WAAL,GAAmB,oBAAoB,KAAKuyD,SAAL,CAAex8E,MAAnC,GAA4C,iBAA/D;AACA,WAlBA,MAmBI;AACF,gBAAI,KAAKymB,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAArC,EAAmD;AACjD;AACC,mBAAKE,YAAL,GAAoB,KAAKA,YAAzB;AACA,mBAAKC,iBAAL,GAAyB,CAAzB;AACA,mBAAKqD,WAAL,GAAmB,KAAKyyD,SAAL,CAAex8E,MAAf,CAAsBgqB,QAAtB,EAAnB;AACA,mBAAKC,WAAL,GAAkB,EAAlB;AACD,aANF,MAOM;AACH,mBAAKxD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAoB,KAAKH,MAAL,CAAYC,YAAhC;AACA,mBAAKG,iBAAL,GAAyB,CAAzB;AACA,mBAAKqD,WAAL,GAAmB,KAAKyyD,SAAL,CAAex8E,MAAf,CAAsBgqB,QAAtB,EAAnB;AACA,mBAAKC,WAAL,GAAkB,EAAlB;AACD,aAdA,CAeJ;AACA;AACA;AACA;AACA;AACA;AACA;;AACC;;AACD,eAAK8X,uBAAL;;AACA,cAAI,KAAK06C,cAAL,CAAoBz8E,MAApB,IAA4B,CAA5B,IAAiC,KAAK+mB,iBAAL,IAAwB,IAAzD,KAAkEoV,WAAW,IAAE,sBAAb,IAAuCA,WAAW,IAAE,uBAAtH,MAAmJhN,MAAM,IAAE,SAAR,IAAqBA,MAAM,IAAE,EAAhL,CAAJ,EAAwL;AACtL,iBAAK65B,qBAAL,GAA2B,IAA3B;AACD,WAFD,MAGI;AACF,iBAAKA,qBAAL,GAA2B,KAA3B;AACA,iBAAK/mB,wBAAL,GAA8B,KAA9B;AACD;AACJ;;;uCAEc1W,M,EAAM;AACnB,eAAK9E,YAAL,GAAoB,CAApB;AACA,eAAKA,YAAL,GAAoB8E,MAAM,CAAC1uB,MAAP,CAAcsE,KAAlC;AACA,eAAKmlB,MAAL,GAAc;AACZC,wBAAY,EAAE,KAAKE,YADP;AAEZD,uBAAW,EAAE;AAFD,WAAd;AAID;;;6CAEiB;AAChB,eAAKg3D,cAAL,GAAoB,KAApB;AACA,eAAKv7C,wBAAL,GAA8B,KAA9B;;AACA,eAAK,IAAIha,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKw0D,cAAL,CAAoBz8E,MAAxC,EAAgDioB,CAAC,EAAjD,EAAqD;AACnD,iBAAKw0D,cAAL,CAAoBx0D,CAApB,EAAuBg1D,gBAAvB,GAA0C,KAA1C;AACD;AACF,S,CAED;;;;mCACWE,M,EAAmB;AAC5B,eAAK1D,cAAL,CAAoBttD,QAApB,GAA+BgxD,MAA/B;AACA36E,sBAAY,CAACC,OAAb,CAAqB,iBAArB,EAAwC06E,MAAM,CAACvhD,eAAP,CAAuB5R,QAAvB,EAAxC;AACAxnB,sBAAY,CAACC,OAAb,CAAqB,QAArB,EAA8B06E,MAAM,CAAC9yD,UAAP,CAAkBL,QAAlB,EAA9B;AACAxnB,sBAAY,CAACC,OAAb,CAAqB,YAArB,EAAmC06E,MAAM,CAACtV,UAAP,CAAkB79C,QAAlB,EAAnC;AACAxnB,sBAAY,CAACC,OAAb,CAAqB,UAArB,EAAiC06E,MAAM,CAAC9d,QAAP,CAAgBr1C,QAAhB,EAAjC;AACAxnB,sBAAY,CAACC,OAAb,CAAqB,cAArB,EAAqC06E,MAAM,CAACjF,YAAP,CAAoBluD,QAApB,EAArC;AACAxnB,sBAAY,CAACC,OAAb,CAAqB,oBAArB,EAA0C06E,MAAM,CAACxF,YAAP,CAAoB3tD,QAApB,EAA1C;AACAxnB,sBAAY,CAACC,OAAb,CAAqB,yBAArB,EAA+C06E,MAAM,CAAChF,gBAAP,CAAwBnuD,QAAxB,EAA/C;AACA,eAAKjb,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,oBAAD,CAArB;AACD,S,CAED;;;;0CACkBgnE,M,EAAmB;AAAA;;AACnC,eAAK1D,cAAL,CAAoBnC,qBAApB,CAA0C6F,MAAM,CAAC9d,QAAP,CAAgBr1C,QAAhB,EAA1C,EAAsE3nB,SAAtE,CAAgF,UAAAO,IAAI,EAAE;AACtFJ,wBAAY,CAACC,OAAb,CAAqB,iBAArB,EAAwC,EAAxC;AAEAD,wBAAY,CAACC,OAAb,CAAqB,UAArB,EAAiCG,IAAI,CAAC,CAAD,CAAJ,CAAQy8D,QAAR,CAAiBr1C,QAAjB,EAAjC;AACAxnB,wBAAY,CAACC,OAAb,CAAqB,YAArB,EAAmCG,IAAI,CAAC,CAAD,CAAJ,CAAQilE,UAAR,CAAmB79C,QAAnB,EAAnC;AACAxnB,wBAAY,CAACC,OAAb,CAAqB,iBAArB,EAAwCG,IAAI,CAAC,CAAD,CAAJ,CAAQg5B,eAAR,CAAwB5R,QAAxB,EAAxC;AACAxnB,wBAAY,CAACC,OAAb,CAAqB,QAArB,EAA8BG,IAAI,CAAC,CAAD,CAAJ,CAAQynB,UAAR,CAAmBL,QAAnB,EAA9B;AACAxnB,wBAAY,CAACC,OAAb,CAAqB,cAArB,EAAqCG,IAAI,CAAC,CAAD,CAAJ,CAAQs1E,YAAR,CAAqBluD,QAArB,EAArC;AACAxnB,wBAAY,CAACC,OAAb,CAAqB,oBAArB,EAA2CG,IAAI,CAAC,CAAD,CAAJ,CAAQg1E,YAAR,CAAqB5tD,QAArB,EAA3C;AACAxnB,wBAAY,CAACC,OAAb,CAAqB,iBAArB,EAAwCG,IAAI,CAAC,CAAD,CAAJ,CAAQk1E,gBAAR,CAAyB9tD,QAAzB,EAAxC;AACAxnB,wBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAuCG,IAAI,CAAC,CAAD,CAAJ,CAAQi1E,cAAR,CAAuB7tD,QAAvB,EAAvC;AACAxnB,wBAAY,CAACC,OAAb,CAAqB,eAArB,EAAsCG,IAAI,CAAC,CAAD,CAAJ,CAAQm1E,aAAR,CAAsB/tD,QAAtB,EAAtC;AACAxnB,wBAAY,CAACC,OAAb,CAAqB,oBAArB,EAA0CG,IAAI,CAAC,CAAD,CAAJ,CAAQ+0E,YAAR,CAAqB3tD,QAArB,EAA1C;AACAxnB,wBAAY,CAACC,OAAb,CAAqB,yBAArB,EAA+CG,IAAI,CAAC,CAAD,CAAJ,CAAQu1E,gBAAR,CAAyBnuD,QAAzB,EAA/C;AACAxnB,wBAAY,CAACC,OAAb,CAAqB,iBAArB,EAAuCG,IAAI,CAAC,CAAD,CAAJ,CAAQq4B,SAAR,CAAkBjR,QAAlB,EAAvC;;AAED,oBAAI,CAACjb,MAAL,CAAY6Y,aAAZ,CAA0B,GAA1B,EAA+B;AAAEC,gCAAkB,EAAE;AAAtB,aAA/B,EAA6DjsB,IAA7D,CAAkE,YAAM;AACrE,sBAAI,CAACmT,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,mBAAD,CAArB,EAA4Cva,IAA5C,CAAiD,YAAM;AACrDkT,wBAAQ,CAACwH,MAAT;AACD,eAFD;AAGD,aAJF;AAKA,WArBC,EAsBF,UAAC0nB,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WAzBC;AA0BD,S,CA8BH;;;;yCACiBwsB,Q,EAAQ;AACvB,cAAGA,QAAQ,KAAK,OAAhB,EAAwB;AACtB,iBAAKC,QAAL,GAAe,yBAAf,CADsB,CAGtB;;AACA,gBAAMC,EAAE,GAAmB,2CAAWC,cAAX,CAA0B,KAAK26C,mBAAL,CAAyBz6C,aAAnD,CAA3B;AACA;;AACA,gBAAMC,EAAE,GAAkB,2CAAWC,QAAX,EAA1B;AACA,uDAAWC,iBAAX,CAA6BF,EAA7B,EAAiCJ,EAAjC,EAAqC,QAArC;AAEA;;AACA,2DAAeI,EAAf,EAAmB,KAAKL,QAAxB;AACD,WAZsB,CAcvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;;AAEA,cAAGD,QAAQ,KAAK,KAAhB,EAAsB;AACpB,iBAAKC,QAAL,GAAgB,wBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,wBAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,wHAAsHrb,GAAG,CAACsb,SAA1H,GAAoI,UAArI,CAAT,EAA2J;AACpKrgC,kBAAI,EAAE;AAD8J,aAA3J,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;;AAED,cAAGD,QAAQ,KAAK,MAAhB,EAAuB;AACrB,iBAAKC,QAAL,GAAgB,yBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,qBAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,wHAAsHrb,GAAG,CAACsb,SAA1H,GAAoI,UAArI,CAAT,EAA2J;AACpKrgC,kBAAI,EAAE;AAD8J,aAA3J,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;AACF,S,CAAC;;;;4CAGkBD,Q,EAAQ;AAC1B,cAAGA,QAAQ,KAAK,KAAhB,EAAsB;AAGnB,gBAAIY,IAAI,GAAG,KAAKm6C,sBAAL,CAA4B16C,aAAvC;AACD,gBAAIhb,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,wBAAxB,CAAV;AACA,gBAAI+N,GAAG,GAAG,IAAI,kCAAJ,CAAU,GAAV,EAAc,IAAd,EAAmB,CAAC,IAAD,EAAM,IAAN,CAAnB,CAAV;AACA,gBAAIL,IAAI,GAAG,IAAIC,IAAJ,CAAS,EAAT,EAAa,EAAb,CAAX;AAEA,gBAAIK,aAAa,GAAG;AAClB,yBAAU,gBAAS99B,OAAT,EAAiB+9B,QAAjB,EAAyB;AACjC,uBAAO,IAAP;AACD;AAHiB,aAApB;AAKAF,eAAG,CAACG,QAAJ,CAAa,sHAAoHL,IAAI,CAACD,SAAzH,GAAmI,UAAhJ,EAA2J,EAA3J,EAA8J,EAA9J,EAAiK;AAC/J,uBAAQ,IADuJ;AAE/J,iCAAmBI;AAF4I,aAAjK;AAIAD,eAAG,CAACI,IAAJ,CAAS,wBAAT;AAED;AAGF,S,CAED;;;;2CACmBrY,K,EAAMC,G,EAAG;AAE1B,cAAG,KAAKC,iBAAL,KAA2BF,KAA9B,EAAqC;AACnC,iBAAKxG,cAAL,GAAsB,CAAC,KAAKA,cAA5B;AAEA63D,8BAAkB,CAACpxD,GAAD,EAAK,KAAKzG,cAAV,CAAlB;AACD,WAJD,MAKK;AACH,iBAAK0G,iBAAL,GAAyBF,KAAzB;AACA,iBAAKxG,cAAL,GAAsB,IAAtB;AAEA63D,8BAAkB,CAACpxD,GAAD,EAAK,KAAKzG,cAAV,CAAlB;AACD;;AAED,cAAG,KAAKA,cAAR,EAAwB;AACtB,iBAAKy3D,cAAL,GAAsB,KAAKA,cAAL,CAAoB9wD,IAApB,CAAyB,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACvD,kBAAGL,KAAK,KAAK,cAAb,EAA4B;AAC1B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAC,CAAR;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAP;AACD,eALD,MAMK,IAAIA,KAAK,KAAK,gBAAd,EAAgC;AACnC,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAC,CAAR;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAP;AACD,eALI,MAMA,IAAIA,KAAK,KAAK,kBAAd,EAAkC;AACrC,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAC,CAAR;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAP;AACD,eALI,MAMD;AACF,oBAAII,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACH;;AACD,qBAAO,CAAP;AACD,aA1BqB,CAAtB;AA2BD,WA5BD,MA6BM;AACJ,iBAAKokE,cAAL,GAAsB,KAAKA,cAAL,CAAoB9wD,IAApB,CAAyB,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACvD,kBAAGL,KAAK,KAAK,cAAb,EAA4B;AAC1B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAP;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAC,CAAR;AACD,eALD,MAMK,IAAIA,KAAK,KAAK,gBAAd,EAAgC;AACnC,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAP;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAC,CAAR;AACD,eALI,MAMA,IAAIA,KAAK,KAAK,kBAAd,EAAkC;AACrC,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAP;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAC,CAAR;AACD,eALI,MAMD;AACF,oBAAII,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACF,uBAAO,CAAP;AACD;AACF,aA1BqB,CAAtB;AA2BD;AAEF,S,CAEA;AACC;;;;gDACwB;AAEtB,eAAKyT,WAAL,GAAiB,IAAjB;AACA,eAAKlB,QAAL,GAAgB,IAAhB;AACA,eAAK4yD,cAAL,IAAuB,KAAKA,cAA5B;;AAEA,cAAI,KAAKf,cAAL,CAAoBz8E,MAApB,GAA6B,CAAjC,EAAoC;AAClC,iBAAK,IAAIioB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKw0D,cAAL,CAAoBz8E,MAAxC,EAAgDioB,CAAC,EAAjD,EAAqD;AACnD,mBAAKw0D,cAAL,CAAoBx0D,CAApB,EAAuBg1D,gBAAvB,GAA0C,KAAKO,cAA/C;AACD;AACF,WAJD,MAMA;AACE,iBAAK,IAAIv1D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKe,mBAAzB,EAA8Cf,CAAC,EAA/C,EAAmD;AACjD,mBAAKu0D,SAAL,CAAev0D,CAAf,EAAkBg1D,gBAAlB,GAAqC,KAAKO,cAA1C;AACD;AACF;;AAED,eAAKxxD,kBAAL;AACD,S,CAED;;;;kCACUhW,M,EAAOmS,M,EAAM;AAErB,eAAK2D,WAAL,GAAiB,KAAjB;AACA,eAAKmxD,gBAAL,IAAyB90D,MAAzB;;AACA,eAAK,IAAIF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKe,mBAAzB,EAA8Cf,CAAC,EAA/C,EAAmD;AAC/C,iBAAKu0D,SAAL,CAAev0D,CAAf,EAAkBg1D,gBAAlB,IAAsC,KAAKA,gBAA3C;AACL;;AACC,eAAKjxD,kBAAL;AACD,S,CAED;;;;6CACkB;AAEhB,eAAK/G,WAAL,GAAmB,EAAnB;;AACA,eAAK,IAAIgD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKe,mBAAzB,EAA8Cf,CAAC,EAA/C,EAAmD;AACjD,gBAAG,KAAKu0D,SAAL,CAAev0D,CAAf,EAAkBg1D,gBAAlB,IAAsC,IAAzC,EACA,KAAKh4D,WAAL,CAAiBpf,IAAjB,CAAsB,KAAK22E,SAAL,CAAev0D,CAAf,CAAtB;AACD;;AACD,eAAKhD,WAAL,GAAmBviB,IAAI,CAACC,SAAL,CAAe,KAAKsiB,WAApB,CAAnB;;AAEA,cAAG,KAAKA,WAAL,CAAiBjlB,MAAjB,GAA0B,CAA7B,EAA+B;AAC/B,iBAAKklB,UAAL,GAAkB,KAAlB;AACC,WAFD,MAGI;AACF,iBAAKA,UAAL,GAAkB,IAAlB;AACD;AACF,S,CAED;;;;gDACqB;AAEnB,cAAG,KAAK4G,WAAL,IAAkB,IAArB,EAA0B;AACxB,iBAAKG,eAAL,GAAqB,8CAArB;AACD;;AACD,cAAG,KAAKH,WAAL,IAAkB,KAArB,EAA2B;AACzB,iBAAKG,eAAL,GAAqB,mDAArB;AACD;;AACD,eAAKd,aAAL;AACD,S,CACF;AAEA;;;;kCACUhc,K,EAAsB;AAE/B,cAAIyc,CAAC,GAAGzc,KAAK,CAAC+c,QAAN,IAAkB,CAAlB,IAAuB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAzC,IAA+C/c,KAAK,CAAC+c,QAAN,IAAkB,CAAlE,GAA0E,IAA1E,GAAiF/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlB,IAAwB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlI;AACF,iBAAON,CAAP;AACC,S,CAED;;;;sDAC2B;AACzB,eAAK4xD,cAAL,IAAuB,KAAKA,cAA5B;;AACA,cAAI,KAAKf,cAAL,CAAoBz8E,MAApB,GAA6B,CAAjC,EAAoC;AAClC,iBAAK,IAAIioB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKw0D,cAAL,CAAoBz8E,MAAxC,EAAgDioB,CAAC,EAAjD,EAAqD;AACnD,kBAAG,KAAKw0D,cAAL,CAAoBx0D,CAApB,EAAuB+0D,gBAAvB,IAA2C,IAA9C,EAAmD;AACnD,qBAAKP,cAAL,CAAoBx0D,CAApB,EAAuBg1D,gBAAvB,GAA0C,KAAKO,cAA/C;AACC;AACF;AACF,WAND,MAQA;AACE,iBAAK,IAAIv1D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKe,mBAAzB,EAA8Cf,CAAC,EAA/C,EAAmD;AACjD,kBAAG,KAAKu0D,SAAL,CAAev0D,CAAf,EAAkB+0D,gBAAlB,IAAsC,IAAzC,EAA8C;AAC9C,qBAAKR,SAAL,CAAev0D,CAAf,EAAkBg1D,gBAAlB,GAAqC,KAAKO,cAA1C;AACC;AACF;AACF;;AACD,eAAKz7C,uBAAL,GAjByB,CAkB3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACC;;;6CACoBuH,E,EAAGna,M,EAAM;AAC5BA,gBAAM,IAAG,KAAKquD,cAAd;;AACA,eAAK,IAAIv1D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKw0D,cAAzB,EAAyCx0D,CAAC,EAA1C,EAA8C;AAC1C,iBAAKw0D,cAAL,CAAoBx0D,CAApB,EAAuBg1D,gBAAvB,IAA2C,KAAKO,cAAhD;AACL;;AAAC,eAAKz7C,uBAAL,GAJ4B,CAK9B;AACA;AACA;AACA;AACA;AACC;;;kDACsB;AAErB,eAAKsC,eAAL,GAAuB,EAAvB;;AACA,eAAK,IAAIpc,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKe,mBAAzB,EAA8Cf,CAAC,EAA/C,EAAmD;AACjD,gBAAG,KAAKu0D,SAAL,CAAev0D,CAAf,EAAkBg1D,gBAAlB,IAAsC,IAAzC,EACC,KAAK54C,eAAL,CAAqBx+B,IAArB,CAA0B,KAAK22E,SAAL,CAAev0D,CAAf,CAA1B;AACF;;AACD,eAAKhD,WAAL,GAAmBviB,IAAI,CAACC,SAAL,CAAe,KAAK0hC,eAApB,CAAnB;;AAEA,cAAG,KAAKA,eAAL,CAAqBrkC,MAArB,IAA+B,CAAlC,EAAoC;AAClC,iBAAKiiC,wBAAL,GAA8B,IAA9B;AACD,WAFD,MAGI;AACF,iBAAKA,wBAAL,GAA8B,KAA9B;AACD;AACF;;;mCACO;AACN,eAAKtX,qBAAL,GAA2B,IAA3B;AACA,6CAAC,CAACja,QAAD,CAAD,CAAY6U,KAAZ,CAAkB,YAAY;AAC5B,+CAAC,CAAC,0BAAD,CAAD,CAA8BxQ,EAA9B,CAAiC,CAAjC,EAAoCyQ,KAApC;AACD,WAFD;AAGA,eAAKyG,eAAL,GAAqB,SAArB;AACD,eAAKuY,eAAL,GAAqB,CAArB;AACA,eAAKi1C,cAAL,CAAoBttD,QAApB,CAA6BgQ,WAA7B,GAA2C,EAA3C;AACC,eAAKs9C,cAAL,CAAoBttD,QAApB,CAA6BqrD,WAA7B,GAA2C,EAA3C;AACD;;;kCACM;AACL,eAAK7sD,qBAAL,GAA2B,IAA3B;AACA,6CAAC,CAACja,QAAD,CAAD,CAAY6U,KAAZ,CAAkB,YAAY;AAC5B,+CAAC,CAAC,0BAAD,CAAD,CAA8BxQ,EAA9B,CAAiC,CAAjC,EAAoCyQ,KAApC;AACD,WAFD;AAGA,eAAKyG,eAAL,GAAqB,QAArB;AACA,eAAKuY,eAAL,GAAqB,CAArB;AAAwB,eAAKi1C,cAAL,CAAoBttD,QAApB,CAA6BgQ,WAA7B,GAA2C,EAA3C;AACxB,eAAKs9C,cAAL,CAAoBttD,QAApB,CAA6BqrD,WAA7B,GAA2C,EAA3C;AAED;;;+CAGmB;AAAA;;AAClB;AACA,eAAKmG,gBAAL,GAAsB,EAAtB;;AAEA,eAAI,IAAI11D,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,KAAKw0D,cAAL,CAAoBz8E,MAAlC,EAAyCioB,CAAC,EAA1C,EAA6C;AAC3C,gBAAG,KAAKw0D,cAAL,CAAoBx0D,CAApB,EAAuBg1D,gBAAvB,IAAyC,IAA5C,EAAiD;AAChD,mBAAKU,gBAAL,CAAsB93E,IAAtB,CAA2B,KAAK42E,cAAL,CAAoBx0D,CAApB,CAA3B;AACA;AACF;;AAED,cAAG,KAAK01D,gBAAL,CAAsB39E,MAAtB,GAA6B,CAAhC,EAAkC;AACjC,iBAAKy5E,cAAL,CAAoBmE,qBAApB,CAA0C,KAAKD,gBAA/C,EAAgEn7E,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAhE,EAAoG,KAAK0hC,eAAzG,EAA0HniC,SAA1H,CAAoI,UAAA0oB,GAAG,EAAI;AAC1I,sBAAI,CAACmyD,UAAL;;AAAqB,sBAAI,CAACj7C,wBAAL,GAA8B,KAA9B;AACjB,sBAAI,CAACtX,qBAAL,GAA2B,KAA3B;;AACA,sBAAI,CAAC5E,KAAL;;AACA,sBAAI,CAACN,OAAL,GAAa,IAAb;AACA,sBAAI,CAACuF,UAAL,GAAgB,+DAAhB,CALsI,CAMpI;AACN,aAPD,EAQC,UAAC7E,GAAD,EAAO;AACN,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aAVD;AAWA;AAEF,S,CACD;;;;yCAGc;AACZ,6CAAC,CAAC,WAAD,CAAD,CAAe2uB,OAAf,CAAuB,OAAvB;AACD;;;4CACgB;AACf,6CAAC,CAAC,yBAAD,CAAD,CAA6BA,OAA7B,CAAqC,OAArC,EAA8ChwB,GAA9C,CAAkD,SAAlD,EAA4D,OAA5D;AACD;;;;;;;uBA7/BYynE,qB,EAAqB,yJ,EAAA,uH,EAAA,8H,EAAA,qJ,EAAA,kJ,EAAA,oK;AAAA,K;;;YAArBA,qB;AAAqB,wC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;ACxBlC;;AACI;;AACE;;AACE;;AACE;;AAA6I;;AAAa;;AAC5J;;AAEF;;AACA;;AACE;;AACC;;AAAiB;AAAA,mBAAS,IAAAvuD,OAAA,EAAT;AAAkB,WAAlB;;AAAuC;;AAAO;;AAC/D;;AAAQ;;AAAQ;;AAAU;;AAC5B;;AACF;;AACA;;AACC;;AACC;;AAAiB;AAAA,mBAAS,IAAAC,SAAA,EAAT;AAAoB,WAApB;;AAAyC;;AAAO;;AACjE;;AAAmB;;AACrB;;AACD;;AAEE;;AAEE;;AACE;;AAAuE;;AAAW;;AAClF;;AACwC;AAAA;AAAA,aAAiD,eAAjD,EAAiD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAClD,IAAAhF,QAAA,0FADkD;AAC+G,WADhK;;AADxC;;AAIF;;AACA;;AACE;;AAAyE;;AAAa;;AACtF;;AAC4C;AAAA;AAAA,aAAmD,eAAnD,EAAmD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC9E,IAAAA,QAAA,0FAD8E;AACmF,WADtI;;AAD5C;;AAIF;;AACA;;AACE;;AAA2E;;AAAe;;AAC1F;;AACgD;AAAA;AAAA,aAAqD,eAArD,EAAqD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACpF,IAAAA,QAAA,0FADoF;AAC6E,WADlI;;AADhD;;AAIF;;AACA;;AACI;;AAA6E;;AAAiB;;AAC9F;;AACoD;AAAA;AAAA,aAAuD,eAAvD,EAAuD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC1F,IAAAA,QAAA,0FAD0F;AACuE,WAD9H;;AADpD;;AAIF;;AACA;;AACE;;AAAwE;;AAAU;;AAClF;;AACuB;AAAA;AAAA,aAAkD,eAAlD,EAAkD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACxD,IAAAA,QAAA,0FADwD;AACyG,WAD3J;;AADvB;;AAIC;;AAGH;;AACA;;AACE;;AAAwE;;AAExE;;AAUF;;AACE;;AACA;AAAA,mBAAY,IAAAkF,SAAA,QAAZ;AAA6B,WAA7B,EAA8B,eAA9B,EAA8B;AAAA;AAAA,WAA9B,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAIb,IAAAlF,QAAA,0FAJa;AAIoJ,WAJlL;;AADA;;AAME;;AACE;;AAA8E;AAAA;;AAAA;;AAAA,mBAAS,oBAAT;AAA2B,WAA3B;;AAC5E;;AACF;;AACF;;AACN;;AACA;;AAIE;;AAEJ;;AAEA;;AAYQ;;AACE;;AAAmE;;AAAY;;AAC/E;;AAC0C;AAAA;AAAA,aAAiD,eAAjD,EAAiD;AAAA,mBAC1E,IAAAwb,kBAAA,EAD0E;AACtD,WADK,EAAiD,QAAjD,EAAiD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC1C,IAAAxb,QAAA,0FAD0C;AACuH,WADxK;;AAExC;;AAA0B;;AAAG;;AAC7B;;AAAqC;;AAAoB;;AACzD;;AAA6B;;AAAY;;AACzC;;AAA6B;;AAAY;;AACzC;;AAAsC;;AAAqB;;AAC3D;;AAA8B;;AAAa;;AAC3C;;AAA8B;;AAAa;;AAC3C;;AAAwC;;AAAuB;;AAC/D;;AAAgC;;AAAe;;AAC/C;;AAAgC;;AAAe;;AACjD;;AACD;;AAGD;;AACE;;AAAmE;;AAAM;;AACzE;;AAC0C;AAAA;AAAA,aAAiD,QAAjD,EAAiD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACjF,IAAAA,QAAA,0FADiF;AACgF,WADjI;;AAExC;;AAA4B;;AAAG;;AAC/B;;AAAuB;;AAAM;;AAC7B;;AAAyB;;AAAQ;;AACjC;;AAAwB;;AAAO;;AACjC;;AACF;;AAEA;;AACE;;AAAmC;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,QAAA,0FAAT;AAA0K,WAA1K;;AAEjC;;AAAwD;;AAAO;;AACnE;;AAIN;;AACA;;AAEA;;AACE;;AACE;;AACE;;AAA6D;;AAAI;;AACnE;;AACF;;AACE;;AAA6B;AAAA,mBAAU,IAAAmF,cAAA,QAAV;AAAgC,WAAhC;;AAE3B;;AAA4B;;AAAE;;AAC9B;;AAAmB;;AAAE;;AACrB;;AAAmB;;AAAE;;AACrB;;AAAoB;;AAAG;;AAC3B;;AACA;;AACA;;AACE;;AAAqE;;AAAO;;AAC9E;;AACA;;AACA;;AAIA;;AACA;;AA8BA;;AA8BA;;AACE;;AACE;;AACA;AAAA,mBAAS,IAAAyvD,eAAA,EAAT;AAA0B,WAA1B;;AADA;;AAGF;;AAEF;;AAEF;;AAEA;;AACI;;AAGE;;AACI;;AACE;;AAAiB;AAAA,mBAAiB,IAAAC,kBAAA,CAAmB,YAAnB,EAAgC,CAAhC,CAAjB;AAAmD,WAAnD,EAAqD,OAArD,EAAqD;AAAA,mBAAU,IAAAA,kBAAA,CAAmB,YAAnB,EAAgC,CAAhC,CAAV;AAA4C,WAAjG;;AAAwH;;AAAW;;AACpJ;;AAAiB;AAAA,mBAAiB,IAAAA,kBAAA,CAAmB,cAAnB,EAAkC,CAAlC,CAAjB;AAAqD,WAArD,EAAuD,OAAvD,EAAuD;AAAA,mBAAU,IAAAA,kBAAA,CAAmB,cAAnB,EAAkC,CAAlC,CAAV;AAA8C,WAArG;;AAA4H;;AAAa;;AAC1J;;AAAiB;AAAA,mBAAiB,IAAAA,kBAAA,CAAmB,gBAAnB,EAAoC,CAApC,CAAjB;AAAuD,WAAvD,EAAyD,OAAzD,EAAyD;AAAA,mBAAU,IAAAA,kBAAA,CAAmB,gBAAnB,EAAoC,CAApC,CAAV;AAAgD,WAAzG;;AAA+H;;AAAe;;AAC/J;;AAAiB;AAAA,mBAAiB,IAAAA,kBAAA,CAAmB,kBAAnB,EAAsC,CAAtC,CAAjB;AAAyD,WAAzD,EAA2D,OAA3D,EAA2D;AAAA,mBAAU,IAAAA,kBAAA,CAAmB,kBAAnB,EAAsC,CAAtC,CAAV;AAAkD,WAA7G;;AAAmI;;AAAiB;;AACrK;;AAAiB;AAAA,mBAAiB,IAAAA,kBAAA,CAAmB,WAAnB,EAA+B,CAA/B,CAAjB;AAAkD,WAAlD,EAAoD,OAApD,EAAoD;AAAA,mBAAW,IAAAA,kBAAA,CAAmB,WAAnB,EAA+B,CAA/B,CAAX;AAA4C,WAAhG;;AAAsH;;AAAU;;AACjJ;;AAAiB;AAAA,mBAAiB,IAAAA,kBAAA,CAAmB,aAAnB,EAAiC,CAAjC,CAAjB;AAAoD,WAApD,EAAsD,OAAtD,EAAsD;AAAA,mBAAU,IAAAA,kBAAA,CAAmB,aAAnB,EAAiC,CAAjC,CAAV;AAA6C,WAAnG;;AAAyH;;AAC1I;;AACA;;AAAiB;AAAA,mBAAiB,IAAAA,kBAAA,CAAmB,aAAnB,EAAiC,CAAjC,CAAjB;AAAoD,WAApD,EAAsD,OAAtD,EAAsD;AAAA,mBAAU,IAAAA,kBAAA,CAAmB,aAAnB,EAAiC,CAAjC,CAAV;AAA6C,WAAnG;;AAAyH;;AAAM;;AAChJ;;AAAiB;AAAA,mBAAiB,IAAAA,kBAAA,CAAmB,aAAnB,EAAiC,CAAjC,CAAjB;AAAoD,WAApD,EAAsD,OAAtD,EAAsD;AAAA,mBAAU,IAAAA,kBAAA,CAAmB,aAAnB,EAAiC,CAAjC,CAAV;AAA6C,WAAnG;;AAAyH;;AAAY;;AACtJ;;AAAiB;AAAA,mBAAiB,IAAAA,kBAAA,CAAmB,uBAAnB,EAA2C,CAA3C,CAAjB;AAA8D,WAA9D,EAAgE,OAAhE,EAAgE;AAAA,mBAAU,IAAAA,kBAAA,CAAmB,uBAAnB,EAA2C,CAA3C,CAAV;AAAuD,WAAvH;;AAA8I;;AAAyB;;AACxL;;AAEI;;AAMF;;AAOA;;AAQF;;AACN;;AACA;;AACE;;;;AA0DA;;AAGA;;AASF;;AACF;;AACA;;AACC;;AACG;;AAA0B;;AAAsG;;AAClI;;AACA;;AACE;;AAAsB;AAAA,mBAAc,IAAAv0D,WAAA,QAAd;AAAiC,WAAjC;;AAAyD;;AACjF;;AACA;;AAsBF;;AAGJ;;AACF;;AAEF;;AACF;;AACA;;AACE;;AAEE;;AACI;;AACE;;AAAoD;;AAAW;;AAC/D;;AAAoD;;AAAa;;AACjE;;AAAqD;;AAAe;;AACpE;;AAAqD;;AAAiB;;AACtE;;AAAoD;;AAAc;;AAElE;;AAAoD;;AAAiB;;AACrE;;AAAoD;;AAAgB;;AACpE;;AAAoD;;AAAc;;AAClE;;AAAoD;;AAAM;;AAC1D;;AAAoD;;AAAY;;AAChE;;AAAqD;;AAAU;;AAC/D;;AAAqD;;AAAY;;AACjE;;AAAoD;;AAAU;;AAC9D;;AAAqD;;AAAY;;AAGjE;;AACN;;AACA;;AACE;;AAmBF;;AACF;;AAEF;;AACA;;AACE;;AAEE;;AACI;;AAEU;;AAAqE;;AAAW;;AAChF;;AAAsE;;AAAa;;AACnF;;AAAqE;;AAAe;;AACpF;;AAAqE;;AAAiB;;AACtF;;AAAqE;;AAAc;;AAEnF;;AAAqE;;AAAiB;;AAEtF;;AAAqE;;AAAU;;AAC/E;;AAAqE;;AAAY;;AACjF;;AAAqE;;AAAM;;AAC3E;;AAAqE;;AAAY;;AACjF;;AAAqE;;AAAyB;;AACtG;;AACN;;AACA;;AAEI;;AAgBJ;;AACF;;AAEF;;AACA;;AACE;;AAEE;;AACI;;AAEU;;AAAqE;;AAAW;;AAChF;;AAAsE;;AAAa;;AACnF;;AAAqE;;AAAe;;AACpF;;AAAqE;;AAAiB;;AACtF;;AAAqE;;AAAc;;AAEnF;;AAAqE;;AAAiB;;AAEtF;;AAAqE;;AAAU;;AAC/E;;AAAqE;;AAAY;;AACjF;;AAAoE;;AAAM;;AAC1E;;AAAqE;;AAAY;;AACjF;;AAAqE;;AAAyB;;AACtG;;AACN;;AACA;;AAEI;;AAgBJ;;AACF;;AAEF;;AAEA;;AAEE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AAAyF;AAAA,mBAAW,IAAAL,IAAA,EAAX;AAAiB,WAAjB;;AACvF;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACA;;AAAoC;;AAAgC;;AACpE;;AACA;;AACE;;AAA4E;AAAA,mBAAS,IAAAgrC,aAAA,EAAT;AAAwB,WAAxB;;AAA5E;;AACA;;AAAQ;AAAA,mBAAS,IAAAhrC,IAAA,EAAT;AAAe,WAAf;;AAEY;;AAAK;;AACzB;;AACA;;AACJ;;AACJ;;AAEA;;AACE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AAA0F;AAAA,mBAAW,IAAAgC,aAAA,EAAX;AAA0B,WAA1B;;AACxF;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AAAoC;;AAAyB;;AAAQ;;AAAmB;;AAAU;;AAAqB;;AACzH;;AACA;;AACE;;AAAuF;AAAA,mBAAS,IAAA4a,oBAAA,EAAT;AAA+B,WAA/B;;AAAvF;;AACA;;AAAqB;AAAA,mBAAS,IAAA5a,aAAA,EAAT;AAAwB,WAAxB;;AAED;;AAAK;;AACzB;;AACA;;AACJ;;AACJ;;AACF;;;;;;;;AArjB4C;;AAAA;;AAGT;;AAAA;;AAGQ;;AAAA;;AAGjB;;AAAA;;AASwB;;AAAA;;AAOI;;AAAA;;AAOI;;AAAA;;AAOM;;AAAA;;AAO7B;;AAAA;;AAGQ;;AAAA;;AAoBW;;AAAA,uHAAiD,SAAjD,EAAiD,eAAjD,EAAiD,SAAjD,EAAiD,kGAAjD;;AAUhB;;AAAA;;AAuBoB;;AAAA;;AAmBA;;AAAA;;AA0C3C;;AAAA;;AACA;;AAAA;;AA8BA;;AAAA;;AAgCiC;;AAAA;;AAwCmC;;AAAA;;AAW/D;;AAAA;;AA0DA;;AAAA;;AAGA;;AAAA;;AAasB;;AAAA;;AAKvB;;AAAA;;AAuDP;;AAAA;;AA8CE;;AAAA;;AA2CA;;AAAA;;AAqBP;;AAAA;;AAuBA;;AAAA;;AAUwE;;AAAA;;AAWA;;AAAA;;;;;;;;;;sEDriBlEqxD,qB,EAAqB;cALjC,uDAKiC;eALvB;AACTzpE,kBAAQ,EAAE,mBADD;AAET4D,qBAAW,EAAE,gCAFJ;AAGT3D,mBAAS,EAAE,CAAC,+BAAD;AAHF,S;AAKuB,Q;;;;;;;;;;;;;;;;gBAmqBjC,uD;iBAAU,qB;;;gBA2DV,uD;iBAAU,wB,EAA0B;AAAC,sBAAQ;AAAT,W;;;;;;;;;;;;;;;;;;;;AEvvBrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACuCwC;;AACI;;AAA2B;;;;;;AADyB;;AACpD;;AAAA;;;;;;AAUR;;AAC2F;;AACnE;;;;;;;;AAGxB;;AAA8G;AAAA;;AAAA;;AAAA;AAAA,WAA6D,QAA7D,EAA6D;AAAA;;AAAA;;AAAA;AAAA,SAA7D;;AAA9G;;;;;;AAA8G;;;;;;AAG9G;;AACwH;;AAAM;;;;;;;;AAC9H;;AAA+E;AAAA;;AAAA;;AAAA;AAAA,WAA4B,eAA5B,EAA4B;AAAA;;AAAA;;AAAA;AAAA,SAA5B;;AAA/E;;;;;;AACI;;;;;;AAEJ;;AACwH;;AAAM;;;;;;AAC7H;;AACO;;AACR;;;;;;AAGA;;AACI;;AAAQ;;;;;;;;AACZ;;AAGI;AAAA;;AAAA;;AAAA;AAAA;;AAHJ;;;;;;AAAgF,kGAAwB,SAAxB,EAAwB,4CAAxB;;;;;;;;AAIhF;;AAAqB;AAAA;;AAAA;;AAAA;AAAA;;AAArB;;;;;;AAAqB;;;;;;;;AAKpB;;AAAwC;AAAA;;AAAA;;AAAA;AAAA;;AAAxC;;;;;;;;AAID;;AAA6C;AAAA;;AAAA;;AAAA;AAAA;;AAA7C;;;;;;;;AAUA;;AAAkE;AAAA;;AAAA;;AAAA;;AAAA,2CAA2B,OAA3B,EAAmC,IAAnC;AAAuC,SAAvC;;AAE/B;;AAAiB;;;;;;;;AAApD;;;;;;AAMA;;AAEwB;;AAAe;;;;;;;;AAFV;;AAEL;;AAAA;;;;;;AA+CzB;;AAEK;;AAAqB;;AAA0B;;AAA4B;;AAC/E;;;;;;AAHE;;AAEiD;;AAAA;;;;;;AAEnD;;AAEI;;AACJ;;;;;;AAHG;;AAEC;;AAAA;;;;;;;;AAxB/B;;AACW;;AACI;;AAA4D;AAAA;;AAAA;AAAA;AAAA;;AAA5D;;AACA;;AAAgE;AAAA;;AAAA;AAAA;AAAA;;AAAhE;;AACA;;AACA;;AACI;;AACI;;AACI;;AAAoC;;AACpC;;AACJ;;AAKI;;AACA;;AACA;;AACD;;AAIC;;AAIA;;AACI;;AACA;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAA4D,OAA5D,EAA4D;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAA5D;;AAEA;;AACA;;AACJ;;AAKR;;AACJ;;AACA;;AACA;;AACJ;;AACJ;;;;;;AAzCuC;;AAAA;;AAC6B;;AAAA;;AACI;;AAAA;;AAC3C;;AAAA;;AAIT;;AAAA;;AACA;;AAAA;;AAMG;;AAAA;;AAIC;;AAAA;;AAIA;;AAAA;;AAIuE;;AAAA;;AAYlE;;AAAA;;AACsC;;AAAA;;AAAmC;;;;;;;;ODxItH;;;QAQagrE,0B;AAwDX;AAEA,0CAAoBtvD,WAApB,EAAqD1f,MAArD,EAA4EglE,eAA5E,EACSplD,kBADT,EAC6DrK,QAD7D,EACgGD,WADhG,EAES1jB,MAFT,EAEsCgT,QAFtC,EAE6EqqE,MAF7E,EAE6F;AAAA;;AAFzE,aAAAvvD,WAAA,GAAAA,WAAA;AAAiC,aAAA1f,MAAA,GAAAA,MAAA;AAAuB,aAAAglE,eAAA,GAAAA,eAAA;AACnE,aAAAplD,kBAAA,GAAAA,kBAAA;AAAoD,aAAArK,QAAA,GAAAA,QAAA;AAAmC,aAAAD,WAAA,GAAAA,WAAA;AACvF,aAAA1jB,MAAA,GAAAA,MAAA;AAA6B,aAAAgT,QAAA,GAAAA,QAAA;AAAuC,aAAAqqE,MAAA,GAAAA,MAAA;AAxD7E,aAAA/uD,kBAAA,GAA8B,KAA9B;AACA,aAAAK,WAAA,GAAuB,KAAvB;AACA,aAAAyiC,aAAA,GAAwB,KAAxB;AAMA,aAAAksB,YAAA,GAAmB,EAAnB;AACA,aAAAxuD,gBAAA,GAAuB,EAAvB,CA+C6F,CAzC7F;;AACA,aAAAE,eAAA,GAAyB,EAAzB;AACA,aAAAC,uBAAA,GAAiC,EAAjC;AAEA,aAAAR,MAAA,GAAkB,KAAlB;AAaA,aAAAJ,cAAA,GAAuB,KAAvB;AACA,aAAAD,cAAA,GAAuB,KAAvB;AAGA,aAAAmvD,SAAA,GAAkB,KAAlB;AAGA,aAAAnuD,uBAAA,GAAmC,KAAnC;AACA,aAAAC,WAAA,GAAsB,YAAtB;AASA,aAAAmuD,YAAA,GAAmB,EAAnB;AACA,aAAAC,aAAA,GAAoB,EAApB;AACA,aAAAC,gBAAA,GAAqC,EAArC;AAMC;;;;0CAEc;AACbC,qBAAW,GADE,CACE;AAChB;;;mCAEO;AAAA;;AACNh0D,gBAAM,CAAC,2BAAD,CAAN,GAAsC;AAAEi0D,qBAAS,EAAE,IAAb;AAAmBC,gBAAI,EAAE,KAAKR,MAA9B;AAAsCS,+BAAmB,EAAE;AAAA,qBAAM,QAAI,CAACC,qBAAL,EAAN;AAAA;AAA3D,WAAtC;;AACA,eAAKp6D,QAAL,CAAcwB,IAAd;;AAEA,eAAKkL,WAAL,GAAmBxuB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAnB;AACA,eAAKijB,KAAL;AACA,eAAKs4D,gBAAL,GAAwB;AACtBh3C,2BAAe,EAAE,KADK;AAEtBC,mBAAO,EAAE,QAFa;AAGtBC,qBAAS,EAAE,UAHW;AAItBC,yBAAa,EAAE,YAJO;AAKtBC,2BAAe,EAAE,cALK;AAMtBC,0BAAc,EAAE,CANM;AAOtBC,6BAAiB,EAAE;AAPG,WAAxB;AAUA,eAAKkgC,UAAL,GAAkBrlE,YAAY,CAACM,OAAb,CAAqB,YAArB,CAAlB;AACA,eAAKunB,UAAL,GAAkB6G,QAAQ,CAAC1uB,YAAY,CAACM,OAAb,CAAqB,QAArB,CAAD,CAA1B;AACA,eAAKu8D,QAAL,GAAgBnuC,QAAQ,CAAC1uB,YAAY,CAACM,OAAb,CAAqB,UAArB,CAAD,CAAxB;AACA,eAAK0kE,QAAL,GAAgBt2C,QAAQ,CAAC1uB,YAAY,CAACM,OAAb,CAAqB,cAArB,CAAD,CAAxB;AACA,eAAK67E,kBAAL,GAA0Bn8E,YAAY,CAACM,OAAb,CAAqB,oBAArB,CAA1B;AACA,eAAK87E,gBAAL,GAAwBp8E,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAAxB;AACA,eAAK+0E,cAAL,GAAsBr1E,YAAY,CAACM,OAAb,CAAqB,gBAArB,CAAtB;AACA,eAAKi1E,aAAL,GAAqBv1E,YAAY,CAACM,OAAb,CAAqB,eAArB,CAArB;AAEA,eAAK+7E,eAAL,GAAuBr8E,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAAvB;AACAg8E,yBAAe,GAAG,KAAKtX,QAAvB;AAEA52C,wBAAc,GAAG,KAAKiuD,eAAtB;;AAEA,cAAI,KAAKxf,QAAL,IAAiB,CAAjB,IAAsB,KAAKmI,QAAL,IAAiB,CAA3C,EAA8C;AAC5C,iBAAK74C,kBAAL,CAAwBxC,QAAxB,GAAmC;AACjChC,yBAAW,EAAC,EADqB;AAEjCE,wBAAU,EAAC,KAAKA,UAFiB;AAGjCg1C,sBAAQ,EAAC,KAAKA,QAHmB;AAIjCrpD,oBAAM,EAAC,KAAKgb,WAJqB;AAKjC+tD,iCAAmB,EAAC,EALa;AAMjC3yD,wBAAU,EAAC,EANsB;AAOjC4yD,4BAAc,EAAC,KAAKxX,QAPa;AAQjCn7C,sBAAQ,EAAC,EARwB;AASjCI,wBAAU,EAAC,EATsB;AAUjC;AACA;AACAG,sBAAQ,EAAC,IAZwB;AAajCjD,uBAAS,EAAE,IAbsB;AAcjC4C,uBAAS,EAAC;AAduB,aAAnC;AAgBA,iBAAK6C,MAAL,GAAc,IAAd;AACA,iBAAKuvD,kBAAL,GAA0B,KAAKA,kBAA/B;AACD,WAnBD,MAoBI;AACJ,iBAAKhwD,kBAAL,CAAwBxC,QAAxB,GAAmC;AACjChC,yBAAW,EAAC,EADqB;AAEjCE,wBAAU,EAAC,KAAKA,UAFiB;AAGjCg1C,sBAAQ,EAAC,KAAKA,QAHmB;AAIjCrpD,oBAAM,EAAC,KAAKgb,WAJqB;AAKjC+tD,iCAAmB,EAAC,EALa;AAMjC3yD,wBAAU,EAAC,EANsB;AAOjC4yD,4BAAc,EAAC,CAPkB;AAQjC3yD,sBAAQ,EAAC,EARwB;AASjCI,wBAAU,EAAC,EATsB;AAUjCG,sBAAQ,EAAC,IAVwB;AAWjCjD,uBAAS,EAAE,IAXsB;AAYjC4C,uBAAS,EAAE;AAZsB,aAAnC;AAcA,iBAAK6C,MAAL,GAAc,KAAd;AACA,iBAAKuvD,kBAAL,GAA0B,KAAKA,kBAA/B;AACC;;AACD,eAAKv4D,kBAAL;AACD,S,CAED;;;;oCACY;AAAE,eAAKqO,cAAL,GAAsB,IAAtB;AAA6B;;;oCAC/B;AAAE,eAAKA,cAAL,GAAsB,KAAtB;AAA8B;;;+BACrC;AAAE,eAAKnP,SAAL,GAAiB,IAAjB;AAAwB;;;+BAC1B;AAAE,eAAKA,SAAL,GAAiB,KAAjB;AAAyB;;;gDACV;AACtB,cAAIwN,CAAC,GAAGpiB,QAAQ,CAACglB,cAAT,CAAwB,wBAAxB,CAAR;AACA5C,WAAC,CAAC8D,KAAF,CAAQC,OAAR,GAAkB,MAAlB;AACD;;;wCAEe;AACd,cAAIj0B,IAAI,GAAG+xB,KAAK,CAACC,MAAN,EAAX;;AACA,cAAIhyB,IAAI,IAAImmB,SAAZ,EAAuB;AAAE,iBAAK8L,kBAAL,GAA0B,IAA1B;AAAiC,WAA1D,MACK;AACH,iBAAKvP,SAAL,GAAiB,IAAjB;AACA,iBAAK0F,UAAL,GAAkB,4BAAlB;AACD;AACD;;;wCACc;AAAE,eAAK6J,kBAAL,GAA0B,KAA1B;AAAkC;;;wCAEpC;AAAE,eAAKK,kBAAL,GAA0B,KAA1B;AAAkC;;;wCAEpC;AAAA;;AACd,eAAKvG,kBAAL,CAAwBoG,gBAAxB,CAAyC,KAAKyyC,QAA9C,EAAwDnlE,SAAxD,CAAkE,UAAA2yB,GAAG,EAAI;AACvE,oBAAI,CAACC,YAAL,GAAoBD,GAApB;AACA,oBAAI,CAACE,kBAAL,GAA0B,IAA1B;AACD,WAHD;AAKD,S,CACD;AAEA;;;;gDACwB;AACtB,eAAKipD,YAAL,GAAoBc,SAApB;AACA,eAAKb,aAAL,GAAqBc,YAArB;AACD;;;qCAGY/vE,K,EAAK;AAChBgwE,yBAAe,GAAGhwE,KAAlB;AACD;;;qCACYA,K,EAAK;AAChBgwE,yBAAe,GAAGhwE,KAAlB;AACD;;;sCACaA,K,EAAK;AACjBgwE,yBAAe,GAAGhwE,KAAlB;AACD,S,CAED;;;;qCACa6iB,I,EAAYC,S,EAAU1C,iB,EAAmB;AACpD,cAAGyC,IAAI,CAACotD,OAAR,EAAgB;AACR1iF,kBAAO,CAAC41B,MAAR,CAAeN,IAAI,CAACO,QAApB,EAA8B5sB,OAA9B,CAAsC,UAAA6sB,OAAO,EAAI;AACrDA,qBAAO,CAACC,aAAR;AACD,aAFK;AAIN,mBAAO,KAAP;AACD,WAND,MAOI;AACJ,gBAAK,KAAK3L,UAAL,IAAmBiC,SAAnB,IAAgC,KAAKjC,UAAL,CAAgBE,aAAhB,IAAiC,KAAlE,IACC,KAAKF,UAAL,CAAgBE,aAAhB,IAAiC,IAAjC,IAAyC,KAAK2H,kBAAL,CAAwBxC,QAAxB,CAAiCxC,SAAjC,IAA8C,CAAC,KAAKhW,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CADzF,IAEC,KAAKgkB,UAAL,CAAgBE,aAAhB,IAAiC,IAAjC,IAAyC,KAAKwgD,QAAL,IAAiB,CAF/D,EAEmE;AACjE,mBAAK74C,kBAAL,CAAwBxC,QAAxB,CAAiC4yD,mBAAjC,GAAuD,GAAvD;AACD;;AACD,iBAAKpwD,kBAAL,CAAwBxC,QAAxB,CAAiCkzC,QAAjC,GAA4C,KAAKA,QAAjD;AACA,iBAAK1wC,kBAAL,CAAwBxC,QAAxB,CAAiCnW,MAAjC,GAA0C,KAAKgb,WAA/C;AACA,iBAAKrC,kBAAL,CAAwBxC,QAAxB,CAAiC9B,UAAjC,GAA6C,KAAKA,UAAlD;;AAEA,gBAAGkF,iBAAH,EAAqB;AACnB,mBAAKZ,kBAAL,CAAwBxC,QAAxB,CAAiC4yD,mBAAjC,GAAuD,GAAvD;AACD;;AACDM,iCAAqB,CAAC,KAAK1wD,kBAAL,CAAwBxC,QAAzB,EAAmC8F,SAAnC,CAArB;AACA;AACD,S,CAED;;;;qCACU;AACR,eAAKljB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,eAAD,CAArB;AACD,S,CAED;;;;sCACW;AAAA;;AACT,eAAK49D,eAAL,CAAqBuL,gBAArB,GAAwCj9E,SAAxC,CAAkD,UAAAO,IAAI,EAAE;AACtD,oBAAI,CAACq7E,YAAL,GAAoBr7E,IAApB;AACD,WAFD,EAGA,UAACo7B,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WAND;AAOD,S,CAED;;;;sDAC8B;AAAA;;AAC5B,eAAK49D,eAAL,CAAqB/gD,8BAArB,CAAoDxwB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAApD,EAAwF,KAAKunB,UAAL,CAAgBL,QAAhB,EAAxF,EAAoH3nB,SAApH,CAA8H,UAAA0oB,GAAG,EAAI;AACnI,oBAAI,CAACmI,QAAL,GAAgBnI,GAAG,CAACoI,YAApB;AACA,oBAAI,CAACxD,eAAL,GAAuB5E,GAAG,CAAC4E,eAA3B;;AAEA,gBAAI,QAAI,CAACP,MAAT,EAAiB;AAEf,kBAAG,QAAI,CAACyvD,eAAL,IAAwB,OAA3B,EACE,QAAI,CAACX,SAAL,GAAiB,IAAjB,CADF,KAGE,QAAI,CAACA,SAAL,GAAiB,KAAjB;AAEF,sBAAI,CAAC9qD,mBAAL,GAA2B,QAAI,CAACF,QAAL,CAActK,MAAd,CAAqB,UAAAC,GAAG,EAAI;AAAE,uBAAQA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACA,UAA/B;AAA6C,eAA3E,CAA3B;AACAk1D,0BAAY,GAAG,QAAI,CAACnsD,mBAApB;AACA,sBAAI,CAACxD,uBAAL,GAA+B,QAAI,CAACD,eAAL,CAAqB/G,MAArB,CAA4B,UAAAC,GAAG,EAAI;AAAE,uBAAOA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACA,UAA9B;AAA2C,eAAhF,CAA/B;;AACA,sBAAI,CAACsE,kBAAL,CAAwB6wD,4BAAxB,CAAqD,QAAI,CAAChY,QAA1D,EAAoEnlE,SAApE,CAA8E,UAAAo9E,WAAW,EAAI;AAE3F,wBAAI,CAAC9wD,kBAAL,CAAwBxC,QAAxB,GAAmCszD,WAAW,CAACC,iBAA/C;AACA,wBAAI,CAACC,yBAAL,GAAiCF,WAAjC;;AAEA,oBAAI,QAAI,CAAC34D,UAAL,CAAgBE,aAAhB,IAAiC,IAAjC,IAA0C,QAAI,CAAC2H,kBAAL,CAAwBxC,QAAxB,CAAiCxC,SAAjC,IAA8C,CAAC,QAAI,CAAChW,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAA7F,EAAqK;AACnKuxB,iCAAe,GAAG,IAAlB;AACD,iBAFD,MAGK;AACHA,iCAAe,GAAG,KAAlB;AACD;;AAED5sB,0BAAU,CAAC,YAAM;AACjBm4E,yCAAuB,GAAG,QAAI,CAACjxD,kBAAL,CAAwBxC,QAAxB,CAAiC4yD,mBAA3D;AACAc,+CAA6B,CAAC,QAAI,CAACF,yBAAL,CAA+BD,iBAA/B,CAAiDr1D,UAAlD,CAA7B;AACAy1D,2CAAyB,CAAC,QAAI,CAACH,yBAAN,CAAzB;;AACA,0BAAI,CAAC5iD,2BAAL;;AACA,0BAAI,CAAC4iD,yBAAL,CAA+BD,iBAA/B,CAAiDv1D,WAAjD,GAA6D,EAA7D;;AAEA,sBAAI,QAAI,CAACwE,kBAAL,CAAwBxC,QAAxB,CAAiC4yD,mBAAjC,KAAyD,GAAzD,IAAgE,QAAI,CAACpwD,kBAAL,CAAwBxC,QAAxB,CAAiC4yD,mBAAjC,KAAyD,GAAzH,IAAgI,QAAI,CAACpwD,kBAAL,CAAwBxC,QAAxB,CAAiC4yD,mBAAjC,KAAyD,GAAzL,IAAgM,QAAI,CAACpwD,kBAAL,CAAwBxC,QAAxB,CAAiC4yD,mBAAjC,KAAyD,GAA7P,EAAkQ;AAChQ,4BAAI,CAAC9vD,kBAAL,GAA0B,IAA1B;AACA,4BAAI,CAACK,WAAL,GAAmB,KAAnB;AACD;;AACD,sBAAI,QAAI,CAACX,kBAAL,CAAwBxC,QAAxB,CAAiC4yD,mBAAjC,IAAwD,GAA5D,EAAiE;AAC/D,4BAAI,CAACpwD,kBAAL,CAAwBxC,QAAxB,CAAiC4yD,mBAAjC,GAAuD,IAAvD;AACA,4BAAI,CAACzvD,WAAL,GAAmB,IAAnB;AACD;;AAED,sBAAI,QAAI,CAACxI,UAAL,CAAgBE,aAAhB,IAAiC,IAAjC,IAA0C,QAAI,CAAC2H,kBAAL,CAAwBxC,QAAxB,CAAiCxC,SAAjC,IAA8C,CAAC,QAAI,CAAChW,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAA7F,EAAqK;AACnK,4BAAI,CAACitB,uBAAL,GAA+B,IAA/B;AACA,4BAAI,CAACC,WAAL,GAAmB,QAAnB,CAFmK,CAGnK;AACD,mBAJD,MAKK;AACH,4BAAI,CAACD,uBAAL,GAA+B,KAA/B;AACA,4BAAI,CAACC,WAAL,GAAmB,YAAnB,CAFG,CAGH;AACD;;AAED,0BAAI,CAAC1L,QAAL,CAAc4E,IAAd;AACC,iBA5BS,EA4BP,GA5BO,CAAV;AA6BD,eAzCD,EA0CA,UAAC8U,KAAD,EAAS;AACP,wBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,eA7CD;AA8CD,aAxDD,MAyDI;AACF,sBAAI,CAACmO,QAAL,CAAc4E,IAAd;AACD,aA/DkI,CAgEnI;;;AACA,oBAAI,CAAC+N,cAAL;;AACA,oBAAI,CAACC,iBAAL;AACD,WAnED,EAoEA,UAAC8G,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WAvED;AAwED,S,CAED;;;;gCACQ;AACNmU,gBAAM,CAACC,MAAP,CAAc;AACZC,eAAG,EAAE,CADO;AAEZC,gBAAI,EAAE,CAFM;AAGZC,oBAAQ,EAAE;AAHE,WAAd;AAKD,S,CAED;;;;4CACoB;AAAA;;AAClB,cAAG,KAAKiE,kBAAL,CAAwBxC,QAAxB,CAAiChC,WAAjC,IAAgD,IAAnD,EACE,KAAKwE,kBAAL,CAAwBxC,QAAxB,CAAiChC,WAAjC,GAA+C,EAA/C;AACA,eAAKiJ,mBAAL,GAA2B,KAAKF,QAAL,CAActK,MAAd,CAAqB,UAAAC,GAAG,EAAI;AAAE,mBAAOA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACsE,kBAAL,CAAwBxC,QAAxB,CAAiC9B,UAA1D;AAAuE,WAArG,CAA3B;AAEA,eAAK+I,mBAAL,GAA2B,KAAKA,mBAAL,CAAyBxK,MAAzB,CAAgC,UAAAC,GAAG,EAAI;AAAE,mBAAOA,GAAG,CAACsB,WAAJ,CAAgBT,iBAAhB,GAAoCF,KAApC,CAA0C,QAAI,CAACmF,kBAAL,CAAwBxC,QAAxB,CAAiChC,WAAjC,CAA6CT,iBAA7C,EAA1C,CAAP;AAAmH,WAA5J,CAA3B;AACH,S,CAED;;;;2CACmByL,Y,EAA+B;AAAA;;AAEhDA,sBAAY,CAACxvB,OAAb,CAAqB,UAAAC,OAAO,EAAI;AAC9B,gBAAIwvB,cAAc,GAAG;AAAEC,6BAAe,EAAE,EAAnB;AAAuBC,8BAAgB,EAAE,EAAzC;AAA6CjL,wBAAU,EAAE;AAAzD,aAArB;;AAEA,gBAAIkL,YAAY,GAAG,QAAI,CAAC5F,eAAL,CAAqB/G,MAArB,CAA4B,UAAAC,GAAG,EAAI;AACnD,qBAAOA,GAAG,CAACyM,gBAAJ,IAAwB1vB,OAAO,CAACukB,WAAhC,IAA+CtB,GAAG,CAACwB,UAAJ,IAAkBzkB,OAAO,CAACykB,UAAhF;AAA6F,aAD7E,EAC+E,CAD/E,CAAnB;;AAEA,gBAAIkL,YAAY,IAAI,IAAhB,IAAwBA,YAAY,IAAIxM,SAA5C,EAAuD;AACrD,kBAAInjB,OAAO,CAACukB,WAAR,IAAuB,eAA3B,EAA4C;AAC1CiL,8BAAc,CAACC,eAAf,GAAiC,gBAAjC;AACAD,8BAAc,CAACE,gBAAf,GAAkC1vB,OAAO,CAACukB,WAA1C;AACAiL,8BAAc,CAAC/K,UAAf,GAA4BzkB,OAAO,CAACykB,UAApC;AACD;;AACD,kBAAIzkB,OAAO,CAACukB,WAAR,IAAuB,gBAA3B,EAA6C;AAC3CiL,8BAAc,CAACC,eAAf,GAAiC,iBAAjC;AACAD,8BAAc,CAACE,gBAAf,GAAkC1vB,OAAO,CAACukB,WAA1C;AACAiL,8BAAc,CAAC/K,UAAf,GAA4BzkB,OAAO,CAACykB,UAApC;AACD;;AACD,kBAAIzkB,OAAO,CAACukB,WAAR,IAAuB,aAA3B,EAA0C;AACxCiL,8BAAc,CAACC,eAAf,GAAiC,cAAjC;AACAD,8BAAc,CAACE,gBAAf,GAAkC1vB,OAAO,CAACukB,WAA1C;AACAiL,8BAAc,CAAC/K,UAAf,GAA4BzkB,OAAO,CAACykB,UAApC;AACD;;AACD,kBAAIzkB,OAAO,CAACukB,WAAR,IAAuB,eAA3B,EAA4C;AAC1CiL,8BAAc,CAACC,eAAf,GAAiC,gBAAjC;AACAD,8BAAc,CAACE,gBAAf,GAAkC1vB,OAAO,CAACukB,WAA1C;AACAiL,8BAAc,CAAC/K,UAAf,GAA4BzkB,OAAO,CAACykB,UAApC;AACD;;AACD,kBAAIzkB,OAAO,CAACukB,WAAR,IAAuB,sBAA3B,EAAmD;AACjDiL,8BAAc,CAACC,eAAf,GAAiC,uBAAjC;AACAD,8BAAc,CAACE,gBAAf,GAAkC1vB,OAAO,CAACukB,WAA1C;AACAiL,8BAAc,CAAC/K,UAAf,GAA4BzkB,OAAO,CAACykB,UAApC;AACD;;AACD,kBAAIzkB,OAAO,CAACukB,WAAR,IAAuB,gBAA3B,EAA6C;AAC3CiL,8BAAc,CAACC,eAAf,GAAiC,iBAAjC;AACAD,8BAAc,CAACE,gBAAf,GAAkC1vB,OAAO,CAACukB,WAA1C;AACAiL,8BAAc,CAAC/K,UAAf,GAA4BzkB,OAAO,CAACykB,UAApC;AACD;;AAED,sBAAI,CAACsF,eAAL,CAAqB9pB,IAArB,CAA0BuvB,cAA1B;AACD;AACF,WAvCD;AAyCA,eAAKxF,uBAAL,GAA+B,EAA/B;AAED,S,CAED;;;;yCACiB;AAAA;;AACf,cAAI,KAAKjB,kBAAL,CAAwBxC,QAAxB,CAAiC9B,UAAjC,GAA8C,CAAlD,EAAqD;AACnD,iBAAKsE,kBAAL,CAAwBxC,QAAxB,CAAiChC,WAAjC,GAA+C,IAA/C;AACA,iBAAKyF,uBAAL,GAA+B,KAAKD,eAAL,CAAqB/G,MAArB,CAA4B,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACsE,kBAAL,CAAwBxC,QAAxB,CAAiC9B,UAA1D;AAAuE,aAA5G,CAA/B;AACA,iBAAK+I,mBAAL,GAA2B,EAA3B;;AAEA,gBAAI,KAAKzE,kBAAL,CAAwBxC,QAAxB,CAAiC9B,UAAjC,GAA8C,CAA9C,IAAmD,CAAC,KAAK+E,MAA7D,EAAqE;AACrE,mBAAKT,kBAAL,CAAwBoxD,uCAAxB,CAAgE,KAAKpxD,kBAAL,CAAwBxC,QAAxB,CAAiC9B,UAAjG,EAA6GhoB,SAA7G,CAAuH,UAAAixB,WAAW,EAAI;AACpI,wBAAI,CAAC3E,kBAAL,CAAwBxC,QAAxB,CAAiCS,QAAjC,GAA4C0G,WAA5C;AACD,eAFD,EAGA,UAAC0K,KAAD,EAAS;AACP,wBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,eAND;AAOD;AACF;;AAEC,cAAI,KAAKwY,kBAAL,CAAwBxC,QAAxB,CAAiC9B,UAAjC,GAA8C,CAA9C,IAAmD,KAAKsE,kBAAL,CAAwBxC,QAAxB,CAAiChC,WAAjC,IAAgD,IAAvG,EAA6G;AAC3G,iBAAKiJ,mBAAL,GAA2B,KAAKF,QAAL,CAActK,MAAd,CAAqB,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACsE,kBAAL,CAAwBxC,QAAxB,CAAiC9B,UAA1D;AAAuE,aAArG,CAA3B;AAEA,iBAAK+I,mBAAL,GAA2B,KAAKA,mBAAL,CAAyBxK,MAAzB,CAAgC,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAACsB,WAAJ,IAAmB,QAAI,CAACwE,kBAAL,CAAwBxC,QAAxB,CAAiChC,WAA3D;AAAyE,aAAlH,CAA3B;AACA01D,yCAA6B,CAAC,KAAKlxD,kBAAL,CAAwBxC,QAAxB,CAAiC9B,UAAlC,CAA7B;AACD,WALD,MAMK;AACH,iBAAK+I,mBAAL,GAA2B,EAA3B;AACD;AAEF,S,CAED;;;;sDAC2B;AAAA;;AACzB,eAAKzE,kBAAL,CAAwBqxD,+BAAxB,CAAwD,KAAKxY,QAA7D,EAAuEnlE,SAAvE,CAAiF,UAAA67B,SAAS,EAAE;AAC1F,oBAAI,CAAC+hD,sBAAL,GAA4B/hD,SAA5B;;AACA,gBAAG,QAAI,CAAC+hD,sBAAL,CAA4B,CAA5B,EAA+Br2D,WAA/B,IAA8C,EAA9C,IAAqD,QAAI,CAACq2D,sBAAL,CAA4B,CAA5B,EAA+BzzD,WAA/B,IAA8C,IAAtG,EAA2G;AACzG,sBAAI,CAACwC,cAAL,GAAoB,IAApB;AACA,sBAAI,CAACoP,WAAL,GAAiB,QAAI,CAAC6hD,sBAAL,CAA4B,CAA5B,EAA+Br2D,WAAhD;AACA,sBAAI,CAACyU,eAAL,GAAqB,QAAI,CAAC4hD,sBAAL,CAA4B,CAA5B,EAA+BpsE,QAApD;AACD;;AACD,gBAAG,QAAI,CAACosE,sBAAL,CAA4B,CAA5B,EAA+BzzD,WAA/B,IAA8C,EAA9C,IAAoD,QAAI,CAACyzD,sBAAL,CAA4B,CAA5B,EAA+BzzD,WAA/B,IAA8C,IAArG,EAA0G;AACzG,sBAAI,CAACuC,cAAL,GAAoB,IAApB;AACC,sBAAI,CAACuP,aAAL,GAAmB,QAAI,CAAC2hD,sBAAL,CAA4B,CAA5B,EAA+BpsE,QAAlD;AACA,sBAAI,CAAC0qB,UAAL,GAAgB,QAAI,CAAC0hD,sBAAL,CAA4B,CAA5B,EAA+BzzD,WAA/C;AACD;AACF,WAZD,EAaA,UAACwR,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WAhBD;AAiBD,S,CAED;;;;6CACqB;AAAA;;AACnB,eAAKkO,WAAL,CAAiBuC,eAAjB,CAAiCpkB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,EAAsE,eAAtE,EAAuFT,SAAvF,CAAiG,UAAAwkB,UAAU,EAAI;AAC7G,oBAAI,CAACC,UAAL,GAAkBD,UAAU,CAAC,CAAD,CAA5B;AACA,oBAAI,CAACkrC,aAAL,GAAqBlrC,UAAU,CAAC,CAAD,CAAV,CAAcG,aAAnC;AACAuN,yBAAa,GAAG,QAAI,CAACzN,UAAL,CAAgBE,aAAhC;;AACA,oBAAI,CAACwN,2BAAL;AACD,WALD,EAMA,UAACwJ,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WATD;AAUD;;;0CAEiB;AAChB,eAAKmZ,WAAL,GAAmB,KAAnB;AACD,S,CAID;;;;6CACqB;AAAA;;AACnB,eAAKkG,aAAL;AACA0qD,oCAA0B;AAE1B,cAAInlD,aAAa,GAAG,EAApB;AACA,cAAI89C,cAAc,GAAG,EAArB;AACA,cAAIx9C,WAAW,GAAG,EAAlB;AACA,cAAIu8C,YAAJ;AAEA,eAAKuI,aAAL,GAAqB;AACrB9gB,oBAAQ,EAAC,CADY;AAErBl1C,uBAAW,EAAC,IAFS;AAGrBE,sBAAU,EAAC,CAHU;AAIrBrU,kBAAM,EAAC,IAJc;AAKrBgpE,0BAAc,EAAC,CALM;AAMrB5yD,sBAAU,EAAC,IANU;AAOrB2yD,+BAAmB,EAAC,IAPC;AAQrB1yD,oBAAQ,EAAC,IARY;AASrBI,sBAAU,EAAC,IATU;AAUrBG,oBAAQ,EAAC,IAVY;AAWrBjD,qBAAS,EAAC,IAXW;AAYrB4C,qBAAS,EAAC;AAZW,WAArB;AAeA,eAAK6zD,eAAL,GAAuB,CAAC59E,YAAY,CAACM,OAAb,CAAqB,iBAArB,CAAxB;AACA,eAAK68E,yBAAL,CAA+BU,gCAA/B,CAAgE16E,OAAhE,CAAwE,UAAAkjB,GAAG,EAAE;AAC3E,gBAAGA,GAAG,CAACy3D,QAAJ,IAAgB,CAAC,CAApB,EACA1I,YAAY,GAAG/uD,GAAG,CAAC03D,gBAAnB;AACD,WAHD;;AAIA,eAAI,IAAIt4D,CAAC,GAAC,CAAV,EAAcA,CAAC,GAAE,KAAKmL,mBAAL,CAAyBpzB,MAA1C,EAAkDioB,CAAC,EAAnD,EAAsD;AACpD,gBAAG,KAAKm4D,eAAL,IAAwB,KAAKhtD,mBAAL,CAAyBnL,CAAzB,EAA4BgT,SAAvD,EAAiE;AAC/DF,2BAAa,GAAG,KAAK3H,mBAAL,CAAyBnL,CAAzB,EAA4B8S,aAA5C;AACA89C,4BAAc,GAAG,KAAKzlD,mBAAL,CAAyBnL,CAAzB,EAA4BuS,cAA7C;AACAa,yBAAW,GAAG,KAAKjI,mBAAL,CAAyBnL,CAAzB,EAA4BoT,WAA1C;AAEH,kBAAIzG,MAAM,GAAG,sGAAsGmG,aAAtG,GAAsH,yNAAtH,GAAiV,KAAKqlD,eAAtV,GAAuW,iBAAvW,GAA0X,KAAKA,eAA/X,GAAgZ,sLAAhZ,GAAukBrlD,aAAvkB,GAAqlB,iBAArlB,GAAumBA,aAAvmB,GAAqnB,yFAArnB,GAAitB,KAAKqlD,eAAttB,GAAwuB,iHAAxuB,GAA01B/kD,WAA11B,GAAs2B,iBAAt2B,GAAw3BN,aAAx3B,GAAs4B,oHAAt4B,GAA6/B,KAAKqlD,eAAlgC,GAAohC,+BAAphC,GAAqjCxI,YAArjC,GAAmkC,uGAAnkC,GAA6qC,KAAKwI,eAAlrC,GAAosC,iCAApsC,GAAsuCvH,cAAtuC,GAAqvC,yIAArvC,GAAi4C,KAAKuH,eAAt4C,GAAw5C,kJAAx5C,GAA6iD,KAAKA,eAAljD,GAAokD,mGAApkD,GAA0qD,KAAKA,eAA/qD,GAAisD,0RAAjsD,GAA89D,KAAKA,eAAn+D,GAAq/D,sCAAr/D,GAA4hErlD,aAA5hE,GAA0iE,2KAA1iE,GAAstEA,aAAttE,GAAouE,iDAAjvE;AAEA,kBAAIylD,WAAW,GAAC,EAAhB;AACA,mBAAKL,aAAL,CAAmB,gBAAnB,IAAuC,KAAK3Y,QAA5C;AACA,mBAAK2Y,aAAL,CAAmB,YAAnB,IAAmCvrD,MAAnC;;AAIA,mBAAKjG,kBAAL,CAAwB8xD,WAAxB,CAAoC,KAAKN,aAAzC,EAAwD99E,SAAxD,CAAkE,UAAAO,IAAI,EAAE;AACvE,wBAAI,CAAC89E,iCAAL;AACA,eAFD;AAIA;AACA;AAIF,S,CAED;;;;yCACiB;AAAA;;AACf,eAAK7sD,aAAL;AACAqsD,oCAA0B;;AAC1B,eAAKvxD,kBAAL,CAAwBmF,WAAxB,CAAoC,KAAK0zC,QAAzC,EAAmDnlE,SAAnD,CAA6D,UAAAo9E,WAAW,EAAI;AAC1EA,uBAAW,CAACC,iBAAZ,CAA8B1pE,MAA9B,GAAuCxT,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAvC;AACA28E,uBAAW,CAACC,iBAAZ,CAA8BrgB,QAA9B,GAAyC,QAAI,CAACA,QAA9C;AACAygB,qCAAyB,CAACL,WAAD,CAAzB;AACAJ,iCAAqB,CAACI,WAAW,CAACC,iBAAb,EAAgC,MAAhC,CAArB;AACD,WALD,EAMA,UAAC1hD,KAAD,EAAS;AACP,oBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,WATD;AAUD,S,CAED;;;;qDAC0B;AACxBgpE,yBAAe,GAAG,KAAKf,aAAvB;AACAuC,qCAA2B,CAAC,KAAKhyD,kBAAL,CAAwBxC,QAAzB,CAA3B;AACD,S,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;gDACwB8O,S,EAAS;AAC/Bz4B,sBAAY,CAACC,OAAb,CAAqB,iBAArB,EAAwC,KAAK4nB,UAAL,CAAgBL,QAAhB,EAAxC;AACAxnB,sBAAY,CAACC,OAAb,CAAqB,YAArB,EAAmC,KAAKolE,UAAL,CAAgB79C,QAAhB,EAAnC;AACAxnB,sBAAY,CAACC,OAAb,CAAqB,UAArB,EAAiC,KAAK48D,QAAL,CAAcr1C,QAAd,EAAjC;AACA,eAAKjb,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,oBAAD,CAArB;AACD;;;4DAGmC;AAAA;;AAChC,cAAI,KAAKiZ,MAAT,EAAiB;AACf,iBAAKT,kBAAL,CAAwBiyD,kCAAxB,CAA2D,KAAKpZ,QAAhE,EAA0EnlE,SAA1E,CAAoF,UAAAo9E,WAAW,EAAI;AACjG,sBAAI,CAAC9wD,kBAAL,CAAwBsC,cAAxB,GAAyCwuD,WAAW,CAACC,iBAArD;AACAI,uCAAyB,CAACL,WAAD,CAAzB;AACD,aAHD,EAIA,UAACzhD,KAAD,EAAS;AACP,sBAAI,CAACjvB,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;;AACA;AACD,aAPD;AAQD;AACJ;;;;;;;uBAxjBU4nE,0B,EAA0B,gI,EAAA,uH,EAAA,2J,EAAA,oK,EAAA,8H,EAAA,4J,EAAA,iJ,EAAA,mK,EAAA,qH;AAAA,K;;;YAA1BA,0B;AAA0B,8C;AAAA,gB;AAAA,c;AAAA,6iV;AAAA;AAAA;;;AC7CvC;;AACA;;AAEY;;AACE;;AACE;;AAAuC;AAAA,mBAAS,IAAA/+C,UAAA,EAAT;AAAqB,WAArB;;AACyC;;AAClF;;AACA;;AACE;;AACgF;;AAA6C;;AAC/H;;AAYF;;AAGN;;AAEE;;AAAwC;AAAA;;AAAA;;AAAA,qCAA+B,IAAA6hD,YAAA,MAAkB,OAAlB,EAA0B,KAA1B,CAA/B;AAA+D,WAA/D;;AACpB;;AAII;;AACI;;AAA+D;;AAAa;;AAC5E;;AACA;AAAA;AAAA,aAAqD,QAArD,EAAqD;AAAA,mBAAW,IAAA3pD,iBAAA,EAAX;AAA8B,WAAnF;;AACI;;AAAmB;;AAAW;;AAC9B;;AAEA;;AACR;;AACA;;AACI;;AAA4D;;AAAQ;;AAA2B;;AAAC;;AAAO;;AACvG;;AACI;AAAA;AAAA;;AADJ;;AAKA;;AAGJ;;AACD;;AACK;;AAGA;;AAEA;;AAGA;;AAEC;;AAGL;;AACA;;AACI;;AAEA;;AAIA;;AAGJ;;AACD;;AACM;;AAID;;AAQJ;;AACA;;AACI;;AAQA;;AAIA;;AAEJ;;AACJ;;AACA;;AACI;;AACJ;;AACR;;AACJ;;AAKZ;;AACI;;AACJ;;AAEI;;AAIA;;AAGJ;;AAEI;;AACC;;AA2CG;;AACN;;AACF;;AACA;;AACE;;AACE;;AACI;;AAsBA;;AACI;;AACI;;AACI;;AAAI;;AACsE;;AAC1E;;AAAmC;;AAAI;;AACvC;;AAAI;;AACoE;;AAC5E;;AACJ;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AACI;;AAAyB;;AAAqD;;AAClF;;AACA;;AACI;;AAAyB;;AAAkD;;AAC/E;;AACJ;;AACA;;AACI;;AACA;;AACA;;AACJ;;AACJ;;AACJ;;AACJ;;AAGA;;AACI;;AACA;;AACI;;AACI;;AAAoF;;AAAU;;AAClG;;AACA;;AACI;;AAAmG;;AAAO;;AAC9G;;AACJ;;AACA;;AACA;;AACA;;AAEA;;AACI;;AACI;;AAA0B;;AAAI;;AAAQ;;AACtC;;AACI;;AAAqB;;AAAW;;AAChC;;AAEF;;AACN;;AACA;;AACI;;AAA0B;;AAAI;;AAAQ;;AACtC;;AAGA;AAAA;AAAA,aAA2B,aAA3B,EAA2B;AAAA,mBACZ,IAAA4pD,aAAA,QADY;AACS,WADpC,EAA2B,eAA3B,EAA2B;AAAA,mBAEV,IAAAA,aAAA,QAFU;AAEW,WAFtC,EAA2B,UAA3B,EAA2B;AAAA,mBAGf,IAAAC,YAAA,QAHe;AAGK,WAHhC,EAA2B,YAA3B,EAA2B;AAAA,mBAIb,IAAAC,YAAA,QAJa;AAIO,WAJlC;;AAOA;;AACJ;;AACA;;AACI;;AAA6C;;AAAa;;AAC1D;;AACJ;;AACA;;AACI;;AAA0B;;AAAa;;AACvC;;AACJ;;AACA;;AACI;;AAA0B;;AAAgB;;AAC1C;;AACJ;;AACA;;AACI;;AAA0B;;AAAc;;AACxC;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACI;AAAA,mBAAS,IAAAC,0BAAA,EAAT;AAAqC,WAArC;;AAAuC;;AAAI;;AAE/C;;AACwE;;AAAK;;AACjF;;AACJ;;AACF;;AACF;;AACA;;AAEA;;AAEI;;AACI;;AACI;;AACI;;AAA2E;;AAAY;;AACvF;;AACI;;AAAyB;;AAAO;;AACpC;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AAEI;;AAC4F;;AAAK;;AACjG;;AAGsC;;AAAK;;AAC/C;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AACI;;AACI;;AACI;;AAA4E;;AAAY;;AACxF;;AAA4E;AAAA,mBAAS,IAAAzrD,aAAA,EAAT;AAAwB,WAAxB;;AACxE;;AAAyB;;AAAO;;AACpC;;AACJ;;AACA;;AACI;;AAAoC;;AAA+B;;AACvE;;AACA;;AACI;;AAA6C;AAAA,mBAAS,IAAA4B,kBAAA,EAAT;AAA6B,WAA7B;;AAA7C;;AACA;;AAAQ;AAAA,mBAAS,IAAA5B,aAAA,EAAT;AAAwB,WAAxB;;AAGiB;;AAAK;;AAClC;;AACJ;;AACJ;;AACJ;;AAuBA;;AAEI;;AACI;;AACI;;AACI;;AAA2E;;AAAY;;AACvF;;AAA4E;AAAA,mBAAS,IAAA3B,aAAA,EAAT;AAAwB,WAAxB;;AACxE;;AAAyB;;AAAO;;AACpC;;AACJ;;AACA;;AACI;;AAAoC;;AAAgB;;AACxD;;AACA;;AACI;;AAA6C;AAAA,mBAAS,IAAAwD,cAAA,EAAT;AAAyB,WAAzB;;AAA7C;;AACA;;AAAQ;AAAA,mBAAS,IAAAxD,aAAA,EAAT;AAAwB,WAAxB;;AAGiB;;AAAK;;AAClC;;AACJ;;AACJ;;AACJ;;AACA;;AAEI;;AACI;;AACI;;AACI;;AAA2E;;AAAY;;AACvF;;AAA4E;AAAA,mBAAS,IAAA3K,IAAA,EAAT;AAAe,WAAf;;AACxE;;AAAyB;;AAAO;;AACpC;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AAAQ;AAAA,mBAAS,IAAAA,IAAA,EAAT;AAAe,WAAf;;AAEiB;;AAAK;;AAClC;;AACJ;;AACJ;;AACJ;;AAEA;;AAEI;;AACI;;AACI;;AACI;;AAA2E;;AAAY;;AACvF;;AAA4E;AAAA,mBAAS,IAAAg4D,qBAAA,EAAT;AAAgC,WAAhC;;AACxE;;AAAyB;;AAAO;;AACpC;;AACJ;;AACA;;AACI;;AACJ;;AACA;;AACI;;AAAQ;AAAA,mBAAS,IAAAA,qBAAA,EAAT;AAAgC,WAAhC;;AAEiB;;AAAK;;AAClC;;AACJ;;AACJ;;AACJ;;AAGA;;;;;;;;AAjbgG;;AAAA;;AA0B5D;;AAAA;;AAEY;;AAAA;;AAOR;;AAAA,wHAAkD,SAAlD,EAAkD,kIAAlD;;AAKA;;AAAA;;AAKyB;;AAAA;;AAGzB;;AAAA;;AAGA;;AAAA;;AAEA;;AAAA;;AAC2B;;AAAA;;AAK4B;;AAAA;;AAIvD;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAIA;;AAAA;;AAUJ;;AAAA;;AAQA;;AAAA;;AA8BtB;;AAAA;;AAsFmB;;AAAA;;AACY;;AAAA;;AAEZ;;AAAA;;AACY;;AAAA;;AAuCjC;;AAAA,qGAA6B,MAA7B,EAA6B,gBAA7B,EAA6B,SAA7B,EAA6B,iBAA7B;;AAoEP;;AAAA;;AA6CA;;AAAA;;AAW+C;;AAAA;;AAY/C;;AAAA;;AAWW;;AAAA;;AAkC+D;;AAAA;;;;;;;;;;sED9YlEnD,0B,EAA0B;cANtC,uDAMsC;eAN5B;AACTjrE,kBAAQ,EAAE,yBADD;AAET4D,qBAAW,EAAE,sCAFJ;AAGT3D,mBAAS,EAAE,CAAC,qCAAD,CAHF;AAITwkB,uBAAa,EAAE,gEAAkBC;AAJxB,S;AAM4B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE9CvC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACqDsB;;AAA0E;;AAAsB;;;;;;AAArD;;AAA+B;;AAAA;;;;;;AAE5E;;AACE;;AACD;;;;;;AACA;;AACC;;AACD;;;;;;AA4CH;;AAA+G;;AAAmB;;;;;;AAClI;;AAA2E;;AAAwC;;;;;;AAgBrH;;AAEE;;AAAuB;;;;;;AAiB3B;;AACE;;AAAyB;;;;;;AAoBzB;;AAA0I;;AAA8B;;;;;;AAyBtK;;AAAoF;;AACtF;;;;;;AADsD;;AAAgC;;AAAA;;;;;;AAEtF;;AACE;;AAAyB;;;;;;AAkB3B;;AAAoI;;AAA4B;;;;;;AAqBhK;;AAAmF;;AACrF;;;;;;AADqD;;AAAgC;;AAAA;;;;;;AAErF;;AACE;;AAAuB;;;;;;AAuDvB;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AAyBE;;AAAoF;;AAAiB;;;;;;AAA7D;;AAAsB;;AAAsB;;AAAA;;;;;;;;AAW1F;;AACE;;AACE;;AACE;;AAAmF;;AAAgB;;AACrG;;AACA;;AACC;;AAAG;AAAA;;AAAA;;AAAA;AAAA;;AAA8B;;AAA+D;;AACjG;;AACF;;AACF;;;;;;AANkB;;AAAA;;AAAuE;;AAAA;;AAExB;;AAAA;;;;;;;;;;QD9ShE2pD,gC;AAaX,gDAAmB78D,QAAnB,EAAuD88D,gBAAvD,EAAwG1yD,eAAxG,EAAsJvK,gBAAtJ,EACSs1D,cADT,EACqDp1D,WADrD,EAC4F1jB,MAD5F,EAC0H0gF,WAD1H,EAC4JC,UAD5J,EAEUvyE,MAFV,EAEkC4E,QAFlC,EAEmE;AAAA;;AAFhD,aAAA2Q,QAAA,GAAAA,QAAA;AAAoC,aAAA88D,gBAAA,GAAAA,gBAAA;AAAiD,aAAA1yD,eAAA,GAAAA,eAAA;AAA8C,aAAAvK,gBAAA,GAAAA,gBAAA;AAC7I,aAAAs1D,cAAA,GAAAA,cAAA;AAA4C,aAAAp1D,WAAA,GAAAA,WAAA;AAAuC,aAAA1jB,MAAA,GAAAA,MAAA;AAA8B,aAAA0gF,WAAA,GAAAA,WAAA;AAAkC,aAAAC,UAAA,GAAAA,UAAA;AAClJ,aAAAvyE,MAAA,GAAAA,MAAA;AAAwB,aAAA4E,QAAA,GAAAA,QAAA;AAblC,aAAA6Q,WAAA,GAAmC;AACjCC,mBAAS,EAAE,KADsB;AAEjCC,oBAAU,EAAE,YAFqB,CAGjC;;AAHiC,SAAnC;AAMA,aAAAi4B,SAAA,GAAqB,IAArB;AAcA,aAAAqB,YAAA,GAAoB,EAApB;AACA,aAAAujC,uBAAA,GAA+B,EAA/B;AACA,aAAA/L,aAAA,GAAqB,EAArB;AACA,aAAAnzC,OAAA,GAAe,EAAf;AACA,aAAAszC,mBAAA,GAA2B,EAA3B;AACA,aAAAE,YAAA,GAAoB,EAApB;AACA,aAAAD,kBAAA,GAA0B,EAA1B;AAkBA,aAAA4L,iBAAA,GAA6B,KAA7B;AACA,aAAAC,eAAA,GAA2B,KAA3B;AACA,aAAAC,cAAA,GAA0B,KAA1B;AACA,aAAAC,cAAA,GAA0B,KAA1B;AACS,aAAA3gF,OAAA,GAAU,kEAAUC,MAApB;AACA,aAAAmpC,cAAA,GAAiB,kEAAUA,cAA3B;AAaT,aAAApb,cAAA,GAA0B,KAA1B;AACA,aAAAD,cAAA,GAA0B,KAA1B;AAEA,aAAAumB,SAAA,GAAqB,KAArB;AACA,aAAAjrB,UAAA,GAAoB,CAApB;AACA,aAAAu3D,mBAAA,GAA0B,EAA1B,CAtDmE,CAkKnE;;AACQ,aAAArpD,GAAA,GAAM,8CAAaC,IAAb,CAAkB31B,KAAlB,CAAwB,kBAAxB,CAAN;AACA,aAAA41B,EAAA,GAAK,8CAAaD,IAAb,CAAkB31B,KAAlB,CAAwB,kBAAxB,CAAL;AA+pBR,aAAAg/E,qBAAA,GAAgC,KAAhC;AAwjBA,aAAAC,gBAAA,GAA2B,KAA3B;AA33CsE;;;;mCAwD9D;AAEN,eAAKx9D,QAAL,CAAcwB,IAAd;;AACA,eAAKC,KAAL;;AACA,cAAIvjB,YAAY,CAACM,OAAb,CAAqB,aAArB,KAAuC,IAA3C,EAAiD;AAC/C,iBAAKiM,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,EAAD,CAArB;AACA;AACD;;AACD,eAAK4rE,YAAL,GAAoB,CAACv/E,YAAY,CAACM,OAAb,CAAqB,gBAArB,CAArB;AACA,eAAKk/E,IAAL,GAAYx/E,YAAY,CAACM,OAAb,CAAqB,OAArB,CAAZ,CATM,CAUN;;AACA,eAAKsjB,kBAAL;AACA,eAAKgT,aAAL,GAAqB,KAArB,CAZM,CAaN;AACA;AACA;;AACC,eAAK+H,WAAL,GAhBK,CAgBe;;AACpB,eAAKmqB,uBAAL,GAjBK,CAiB2B;;AAChC,eAAK4xB,UAAL,GAlBK,CAkBc;;AACpB,eAAK+E,UAAL,GAAkB,KAAKZ,WAAL,CAAiBa,KAAjB,CAAuB;AACvCC,mBAAO,EAAE,CAAC,EAAD;AAD8B,WAAvB,CAAlB;;AAIA,cAAI,KAAKJ,YAAL,IAAqB,CAAzB,EAA4B,CAC1B;AACA;AACA;AACA;AACA;AACA;AACD;;AACD,eAAK/2D,UAAL,GAAkBxoB,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAlB;AACAN,sBAAY,CAACwjB,UAAb,CAAwB,KAAxB;AACD,S,CACH;;;;6CACuB;AAAA;;AACnB,eAAK3B,WAAL,CAAiBuC,eAAjB,CAAiCpkB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,EAAsE,yBAAtE,EAAiGT,SAAjG,CAA2G,UAAAwkB,UAAU,EAAI;AACvH,oBAAI,CAACI,QAAL,GAAgBJ,UAAU,CAAC,CAAD,CAAV,CAAcK,UAA9B;AACA,oBAAI,CAACk7D,OAAL,GAAev7D,UAAU,CAAC,CAAD,CAAV,CAAcS,SAA7B;AACA,oBAAI,CAACP,iBAAL,GAAyBF,UAAU,CAAC,CAAD,CAAV,CAAcG,aAAvC;;AACA,oBAAI,CAACq7D,aAAL;AACD,WALD,EAMI,UAACl8D,GAAD,EAAS;AACT,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WARH;AASD,S,CAED;AACA;AACA;AACA;AACA;AACF;;;;8CACqC;AAAA;;AAAA,cAAjBhV,KAAiB,uEAAJ,EAAI;;AACnC,cAAGA,KAAK,IAAI,EAAZ,EAAe;AACb,iBAAKigF,gBAAL,CAAsBj1D,QAAtB,CAA+B0lD,iBAA/B,GAAiD,IAAjD;AACA,iBAAKuP,gBAAL,CAAsBj1D,QAAtB,CAA+B2lD,eAA/B,GAA+C,IAA/C;AACA,gBAAIj/C,IAAI,GAAG,KAAKmrB,YAAL,CAAkBp1B,MAAlB,CAAyB,UAAAkK,CAAC;AAAA,qBAAIA,CAAC,CAAC3J,YAAF,KAAmBhoB,KAAvB;AAAA,aAA1B,EAAwD,CAAxD,CAAX;;AACA,gBAAG0xB,IAAI,IAAE9J,SAAT,EAAmB;AACjB,mBAAKu5D,eAAL,GAAqB,IAArB;AACD,aAFD,MAGI;AACF,mBAAKA,eAAL,GAAqB,KAArB;AACA,mBAAKlB,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UAA/B,GAA4CwI,IAAI,CAACE,QAAjD;AACD;AACF,WAXD,MAYI;AACF,iBAAKuvD,eAAL,GAAqB,KAArB;AACD;;AAED,eAAKjgD,OAAL,GAAe,EAAf;;AACA,cAAG,KAAKigD,eAAL,IAAsB,KAAzB,EAA+B;AAC/B;AACA36E,mBAAO,CAACC,GAAR,CAAYpF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAZ;;AACA,iBAAKs+E,gBAAL,CAAsBmB,mBAAtB,CAA0C//E,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA1C,EACE,KAAKs+E,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UADjC,EAC6ChoB,SAD7C,CACuD,UAAA04B,aAAa,EAAI;AACpE;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF;AACA;AACA,sBAAI,CAACsH,OAAL,GAAetH,aAAf;;AACA,mBAAK,IAAI2G,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACW,OAAL,CAAariC,MAAjC,EAAyC0hC,CAAC,EAA1C,EAA8C;AAC5C,wBAAI,CAACW,OAAL,CAAaX,CAAb,EAAgB3G,aAAhB,GAAgC,QAAI,CAACrmB,kBAAL,CAAwB,QAAI,CAAC2tB,OAAL,CAAaX,CAAb,EAAgB3G,aAAxC,CAAhC;AACD;;AACD,sBAAI,CAACy6C,aAAL,GAAqB,QAAI,CAACnzC,OAA1B;AACA,sBAAI,CAACwzC,YAAL,GAAoB,QAAI,CAACxzC,OAAzB;;AACA,sBAAI,CAAC0zC,SAAL,CAAe,QAAI,CAACqL,gBAAL,CAAsBj1D,QAAtB,CAA+B4kD,aAA9C,EAA6D,QAAI,CAACqQ,gBAAL,CAAsBj1D,QAAtB,CAA+BwkD,eAA5F,EAA6G,QAAI,CAACyQ,gBAAL,CAAsBj1D,QAAtB,CAA+BmzC,aAA5I;;AACA,sBAAI,CAACkjB,kBAAL;AACD,aAzBH,EA0BM,UAACr8D,GAAD,EAAS;AACT,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aA5BL;AA6BG,WAlDgC,CAmDnC;;AACD;;;2CAKoBuiB,S,EAAW;AAC5B,cAAIC,SAAS,GAAG,8CAAaC,OAAb,CAAqBF,SAArB,EAAgC,KAAKH,GAArC,EAA0C;AACxDM,mBAAO,EAAE,MAAM,CADyC;AAExDJ,cAAE,EAAE,KAAKA,EAF+C;AAGxDK,gBAAI,EAAE,+CAAcC,GAHoC;AAIxDC,mBAAO,EAAE,8CAAaC;AAJkC,WAA1C,CAAhB;AAMA,iBAAON,SAAS,CAAC3O,QAAV,CAAmB,8CAAawO,IAAhC,CAAP;AACD,S,CACD;;;;sCACc;AAAA;;AACZ,eAAK9J,eAAL,CAAqB0L,gBAArB,CAAsC53B,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAtC,EAA0E,GAA1E,EAA8E,GAA9E,EAAkF,MAAlF,EACA,EADA,EACG,EADH,EACM,EADN,EACS,EADT,EACY,EADZ,EACe,EADf,EACkB,EADlB,EACqB,EADrB,EACwB,EADxB,EAC4B,EAD5B,EACgCT,SADhC,CAC0C,UAAAg4B,QAAQ,EAAI;AACpD,oBAAI,CAACnH,QAAL,GAAgBmH,QAAhB;AACD,WAHD,EAGG,UAAClU,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WALD;AAMD,S,CACH;;;;kDAC4B;AAAA;;AAExB,eAAKgO,gBAAL,CAAsB8B,0BAAtB,CAAiDzjB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjD,EAAsFT,SAAtF,CAAgG,UAAA27C,YAAY,EAAI;AAC9G,oBAAI,CAACujC,uBAAL,GAA+BvjC,YAA/B;AACAA,wBAAY,CAACr4C,OAAb,CAAqB,UAAAC,OAAO,EAAI;AAC9B,kBAAIA,OAAO,CAAC,QAAD,CAAP,IAAqB,QAAzB,EACE,QAAI,CAACo4C,YAAL,CAAkBn4C,IAAlB,CAAuBD,OAAvB;AACH,aAHD;AAID,WAND,EAMG,UAACugB,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WARD;AASD,S,CACH;;;;kCACY46D,a,EAAeJ,e,EAAiBrR,a,EAAe;AAAA;;AAEvD,cAAIzsC,IAAI,GAAG,KAAK2iD,aAAL,CAAmB5sD,MAAnB,CAA0B,UAAAkK,CAAC;AAAA,mBAAIA,CAAC,CAACiI,aAAF,KAAoBukC,aAAxB;AAAA,WAA3B,EAAkE,CAAlE,CAAX;;AACA,cAAGzsC,IAAI,IAAE9J,SAAT,EAAmB,CAAG,CAAtB,MACI;AACFu2C,yBAAa,GAAGzsC,IAAI,CAACoI,SAArB;AACD;;AAED,eAAK06C,mBAAL,GAA2B,KAAKH,aAAL,CAAmB5sD,MAAnB,CAA0B,UAAAC,GAAG,EAAI;AAC1D,mBAAOA,GAAG,CAACsB,WAAJ,CAAgBT,iBAAhB,GAAoCF,KAApC,CAA0CmnD,eAAe,CAACjnD,iBAAhB,EAA1C,CAAP;AACD,WAF0B,CAA3B;AAIA,eAAKksD,kBAAL,GAA0B,KAAKC,YAAL,CAAkBjtD,MAAlB,CAAyB,UAAAC,GAAG,EAAI;AACxD,mBAAOA,GAAG,CAACsB,WAAJ,CAAgBT,iBAAhB,GAAoCF,KAApC,CAA0CunD,aAAa,CAACrnD,iBAAd,EAA1C,CAAP;AACD,WAFyB,CAA1B;AAGA,cAAIwH,QAAQ,CAACouC,aAAD,CAAR,GAA0B,CAA9B,EACE,KAAKsW,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAC,GAAG,EAAI;AAC9D,mBAAOA,GAAG,CAACoS,SAAJ,KAAkB/J,QAAQ,CAACouC,aAAD,CAAjC;AACD,WAFyB,CAA1B;AAIF,eAAKmjB,QAAL,CAAc,KAAKrB,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UAA7C;AACA,cAAI,KAAK+2D,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,IAA2C,CAA/C,EACE,KAAK+hB,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,GAA0C,IAA1C;AAEA53D,oBAAU,CAAC,YAAM;AACf,oBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,WAFS,EAEP,GAFO,CAAV;AAGH;;;4CAEmB8sD,W,EAAa;AAC/B,eAAKJ,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAC,GAAG,EAAI;AAC9D,mBAAOA,GAAG,CAACy2C,aAAJ,KAAsBpuC,QAAQ,CAAC8kD,WAAD,CAArC;AACD,WAFyB,CAA1B;AAGD,S,CACD;;;;qCACa;AAAA;;AACX,eAAKyD,cAAL,CAAoBU,oBAApB,CAAyC33E,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAzC,EAA8ET,SAA9E,CAAwF,UAAA+3E,MAAM,EAAI;AAChG,oBAAI,CAACA,MAAL,GAAcA,MAAd;;AACA,oBAAI,CAACqI,QAAL,CAAc,QAAI,CAACrB,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UAA7C;;AACA,gBAAI,QAAI,CAAC+2D,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,IAA2C,CAA/C,EACE,QAAI,CAAC+hB,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,GAA0C,IAA1C;AACH,WALD;AAMD,S,CACH;;;;iCACWh1C,U,EAAY;AACnB,cAAI,KAAK+2D,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,IAA2C,IAA3C,IAAmD,KAAK+hB,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,IAA2C,CAAlG,EAAqG;AACnG,gBAAG,KAAK+a,MAAL,IAAerxD,SAAlB,EAA4B;AAC5B,mBAAK25D,YAAL,GAAoB,KAAKtI,MAAL,CAAYxxD,MAAZ,CAAmB,UAAAC,GAAG,EAAI;AAC5C,uBAAOA,GAAG,CAACwB,UAAJ,KAAmB6G,QAAQ,CAAC7G,UAAD,CAAlC;AACD,eAFmB,CAApB;AAGA,mBAAKq4D,YAAL,GAAoB,KAAKA,YAAL,CAAkB95D,MAAlB,CAAyB,UAAAC,GAAG,EAAI;AAClD,uBAAOA,GAAG,CAACsG,MAAJ,KAAe,CAAtB;AACD,eAFmB,CAApB;AAGD;AACA;AACF;;;kCAGS;AACR,eAAK1J,OAAL,GAAe,IAAf;AACD;;;kCACS;AACR,eAAKA,OAAL,GAAe,KAAf;AACD;;;oCAEW;AACV,eAAKC,YAAL,GAAoB,IAApB;AACD;;;oCACW;AACV,eAAKA,YAAL,GAAoB,KAApB;AACD;;;yCACgBvW,K,EAAO;AAEtB,eAAKsW,OAAL,GAAe,KAAf;AACA,eAAKC,YAAL,GAAoB,KAApB;AAED,S,CAGD;;;;wCACgBsM,I,EAAc7C,M,EAAQ;AAAA;;AACpC,cAAI,KAAKiyD,gBAAL,CAAsBj1D,QAAtB,CAA+Bw2D,aAA/B,CAA6C94D,UAA7C,CAAwDle,IAAxD,CAA6D7H,KAA7D,IAAsE,EAA1E,EAA8E;AAC5E,iBAAK86C,OAAL,GAAe,KAAKwiC,gBAAL,CAAsBj1D,QAAtB,CAA+Bw2D,aAA/B,CAA6C94D,UAA7C,CAAwDle,IAAxD,CAA6D/G,IAA7D,GAAoE,GAApE,GAA0E,KAAKw8E,gBAAL,CAAsBj1D,QAAtB,CAA+Bw2D,aAA/B,CAA6C94D,UAA7C,CAAwDle,IAAxD,CAA6D7H,KAAvI,GAA+I,GAA/I,GAAqJ,KAAKs9E,gBAAL,CAAsBj1D,QAAtB,CAA+Bw2D,aAA/B,CAA6C94D,UAA7C,CAAwDle,IAAxD,CAA6DiZ,GAAjO;AACD,WAFD,MAGK;AACH,iBAAKg6B,OAAL,GAAe,KAAKwiC,gBAAL,CAAsBj1D,QAAtB,CAA+Bw2D,aAA/B,CAA6C94D,UAA7C,CAAwDle,IAAxD,CAA6D/G,IAA7D,GAAoE,IAApE,GAA2E,KAAKw8E,gBAAL,CAAsBj1D,QAAtB,CAA+Bw2D,aAA/B,CAA6C94D,UAA7C,CAAwDle,IAAxD,CAA6D7H,KAAxI,GAAgJ,GAAhJ,GAAsJ,KAAKs9E,gBAAL,CAAsBj1D,QAAtB,CAA+Bw2D,aAA/B,CAA6C94D,UAA7C,CAAwDle,IAAxD,CAA6DiZ,GAAlO;AACD,WANmC,CASpC;AACA;AACA;AACA;AACA;AACA;;;AAGA,cAAI,KAAKw8D,gBAAL,CAAsBj1D,QAAtB,CAA+By2D,aAA/B,IAAgD,EAApD,EAAwD;AACtD,iBAAKC,OAAL,GAAe,KAAKzB,gBAAL,CAAsBj1D,QAAtB,CAA+By2D,aAA/B,CAA6ChxC,IAA7C,GAAoD,GAApD,GAA0D,KAAKwvC,gBAAL,CAAsBj1D,QAAtB,CAA+By2D,aAA/B,CAA6C/wC,MAAtH;AACD;;AAGD7f,cAAI,CAAC7wB,KAAL,CAAW,MAAX,IAAqB,OAArB;AACA6wB,cAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuBqB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAvB;AACAkvB,cAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuBguB,MAAvB;AACA6C,cAAI,CAAC7wB,KAAL,CAAW2hF,QAAX,GAAsB,KAAK1B,gBAAL,CAAsBj1D,QAAtB,CAA+B22D,QAArD;AACA9wD,cAAI,CAAC7wB,KAAL,CAAW4hF,QAAX,GAAsB,KAAK3B,gBAAL,CAAsBj1D,QAAtB,CAA+B42D,QAArD;AACA/wD,cAAI,CAAC7wB,KAAL,CAAWkpB,UAAX,GAAwB,KAAK+2D,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UAAvD,CA3BoC,CA4BpC;;AACA2H,cAAI,CAAC7wB,KAAL,CAAWklE,MAAX,GAAoB,KAAK+a,gBAAL,CAAsBj1D,QAAtB,CAA+Bk6C,MAAnD;AAEA,cAAIlyC,KAAK,GAAG,KAAKwhD,mBAAL,CAAyB/sD,MAAzB,CAAgC,UAAAkK,CAAC;AAAA,mBAAIA,CAAC,CAACiI,aAAF,KAAoB,QAAI,CAACqmD,gBAAL,CAAsBj1D,QAAtB,CAA+B0lD,iBAAvD;AAAA,WAAjC,EAA2G,CAA3G,CAAZ;;AACA,cAAG19C,KAAK,IAAEpL,SAAV,EAAoB,CAAG,CAAvB,MACI;AACF,iBAAKq4D,gBAAL,CAAsBj1D,QAAtB,CAA+BmzC,aAA/B,GAA+CnrC,KAAK,CAAC8G,SAArD;AACD;;AACD,cAAI+nD,KAAK,GAAG,KAAKpN,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAkK,CAAC;AAAA,mBAAIA,CAAC,CAACiI,aAAF,KAAoB,QAAI,CAACqmD,gBAAL,CAAsBj1D,QAAtB,CAA+B2lD,eAAvD;AAAA,WAAhC,EAAwG,CAAxG,CAAZ;;AACA,cAAGkR,KAAK,IAAEj6D,SAAV,EAAoB,CAAG,CAAvB,MACI;AACF,iBAAKq4D,gBAAL,CAAsBj1D,QAAtB,CAA+B6kD,WAA/B,GAA6CgS,KAAK,CAAC/nD,SAAnD;AACD;;AACDjJ,cAAI,CAAC7wB,KAAL,CAAWm+D,aAAX,GAA2B,KAAK8hB,gBAAL,CAAsBj1D,QAAtB,CAA+BmzC,aAA1D;AACAttC,cAAI,CAAC7wB,KAAL,CAAW6vE,WAAX,GAAyB,KAAKoQ,gBAAL,CAAsBj1D,QAAtB,CAA+B6kD,WAAxD;AACAh/C,cAAI,CAAC7wB,KAAL,CAAWwvE,eAAX,GAA6B,KAAKyQ,gBAAL,CAAsBj1D,QAAtB,CAA+BwkD,eAA5D;AACA3+C,cAAI,CAAC7wB,KAAL,CAAW4vE,aAAX,GAA2B,KAAKqQ,gBAAL,CAAsBj1D,QAAtB,CAA+B4kD,aAA1D,CA5CoC,CA6CpC;;AACA/+C,cAAI,CAAC7wB,KAAL,CAAWwhF,aAAX,GAA2B,KAAK/jC,OAAhC;AACA5sB,cAAI,CAAC7wB,KAAL,CAAWyhF,aAAX,GAA2B,KAAKC,OAAhC;AACA7wD,cAAI,CAAC7wB,KAAL,CAAW8hF,eAAX,GAA6B,KAAK7B,gBAAL,CAAsBj1D,QAAtB,CAA+B82D,eAA5D;AACAjxD,cAAI,CAAC7wB,KAAL,CAAWk+D,QAAX,GAAsB,KAAK+hB,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAArD;AACArtC,cAAI,CAAC7wB,KAAL,CAAW4zE,YAAX,GAA0B,KAAKqM,gBAAL,CAAsBj1D,QAAtB,CAA+B4oD,YAAzD,CAlDoC,CAkDmC;;AAEvE,cAAI5lD,MAAM,IAAI,CAAV,IAAeA,MAAM,IAAI,CAA7B,EAAgC;AAC9B,iBAAKqyD,iBAAL,GAAyB,IAAzB;AACA,iBAAKE,cAAL,GAAsB,IAAtB;AACD;;AACD,cAAIvyD,MAAM,IAAI,CAAV,IAAeA,MAAM,IAAI,CAA7B,EAAgC;AAC9B,iBAAKsyD,eAAL,GAAuB,IAAvB;AACA,iBAAKE,cAAL,GAAsB,IAAtB;AACD;;AAED,eAAKP,gBAAL,CAAsB8B,+BAAtB,CAAsDlxD,IAAI,CAAC7wB,KAA3D,EAAkEkB,SAAlE,CAA4E,UAAAO,IAAI,EAAI;AAClF,oBAAI,CAACw+E,gBAAL,CAAsBj1D,QAAtB,CAA+Bmd,EAA/B,GAAoC1mC,IAAI,CAAC0mC,EAAzC;AAEA,gBAAImK,eAAe,GAAG;AACpBX,qBAAO,EAAE,KADW;AAEpBjpB,wBAAU,EAAE;AAAEle,oBAAI,EAAE;AAAE/G,sBAAI,EAAE,CAAR;AAAWd,uBAAK,EAAE,CAAlB;AAAqB8gB,qBAAG,EAAE;AAA1B,iBAAR;AAAuC8I,sBAAM,EAAE,EAA/C;AAAmD5D,yBAAS,EAAE,EAA9D;AAAkEipB,oBAAI,EAAE;AAAxE,eAFQ;AAGpBtuB,uBAAS,EAAE;AAHS,aAAtB;AAMA,gBAAI8G,MAAM,GAAG,mCAAM,CAAC3oB,IAAI,CAAC+/E,aAAN,CAAN,CAA2B1vC,QAA3B,EAAb;AAEAQ,2BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgCiZ,GAAhC,GAAsC2G,MAAM,CAAC5f,IAA7C;AACA8nC,2BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC7H,KAAhC,GAAwCynB,MAAM,CAAC1nB,MAAP,GAAgB,CAAxD;AACA4vC,2BAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC/G,IAAhC,GAAuC2mB,MAAM,CAAC2nB,KAA9C;AACA,oBAAI,CAACkuC,gBAAL,CAAsBj1D,QAAtB,CAA+Bw2D,aAA/B,GAA+ClvC,eAA/C;;AAGA,gBAAIK,eAAe,GAAGlxC,IAAI,CAACggF,aAAL,CAAmB7wD,KAAnB,CAAyB,GAAzB,CAAtB;;AACA,gBAAIgiB,qBAAqB,GAAG;AAAEnC,kBAAI,EAAE,CAAR;AAAWC,oBAAM,EAAE;AAAnB,aAA5B;AACAkC,iCAAqB,CAACnC,IAAtB,GAA6B,CAACkC,eAAe,CAAC,CAAD,CAA7C;AACAC,iCAAqB,CAAClC,MAAtB,GAA+B,CAACiC,eAAe,CAAC,CAAD,CAA/C;AACA,oBAAI,CAACstC,gBAAL,CAAsBj1D,QAAtB,CAA+By2D,aAA/B,GAA+C7uC,qBAA/C;AAEA,oBAAI,CAAC/oB,UAAL,GAAkBpoB,IAAI,CAACugF,SAAvB;AACA,oBAAI,CAAC/pD,aAAL,GAAqB,KAArB;AACA,oBAAI,CAAC3T,OAAL,GAAe,IAAf;AACA,oBAAI,CAACC,YAAL,GAAoB,KAApB;;AACA,oBAAI,CAACK,KAAL;;AACA,oBAAI,CAACq9D,wBAAL;;AACA,oBAAI,CAACC,cAAL,GAAsB,KAAtB;;AAEA,gBAAIl0D,MAAM,IAAI,CAAd,EAAiB;AAEf,sBAAI,CAACiyD,gBAAL,CAAsBkC,aAAtB,CAAoCtxD,IAAI,CAAC7wB,KAAL,CAAW,IAAX,CAApC,EAAsDqB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAtD,EAA2FT,SAA3F,CAAqG,UAAAO,IAAI,EAAI;AAC3G,oBAAIoyB,GAAG,GAAGpyB,IAAV;;AACA,oBAAIoyB,GAAG,IAAI,cAAX,EAA2B;AACzB,0BAAI,CAAChK,UAAL,IAAmB,MAAMpoB,IAAN,GAAa,+BAAhC;AACA,0BAAI,CAACygF,cAAL,GAAsB,KAAtB;AACD,iBAHD,MAIK,IAAIruD,GAAG,IAAI,gCAAX,EAA4C;AAC/C,0BAAI,CAAChK,UAAL,IAAmB,MAAMpoB,IAAzB;AACA,0BAAI,CAACygF,cAAL,GAAsB,KAAtB;AACD,iBAHI,MAIA;AACH,0BAAI,CAACr4D,UAAL,IAAmB,MAAMpoB,IAAzB;AACA,0BAAI,CAACygF,cAAL,GAAsB,IAAtB;AACD;AACF,eAdD;AAeD,aAjBD,MAkBK;AACH,sBAAI,CAACr4D,UAAL,GAAkBpoB,IAAI,CAACugF,SAAvB;AACD;AACF,WApDD,EAqDI,UAACh9D,GAAD,EAAS;AACT,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAvDH;AA6DD,S,CACH;;;;mCACahH,K,EAAO;AAEhB,cAAIA,KAAK,CAACtS,MAAN,CAAa0mF,KAAb,CAAmB,CAAnB,EAAsBC,IAAtB,GAA6B,OAAjC,EAA0C;AACxC;AACA,iBAAKx4D,UAAL,GAAkB,iCAAlB;AACA,iBAAKoO,aAAL,GAAqB,IAArB;AACA,iBAAK3T,OAAL,GAAe,KAAf,CAJwC,CAKxC;AACD,WAND,MAOK;AACH,gBAAItW,KAAK,CAACtS,MAAN,CAAa0mF,KAAb,CAAmBvjF,MAAnB,GAA4B,CAAhC,EAAmC;AACjC,kBAAMyjF,IAAI,GAAGt0E,KAAK,CAACtS,MAAN,CAAa0mF,KAAb,CAAmB,CAAnB,CAAb;AACA,mBAAKtB,UAAL,CAAgB3+E,GAAhB,CAAoB,SAApB,EAA+Bg8C,QAA/B,CAAwCmkC,IAAxC,EAFiC,CAGjC;AACD;AACF;AACF;;;gCACO93E,I,EAAM;AAEZ,cAAIA,IAAI,CAAC/G,IAAL,IAAa,IAAb,IAAqB+G,IAAI,CAAC/G,IAAL,IAAa,GAAtC,EAA2C;AACzC,iBAAK+3C,SAAL,GAAiB,KAAjB;AACD,WAFD,MAGK;AACH,iBAAKA,SAAL,GAAiB,IAAjB;AACD;AACF;;;iCAEQ3qB,I,EAAc;AAAA;;AAGrB,cAAG,KAAK3H,UAAL,IAAmB,CAAtB,EAAwB;AACtB2H,gBAAI,CAAC7wB,KAAL,CAAWkpB,UAAX,GAAwB,KAAK+2D,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UAAvD;AACD,WAFD,MAGI;AACF2H,gBAAI,CAAC7wB,KAAL,CAAWkpB,UAAX,GAAwB,KAAKA,UAA7B;AACD;;AAED,cAAG,KAAK+2D,gBAAL,CAAsBj1D,QAAtB,CAA+B4oD,YAA/B,IAA+C,CAA/C,IAAoD7jD,QAAQ,CAAC,KAAKkwD,gBAAL,CAAsBj1D,QAAtB,CAA+Bk6C,MAAhC,CAAR,GAAkD,MAAzG,EAAgH;AAC9G,iBAAKyb,gBAAL,GAAwB,IAAxB;AACA,mBAAO,KAAP;AACD,WAHD,MAIK;AACH,iBAAKA,gBAAL,GAAwB,KAAxB;AACD;;AAGD,cAAItkF,IAAI,GAAG,KAAK+jF,uBAAL,CAA6B34D,MAA7B,CACT,UAAAC,GAAG;AAAA,mBAAIA,GAAG,CAACkK,QAAJ,IAAgBf,IAAI,CAAC7wB,KAAL,CAAWkpB,UAA/B;AAAA,WADM,CAAX;;AAKA,cAAI2H,IAAI,CAACwL,KAAL,IAAc,KAAKmf,SAAL,IAAkB,IAApC,EAA0C;AACxC,iBAAKvjB,aAAL,GAAqB,IAArB;AACD;;AACD,cAAIpH,IAAI,CAAC7wB,KAAL,CAAWwhF,aAAX,CAAyB94D,UAAzB,CAAoCle,IAApC,CAAyC7H,KAAzC,IAAkD,EAAtD,EAA0D;AACxD,iBAAK86C,OAAL,GAAe5sB,IAAI,CAAC7wB,KAAL,CAAWwhF,aAAX,CAAyB94D,UAAzB,CAAoCle,IAApC,CAAyC/G,IAAzC,GAAgD,GAAhD,GAAsDotB,IAAI,CAAC7wB,KAAL,CAAWwhF,aAAX,CAAyB94D,UAAzB,CAAoCle,IAApC,CAAyC7H,KAA/F,GAAuG,GAAvG,GAA6GkuB,IAAI,CAAC7wB,KAAL,CAAWwhF,aAAX,CAAyB94D,UAAzB,CAAoCle,IAApC,CAAyCiZ,GAArK;AACD,WAFD,MAGK;AACH,iBAAKg6B,OAAL,GAAe5sB,IAAI,CAAC7wB,KAAL,CAAWwhF,aAAX,CAAyB94D,UAAzB,CAAoCle,IAApC,CAAyC/G,IAAzC,GAAgD,IAAhD,GAAuDotB,IAAI,CAAC7wB,KAAL,CAAWwhF,aAAX,CAAyB94D,UAAzB,CAAoCle,IAApC,CAAyC7H,KAAhG,GAAwG,GAAxG,GAA8GkuB,IAAI,CAAC7wB,KAAL,CAAWwhF,aAAX,CAAyB94D,UAAzB,CAAoCle,IAApC,CAAyCiZ,GAAtK;AACD;;AACD,cAAM4I,MAAM,GAAG,IAAI3sB,IAAJ,EAAf;;AACA,cAAI2sB,MAAM,IAAI,IAAd,EAAoB;AAClB;AACA,iBAAKq1D,OAAL,GAAe,OAAO,GAAP,GAAa,IAA5B;AACD;;AAID,cAAI3xD,QAAQ,CAAC,KAAKkwD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAAhC,CAAR,IAAmD,CAAnD,IAAwD+B,QAAQ,CAAC,KAAKkwD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAAhC,CAAR,IAAmD,CAA/G,EACE6C,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB,CADF,KAEK,IAAG+vB,QAAQ,CAAC,KAAKkwD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAAhC,CAAR,IAAmD,CAAnD,IAAwD,KAAKiyD,gBAAL,CAAsBj1D,QAAtB,CAA+BnW,MAA/B,IAAyC,KAAKrC,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAApG,EACHkvB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB,CADG,KAGH6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB+vB,QAAQ,CAAC,KAAKkwD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAAhC,CAA/B;AAEA6C,cAAI,CAAC7wB,KAAL,CAAW,MAAX,IAAqB,MAArB;AACA6wB,cAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuBqB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAvB,CAjDmB,CAmDrB;AACA;AACA;AACA;;AAEA,cAAMqpB,QAAQ,GAAG,IAAIu3D,QAAJ,EAAjB;;AACA,cAAI,KAAKtC,gBAAL,CAAsBj1D,QAAtB,CAA+Bmd,EAA/B,IAAqC,CAAzC,EAA4C;AAC1C,gBAAI,KAAKy4C,YAAL,GAAoB,CAAxB,EAA2B;AACzB,mBAAKX,gBAAL,CAAsBj1D,QAAtB,CAA+Bmd,EAA/B,GAAoC,KAAKy4C,YAAzC;AACD;AACF;;AAED51D,kBAAQ,CAACw3D,MAAT,CAAgB,MAAhB,EAAwB,KAAK1B,UAAL,CAAgB3+E,GAAhB,CAAoB,SAApB,EAA+BnC,KAAvD;AACA6wB,cAAI,CAAC7wB,KAAL,CAAW,eAAX,IAA8B,KAAKy9C,OAAnC;AACA5sB,cAAI,CAAC7wB,KAAL,CAAW,eAAX,IAA8B,KAAK0hF,OAAnC;;AACA,cAAI,KAAKlmC,SAAL,IAAkB,IAAtB,EAA4B;AAC1B,gBAAI,KAAKslC,UAAL,CAAgB3+E,GAAhB,CAAoB,SAApB,EAA+BnC,KAA/B,IAAwC,EAA5C,EAAgD;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAKigF,gBAAL,CAAsBwC,YAAtB,CAAmCz3D,QAAnC,EAA6C9pB,SAA7C,CAAuD,UAAC0oB,GAAD,EAAS;AAC9D,wBAAI,CAACq2D,gBAAL,CAAsBj1D,QAAtB,CAA+B82D,eAA/B,GAAiDl4D,GAAjD;AACAiH,oBAAI,CAAC7wB,KAAL,CAAW8hF,eAAX,GAA6B,QAAI,CAAC7B,gBAAL,CAAsBj1D,QAAtB,CAA+B82D,eAA5D;AAEA,oBAAI/xD,QAAQ,CAAC,QAAI,CAACkwD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAAhC,CAAR,IAAmD,CAAnD,IAAwD+B,QAAQ,CAAC,QAAI,CAACkwD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAAhC,CAAR,IAAmD,CAA/G,EACE6C,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB,CADF,KAEK,IAAG+vB,QAAQ,CAAC,QAAI,CAACkwD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAAhC,CAAR,IAAmD,CAAnD,IAAwD,QAAI,CAACiyD,gBAAL,CAAsBj1D,QAAtB,CAA+BnW,MAA/B,IAAyC,QAAI,CAACrC,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAApG,EACHkvB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB,CADG,KAGH6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB+vB,QAAQ,CAAC,QAAI,CAACkwD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAAhC,CAA/B;AACF6C,oBAAI,CAAC7wB,KAAL,CAAW,eAAX,IAA8B,QAAI,CAACy9C,OAAnC;AACA5sB,oBAAI,CAAC7wB,KAAL,CAAW,eAAX,IAA8B,QAAI,CAAC0hF,OAAnC;AACA7wD,oBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuBqB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAvB;AACAkvB,oBAAI,CAAC7wB,KAAL,CAAW,MAAX,IAAqB,MAArB;;AAEA,oBAAG,QAAI,CAACkpB,UAAL,IAAmB,CAAtB,EAAwB;AACtB2H,sBAAI,CAAC7wB,KAAL,CAAWkpB,UAAX,GAAwB,QAAI,CAAC+2D,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UAAvD;AACD,iBAFD,MAGI;AACF2H,sBAAI,CAAC7wB,KAAL,CAAWkpB,UAAX,GAAwB,QAAI,CAACA,UAA7B;AACD;;AAED,oBAAI8J,KAAK,GAAG,QAAI,CAACwhD,mBAAL,CAAyB/sD,MAAzB,CAAgC,UAAAkK,CAAC;AAAA,yBAAIA,CAAC,CAACiI,aAAF,KAAoB,QAAI,CAACqmD,gBAAL,CAAsBj1D,QAAtB,CAA+B0lD,iBAAvD;AAAA,iBAAjC,EAA2G,CAA3G,CAAZ;;AACA,oBAAG19C,KAAK,IAAEpL,SAAV,EAAoB,CAAG,CAAvB,MACI;AACFiJ,sBAAI,CAAC7wB,KAAL,CAAW,eAAX,IAA8BgzB,KAAK,CAAC8G,SAApC;AACD;;AACD,oBAAI+nD,KAAK,GAAG,QAAI,CAACpN,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAkK,CAAC;AAAA,yBAAIA,CAAC,CAACiI,aAAF,KAAoB,QAAI,CAACqmD,gBAAL,CAAsBj1D,QAAtB,CAA+B2lD,eAAvD;AAAA,iBAAhC,EAAwG,CAAxG,CAAZ;;AACA,oBAAGkR,KAAK,IAAEj6D,SAAV,EAAoB,CAAG,CAAvB,MACI;AACFiJ,sBAAI,CAAC7wB,KAAL,CAAW,aAAX,IAA4B6hF,KAAK,CAAC/nD,SAAlC;AACD;;AAED,wBAAI,CAACmmD,gBAAL,CAAsB8B,+BAAtB,CAAsDlxD,IAAI,CAAC7wB,KAA3D,EAAkEkB,SAAlE,CAA4E,UAAAO,IAAI,EAAI;AAElF,sBAAI,QAAI,CAACm/E,YAAL,GAAoB,CAAxB,EAA2B;AACzB,wBAAItuC,eAAe,GAAG;AACpBX,6BAAO,EAAE,KADW;AAEpBjpB,gCAAU,EAAE;AAAEle,4BAAI,EAAE;AAAE/G,8BAAI,EAAE,CAAR;AAAWd,+BAAK,EAAE,CAAlB;AAAqB8gB,6BAAG,EAAE;AAA1B,yBAAR;AAAuC8I,8BAAM,EAAE,EAA/C;AAAmD5D,iCAAS,EAAE,EAA9D;AAAkEipB,4BAAI,EAAE;AAAxE,uBAFQ;AAGpBtuB,+BAAS,EAAE;AAHS,qBAAtB;AAMA,wBAAI8G,MAAM,GAAG,mCAAM,CAAC3oB,IAAI,CAAC+/E,aAAN,CAAN,CAA2B1vC,QAA3B,EAAb;AAEAQ,mCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgCiZ,GAAhC,GAAsC2G,MAAM,CAAC5f,IAA7C;AACA8nC,mCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC7H,KAAhC,GAAwCynB,MAAM,CAAC1nB,MAAP,GAAgB,CAAxD;AACA4vC,mCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC/G,IAAhC,GAAuC2mB,MAAM,CAAC2nB,KAA9C;AACAlhB,wBAAI,CAAC7wB,KAAL,CAAWwhF,aAAX,GAA2BlvC,eAA3B,CAZyB,CAezB;AACA;AACA;AACA;AACA;AAID,mBAvBD,MAwBK,CAKJ,CA7BD,CAyBE;AACA;AACA;AAIF;AACA;AACA;AACA;;;AAEA,sBAAI,CAAC7wC,IAAI,CAACusB,MAAL,CAAYnF,QAAZ,MAA0B,GAA1B,IAAiCpnB,IAAI,CAACusB,MAAL,CAAYnF,QAAZ,MAAwB,GAAzD,IAAgEpnB,IAAI,CAACusB,MAAL,CAAYnF,QAAZ,MAAwB,GAAzF,KAAiGpnB,IAAI,CAACoT,MAAL,IAAe,QAAI,CAACrC,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAAhH,IACC,QAAI,CAACikB,iBADV,EAEE,QAAI,CAACqS,aAAL,GAAqB,IAArB,CAFF,KAGK,IAAKx2B,IAAI,CAACusB,MAAL,CAAYnF,QAAZ,MAA0B,GAA3B,IAAmC,CAAC,QAAI,CAACjD,iBAA7C,EACH,QAAI,CAACqS,aAAL,GAAqB,IAArB,CADG,KAGH,QAAI,CAACA,aAAL,GAAqB,KAArB;;AAEF,sBAAI,QAAI,CAACgoD,gBAAL,CAAsBj1D,QAAtB,CAA+Bmd,EAA/B,IAAqC,CAAzC,EAA4C;AAC1C,4BAAI,CAACvL,aAAL,CAAmB/L,IAAnB;AAED,mBAHD,MAIK;AACH,4BAAI,CAACvM,OAAL,GAAe,IAAf;AACA,4BAAI,CAACC,YAAL,GAAoB,KAApB;AACD;;AACD,0BAAI,CAACsF,UAAL,GAAkBpoB,IAAI,CAACumB,YAAL,GAAoB,kBAApB,GAAyCvmB,IAAI,CAACoyB,GAAhE,CAtDkF,CAuDlF;;AACAxyB,8BAAY,CAACC,OAAb,CAAqB,KAArB,EAA4B,QAAI,CAACuoB,UAAjC;;AAGA,0BAAI,CAACjF,KAAL,GA3DkF,CA4DlF;;;AACA,0BAAI,CAAC89D,oBAAL;AACD,iBA9DD,EA+DE,UAAC19D,GAAD,EAAS;AACP,0BAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,iBAjEH;AAmED,eApGD,EAqGE,UAACgQ,GAAD,EAAS;AACP,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eAvGH,EAnB8C,CA4H9C;AACA;AACA;AACA;AACA;;AACD,aAjID,MAkIK;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA6b,kBAAI,CAAC7wB,KAAL,CAAW8hF,eAAX,GAA6B,KAAK7B,gBAAL,CAAsBj1D,QAAtB,CAA+B82D,eAA5D;AAEA,kBAAI/xD,QAAQ,CAAC,KAAKkwD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAAhC,CAAR,IAAmD,CAAnD,IAAwD+B,QAAQ,CAAC,KAAKkwD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAAhC,CAAR,IAAmD,CAA/G,EACE6C,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB,CADF,KAEK,IAAG+vB,QAAQ,CAAC,KAAKkwD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAAhC,CAAR,IAAmD,CAAnD,IAAwD,KAAKiyD,gBAAL,CAAsBj1D,QAAtB,CAA+BnW,MAA/B,IAAyC,KAAKrC,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAApG,EACHkvB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB,CAAvB,CADG,KAGH6wB,IAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuB+vB,QAAQ,CAAC,KAAKkwD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAAhC,CAA/B;AACF6C,kBAAI,CAAC7wB,KAAL,CAAW,eAAX,IAA8B,KAAKy9C,OAAnC;AACA5sB,kBAAI,CAAC7wB,KAAL,CAAW,eAAX,IAA8B,KAAK0hF,OAAnC;AACA7wD,kBAAI,CAAC7wB,KAAL,CAAW,QAAX,IAAuBqB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAvB;AACAkvB,kBAAI,CAAC7wB,KAAL,CAAW,MAAX,IAAqB,MAArB;;AAEA,kBAAG,KAAKkpB,UAAL,IAAmB,CAAtB,EAAwB;AACtB2H,oBAAI,CAAC7wB,KAAL,CAAWkpB,UAAX,GAAwB,KAAK+2D,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UAAvD;AACD,eAFD,MAGI;AACF2H,oBAAI,CAAC7wB,KAAL,CAAWkpB,UAAX,GAAwB,KAAKA,UAA7B;AACD;;AAED,kBAAI8J,KAAK,GAAG,KAAKwhD,mBAAL,CAAyB/sD,MAAzB,CAAgC,UAAAkK,CAAC;AAAA,uBAAIA,CAAC,CAACiI,aAAF,KAAoB,QAAI,CAACqmD,gBAAL,CAAsBj1D,QAAtB,CAA+B0lD,iBAAvD;AAAA,eAAjC,EAA2G,CAA3G,CAAZ;;AACA,kBAAG19C,KAAK,IAAEpL,SAAV,EAAoB,CAAG,CAAvB,MACI;AACFiJ,oBAAI,CAAC7wB,KAAL,CAAW,eAAX,IAA8BgzB,KAAK,CAAC8G,SAApC;AACD;;AACD,kBAAI+nD,KAAK,GAAG,KAAKpN,kBAAL,CAAwBhtD,MAAxB,CAA+B,UAAAkK,CAAC;AAAA,uBAAIA,CAAC,CAACiI,aAAF,KAAoB,QAAI,CAACqmD,gBAAL,CAAsBj1D,QAAtB,CAA+B2lD,eAAvD;AAAA,eAAhC,EAAwG,CAAxG,CAAZ;;AACA,kBAAGkR,KAAK,IAAEj6D,SAAV,EAAoB,CAAG,CAAvB,MACI;AACFiJ,oBAAI,CAAC7wB,KAAL,CAAW,aAAX,IAA4B6hF,KAAK,CAAC/nD,SAAlC;AACD;;AAED,mBAAKmmD,gBAAL,CAAsB8B,+BAAtB,CAAsDlxD,IAAI,CAAC7wB,KAA3D,EAAkEkB,SAAlE,CAA4E,UAAAO,IAAI,EAAI;AAElF,oBAAI,QAAI,CAACm/E,YAAL,GAAoB,CAAxB,EAA2B;AACzB,sBAAItuC,eAAe,GAAG;AACpBX,2BAAO,EAAE,KADW;AAEpBjpB,8BAAU,EAAE;AAAEle,0BAAI,EAAE;AAAE/G,4BAAI,EAAE,CAAR;AAAWd,6BAAK,EAAE,CAAlB;AAAqB8gB,2BAAG,EAAE;AAA1B,uBAAR;AAAuC8I,4BAAM,EAAE,EAA/C;AAAmD5D,+BAAS,EAAE,EAA9D;AAAkEipB,0BAAI,EAAE;AAAxE,qBAFQ;AAGpBtuB,6BAAS,EAAE;AAHS,mBAAtB;AAMA,sBAAI8G,MAAM,GAAG,mCAAM,CAAC3oB,IAAI,CAAC+/E,aAAN,CAAN,CAA2B1vC,QAA3B,EAAb;AAEAQ,iCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgCiZ,GAAhC,GAAsC2G,MAAM,CAAC5f,IAA7C;AACA8nC,iCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC7H,KAAhC,GAAwCynB,MAAM,CAAC1nB,MAAP,GAAgB,CAAxD;AACA4vC,iCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC/G,IAAhC,GAAuC2mB,MAAM,CAAC2nB,KAA9C;AACAlhB,sBAAI,CAAC7wB,KAAL,CAAWwhF,aAAX,GAA2BlvC,eAA3B,CAZyB,CAezB;AACA;AACA;AACA;AACA;AAED,iBArBD,MAsBK,CACH;AACA;AACA;AACD;;AAED,oBAAI,QAAI,CAAC2tC,gBAAL,CAAsBj1D,QAAtB,CAA+Bmd,EAA/B,IAAqC,CAAzC,EAA4C;AAC1C,0BAAI,CAACvL,aAAL,CAAmB/L,IAAnB;AACD,iBAFD,MAGK;AACH,0BAAI,CAACvM,OAAL,GAAe,IAAf;AACA,0BAAI,CAACC,YAAL,GAAoB,KAApB;AACD;;AACD,wBAAI,CAACsF,UAAL,GAAkBpoB,IAAI,CAACumB,YAAL,GAAoB,kBAApB,GAAyCvmB,IAAI,CAACoyB,GAAhE;AACAxyB,4BAAY,CAACC,OAAb,CAAqB,KAArB,EAA4B,QAAI,CAACuoB,UAAjC,EAtCkF,CAyClF;AACA;AACA;AACA;;AAEA,oBAAI,CAACpoB,IAAI,CAACusB,MAAL,CAAYnF,QAAZ,MAA0B,GAA1B,IAAiCpnB,IAAI,CAACusB,MAAL,CAAYnF,QAAZ,MAA0B,GAA3D,IAAkEpnB,IAAI,CAACusB,MAAL,CAAYnF,QAAZ,MAA0B,GAA7F,KAAqGpnB,IAAI,CAACoT,MAAL,IAAe,QAAI,CAACrC,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAApH,IACG,QAAI,CAACikB,iBADZ,EAEI,QAAI,CAACqS,aAAL,GAAqB,IAArB,CAFJ,KAGO,IAAKx2B,IAAI,CAACusB,MAAL,CAAYnF,QAAZ,MAA0B,GAA3B,IAAmC,CAAC,QAAI,CAACjD,iBAA7C,EACH,QAAI,CAACqS,aAAL,GAAqB,IAArB,CADG,KAGH,QAAI,CAACA,aAAL,GAAqB,KAArB,CApD8E,CAuDlF;AACA;;AACA,wBAAI,CAACrT,KAAL,GAzDkF,CA0DlF;;;AACA,wBAAI,CAAC89D,oBAAL;AACD,eA5DD,EA6DE,UAAC19D,GAAD,EAAS;AACP,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eA/DH,EA1CG,CA0GH;AACA;AACA;AACA;AACA;;AACD;AACF;AACF;;;gCAEO;AACNmU,gBAAM,CAACC,MAAP,CAAc;AACZC,eAAG,EAAE,CADO;AAEZC,gBAAI,EAAE,CAFM;AAGZC,oBAAQ,EAAE;AAHE,WAAd;AAKD;;;kCAESsH,I,EAAc;AACtB,cAAI,KAAK+vD,YAAL,GAAoB,CAAxB,EAA2B;AACzB/vD,gBAAI,CAAC4xC,KAAL;AACA,iBAAKwd,gBAAL,CAAsBj1D,QAAtB,GAAiC;AAC/Bmd,gBAAE,EAAE,CAD2B;AAE/B;AACAvO,2BAAa,EAAE,EAHgB;AAI/BsrC,oBAAM,EAAE,IAJuB;AAK/Bsc,2BAAa,EAAE,EALgB;AAM/BC,2BAAa,EAAE,EANgB;AAO/BK,6BAAe,EAAE,EAPc;AAQ/B54D,wBAAU,EAAE,IARmB;AAS/BlB,0BAAY,EAAE,EATiB;AAU/B6gC,oBAAM,EAAE,EAVuB;AAW/B76B,oBAAM,EAAE,GAXuB;AAY/B6F,iBAAG,EAAE,EAZ0B;AAa/Bg8C,yBAAW,EAAE,IAbkB;AAc/BD,2BAAa,EAAE,gBAdgB;AAe/BzR,2BAAa,EAAE,IAfgB;AAgB/BqR,6BAAe,EAAE,gBAhBc;AAiB/BtR,sBAAQ,EAAE,IAjBqB;AAkB/BwI,wBAAU,EAAE,EAlBmB;AAmB/Bic,0BAAY,EAAE,EAnBiB;AAoB/BC,sBAAQ,EAAE,KApBqB;AAqB/BZ,uBAAS,EAAE,EArBoB;AAsB/Ba,2BAAa,EAAE,KAtBgB;AAuB/BlB,sBAAQ,EAAE,EAvBqB;AAwB/BC,sBAAQ,EAAE,EAxBqB;AAyB/BzpD,sBAAQ,EAAE,qBAzBqB;AA0B/B2qD,kCAAoB,EAAE,EA1BS;AA2B/Bt6D,uBAAS,EAAE,EA3BoB;AA4B/BC,yBAAW,EAAE,EA5BkB;AA6B/Bs6D,4BAAc,EAAE,CA7Be;AA8B/B53D,yBAAW,EAAE,EA9BkB;AA+B/B6xB,sCAAwB,EAAE,EA/BK;AAgC/BnoC,oBAAM,EAAE,IAhCuB;AAiC/B++D,0BAAY,EAAE,IAjCiB;AAkC/BoP,8BAAgB,EAAC,EAlCc;AAmC/BtS,+BAAiB,EAAC,EAnCa;AAoC/BC,6BAAe,EAAC;AApCe,aAAjC;AAsCA,iBAAKiQ,YAAL,GAAoB,CAACv/E,YAAY,CAACM,OAAb,CAAqB,gBAArB,CAArB;AACD,WAzCD,MAyCO;AACLkvB,gBAAI,CAAC4xC,KAAL;AACA,iBAAKwd,gBAAL,CAAsBj1D,QAAtB,GAAiC;AAC/Bmd,gBAAE,EAAE,CAD2B;AAE/B;AACAvO,2BAAa,EAAE,EAHgB;AAI/BsrC,oBAAM,EAAE,IAJuB;AAK/Bsc,2BAAa,EAAE,EALgB;AAM/BC,2BAAa,EAAE,EANgB;AAO/BK,6BAAe,EAAE,EAPc;AAQ/B54D,wBAAU,EAAE,IARmB;AAS/BlB,0BAAY,EAAE,EATiB;AAU/B6gC,oBAAM,EAAE,EAVuB;AAW/B76B,oBAAM,EAAE,GAXuB;AAY/B6F,iBAAG,EAAE,EAZ0B;AAa/Bg8C,yBAAW,EAAE,IAbkB;AAc/BD,2BAAa,EAAE,gBAdgB;AAe/BzR,2BAAa,EAAE,IAfgB;AAgB/BqR,6BAAe,EAAE,gBAhBc;AAiB/BtR,sBAAQ,EAAE,IAjBqB;AAkB/BwI,wBAAU,EAAE,EAlBmB;AAmB/Bic,0BAAY,EAAE,EAnBiB;AAoB/BC,sBAAQ,EAAE,KApBqB;AAqB/BZ,uBAAS,EAAE,EArBoB;AAsB/Ba,2BAAa,EAAE,KAtBgB;AAuB/BlB,sBAAQ,EAAE,EAvBqB;AAwB/BC,sBAAQ,EAAE,EAxBqB;AAyB/BzpD,sBAAQ,EAAE,oBAzBqB;AA0B/B2qD,kCAAoB,EAAE,EA1BS;AA2B/Bt6D,uBAAS,EAAE,EA3BoB;AA4B/BC,yBAAW,EAAE,EA5BkB;AA6B/Bs6D,4BAAc,EAAE,CA7Be;AA8B/B53D,yBAAW,EAAE,EA9BkB;AA+B/B6xB,sCAAwB,EAAE,EA/BK;AAgC/BnoC,oBAAM,EAAE,IAhCuB;AAiC/B++D,0BAAY,EAAE,IAjCiB;AAkC/BoP,8BAAgB,EAAC,EAlCc;AAmC/BtS,+BAAiB,EAAC,EAnCa;AAoC/BC,6BAAe,EAAC;AApCe,aAAjC;AAsCD;AACF;;;wCAKe;AAAA;;AAEd,eAAKrsD,OAAL,GAAe,KAAf;AACA,eAAKC,YAAL,GAAoB,KAApB;;AAEA,cAAI,KAAKq8D,YAAL,GAAoB,CAAxB,EAA2B;AAEzB,gBAAI,KAAKA,YAAL,GAAoB,CAApB,IAAyB,KAAKC,IAAL,KAAc,kBAA3C,EAA+D;AAC7D,mBAAKZ,gBAAL,CAAsBgD,iBAAtB,CAAwC,KAAKrC,YAAL,CAAkB/3D,QAAlB,EAAxC,EAAsE3nB,SAAtE,CAAgF,UAAAgiF,OAAO,EAAI;AACzF,wBAAI,CAACjD,gBAAL,CAAsBj1D,QAAtB,GAAiCk4D,OAAjC;;AAEA,wBAAI,CAACjD,gBAAL,CAAsBmB,mBAAtB,CAA0C//E,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA1C,EACI,QAAI,CAACs+E,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UADnC,EAC+ChoB,SAD/C,CACyD,UAAA04B,aAAa,EAAI;AACtE,0BAAI,CAAC6mD,mBAAL,GAA2B7mD,aAA3B;;AACA,sBAAI5G,KAAK,GAAG,QAAI,CAACytD,mBAAL,CAAyBh5D,MAAzB,CAAgC,UAAAkK,CAAC;AAAA,2BAAIA,CAAC,CAACmI,SAAF,KAAgB,QAAI,CAACmmD,gBAAL,CAAsBj1D,QAAtB,CAA+BmzC,aAAnD;AAAA,mBAAjC,EAAmG,CAAnG,CAAZ;;AACA,sBAAGnrC,KAAK,IAAEpL,SAAV,EAAoB,CAAG,CAAvB,MACI;AACF,4BAAI,CAACq4D,gBAAL,CAAsBj1D,QAAtB,CAA+B0lD,iBAA/B,GAAmD,QAAI,CAACl+D,QAAL,CAAce,kBAAd,CAAiCyf,KAAK,CAAC4G,aAAvC,CAAnD;AACD;;AACD,sBAAIioD,KAAK,GAAG,QAAI,CAACpB,mBAAL,CAAyBh5D,MAAzB,CAAgC,UAAAkK,CAAC;AAAA,2BAAIA,CAAC,CAACmI,SAAF,KAAgB,QAAI,CAACmmD,gBAAL,CAAsBj1D,QAAtB,CAA+B6kD,WAAnD;AAAA,mBAAjC,EAAiG,CAAjG,CAAZ;;AACA,sBAAGgS,KAAK,IAAEj6D,SAAV,EAAoB,CAAG,CAAvB,MACI;AACF,4BAAI,CAACq4D,gBAAL,CAAsBj1D,QAAtB,CAA+B2lD,eAA/B,GAAiD,QAAI,CAACn+D,QAAL,CAAce,kBAAd,CAAiCsuE,KAAK,CAACjoD,aAAvC,CAAjD;AACD;AACJ,iBAbD,EAHyF,CAkBzF;;;AACA,oBAAI,QAAI,CAACqmD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,IAAyC,GAAzC,IAAgD,QAAI,CAACiyD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,IAAyC,GAA7F,EAAkG;AAChG,0BAAI,CAACtB,QAAL,GAAgB,IAAhB;AACD;;AAED,oBAAG,QAAI,CAACuzD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,IAAyC,GAAzC,IAAgD,QAAI,CAACiyD,gBAAL,CAAsBj1D,QAAtB,CAA+BnW,MAA/B,IAAyC,QAAI,CAACrC,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAA5F,EACE,QAAI,CAAC++E,qBAAL,GAA6B,IAA7B;AACF,oBAAG,QAAI,CAACT,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,IAAyC,GAA5C,EACE,QAAI,CAAC0yD,qBAAL,GAA6B,IAA7B;;AAEF,oBAAIwC,OAAO,CAAC1B,aAAR,IAAyB,IAA7B,EAAmC;AAEjC,sBAAIlvC,eAAe,GAAG;AACpBX,2BAAO,EAAE,KADW;AAEpBjpB,8BAAU,EAAE;AAAEle,0BAAI,EAAE;AAAE/G,4BAAI,EAAE,CAAR;AAAWd,6BAAK,EAAE,CAAlB;AAAqB8gB,2BAAG,EAAE;AAA1B,uBAAR;AAAuC8I,4BAAM,EAAE,EAA/C;AAAmD5D,+BAAS,EAAE,EAA9D;AAAkEipB,0BAAI,EAAE;AAAxE,qBAFQ;AAGpBtuB,6BAAS,EAAE;AAHS,mBAAtB;AAMA,sBAAI8G,MAAM,GAAG,mCAAM,CAAC84D,OAAO,CAAC1B,aAAT,CAAN,CAA8B1vC,QAA9B,EAAb;AACAQ,iCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgCiZ,GAAhC,GAAsC2G,MAAM,CAAC5f,IAA7C;AACA8nC,iCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC7H,KAAhC,GAAwCynB,MAAM,CAAC1nB,MAAP,GAAgB,CAAxD;AACA4vC,iCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC/G,IAAhC,GAAuC2mB,MAAM,CAAC2nB,KAA9C;AAEA,0BAAI,CAACkuC,gBAAL,CAAsBj1D,QAAtB,CAA+Bw2D,aAA/B,GAA+ClvC,eAA/C,CAbiC,CAejC;AAEA;AAEA;AACA;AACA;AACA;AAED;;AAED,oBAAI4wC,OAAO,CAACzB,aAAR,IAAyB,IAA7B,EAAmC;AAEjC,sBAAI9uC,eAAe,GAAGuwC,OAAO,CAACzB,aAAR,CAAsB7wD,KAAtB,CAA4B,GAA5B,CAAtB;;AAEA,sBAAIgiB,qBAAqB,GAAG;AAAEnC,wBAAI,EAAE,CAAR;AAAWC,0BAAM,EAAE;AAAnB,mBAA5B;AAEAkC,uCAAqB,CAACnC,IAAtB,GAA6B,CAACkC,eAAe,CAAC,CAAD,CAA7C;AACAC,uCAAqB,CAAClC,MAAtB,GAA+B,CAACiC,eAAe,CAAC,CAAD,CAA/C;AAEA,0BAAI,CAACstC,gBAAL,CAAsBj1D,QAAtB,CAA+By2D,aAA/B,GAA+C7uC,qBAA/C;AAED;;AAED,oBAAIswC,OAAO,CAAChlB,QAAR,IAAoB,CAAxB,EACE,QAAI,CAAC+hB,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,GAA0C,IAA1C;AACF,wBAAI,CAAC/lC,QAAL,GAAgB,qBAAhB;AACA,wBAAI,CAAC8nD,gBAAL,CAAsBj1D,QAAtB,CAA+B43D,QAA/B,GAA0C,KAA1C;AACA,wBAAI,CAACO,YAAL,GAAoB,QAAI,CAAClD,gBAAL,CAAsBj1D,QAAtB,CAA+B82D,eAAnD;AACA,wBAAI,CAAC3tC,SAAL,GAAiB,IAAjB,CAxEyF,CA0EzF;AACA;AACA;AACD;;AAEC,wBAAI,CAAC8tC,wBAAL;;AAEA,oBAAI,QAAI,CAACkB,YAAL,IAAqB,EAAzB,EAA6B;AAC3B,0BAAI,CAACC,UAAL,GAAkB,IAAlB;AACD;;AACD,wBAAI,CAACC,SAAL,GAAiBtzD,QAAQ,CAAC,QAAI,CAACkwD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAAhC,CAAzB;AAEA,oBAAI,QAAI,CAACpI,iBAAL,IAA0B,IAA1B,KAAmC,QAAI,CAACy9D,SAAL,IAAkB,CAAlB,IAAuB,QAAI,CAACA,SAAL,IAAkB,CAAzC,IAA8C,QAAI,CAACA,SAAL,IAAkB,CAAnG,KACE,QAAI,CAACpD,gBAAL,CAAsBj1D,QAAtB,CAA+BnW,MAA/B,IAAyC,QAAI,CAACrC,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAD/C,EAEE,QAAI,CAACg4B,WAAL,GAAmB,QAAnB,CAFF,KAIE,QAAI,CAACA,WAAL,GAAmB,QAAnB;AAGF,oBAAK,QAAI,CAACsmD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,CAAsCnF,QAAtC,MAAoD,GAArD,IAA6D,QAAI,CAACo3D,gBAAL,CAAsBj1D,QAAtB,CAA+BnW,MAA/B,IAAyC,QAAI,CAACrC,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAAtG,IACC,QAAI,CAACikB,iBADV,EAEE,QAAI,CAACqS,aAAL,GAAqB,IAArB,CAFF,KAGK,IAAK,QAAI,CAACgoD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,CAAsCnF,QAAtC,MAAoD,GAArD,IAA6D,CAAC,QAAI,CAACjD,iBAAvE,EACH,QAAI,CAACqS,aAAL,GAAqB,IAArB,CADG,KAGH,QAAI,CAACA,aAAL,GAAqB,KAArB;AACF,oBAAI,QAAI,CAACrS,iBAAL,IAA0B,QAAI,CAACq6D,gBAAL,CAAsBj1D,QAAtB,CAA+BnW,MAA/B,IAAyC,QAAI,CAACrC,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAAnE,KACD,QAAI,CAAC0hF,SAAL,IAAkB,CAAlB,IAAuB,QAAI,CAACA,SAAL,IAAkB,CAAzC,IAA8C,QAAI,CAACA,SAAL,IAAkB,CAAhE,IAAqE,QAAI,CAACA,SAAL,IAAkB,CAAvF,IAA4F,QAAI,CAACA,SAAL,IAAkB,CAD7G,CAAJ,EAEE,QAAI,CAACprD,aAAL,GAAqB,IAArB;;AAEF,oBAAI,QAAI,CAACorD,SAAL,IAAkB,CAAtB,EAAyB;AACvB,0BAAI,CAACprD,aAAL,GAAqB,IAArB;AACD;;AAED,oBAAI,QAAI,CAACgoD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,CAAsCnF,QAAtC,MAAoD,GAApD,IAA2D,QAAI,CAACjD,iBAAhE,IAAqF,QAAI,CAACq6D,gBAAL,CAAsBj1D,QAAtB,CAA+BnW,MAA/B,IAAyC,QAAI,CAACrC,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAAlI,EACE,QAAI,CAACs+E,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,GAAwC,IAAxC;AAEF,oBAAI,QAAI,CAACq1D,SAAL,IAAkB,CAAtB,EACE,QAAI,CAACprD,aAAL,GAAqB,IAArB,CAhHuF,CAmHxF;;AACA,oBAAI,QAAI,CAACgoD,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,IAA2C,CAA3C,IAAgD,QAAI,CAAC+hB,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,IAA2C,IAA/F,EAAqG;AACpG,0BAAI,CAACoa,cAAL,CAAoBgL,0BAApB,CAA+C,QAAI,CAACrD,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,CAAwCr1C,QAAxC,EAA/C,EAAmG3nB,SAAnG,CAA6G,UAAA+3E,MAAM,EAAI;AACrH,4BAAI,CAACA,MAAL,GAAcA,MAAd;AAEA,4BAAI,CAACsI,YAAL,GAAoB,QAAI,CAACtI,MAAL,CAAYxxD,MAAZ,CAAmB,UAAAC,GAAG,EAAI;AAC5C,6BAAOA,GAAG,CAACwB,UAAJ,KAAmB,QAAI,CAAC+2D,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UAAzD;AACD,qBAFmB,CAApB;;AAGA,wBAAI,QAAI,CAACq4D,YAAL,CAAkB,CAAlB,EAAqBvzD,MAArB,IAA+B,CAA/B,IAAoC,QAAI,CAACuzD,YAAL,CAAkB,CAAlB,EAAqBvzD,MAArB,IAA+B,CAAvE,EAA0E;AACxE,8BAAI,CAACu1D,kBAAL,GAA0B,IAA1B;AACD,qBAFD,MAGK;AACH,8BAAI,CAACA,kBAAL,GAA0B,KAA1B;AACD,qBAXoH,CAYrH;;AACD,mBAbD;AAcD,iBAfA,MAgBI;AACH,0BAAI,CAACxH,UAAL;AACD;;AACD,oBAAI,QAAI,CAAC6E,YAAL,IAAqB,CAAzB,EACE,QAAI,CAACrlD,mBAAL,GAxIuF,CAyIzF;AAED,eA3ID,EA2IG,UAACvW,GAAD,EAAS;AACV,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eA7ID;AA8ID,aA/ID,MAgJK,IAAI,KAAK4rE,YAAL,GAAoB,CAApB,IAAyB,KAAKC,IAAL,KAAc,MAA3C,EAAmD;AACtD,mBAAKZ,gBAAL,CAAsBgD,iBAAtB,CAAwC,KAAKrC,YAAL,CAAkB/3D,QAAlB,EAAxC,EAAsE3nB,SAAtE,CAAgF,UAAAgiF,OAAO,EAAI;AACzF,wBAAI,CAACjD,gBAAL,CAAsBj1D,QAAtB,GAAiCk4D,OAAjC;;AAEA,wBAAI,CAACjD,gBAAL,CAAsBmB,mBAAtB,CAA0C//E,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA1C,EACI,QAAI,CAACs+E,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UADnC,EAC+ChoB,SAD/C,CACyD,UAAA04B,aAAa,EAAI;AACtE,0BAAI,CAAC6mD,mBAAL,GAA2B7mD,aAA3B;;AACA,sBAAI5G,KAAK,GAAG,QAAI,CAACytD,mBAAL,CAAyBh5D,MAAzB,CAAgC,UAAAkK,CAAC;AAAA,2BAAIA,CAAC,CAACmI,SAAF,KAAgB,QAAI,CAACmmD,gBAAL,CAAsBj1D,QAAtB,CAA+BmzC,aAAnD;AAAA,mBAAjC,EAAmG,CAAnG,CAAZ;;AACA,sBAAGnrC,KAAK,IAAEpL,SAAV,EAAoB,CAAG,CAAvB,MACI;AACF,4BAAI,CAACq4D,gBAAL,CAAsBj1D,QAAtB,CAA+B0lD,iBAA/B,GAAmD,QAAI,CAACl+D,QAAL,CAAce,kBAAd,CAAiCyf,KAAK,CAAC4G,aAAvC,CAAnD;AACD;;AACD,sBAAIioD,KAAK,GAAG,QAAI,CAACpB,mBAAL,CAAyBh5D,MAAzB,CAAgC,UAAAkK,CAAC;AAAA,2BAAIA,CAAC,CAACmI,SAAF,KAAgB,QAAI,CAACmmD,gBAAL,CAAsBj1D,QAAtB,CAA+B6kD,WAAnD;AAAA,mBAAjC,EAAiG,CAAjG,CAAZ;;AACA,sBAAGgS,KAAK,IAAEj6D,SAAV,EAAoB,CAAG,CAAvB,MACI;AACF,4BAAI,CAACq4D,gBAAL,CAAsBj1D,QAAtB,CAA+B2lD,eAA/B,GAAiD,QAAI,CAACn+D,QAAL,CAAce,kBAAd,CAAiCsuE,KAAK,CAACjoD,aAAvC,CAAjD;AACD;AACJ,iBAbD;;AAeA,oBAAIspD,OAAO,CAAC1B,aAAR,IAAyB,IAA7B,EAAmC;AAEjC,sBAAIlvC,eAAe,GAAG;AACpBX,2BAAO,EAAE,KADW;AAEpBjpB,8BAAU,EAAE;AAAEle,0BAAI,EAAE;AAAE/G,4BAAI,EAAE,CAAR;AAAWd,6BAAK,EAAE,CAAlB;AAAqB8gB,2BAAG,EAAE;AAA1B,uBAAR;AAAuC8I,4BAAM,EAAE,EAA/C;AAAmD5D,+BAAS,EAAE,EAA9D;AAAkEipB,0BAAI,EAAE;AAAxE,qBAFQ;AAGpBtuB,6BAAS,EAAE;AAHS,mBAAtB;AAMA,sBAAI8G,MAAM,GAAG,mCAAM,CAAC84D,OAAO,CAAC1B,aAAT,CAAN,CAA8B1vC,QAA9B,EAAb;AACAQ,iCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgCiZ,GAAhC,GAAsC2G,MAAM,CAAC5f,IAA7C;AACA8nC,iCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC7H,KAAhC,GAAwCynB,MAAM,CAAC1nB,MAAP,GAAgB,CAAxD;AACA4vC,iCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC/G,IAAhC,GAAuC2mB,MAAM,CAAC2nB,KAA9C;AAEA,0BAAI,CAACkuC,gBAAL,CAAsBj1D,QAAtB,CAA+Bw2D,aAA/B,GAA+ClvC,eAA/C,CAbiC,CAejC;AAEA;AAEA;AACA;AACA;AACA;AAED;;AAED,oBAAI4wC,OAAO,CAACzB,aAAR,IAAyB,IAA7B,EAAmC;AAEjC,sBAAI9uC,eAAe,GAAGuwC,OAAO,CAACzB,aAAR,CAAsB7wD,KAAtB,CAA4B,GAA5B,CAAtB;;AAEA,sBAAIgiB,qBAAqB,GAAG;AAAEnC,wBAAI,EAAE,CAAR;AAAWC,0BAAM,EAAE;AAAnB,mBAA5B;AAEAkC,uCAAqB,CAACnC,IAAtB,GAA6B,CAACkC,eAAe,CAAC,CAAD,CAA7C;AACAC,uCAAqB,CAAClC,MAAtB,GAA+B,CAACiC,eAAe,CAAC,CAAD,CAA/C;AAEA,0BAAI,CAACstC,gBAAL,CAAsBj1D,QAAtB,CAA+By2D,aAA/B,GAA+C7uC,qBAA/C;AAED;;AAED,oBAAIswC,OAAO,CAAChlB,QAAR,IAAoB,CAAxB,EACE,QAAI,CAAC+hB,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,GAA0C,IAA1C;AACF,wBAAI,CAAC/lC,QAAL,GAAgB,qBAAhB;AACA,wBAAI,CAAC8nD,gBAAL,CAAsBj1D,QAAtB,CAA+B43D,QAA/B,GAA0C,KAA1C;AACA,wBAAI,CAAC3qD,aAAL,GAAqB,IAArB;AACA,wBAAI,CAACC,YAAL,GAAoB,IAApB;AACA,wBAAI,CAACic,SAAL,GAAiB,IAAjB,CA/DyF,CAgEzF;;AACA,wBAAI,CAACznB,QAAL,GAAgB,IAAhB,CAjEyF,CAmEzF;;AACA,oBAAI,QAAI,CAACuzD,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,IAA2C,CAA3C,IAAgD,QAAI,CAAC+hB,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,IAA2C,IAA/F,EAAqG;AACnG,0BAAI,CAACoa,cAAL,CAAoBgL,0BAApB,CAA+C,QAAI,CAACrD,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,CAAwCr1C,QAAxC,EAA/C,EAAmG3nB,SAAnG,CAA6G,UAAA+3E,MAAM,EAAI;AACrH,4BAAI,CAACA,MAAL,GAAcA,MAAd;AAEA,4BAAI,CAACsI,YAAL,GAAoB,QAAI,CAACtI,MAAL,CAAYxxD,MAAZ,CAAmB,UAAAC,GAAG,EAAI;AAC5C,6BAAOA,GAAG,CAACwB,UAAJ,KAAmB,QAAI,CAAC+2D,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UAAzD;AACD,qBAFmB,CAApB;;AAGA,wBAAI,QAAI,CAACq4D,YAAL,CAAkB,CAAlB,EAAqBvzD,MAArB,IAA+B,CAA/B,IAAoC,QAAI,CAACuzD,YAAL,CAAkB,CAAlB,EAAqBvzD,MAArB,IAA+B,CAAvE,EAA0E;AACxE,8BAAI,CAACu1D,kBAAL,GAA0B,IAA1B;AACD,qBAFD,MAGK;AACH,8BAAI,CAACA,kBAAL,GAA0B,KAA1B;AACD,qBAXoH,CAYrH;;AACD,mBAbD;AAcD,iBAfD,MAgBK;AACH,0BAAI,CAACxH,UAAL;AACD;;AACD,oBAAI,QAAI,CAAC6E,YAAL,IAAqB,CAAzB,EACE,QAAI,CAACrlD,mBAAL,GAxFuF,CAyFzF;AAEA;AACA;AACA;AACA;;AAEA,wBAAI,CAAC0mD,wBAAL;AAID,eApGD,EAoGG,UAACj9D,GAAD,EAAS;AACV,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eAtGD;;AAuGA,mBAAKouE,UAAL,GAAkB,KAAlB;AACD,aAzGI,MA0GA,IAAI,KAAKxC,YAAL,GAAoB,CAApB,IAAyB,KAAKC,IAAL,KAAc,eAA3C,EAA4D;AAC/D,mBAAKZ,gBAAL,CAAsBgD,iBAAtB,CAAwC,KAAKrC,YAAL,CAAkB/3D,QAAlB,EAAxC,EAAsE3nB,SAAtE,CAAgF,UAAAgiF,OAAO,EAAI;AACzF,wBAAI,CAACjD,gBAAL,CAAsBj1D,QAAtB,GAAiCk4D,OAAjC;;AAEA,wBAAI,CAACjD,gBAAL,CAAsBmB,mBAAtB,CAA0C//E,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA1C,EACI,QAAI,CAACs+E,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UADnC,EAC+ChoB,SAD/C,CACyD,UAAA04B,aAAa,EAAI;AACtE,0BAAI,CAAC6mD,mBAAL,GAA2B7mD,aAA3B;;AACA,sBAAI5G,KAAK,GAAG,QAAI,CAACytD,mBAAL,CAAyBh5D,MAAzB,CAAgC,UAAAkK,CAAC;AAAA,2BAAIA,CAAC,CAACmI,SAAF,KAAgB,QAAI,CAACmmD,gBAAL,CAAsBj1D,QAAtB,CAA+BmzC,aAAnD;AAAA,mBAAjC,EAAmG,CAAnG,CAAZ;;AACA,sBAAGnrC,KAAK,IAAEpL,SAAV,EAAoB,CAAG,CAAvB,MACI;AACF,4BAAI,CAACq4D,gBAAL,CAAsBj1D,QAAtB,CAA+B0lD,iBAA/B,GAAmD,QAAI,CAACl+D,QAAL,CAAce,kBAAd,CAAiCyf,KAAK,CAAC4G,aAAvC,CAAnD;AACD;;AACD,sBAAIioD,KAAK,GAAG,QAAI,CAACpB,mBAAL,CAAyBh5D,MAAzB,CAAgC,UAAAkK,CAAC;AAAA,2BAAIA,CAAC,CAACmI,SAAF,KAAgB,QAAI,CAACmmD,gBAAL,CAAsBj1D,QAAtB,CAA+B6kD,WAAnD;AAAA,mBAAjC,EAAiG,CAAjG,CAAZ;;AACA,sBAAGgS,KAAK,IAAEj6D,SAAV,EAAoB,CAAG,CAAvB,MACI;AACF,4BAAI,CAACq4D,gBAAL,CAAsBj1D,QAAtB,CAA+B2lD,eAA/B,GAAiD,QAAI,CAACn+D,QAAL,CAAce,kBAAd,CAAiCsuE,KAAK,CAACjoD,aAAvC,CAAjD;AACD;AACJ,iBAbD;;AAeA,oBAAIspD,OAAO,CAAC1B,aAAR,IAAyB,IAA7B,EAAmC;AAEjC,sBAAIlvC,eAAe,GAAG;AACpBX,2BAAO,EAAE,KADW;AAEpBjpB,8BAAU,EAAE;AAAEle,0BAAI,EAAE;AAAE/G,4BAAI,EAAE,CAAR;AAAWd,6BAAK,EAAE,CAAlB;AAAqB8gB,2BAAG,EAAE;AAA1B,uBAAR;AAAuC8I,4BAAM,EAAE,EAA/C;AAAmD5D,+BAAS,EAAE,EAA9D;AAAkEipB,0BAAI,EAAE;AAAxE,qBAFQ;AAGpBtuB,6BAAS,EAAE;AAHS,mBAAtB;AAMA,sBAAI8G,MAAM,GAAG,mCAAM,CAAC84D,OAAO,CAAC1B,aAAT,CAAN,CAA8B1vC,QAA9B,EAAb;AACAQ,iCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgCiZ,GAAhC,GAAsC2G,MAAM,CAAC5f,IAA7C;AACA8nC,iCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC7H,KAAhC,GAAwCynB,MAAM,CAAC1nB,MAAP,GAAgB,CAAxD;AACA4vC,iCAAe,CAAC5pB,UAAhB,CAA2Ble,IAA3B,CAAgC/G,IAAhC,GAAuC2mB,MAAM,CAAC2nB,KAA9C;AAEA,0BAAI,CAACkuC,gBAAL,CAAsBj1D,QAAtB,CAA+Bw2D,aAA/B,GAA+ClvC,eAA/C,CAbiC,CAejC;AAEA;AAEA;AACA;AACA;AACA;AAED;;AAED,oBAAI4wC,OAAO,CAACzB,aAAR,IAAyB,IAA7B,EAAmC;AAEjC,sBAAI9uC,eAAe,GAAGuwC,OAAO,CAACzB,aAAR,CAAsB7wD,KAAtB,CAA4B,GAA5B,CAAtB;;AAEA,sBAAIgiB,qBAAqB,GAAG;AAAEnC,wBAAI,EAAE,CAAR;AAAWC,0BAAM,EAAE;AAAnB,mBAA5B;AAEAkC,uCAAqB,CAACnC,IAAtB,GAA6B,CAACkC,eAAe,CAAC,CAAD,CAA7C;AACAC,uCAAqB,CAAClC,MAAtB,GAA+B,CAACiC,eAAe,CAAC,CAAD,CAA/C;AAEA,0BAAI,CAACstC,gBAAL,CAAsBj1D,QAAtB,CAA+By2D,aAA/B,GAA+C7uC,qBAA/C;AAED;;AAED,oBAAIswC,OAAO,CAAChlB,QAAR,IAAoB,CAAxB,EACE,QAAI,CAAC+hB,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,GAA0C,IAA1C;AAEF,wBAAI,CAAC/lC,QAAL,GAAgB,uBAAhB;AAEA,wBAAI,CAAC8nD,gBAAL,CAAsBj1D,QAAtB,CAA+B43D,QAA/B,GAA0C,IAA1C;AACA,oBAAI,QAAI,CAAC3C,gBAAL,CAAsBj1D,QAAtB,CAA+B43D,QAA/B,IAA2C,IAA3C,KAAoD,QAAI,CAAC3C,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,IAAyC,GAAzC,IAAgD,QAAI,CAACiyD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,IAAyC,GAAzF,IAAgG,QAAI,CAACiyD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,IAAyC,GAA7L,KACF,QAAI,CAACiyD,gBAAL,CAAsBj1D,QAAtB,CAA+B22D,QAA/B,IAA2C,EAD7C,EAEE,QAAI,CAAC6B,iBAAL,GAAyB,KAAzB,CAFF,KAIE,QAAI,CAACA,iBAAL,GAAyB,IAAzB;AAEF,oBAAI,QAAI,CAACvD,gBAAL,CAAsBj1D,QAAtB,CAA+B43D,QAA/B,IAA2C,IAA3C,KAAoD,QAAI,CAAC3C,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,IAAyC,GAAzC,IAAgD,QAAI,CAACiyD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,IAAyC,GAA7I,KACF,QAAI,CAACiyD,gBAAL,CAAsBj1D,QAAtB,CAA+B42D,QAA/B,IAA2C,EAD7C,EAEE,QAAI,CAAC6B,iBAAL,GAAyB,KAAzB,CAFF,KAKE,QAAI,CAACA,iBAAL,GAAyB,IAAzB,CA1EuF,CA6EzF;;AACA,oBAAI,QAAI,CAACxD,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,IAA2C,CAA3C,IAAgD,QAAI,CAAC+hB,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,IAA2C,IAA/F,EAAqG;AACnG,0BAAI,CAACoa,cAAL,CAAoBgL,0BAApB,CAA+C,QAAI,CAACrD,gBAAL,CAAsBj1D,QAAtB,CAA+BkzC,QAA/B,CAAwCr1C,QAAxC,EAA/C,EAAmG3nB,SAAnG,CAA6G,UAAA+3E,MAAM,EAAI;AACrH,4BAAI,CAACA,MAAL,GAAcA,MAAd;AAEA,4BAAI,CAACsI,YAAL,GAAoB,QAAI,CAACtI,MAAL,CAAYxxD,MAAZ,CAAmB,UAAAC,GAAG,EAAI;AAC5C,6BAAOA,GAAG,CAACwB,UAAJ,KAAmB,QAAI,CAAC+2D,gBAAL,CAAsBj1D,QAAtB,CAA+B9B,UAAzD;AACD,qBAFmB,CAApB;;AAGA,wBAAI,QAAI,CAACq4D,YAAL,CAAkB,CAAlB,EAAqBvzD,MAArB,IAA+B,CAA/B,IAAoC,QAAI,CAACuzD,YAAL,CAAkB,CAAlB,EAAqBvzD,MAArB,IAA+B,CAAvE,EAA0E;AACxE,8BAAI,CAACu1D,kBAAL,GAA0B,IAA1B;AACD,qBAFD,MAGK;AACH,8BAAI,CAACA,kBAAL,GAA0B,KAA1B;AACD,qBAXoH,CAYrH;;AACD,mBAbD;AAcD,iBAfD,MAgBK;AACH,0BAAI,CAACxH,UAAL;AACD;;AACD,oBAAI,QAAI,CAAC6E,YAAL,IAAqB,CAAzB,EACE,QAAI,CAACrlD,mBAAL,GAlGuF,CAmGzF;AAEA;AACA;AACA;AACA;;AAEA,wBAAI,CAAC0mD,wBAAL;AAED,eA5GD,EA4GG,UAACj9D,GAAD,EAAS;AACV,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eA9GD;;AA+GA,mBAAKouE,UAAL,GAAkB,KAAlB;AACD;AACF,WA9WD,MA+WK;AACH,iBAAKjrD,QAAL,GAAgB,oBAAhB;AACA,iBAAK8nD,gBAAL,CAAsBj1D,QAAtB,GAAiC;AAC/Bmd,gBAAE,EAAE,CAD2B;AAE/B;AACAvO,2BAAa,EAAE,EAHgB;AAI/BsrC,oBAAM,EAAE,IAJuB;AAK/Bsc,2BAAa,EAAE,EALgB;AAM/BC,2BAAa,EAAE,EANgB;AAO/BK,6BAAe,EAAE,EAPc;AAQ/B54D,wBAAU,EAAE,IARmB;AAS/BlB,0BAAY,EAAE,EATiB;AAU/B6gC,oBAAM,EAAE,EAVuB;AAW/B76B,oBAAM,EAAE,GAXuB;AAY/B6F,iBAAG,EAAE,EAZ0B;AAa/Bg8C,yBAAW,EAAE,IAbkB;AAc/BD,2BAAa,EAAE,gBAdgB;AAe/BzR,2BAAa,EAAE,IAfgB;AAgB/BqR,6BAAe,EAAE,gBAhBc;AAiB/BtR,sBAAQ,EAAE,IAjBqB;AAkB/BwI,wBAAU,EAAE,EAlBmB;AAmB/Bic,0BAAY,EAAE,EAnBiB;AAoB/BC,sBAAQ,EAAE,KApBqB;AAqB/BZ,uBAAS,EAAE,EArBoB;AAsB/Ba,2BAAa,EAAE,KAtBgB;AAuB/BlB,sBAAQ,EAAE,EAvBqB;AAwB/BC,sBAAQ,EAAE,EAxBqB;AAyB/BzpD,sBAAQ,EAAE,oBAzBqB;AA0B/B2qD,kCAAoB,EAAE,EA1BS;AA2B/Bt6D,uBAAS,EAAE,EA3BoB;AA4B/BC,yBAAW,EAAE,EA5BkB;AA6B/Bs6D,4BAAc,EAAE,CA7Be;AA8B/B53D,yBAAW,EAAE,EA9BkB;AA+B/B6xB,sCAAwB,EAAE,EA/BK;AAgC/BnoC,oBAAM,EAAE,IAhCuB;AAiC/B++D,0BAAY,EAAE,IAjCiB;AAkC/BoP,8BAAgB,EAAC,EAlCc;AAmC/BtS,+BAAiB,EAAC,EAnCa;AAoC/BC,6BAAe,EAAC;AApCe,aAAjC,CAFG,CAwCH;AACA;AACA;AACD;;AACC,iBAAKh3C,WAAL,GAAmB,QAAnB;AACA,iBAAK+oD,oBAAL;;AACA,gBAAI,KAAK74D,UAAL,IAAmB,IAAnB,IAA2B,KAAKA,UAAL,IAAmB,EAAlD,EAAsD,CACrD,CADD,MACO;AACL,mBAAKA,UAAL,IAAmBxoB,YAAY,CAACM,OAAb,CAAqB,KAArB,CAAnB;AACA,mBAAK2iB,OAAL,GAAe,IAAf;AACA,mBAAKC,YAAL,GAAoB,KAApB;AACAljB,0BAAY,CAACwjB,UAAb,CAAwB,KAAxB,EAJK,CAKL;AACD;;AACDve,sBAAU,CAAC,YAAM;AACf,sBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,aAFS,EAEP,GAFO,CAAV;AAGD;AACF,S,CACH;;;;mDAC6B;AAAA;;AACzB,eAAKk4D,gBAAL,CAAsByD,yCAAtB,CAAgE,KAAKzD,gBAAL,CAAsBj1D,QAAtB,CAA+Bmd,EAA/B,CAAkCtf,QAAlC,EAAhE,EAA8G3nB,SAA9G,CAAwH,UAAA67B,SAAS,EAAI;AACnI,oBAAI,CAAC4mD,mBAAL,GAA2B5mD,SAA3B;;AAEA,gBAAI,QAAI,CAAC4mD,mBAAL,CAAyB,CAAzB,EAA4Bl7D,WAA5B,IAA2C,EAA/C,EAAmD;AACjD,sBAAI,CAACoF,cAAL,GAAsB,IAAtB;AACA,sBAAI,CAACoP,WAAL,GAAmB,QAAI,CAAC0mD,mBAAL,CAAyB,CAAzB,EAA4Bl7D,WAA/C;AACA,sBAAI,CAACyU,eAAL,GAAuB,QAAI,CAACymD,mBAAL,CAAyB,CAAzB,EAA4BjxE,QAAnD;AACD;;AACD,gBAAG,QAAI,CAACixE,mBAAL,CAAyB9kF,MAAzB,IAAmC,CAAtC,EAAwC;AACxC,kBAAI,QAAI,CAAC8kF,mBAAL,CAAyB,CAAzB,EAA4Bt4D,WAA5B,IAA2C,EAA3C,IAAiD,QAAI,CAACs4D,mBAAL,CAAyB,CAAzB,EAA4Bt4D,WAA5B,IAA2C,IAAhG,EAAsG;AACpG,wBAAI,CAACuC,cAAL,GAAsB,IAAtB;AACA,wBAAI,CAACuP,aAAL,GAAqB,QAAI,CAACwmD,mBAAL,CAAyB,CAAzB,EAA4BjxE,QAAjD;AACA,wBAAI,CAAC0qB,UAAL,GAAkB,QAAI,CAACumD,mBAAL,CAAyB,CAAzB,EAA4Bt4D,WAA9C;AACD;AACF;AACA,WAfD,EAeG,UAACrG,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAjBD;AAkBD,S,CACH;;;;8CACwB;AAAA;;AACpB,eAAKirE,gBAAL,CAAsB2D,kBAAtB,CAAyC,KAAKhD,YAA9C,EAA4D1/E,SAA5D,CAAsE,UAAA0oB,GAAG,EAAI;AAC3E,gBAAIA,GAAG,CAAC/qB,MAAJ,GAAa,CAAjB,EAAoB;AAClB,sBAAI,CAACskF,YAAL,GAAoB,EAApB;AACD;;AACD,oBAAI,CAACC,UAAL,GAAkB,KAAlB;AACA,oBAAI,CAACv5D,UAAL,GAAkBD,GAAlB;;AACA,oBAAI,CAAC7B,IAAL;;AACA,oBAAI,CAAC+B,OAAL;;AACA,oBAAI,CAAClF,KAAL;AACD,WATD,EASG,UAACI,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAXD;AAYD,S,CACH;;;;4CACsB;AAClB,eAAK2P,IAAL;AACD;;;+BAEM;AAAE,eAAKR,SAAL,GAAiB,IAAjB;AAAwB;;;+BAC1B;AAAE,eAAKA,SAAL,GAAiB,KAAjB;AAAyB,S,CACpC;;;;sCACgB0M,I,EAAM;AAClB,cAAI,KAAK+vD,YAAL,GAAoB,CAAxB,EAA2B;AACzB,iBAAKzkD,SAAL,CAAetL,IAAf;AACA,iBAAKjM,KAAL;AACD,WAHD,MAIK;AAEH;AACA,iBAAKA,KAAL;AACAte,sBAAU,CAAC,YAAY;AACrB,mBAAKiJ,QAAL,CAAc5B,QAAd,CAAuBwH,MAAvB;AACD,aAFS,EAEP,GAFO,CAAV;AAGD;AACF;;;+CAEsB;AACrB,cAAI0uE,EAAE,GAAG,IAAInkF,IAAJ,EAAT;AACA,cAAIokF,wBAAwB,GAAG;AAAErzC,gBAAI,EAAE,CAAR;AAAWC,kBAAM,EAAE;AAAnB,WAA/B;AACAozC,kCAAwB,CAACrzC,IAAzB,GAAgC,CAAEozC,EAAE,CAACE,QAAH,EAAlC;AACAD,kCAAwB,CAACpzC,MAAzB,GAAkC,CAAEmzC,EAAE,CAACG,UAAH,EAApC;AACA,eAAK/D,gBAAL,CAAsBj1D,QAAtB,CAA+By2D,aAA/B,GAA+CqC,wBAA/C;AACD,S,CACD;;;;kCACU91E,K,EAAsB;AAE9B,cAAIyc,CAAC,GAAIzc,KAAK,CAAC+c,QAAN,IAAkB,CAAlB,IAAuB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAzC,IAA+C/c,KAAK,CAAC+c,QAAN,IAAkB,CAAlE,GAAuE,IAAvE,GAA8E/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlB,IAAwB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAhI;AACA,iBAAON,CAAP;AACD,S,CAKD;;;;0CACkBjgB,I,EAAM;AACtB,cAAM6hB,MAAM,GAAG,IAAI3sB,IAAJ,EAAf;AACA,eAAK4sB,SAAL,GAAiB9hB,IAAI,CAACke,UAAL,CAAgB6D,MAAjC;;AACA,cAAI,KAAKD,SAAL,CAAexrB,OAAf,MAA4BurB,MAAM,CAACvrB,OAAP,EAA5B,IAAgD,KAAKwrB,SAAL,CAAezrB,QAAf,MAA6BwrB,MAAM,CAACxrB,QAAP,EAA7E,IAAkG,KAAKyrB,SAAL,CAAe1rB,WAAf,MAAgCyrB,MAAM,CAACzrB,WAAP,EAAtI,EAA4J;AAC1J,iBAAK4rB,eAAL,GAAuB,KAAvB;AACD,WAFD,MAGK;AACH,gBAAI,KAAKF,SAAL,GAAiBD,MAArB,EAA6B;AAAE,mBAAKG,eAAL,GAAuB,IAAvB;AAA8B,aAA7D,MACK;AAAE,mBAAKA,eAAL,GAAuB,KAAvB;AAA+B;AACvC;;AACD,iBAAO,KAAKA,eAAZ;AACD,S,CACH;;;;qCACe;AACXnrB,sBAAY,CAACwjB,UAAb,CAAwB,KAAxB;AACA,eAAKjX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,yBAAD,CAArB;AACD;;;uCACckpD,Q,EAAU;AAEvB,eAAK,IAAIp3C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKy6D,YAAL,CAAkB1iF,MAAtC,EAA8CioB,CAAC,EAA/C,EAAmD;AACjD,gBAAI,KAAKy6D,YAAL,CAAkBz6D,CAAlB,EAAqBo3C,QAArB,IAAiCA,QAArC,EAA+C;AAC7C,mBAAK+lB,eAAL,GAAuB,KAAK1C,YAAL,CAAkBz6D,CAAlB,CAAvB;AACD;AACF;;AACD,cAAI,KAAKm9D,eAAL,CAAqBj2D,MAArB,IAA+B,CAA/B,IAAoC,KAAKi2D,eAAL,CAAqBj2D,MAArB,IAA+B,CAAvE,EAA0E;AACxE,iBAAKu1D,kBAAL,GAA0B,IAA1B;AACD,WAFD,MAGK;AACH,iBAAKA,kBAAL,GAA0B,KAA1B;AACD;AACF;;;6CAEoB;AACnB,cAAI,KAAKtD,gBAAL,CAAsBj1D,QAAtB,CAA+B4oD,YAA/B,IAA+C,CAAnD,EAAsD;AACpD,iBAAKS,aAAL,GAAqB,KAAKnzC,OAAL,CAAazZ,MAAb,CAAoB,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAAC2T,mBAAJ,IAA2B,CAAlC;AAAqC,aAAlE,CAArB;AACA,iBAAKq5C,YAAL,GAAoB,KAAKxzC,OAAL,CAAazZ,MAAb,CAAoB,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAAC2T,mBAAJ,IAA2B,CAAlC;AAAqC,aAAlE,CAApB;AACD,WAHD,MAIK,IAAI,KAAK4kD,gBAAL,CAAsBj1D,QAAtB,CAA+B4oD,YAA/B,IAA+C,CAAnD,EAAsD;AACzD,iBAAKS,aAAL,GAAqB,KAAKnzC,OAAL,CAAazZ,MAAb,CAAoB,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAAC2T,mBAAJ,IAA2B,CAAlC;AAAqC,aAAlE,CAArB;AACA,iBAAKq5C,YAAL,GAAoB,KAAKxzC,OAAL,CAAazZ,MAAb,CAAoB,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAAC2T,mBAAJ,IAA2B,CAAlC;AAAqC,aAAlE,CAApB;AACD,WAHI,MAIA,IAAI,KAAK4kD,gBAAL,CAAsBj1D,QAAtB,CAA+B4oD,YAA/B,IAA+C,CAAnD,EAAsD;AACzD,iBAAKS,aAAL,GAAqB,KAAKnzC,OAAL,CAAazZ,MAAb,CAAoB,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAAC2T,mBAAJ,IAA2B,CAAlC;AAAqC,aAAlE,CAArB;AACA,iBAAKq5C,YAAL,GAAoB,KAAKxzC,OAAL,CAAazZ,MAAb,CAAoB,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAAC2T,mBAAJ,IAA2B,CAA3B,IAAgC3T,GAAG,CAAC4N,YAAJ,IAAoB,CAA3D;AAA8D,aAA3F,CAApB;AACD;;AACD,eAAKs/C,SAAL,CAAe,KAAKqL,gBAAL,CAAsBj1D,QAAtB,CAA+B4kD,aAA9C,EAA4D,KAAKqQ,gBAAL,CAAsBj1D,QAAtB,CAA+BwkD,eAA3F,EAA4G,KAAKyQ,gBAAL,CAAsBj1D,QAAtB,CAA+BmzC,aAA3I;AACD;;;mDAE0B;AACzB98D,sBAAY,CAACC,OAAb,CAAqB,UAArB,EAAiC,KAAKs/E,YAAL,CAAkB/3D,QAAlB,EAAjC;AACA,eAAKjb,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,gBAAD,CAArB;AACD;;;uCAEW;AACV,cAAG,KAAKirE,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,IAAyC,MAA5C,EACE,KAAKiyD,gBAAL,CAAsBj1D,QAAtB,CAA+BgD,MAA/B,GAAwC,IAAxC;AACH;;;yCAGgB4lD,Y,EAAY;AAC3B,cAAGA,YAAY,IAAI,GAAhB,IAAuB7jD,QAAQ,CAAC,KAAKkwD,gBAAL,CAAsBj1D,QAAtB,CAA+Bk6C,MAAhC,CAAR,GAAkD,MAA5E,EACE,KAAKyb,gBAAL,GAAwB,IAAxB,CADF,KAGE,KAAKA,gBAAL,GAAwB,KAAxB;AACH;;;;;;;uBAh5CUX,gC,EAAgC,8H,EAAA,sK,EAAA,kK,EAAA,gJ,EAAA,gK,EAAA,qJ,EAAA,kJ,EAAA,4H,EAAA,iI,EAAA,wH,EAAA,oK;AAAA,K;;;YAAhCA,gC;AAAgC,oD;AAAA,gB;AAAA,e;AAAA,ohP;AAAA;AAAA;;;ACpC7C;;AACI;;AACI;;AACI;;AACE;;AACE;;AACE;;AACE;;AAEA;AAAA,mBAAiB,IAAAniD,UAAA,EAAjB;AAA6B,WAA7B,EAA8B,OAA9B,EAA8B;AAAA,mBAAU,IAAAA,UAAA,EAAV;AAAsB,WAApD;;AACgF;;AAElF;;AACA;;AACE;;AAA6I;;AAAY;;AAC3J;;AACA;;AAEF;;AAEF;;AACA;;AAAwC;AAAA;;AAAA;;AAAA,qCAA+B,IAAAC,QAAA,KAA/B;AAA6C,WAA7C;;AACtC;;AACA;;AAA2C;;AAA8B;;AAC3E;;AACE;;AACE;;AAEI;;AAAiB;AAAA,mBAAS,IAAAjR,OAAA,EAAT;AAAkB,WAAlB;;AAAuC;;AAAO;;AAC/D;;AAAQ;;AAAQ;;AAAU;;AAAgB;;AAAG;AAAA,mBAAS,IAAAq3D,wBAAA,EAAT;AAAmC,WAAnC;;AAAoI;;AAAyB;;AAC5M;;AAEA;;AAEE;;AAAiB;AAAA,mBAAS,IAAAp3D,SAAA,EAAT;AAAoB,WAApB;;AAAyC;;AAAO;;AACjE;;AAAQ;;AAAM;;AAAU;;AAC1B;;AAIJ;;AACA;;AACE;;AACE;;AAA6C;AAAA;AAAA;;AAA7C;;AAEA;;AAA2C;;AAAc;;AAAkB;;AAAC;;AAAO;;AACnF;;AAC4C;AAAA;AAAA,aAAoD,QAApD,EAAoD;AAAA;;AAAA;;AAAA,mBACrF,IAAAyO,mBAAA,WADqF;AAC9C,WADN,EAAoD,eAApD,EAAoD;AAAA,mBAC3B,IAAAwC,gBAAA,QAD2B;AACH,WADjD;;AAD5C;;AAMA;;AACE;;AACF;;AACA;;AAGC;;AAwBJ;;AAUF;;AACC;;AAAgD;;AAAe;;AAAkB;;AAAC;;AAAO;;AACzF;;AAKE;AAAA,mBAAY,IAAAA,gBAAA,QAAZ;AAAoC,WAApC,EAAqC,eAArC,EAAqC;AAAA;AAAA,WAArC,EAAqC,OAArC,EAAqC;AAAA,mBAE5B,IAAAomD,gBAAA,4CAF4B;AAE4B,WAFjE;;AALF;;AAUE;;AACA;;AACJ;;AAEA;;AACE;;AAAuC;;AAAO;;AAAkB;;AAAC;;AAAO;;AAAQ;;AAChF;;AACE;AAAA;AAAA,aAA8C,QAA9C,EAA8C;AAAA,mBAG3B,IAAAC,YAAA,EAH2B;AAGb,WAHjC;;AAIA;;AAA6B;;AAAa;;AAC1C;;AAAkB;;AAAQ;;AAC1B;;AAAkB;;AAAQ;;AAC5B;;AACA;;AACkC;;AAAQ;;AAC1C;;AAGF;;AAEA;;AACE;;AAAuC;;AAAa;;AAA2B;;AAAC;;AAAO;;AACvF;;AACqF;AAAA;AAAA,aAAoD,QAApD,EAAoD;AAAA,mBAAW,IAAA/C,kBAAA,EAAX;AAA+B,WAAnF,EAAoD,QAApD,EAAoD;AAAA,mBAE/H,IAAA8C,gBAAA,4CAF+H;AAEvE,WAFmB;;AAInF;;AAAiC;;AAAoB;;AACrD;;AAAsB;;AAAa;;AAEnC;;AAAsB;;AAAI;;AAC1B;;AAAsB;;AAAI;;AAC1B;;AAAsB;;AAAI;;AAC9B;;AACA;;AAEA;;AAGA;;AACE;;AAAgD;;AAAkB;;AAAkB;;AAAC;;AAAO;;AAC5F;;AAA+E;AAAA;AAAA,aAAuD,eAAvD,EAAuD;AAAA,mBACxD,IAAApmD,gBAAA,QADwD;AAChC,WADvB,EAAuD,QAAvD,EAAuD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAG1H,IAAA62C,SAAA,oCAH0H;AAGlD,WAHL;;AAK7E;;AAAiB;;AAAmB;;AAEpC;;AAA8B;;AAAU;;AACxC;;AAA+B;;AAAW;;AAC1C;;AAA4B;;AAAQ;;AACpC;;AAA8B;;AAAU;;AACxC;;AAAqC;;AAAiB;;AACtD;;AAA+B;;AAAW;;AAC5C;;AACA;;AACH;;AAgBE;;AACC;;AAA8C;;AAAa;;AAAkB;;AAAC;;AAAO;;AAAS;;AAC9F;;AACyB;AAAA;AAAA,aAAyD,QAAzD,EAAyD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACxE,IAAAA,SAAA,oCADwE;AACA,WADzD,EAAyD,eAAzD,EAAyD;AAAA,mBACmB,IAAA72C,gBAAA,QADnB;AAC2C,WADpG;;AADzB;;AAKA;;AACE;;AADF;;AAGA;;AAEF;;AAEC;;AACC;;AAA8C;;AAAgB;;AAAkB;;AAAC;;AAAO;;AACxF;;AACA;AAAA,mBAAiB,IAAAA,gBAAA,QAAjB;AAAyC,WAAzC,EAA0C,eAA1C,EAA0C;AAAA;AAAA,WAA1C,EAA0C,QAA1C,EAA0C;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAmE,IAAA62C,SAAA,oCAAnE;AAA2I,WAArL;;AAGE;;AAA0B;;AAAmB;;AAC7C;;AAA8B;;AAAU;;AACxC;;AAA+B;;AAAW;;AAC1C;;AAA4B;;AAAQ;;AACpC;;AAA8B;;AAAU;;AACxC;;AAAqC;;AAAiB;;AACtD;;AAA+B;;AAAW;;AAE5C;;AACA;;AACH;;AAaA;;AACC;;AAA4C;;AAAW;;AAAkB;;AAAC;;AAAO;;AAAS;;AAC1F;;AACuB;AAAA;AAAA,aAAuD,eAAvD,EAAuD;AAAA,mBAC7D,IAAA72C,gBAAA,QAD6D;AACrC,WADlB;;AADvB;;AAIA;;AACE;;AADF;;AAGA;;AAEF;;AAME;;AACE;;AAAyC;;AAAkB;;AAC3D;;AAAiP;AAAA;AAAA;;AAA4F;;AAEhV;;AAGA;;AACC;;AAAyC;;AAAkB;;AAC3D;;AAAuM;AAAA;AAAA;;AAA4F;;AAEtS;;AAEG;;AAEE;;AAA8C;;AAAa;;AAAkB;;AAAC;;AAAO;;AAoBrF;;AACE;;AACA;AAAA;AAAA,aAAqD,UAArD,EAAqD;AAAA,mBACzC,IAAA/Q,SAAA,QADyC;AACxB,WAD7B,EAAqD,eAArD,EAAqD;AAAA;;AAAA;;AAAA,mBAEpC,IAAAD,iBAAA,YAFoC;AAEE,WAFvD;;AADA;;AAKE;;AACE;;AAA0I;AAAA;;AAAA;;AAAA,mBAAS,qBAAT;AAA4B,WAA5B;;AACxI;;AACF;;AACF;;AACJ;;AAEA;;AAGA;;AAGA;;AAGA;;AAKF;;AAeA;;AACE;;AAAyC;;AAAO;;AAChD;;AAAiE;AAAA;AAAA,aAAgD,eAAhD,EAAgD;AAAA,mBAEhG,IAAAgR,gBAAA,QAFgG;AAExE,WAFwB,EAAgD,QAAhD,EAAgD;AAAA;;AAAA;;AAAA,mBAEtC,IAAAsmD,cAAA,YAFsC;AAER,WAFxC;;AAI/D;;AAAgC;;AAAa;;AAC7C;;AACF;;AACH;;AAEA;;AACC;;AAAgD;;AAAY;;AAC5D;;AAA+G;AAAA;AAAA,aAAuD,QAAvD,EAAuD;AAAA,mBAE5J,IAAAC,UAAA,QAF4J;AAE1I,WAFmF;;AAA/G;;AAGF;;AAEA;;AAWA;;AACE;;AACF;;AAAmF;;AAAsC;;AACzH;;AAEA;;AACE;;AACA;;AACE;;AAIE;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAkC;AAAA;;AAAA;;AAAA,mBAAS,IAAAC,eAAA,MAAqB,CAArB,CAAT;AAAgC,WAAhC;;AAAlC;;AACD;;AAAkC;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,eAAA,MAAqB,CAArB,CAAT;AAAgC,WAAhC;;AAAlC;;AACD;;AACF;;AACA;;AACE;;AACE;;AAAkC;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,eAAA,MAAqB,CAArB,CAAT;AAAgC,WAAhC;;AAAlC;;AACA;;AAAkC;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,eAAA,MAAqB,CAArB,CAAT;AAAgC,WAAhC;;AAAlC;;AACF;;AACF;;AAEJ;;AACE;;AAAyB;;AAAqD;;AAChF;;AACA;;AACE;;AAAyB;;AAAkD;;AAC7E;;AACK;;AACH;;AACJ;;AACJ;;AACF;;AAEA;;AACE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AAA4E;AAAA,mBAAW,IAAAx8D,IAAA,EAAX;AAAiB,WAAjB;;AAC1E;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACA;;AAAoC;;AAAgC;;AACpE;;AACA;;AACE;;AAA6C;AAAA,mBAAS,IAAAy8D,mBAAA,EAAT;AAA8B,WAA9B;;AAA7C;;AACA;;AAAQ;AAAA,mBAAS,IAAAz8D,IAAA,EAAT;AAAe,WAAf;;AAEY;;AAAK;;AACzB;;AACA;;AACJ;;AACJ;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAxY+J;;AAAA;;AAY1I;;AAAA;;AAGyB;;AAAA;;AAA+F;;AAAA;;AAGtH;;AAAA;;AAGqB;;AAAA;;AAQmB;;AAAA;;AAID;;AAAA,0HAAoD,UAApD,EAAoD,sDAApD,EAAoD,SAApD,EAAoD,0JAApD;;AAMlC;;AAAA;;AAEoB;;AAAA;;AAGC;;AAAA;;AA0CD;;AAAA,oHAA8C,UAA9C,EAA8C,sDAA9C,EAA8C,SAA9C,EAA8C,0KAA9C;;AAIF;;AAAA;;AACA;;AAAA;;AAGZ;;AAAA;;AAE0C;;AAAA,kGAA0B,SAA1B,EAA0B,oCAA1B,EAA0B,SAA1B,EAA0B,sIAA1B;;AASvD;;AAAA;;AAGL;;AAAA;;AAOF;;AAAA,uIAA2D,SAA3D,EAA2D,0CAA3D,EAA2D,SAA3D,EAA2D,sIAA3D;;AAIU;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAEkB;;AAAA;;AAOmD;;AAAA,6HAAuD,UAAvD,EAAuD,sDAAvD,EAAuD,SAAvD,EAAuD,sIAAvD;;AAcjD;;AAAA;;AAoBL;;AAAA,+HAAyD,UAAzD,EAAyD,sDAAzD,EAAyD,SAAzD,EAAyD,sIAAzD;;AAKf;;AAAA;;AAEoB;;AAAA;;AAOa;;AAAA,2HAAqD,SAArD,EAAqD,sIAArD,EAAqD,UAArD,EAAqD,sDAArD;;AAYb;;AAAA;;AAiBT;;AAAA,6HAAuD,UAAvD,EAAuD,sDAAvD,EAAuD,SAAvD,EAAuD,sIAAvD;;AAIb;;AAAA;;AAEoB;;AAAA;;AAQR;;AAAA;;AAEsB;;AAAA,sQAAkL,SAAlL,EAAkL,sCAAlL;;AAKvB;;AAAA;;AAE0C;;AAAA,uNAAuI,SAAvI,EAAuI,sCAAvI;;AA4B3D;;AAAA,2HAAqD,SAArD,EAAqD,eAArD,EAAqD,UAArD,EAAqD,sDAArD,EAAqD,SAArD,EAAqD,qKAArD;;AAKuC;;AAAA;;AAMX;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAoBV;;AAAA;;AAE6C;;AAAA,sHAAgD,SAAhD,EAAgD,gKAAhD,EAAgD,UAAhD,EAAgD,sDAAhD;;AAIvD;;AAAA;;AACA;;AAAA;;AAIS;;AAAA;;AAE0F;;AAAA,6HAAuD,SAAvD,EAAuD,sIAAvD,EAAuD,UAAvD,EAAuD,yCAAvD;;AAKjE;;AAAA;;AAW1B;;AAAA;;AAEV;;AAAA;;AAAuE;;AAAA;;AAUJ;;AAAA;;AAA+E;;AAAtH;;AAGV;;AAAA;;AAE4C;;AAAA;;AACD;;AAAA;;AAG3C;;AAAA;;AAE4C;;AAAA;;AACA;;AAAA;;AAI3D;;AAAA;;AACU;;AAAA;;AAEV;;AAAA;;AACU;;AAAA;;AAQ9B;;AAAA;;AA0BL;;AAAA;;;;;;;;;;sEDtXWi4D,gC,EAAgC;cAT5C,uDAS4C;eATlC;AACTruE,kBAAQ,EAAE,+BADD;AAET4D,qBAAW,EAAE,4CAFJ;AAGT3D,mBAAS,EAAE,CAAC,2CAAD,CAHF;AAITwkB,uBAAa,EAAE,gEAAkBC,IAJxB,CAKT;AACA;AACA;;AAPS,S;AASkC,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEpC7C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACqCM;;AACA;;AACC;;;;;;AA6BG;;AAAyE;;AAAsB;;;;;;AAArD;;AAA+B;;AAAA;;;;;;AA6C7E;;AACE;;AACC;;;;;;AAmCH;;;;;;;;AACA;;AACE;;AACI;;AAAoC;AAAA;;AAAA;;AAAA;AAAA;;AAC9B;;AACI;;AAEA;;AAAmG;;AACnG;;AACI;;AAA6B;AAAA;;AAAA;;AAAA;AAAA;;AAAuC;;AAAoH;;AAAkB;;AACtM;;AACC;;AAAI;;AAAmG;AAAA;;AAAA;;AAAA,0CAA0B,OAA1B;AAAiC,SAAjC,EAAmC,eAAnC,EAAmC;AAAA;;AAAA;;AAAA,0CAAmC,OAAnC;AAA0C,SAA7E;;AAAiF;;AAAiB;;AAAI;;AAC7M;;AAAI;;AAAqG;AAAA;;AAAA;;AAAA,0CAA0B,MAA1B;AAAgC,SAAhC,EAAkC,eAAlC,EAAkC;AAAA;;AAAA;;AAAA,0CAAmC,MAAnC;AAAyC,SAA3E;;AAA8E;;AAAgB;;AAAI;;AAC3M;;AAAI;;AAAqG;AAAA;;AAAA;;AAAA,6CAA6B,KAA7B;AAAkC,SAAlC,EAAoC,eAApC,EAAoC;AAAA;;AAAA;;AAAA,6CAAsC,KAAtC;AAA2C,SAA/E;;AAAkF;;AAAe;;AAAI;;AAC9M;;AAAI;;AAAqG;AAAA;;AAAA;;AAAA,0CAA0B,KAA1B;AAA+B,SAA/B,EAAiC,eAAjC,EAAiC;AAAA;;AAAA;;AAAA,0CAAmC,KAAnC;AAAwC,SAAzE;;AAA4E;;AAAe;;AAAI;;AAEzM;;AACJ;;AACJ;;AACJ;;AAEJ;;AACN;;AACF;;;;;;;;AACI;;AACE;;AACK;;AAEK;;AAA2C;AAAA;;AAAA;;AAAA;AAAA;;AACvC;;AAEA;;AAAqG;;AACrG;;AACE;;AAA6B;AAAA;;AAAA;;AAAA;AAAA;;AAAuC;;AAAoH;;AAAkB;;AACtM;;AACC;;AAAI;;AAAmG;AAAA;;AAAA;;AAAA,0CAA0B,OAA1B;AAAiC,SAAjC,EAAmC,eAAnC,EAAmC;AAAA;;AAAA;;AAAA,0CAAmC,OAAnC;AAA0C,SAA7E;;AAAiF;;AAAiB;;AAAI;;AAC7M;;AAAI;;AAAqG;AAAA;;AAAA;;AAAA,0CAA0B,MAA1B;AAAgC,SAAhC,EAAkC,eAAlC,EAAkC;AAAA;;AAAA;;AAAA,0CAAmC,MAAnC;AAAyC,SAA3E;;AAA8E;;AAAgB;;AAAI;;AAC3M;;AAAI;;AAAqG;AAAA;;AAAA;;AAAA,6CAA6B,KAA7B;AAAkC,SAAlC,EAAoC,eAApC,EAAoC;AAAA;;AAAA;;AAAA,6CAAsC,KAAtC;AAA2C,SAA/E;;AAAkF;;AAAe;;AAAI;;AAC9M;;AAAI;;AAAqG;AAAA;;AAAA;;AAAA,0CAA0B,KAA1B;AAA+B,SAA/B,EAAiC,eAAjC,EAAiC;AAAA;;AAAA;;AAAA,0CAAmC,KAAnC;AAAwC,SAAzE;;AAA4E;;AAAe;;AAAI;;AAEzM;;AACJ;;AACJ;;AACF;;AAEJ;;AACN;;AACF;;;;;;;;AAmEE;;AACE;;AAAI;;AAAuB;;AAE3B;;AAAI;;AAAqB;;AACzB;;AAAI;;AAAuB;;AAE3B;;AAAI;;AAA+B;;AACnC;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAA4B;;AAChC;;AAAI;;AAAqB;;AACzB;;AAAI;;AAAuB;;AAC3B;;AACE;;AAEE;;AAIE;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAmD,OAAnD,EAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAAnD;;AAKhB;;AACH;;AACA;;AAKE;;AAAgB;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAmD,OAAnD,EAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAAnD;;AAMf;;AACH;;AACA;;AACE;;AAAgB;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAgD,OAAhD,EAAgD;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAAhD;;AAEwJ;;AAC1K;;AACA;;AAEE;;AACyD;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACzD;;AAA0C;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAgM;;AAAO;;AACnP;;AACD;;AACH;;AAQF;;;;;;;;AAzDM;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAME;;AAAA;;AAWA;;AAAA;;AAWoB;;AAAA;;AAEpB;;AAAA;;AADuF;;AAInE;;AAAA;;AAGpB;;AAAA;;;;;;AAaR;;AACE;;AAAgB;;AAAiB;;AACnC;;;;;;;;AA+BQ;;AACE;;AAAG;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEmD;;AAAQ;;AAEhE;;;;;;;;;AAFE;;AAAA;;AAF+H;;AAEzE;;AAAA;;;;;;;;AAd5D;;AACE;;AACE;;AAEE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACkG;;AAAM;;AAAQ;;AAAQ;;AAAK;;AAAI;;AACtI;;AAEE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEiG;;AAAM;;AAAK;;AAAQ;;AAAI;;AAAI;;AACjI;;AAMA;;AAEE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAE+F;;AAAK;;AAAM;;AAAK;;AAAQ;;AAAK;;AAE7H;;AAEE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEoH;;AAAK;;AAAM;;AAAQ;;AAAQ;;AAAI;;AAC9J;;AACA;;AACE;;AACF;;AAEF;;;;;;AA7BsH;;AAAA;;AAKhH;;AAAA;;AAEE;;AAAA;;AASF;;AAAA;;AAMI;;AAAA;;AAIN;;AAAA;;;;;;AA6Bd;;AACE;;AAAkD;;AAAwB;;AAC1E;;AAAkD;;AAAqB;;AACvE;;AAAkD;;AAAuB;;AACzE;;AAAmD;;AAA+B;;AAClF;;AAAkD;;AAAqB;;AACvE;;AAAkD;;AAA2B;;AAC7E;;AAAkD;;AAAoB;;AACtE;;AAAkD;;AAAsB;;AAC1E;;;;;;AARoD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACC;;AAAA;;AACD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAwBtD;;AACE;;AAAkD;;AAAwB;;AAC1E;;AAAkD;;AAAqB;;AACvE;;AAAkD;;AAAuB;;AACzE;;AAAmD;;AAA+B;;AAClF;;AAAkD;;AAAqB;;AACrE;;AAAkD;;AAA2B;;AAC7E;;AAAkD;;AAAoB;;AACxE;;AAAkD;;AAAsB;;AAC1E;;;;;;AARoD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACC;;AAAA;;AACD;;AAAA;;AACE;;AAAA;;AACA;;AAAA;;AACF;;AAAA;;;;;;AAwBpD;;AACE;;AAAkD;;AAAwB;;AAC1E;;AAAkD;;AAAqB;;AACvE;;AAAkD;;AAAuB;;AACzE;;AAAmD;;AAA+B;;AAClF;;AAAkD;;AAAqB;;AACvE;;AAAkD;;AAA2B;;AAC7E;;AAAkD;;AAAoB;;AACtE;;AAAkD;;AAAsB;;AAC1E;;;;;;AARoD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACC;;AAAA;;AACD;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;;;;;QDlc3CouD,wC;AA+BX,wDAAoB72E,MAApB,EAA4C82E,uBAA5C,EAAmG1hE,gBAAnG,EACSE,WADT,EAC+CC,QAD/C,EACmF3Q,QADnF,EAESksB,kBAFT,EAEuDC,sBAFvD,EAEuG;AAAA;;AAFnF,aAAA/wB,MAAA,GAAAA,MAAA;AAAwB,aAAA82E,uBAAA,GAAAA,uBAAA;AAAuD,aAAA1hE,gBAAA,GAAAA,gBAAA;AAC1F,aAAAE,WAAA,GAAAA,WAAA;AAAsC,aAAAC,QAAA,GAAAA,QAAA;AAAoC,aAAA3Q,QAAA,GAAAA,QAAA;AAC1E,aAAAksB,kBAAA,GAAAA,kBAAA;AAA8C,aAAAC,sBAAA,GAAAA,sBAAA;AAhCvD,aAAAvb,KAAA,GAAQ,IAAI1jB,IAAJ,EAAR;AACA,aAAA2jB,WAAA,GAAmC;AACjCC,mBAAS,EAAE,KADsB;AAEjCC,oBAAU,EAAE,YAFqB;AAGjCC,sBAAY,EAAE;AAAC/f,gBAAI,EAAE,KAAK2f,KAAL,CAAWxiB,WAAX,EAAP;AAAiC+B,iBAAK,EAAE,KAAKygB,KAAL,CAAWviB,QAAX,KAAwB,CAAhE;AAAmE4iB,eAAG,EAAE,KAAKL,KAAL,CAAWtiB,OAAX,KAAuB;AAA/F,WAHmB,CAKjC;;AALiC,SAAnC;AAOA,aAAA0iD,YAAA,GAAoC;AAClClgC,mBAAS,EAAE,KADuB;AAElCC,oBAAU,EAAE,YAFsB,CAGlC;;AAHkC,SAApC;AAeA,aAAAK,WAAA,GAAgB,EAAhB;AACA,aAAAiT,kBAAA,GAA2B,KAA3B;AAEA,aAAAiI,gBAAA,GAA0B,KAA1B;AAQA,aAAA6lD,mBAAA,GAA4B,EAA5B;AACA,aAAAC,2BAAA,GAAoC,EAApC;AAgBC,aAAA/gE,cAAA,GAAiB,IAAjB;AAOD,aAAAC,WAAA,GAAgB,EAAhB;AAEA,aAAAC,UAAA,GAAqB,IAArB;AACA,aAAAQ,YAAA,GAAuB,KAAvB,CA7BuG,CAyKzG;;AACA,aAAAsgE,cAAA,GAAmB,EAAnB;AACA,aAAAC,oBAAA,GAAyB,EAAzB,CA3KyG,CA60BzG;AAIA;AACA;;AAEA,aAAA/lD,MAAA,GAAc,CAAd;AACA,aAAAC,UAAA,GAAwB,EAAxB;AACA,aAAAC,SAAA,GAAiB,kBAAjB;AACA,aAAAC,KAAA,GAAU,aAAV,CAv1ByG,CAw1BzG;;AAGA,aAAAC,SAAA,GAAY,EAAZ;AAGA,aAAAC,OAAA,GAAgB,MAAhB;AAGA,aAAA/Z,WAAA,GAAc,CAAd;AACA,aAAAga,cAAA,GAAyB,KAAzB;AACA,aAAAC,eAAA,GAA0B,KAA1B;AAn2B4G;;;;mCAgClG;AACN,eAAKnc,QAAL,CAAcwB,IAAd;;AACA,cAAG,CAAC,mCAAC,CAAC,mBAAD,CAAD,CAAuBH,EAAvB,CAA0B,UAA1B,CAAJ,EAA0C;AACxC,+CAAC,CAAC,mBAAD,CAAD,CAAuB7Q,GAAvB,CAA2B,SAA3B,EAAqC,OAArC;AACD;;AACD,eAAKoxE,eAAL,GAAuB,KAAKvyE,QAAL,CAAce,kBAAd,CAAiClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,CAAvB,CALM,CAMN;;AACA,eAAKqjF,UAAL,GAPM,CAQN;;AACA,eAAK//D,kBAAL,GATM,CAUN;;AACA,eAAKmT,iBAAL,GAXM,CAYN;;AACA,eAAKjT,MAAL,GAAc;AACZC,wBAAY,EAAE,EADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAIA,eAAKC,YAAL,GAAmB,EAAnB;AACA,eAAKC,iBAAL,GAAyB,CAAzB,CAlBM,CAmBN;;AACA0/D,4BAAkB,CAAC,CAAD,EAAG,KAAH,CAAlB;AAEA,eAAKjmD,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,eAAKN,kBAAL,CAAwBgB,QAAxB,GAAmC,CAAnC;AACD,S,CACH;;;;oCACc1xB,K,EAAO;AACjB,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACA,eAAKsX,YAAL,GAAoB,KAAKH,MAAL,CAAYE,WAAZ,GAAwB,KAAKF,MAAL,CAAYC,YAAxD;AACA,eAAKG,iBAAL,GAAyB,KAAKD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAAZ,GAAyB,CAA9C,CAAzB,CAHiB,CAIjB;AACA;AACD,S,CACH;;;;wCACkB;AACd/jB,sBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAsCi4B,MAAM,CAAC,GAAD,CAA5C;AACAl4B,sBAAY,CAACC,OAAb,CAAqB,OAArB,EAA6B,EAA7B;AACA,eAAKojF,uBAAL,CAA6B15D,QAA7B,GAAwC;AACtCmd,cAAE,EAAE,CADkC;AAEtC;AACAvO,yBAAa,EAAE,EAHuB;AAItCsrC,kBAAM,EAAC,EAJ+B;AAKtCsc,yBAAa,EAAC,EALwB;AAMtCC,yBAAa,EAAC,EANwB;AAOtCK,2BAAe,EAAC,EAPsB;AAQtC54D,sBAAU,EAAC,IAR2B;AAStClB,wBAAY,EAAC,EATyB;AAUtC6gC,kBAAM,EAAC,EAV+B;AAWtC76B,kBAAM,EAAC,EAX+B;AAYtC6F,eAAG,EAAE,EAZiC;AAatCg8C,uBAAW,EAAE,IAbyB;AActCD,yBAAa,EAAG,gBAdsB;AAetCzR,yBAAa,EAAG,IAfsB;AAgBtCqR,2BAAe,EAAE,gBAhBqB;AAiBtCtR,oBAAQ,EAAG,IAjB2B;AAkBtCwI,sBAAU,EAAE,EAlB0B;AAmBtCic,wBAAY,EAAG,EAnBuB;AAoBtCC,oBAAQ,EAAC,KApB6B;AAqBtCZ,qBAAS,EAAC,EArB4B;AAsBtCa,yBAAa,EAAC,KAtBwB;AAuBtClB,oBAAQ,EAAC,EAvB6B;AAwBtCC,oBAAQ,EAAC,EAxB6B;AAyBtCzpD,oBAAQ,EAAC,oBAzB6B;AA0BtC2qD,gCAAoB,EAAC,EA1BiB;AA2BtCt6D,qBAAS,EAAC,EA3B4B;AA4BtCC,uBAAW,EAAC,EA5B0B;AA6BtCs6D,0BAAc,EAAC,CA7BuB;AA8BtC53D,uBAAW,EAAC,EA9B0B;AA+BtC6xB,oCAAwB,EAAC,EA/Ba;AAgCtCnoC,kBAAM,EAAC,IAhC+B;AAiCtC++D,wBAAY,EAAE,IAjCwB;AAkCtCoP,4BAAgB,EAAC,EAlCqB;AAmCtCtS,6BAAiB,EAAC,EAnCoB;AAoCtCC,2BAAe,EAAC;AApCsB,WAAxC;AAsCA,eAAK/iE,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,qBAAD,CAArB;AACD,S,CACF;;;;qCACc;AACX,eAAK0vE,uBAAL,CAA6B15D,QAA7B,GAAwC;AACtCmd,cAAE,EAAE,CADkC;AAEtC;AACAvO,yBAAa,EAAE,EAHuB;AAItCsrC,kBAAM,EAAC,EAJ+B;AAKtCsc,yBAAa,EAAC,EALwB;AAMtCC,yBAAa,EAAC,EANwB;AAOtCK,2BAAe,EAAC,EAPsB;AAQtC54D,sBAAU,EAAC,IAR2B;AAStClB,wBAAY,EAAC,EATyB;AAUtC6gC,kBAAM,EAAC,EAV+B;AAWtC76B,kBAAM,EAAC,EAX+B;AAYtC6F,eAAG,EAAE,EAZiC;AAatCg8C,uBAAW,EAAE,IAbyB;AActCD,yBAAa,EAAG,gBAdsB;AAetCzR,yBAAa,EAAG,IAfsB;AAgBtCqR,2BAAe,EAAE,gBAhBqB;AAiBtCtR,oBAAQ,EAAG,IAjB2B;AAkBtCwI,sBAAU,EAAE,EAlB0B;AAmBtCic,wBAAY,EAAG,EAnBuB;AAoBtCC,oBAAQ,EAAC,KApB6B;AAqBtCZ,qBAAS,EAAC,EArB4B;AAsBtCa,yBAAa,EAAC,KAtBwB;AAuBtClB,oBAAQ,EAAC,EAvB6B;AAwBtCC,oBAAQ,EAAC,EAxB6B;AAyBtCzpD,oBAAQ,EAAC,EAzB6B;AA0BtC2qD,gCAAoB,EAAC,EA1BiB;AA2BtCt6D,qBAAS,EAAC,EA3B4B;AA4BtCC,uBAAW,EAAC,EA5B0B;AA6BtCs6D,0BAAc,EAAC,CA7BuB;AA8BtC53D,uBAAW,EAAC,EA9B0B;AA+BtC6xB,oCAAwB,EAAC,EA/Ba;AAgCtCnoC,kBAAM,EAAC,IAhC+B;AAiCtC++D,wBAAY,EAAC,IAjCyB;AAkCtCoP,4BAAgB,EAAC,EAlCqB;AAmCtCtS,6BAAiB,EAAC,EAnCoB;AAoCtCC,2BAAe,EAAC;AApCsB,WAAxC;AAsCD,S,CACH;;;;6CACoB;AAAA;;AAChB,eAAKztD,WAAL,CAAiBuC,eAAjB,CAAiCpkB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,EAAqE,yBAArE,EAAgGT,SAAhG,CAA0G,UAAAwkB,UAAU,EAAE;AACpH,oBAAI,CAACC,UAAL,GAAgBD,UAAU,CAAC,CAAD,CAA1B;AACA,oBAAI,CAACI,QAAL,GAAe,QAAI,CAACH,UAAL,CAAgBI,UAA/B;AACA,oBAAI,CAACC,eAAL,GAAqB,QAAI,CAACL,UAAL,CAAgBM,YAArC;AACA,oBAAI,CAACC,aAAL,GAAmB,QAAI,CAACP,UAAL,CAAgBQ,SAAnC;AACA,oBAAI,CAACP,iBAAL,GAAwB,QAAI,CAACD,UAAL,CAAgBE,aAAxC;AACA,oBAAI,CAACia,eAAL,GAAqB,QAAI,CAACna,UAAL,CAAgBma,eAArC,CANoH,CAOpH;;AACA,gBAAG,CAAC,QAAI,CAACha,QAAN,IAAkB,QAAI,CAACH,UAAL,CAAgBW,UAArC,EACE,QAAI,CAACC,aAAL,GAAmB,IAAnB;;AACF,oBAAI,CAAC2+D,iBAAL,CAAuB,EAAvB,EAA0B,EAA1B,EAA6B,EAA7B,EAAgC,EAAhC,EAAmC,EAAnC,EAAsC,QAAI,CAACjmD,SAA3C,EAAqD,GAArD,EAVoH,CAWpH;;AACD,WAZD,EAYE,UAACja,GAAD,EAAO;AACP,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAdD;AAeD,S,CAMH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;0CACoBiwD,W,EAAaC,M,EAAQl9C,Y,EAAcgG,M,EAAQm3D,U,EAAuC;AAAA;;AAAA,cAA3B9kD,SAA2B,uEAAjB,EAAiB;AAAA,cAAb+kD,UAAa,uEAAF,EAAE;AAElG,cAAGA,UAAU,IAAI,EAAjB,EACI,KAAKrmD,MAAL,GAAYqmD,UAAZ;;AAEJ,eAAKV,uBAAL,CAA6BW,yBAA7B,CAAuDhkF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAvD,EAA2F,KAAKo9B,MAAhG,EAAuG,KAAK5Z,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAAvG,EAA2IwX,SAA3I,EACA4kC,WADA,EACaC,MADb,EACqBl9C,YADrB,EACmCgG,MADnC,EAC2Cm3D,UAD3C,EACuDjkF,SADvD,CACiE,UAAAgiF,OAAO,EAAE;AAE1E,oBAAI,CAACyB,mBAAL,GAA2B,EAA3B;AAEAzB,mBAAO,CAAC1+E,OAAR,CAAgB,UAAAC,OAAO,EAAI;AAEzB,kBAAGsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAA/B,IAAqCsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAA/B,KAAqC,CAAC,QAAI,CAACmhB,iBAAN,IAA2BnhB,OAAO,CAAC,QAAD,CAAP,IAAqB,QAAI,CAACsgF,eAA1F,CAArC,IACF,QAAI,CAACn/D,iBAAL,IAA0BmK,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAD1D,EAC6D;AACzDA,uBAAO,CAAC,qBAAD,CAAP,GAAiC,IAAjC;AACH,eAHD,MAKA;AACEA,uBAAO,CAAC,qBAAD,CAAP,GAAiC,KAAjC;AACD;;AAED,kBAAGA,OAAO,CAAC,MAAD,CAAP,IAAmB,OAAtB,EAA8B;AAC5B,wBAAI,CAACkgF,mBAAL,CAAyBjgF,IAAzB,CAA8BD,OAA9B;AACD,eAFD,MAGI;AACJ,oBAAG,QAAI,CAACmhB,iBAAR,EAA0B;AACxB,sBAAGnhB,OAAO,CAAC,QAAD,CAAP,IAAqB,QAAI,CAACsgF,eAA1B,IAA6CtgF,OAAO,CAAC,gBAAD,CAAP,IAA6BsrB,QAAQ,CAAC,QAAI,CAACg1D,eAAN,CAArF,EAA4G;AAE1G,wBAAG,CAACh1D,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAA/B,IAAoCsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAAnE,IAAwEsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAAvG,IACDsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAD9B,IACmCsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CADlE,IACuEsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CADtG,IAEDsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAF9B,IAEmCsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAFnE,KAEyEA,OAAO,CAAC,QAAD,CAAP,IAAqB,QAAI,CAACsgF,eAFtG,EAEsH;AACtH,8BAAI,CAACJ,mBAAL,CAAyBjgF,IAAzB,CAA8BD,OAA9B;;AACAA,6BAAO,CAAC,eAAD,CAAP,GAA2B,KAA3B;AACC,qBALD,MAMK,IAAGsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAA/B,IAAoCA,OAAO,CAAC,gBAAD,CAAP,IAA6BsrB,QAAQ,CAAC,QAAI,CAACg1D,eAAN,CAA5E,EAAoG;AACzG,8BAAI,CAACJ,mBAAL,CAAyBjgF,IAAzB,CAA8BD,OAA9B;;AACAA,6BAAO,CAAC,kBAAD,CAAP,GAA8B,IAA9B;AACAA,6BAAO,CAAC,eAAD,CAAP,GAA2B,IAA3B;AACC,qBAJI,MAKA,IAAGsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAA/B,IAAoCA,OAAO,CAAC,gBAAD,CAAP,IAA6BsrB,QAAQ,CAAC,QAAI,CAACg1D,eAAN,CAA5E,EAAoG;AACvG,8BAAI,CAACJ,mBAAL,CAAyBjgF,IAAzB,CAA8BD,OAA9B;;AACAA,6BAAO,CAAC,kBAAD,CAAP,GAA8B,KAA9B;AACAA,6BAAO,CAAC,eAAD,CAAP,GAA2B,IAA3B;AACC;AACJ,mBAlBD,MAmBI;AACJA,2BAAO,CAAC,eAAD,CAAP,GAA2B,IAA3B;;AACA,4BAAI,CAACkgF,mBAAL,CAAyBjgF,IAAzB,CAA8BD,OAA9B;AACC;AACF,iBAxBD,MAyBI;AACF,sBAAGA,OAAO,CAAC,QAAD,CAAP,IAAqB,QAAI,CAACsgF,eAA7B,EAA6C;AAC3CtgF,2BAAO,CAAC,eAAD,CAAP,GAA2B,KAA3B;;AACA,wBAAGsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAA/B,IAAoCsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAAnE,IAAwEsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAAvG,IACAsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAD/B,IACoCsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CADnE,IACwEsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CADvG,IAEAsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAF/B,IAEoCsrB,QAAQ,CAACtrB,OAAO,CAAC,QAAD,CAAR,CAAR,IAA+B,CAFtE,EAE2E;AACvE,8BAAI,CAACkgF,mBAAL,CAAyBjgF,IAAzB,CAA8BD,OAA9B;AACH,qBAJD,MAKI;AACF;AACA;AACC,8BAAI,CAACkgF,mBAAL,CAAyBjgF,IAAzB,CAA8BD,OAA9B;AACC;AACL;AACF;AACF,eAvD0B,CAwD3B;AACA;AACA;AACA;;AACC,aA5DD;;AA8DA,iBAAK,IAAIqiB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAAC69D,mBAAL,CAAyB9lF,MAA7C,EAAqDioB,CAAC,EAAtD,EAA0D;AACxD,sBAAI,CAAC69D,mBAAL,CAAyB79D,CAAzB,EAA4Bw+D,cAA5B,GAA6C,KAA7C;AACD;;AAED,oBAAI,CAACV,2BAAL,GAAmC,QAAI,CAACD,mBAAxC;AACA,oBAAI,CAAC98D,mBAAL,GAA2B,QAAI,CAAC88D,mBAAL,CAAyB9lF,MAApD;;AAEA,gBAAG,QAAI,CAAC+lF,2BAAL,CAAiC/lF,MAAjC,GAA0C,CAA7C,EAA+C;AAC7C,sBAAI,CAAC4hC,UAAL,GAAkB,QAAI,CAACmkD,2BAAL,CAAiC,CAAjC,EAAoCW,aAAtD;;AACA,sBAAI,CAAC7kD,cAAL;AACD,aAHD,MAIK,IAAG,QAAI,CAACkkD,2BAAL,CAAiC/lF,MAAjC,IAA2C,CAA9C,EAAgD;AACnD,sBAAI,CAAC4hC,UAAL,GAAkB,CAAlB;;AACA,sBAAI,CAACC,cAAL;AACD;;AACD;;AACA,gBAAG,QAAI,CAACC,gBAAL,IAAuB,EAAvB,IAA6B,QAAI,CAACA,gBAAL,IAAuB/Y,SAAvD,EAAiE;AAC/D,kBAAG,QAAI,CAACg9D,2BAAL,CAAiC/lF,MAAjC,GAAwC,EAA3C,EAA+C;AAC7C,wBAAI,CAACymB,YAAL,GAAoB,QAAI,CAACmb,UAAzB;AACA,eAFF,MAGM,IAAG,QAAI,CAACmkD,2BAAL,CAAiC/lF,MAAjC,IAAyC,CAA5C,EAA8C;AAClD,wBAAI,CAACymB,YAAL,GAAoB,CAApB;AACA;AACF;;AACD,gBAAG,QAAI,CAACqb,gBAAL,IAAwB,EAA3B,EAA+B;AAC9B,kBAAG,QAAI,CAACikD,2BAAL,CAAiC/lF,MAAjC,GAAyC,EAA5C,EAAgD;AAC9C,wBAAI,CAACymB,YAAL,GAAoB,QAAI,CAACmb,UAAzB;AACA,eAFF,MAGM,IAAG,QAAI,CAACmkD,2BAAL,CAAiC/lF,MAAjC,IAAyC,CAA5C,EAA8C;AAClD,wBAAI,CAACymB,YAAL,GAAoB,CAApB;AACA;AACF;;AACD,gBAAG,QAAI,CAACqb,gBAAL,IAAwB,EAA3B,EAA+B;AAC9B,kBAAG,QAAI,CAACikD,2BAAL,CAAiC/lF,MAAjC,GAA0C,EAA7C,EAAiD;AAC/C,wBAAI,CAACymB,YAAL,GAAoB,QAAI,CAACmb,UAAzB;AACA,eAFF,MAGM,IAAG,QAAI,CAACmkD,2BAAL,CAAiC/lF,MAAjC,IAAyC,CAA5C,EAA8C;AAClD,wBAAI,CAACymB,YAAL,GAAoB,CAApB;AACA;AACF;;AACD,gBAAG,QAAI,CAACqb,gBAAL,IAAwB,GAA3B,EAAgC;AAC/B,kBAAG,QAAI,CAACikD,2BAAL,CAAiC/lF,MAAjC,GAAyC,GAA5C,EAAiD;AAC/C,wBAAI,CAACymB,YAAL,GAAoB,QAAI,CAACmb,UAAzB;AACA,eAFF,MAGM,IAAG,QAAI,CAACmkD,2BAAL,CAAiC/lF,MAAjC,IAAyC,CAA5C,EAA8C;AAClD,wBAAI,CAACymB,YAAL,GAAoB,CAApB;AACA;AACF;;AACF,oBAAI,CAACnC,QAAL,CAAc4E,IAAd;AACC,WApHD,EAoHE,UAAC/C,GAAD,EAAO;AACP,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAtHD;AAwHD,S,CACH;;;;oDAC8BirE,gB,EAAmC;AAC7D5+E,sBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAsCi4B,MAAM,CAAC0mD,gBAAgB,CAAC93C,EAAlB,CAA5C;AACA9mC,sBAAY,CAACC,OAAb,CAAqB,OAArB,EAA6B,kBAA7B,EAF6D,CAG7D;AACA;AACA;;AACA,eAAKsM,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,qBAAD,CAArB;AACD,S,CACD;;;;oDAC4BirE,gB,EAAmC;AAC7D5+E,sBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAsCi4B,MAAM,CAAC0mD,gBAAgB,CAAC93C,EAAlB,CAA5C;AACA9mC,sBAAY,CAACC,OAAb,CAAqB,OAArB,EAA6B,MAA7B,EAF6D,CAG7D;AACA;AACA;;AACA,eAAKsM,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,qBAAD,CAArB;AACD,S,CACH;;;;oEAC8CirE,gB,EAAmC;AAC7E5+E,sBAAY,CAACC,OAAb,CAAqB,gBAArB,EAAsCi4B,MAAM,CAAC0mD,gBAAgB,CAAC93C,EAAlB,CAA5C;AACA9mC,sBAAY,CAACC,OAAb,CAAqB,OAArB,EAA6B,eAA7B,EAF6E,CAG7E;AACA;AACA;;AACA,eAAKsM,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,qBAAD,CAArB;AACD,S,CAGH;;;;iCACWgT,Y,EAAagG,M,EAAO80D,oB,EAAqB5d,M,EAAOz8C,W,EAAW;AAAA;;AAClE,eAAKtF,QAAL,CAAcwB,IAAd;;AACA,eAAK6gE,uBAAL,GAA6B/8D,WAA7B;AACA,eAAKg9D,0BAAL,GAAgC3C,oBAAhC;AACA,eAAK9jD,UAAL,GAAkB,EAAlB;AACA,eAAKA,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,eAAKN,kBAAL,CAAwB4C,oBAAxB,GAA+C,KAA/C;AAEA,cAAG7Y,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAIb,SAAtC,IAAmDa,WAAW,IAAI,EAArE,EACEA,WAAW,GAAG,EAAd,CADF,KAEK,IAAIA,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAE,EAAxC,EAA4C;AAC/CA,uBAAW,GAAG,KAAKkW,sBAAL,CAA4BrnB,MAA5B,CAAmCmR,WAAW,CAACC,UAAZ,CAAuBle,IAA1D,CAAd;AACD;AACD,cAAGs4E,oBAAoB,IAAI,IAAxB,IAAgCA,oBAAoB,IAAIl7D,SAAxD,IAAqEk7D,oBAAoB,IAAI,EAAhG,EACEA,oBAAoB,GAAG,EAAvB,CADF,KAEK,IAAIA,oBAAoB,IAAI,IAAxB,IAAgCA,oBAAoB,IAAE,EAA1D,EAA8D;AACjEA,gCAAoB,GAAG,KAAKnkD,sBAAL,CAA4BrnB,MAA5B,CAAmCwrE,oBAAoB,CAACp6D,UAArB,CAAgCle,IAAnE,CAAvB;AACD;;AACD,cAAG,KAAKs0B,gBAAL,IAAuB,KAA1B,EAAgC;AAChC,iBAAKomD,iBAAL,CAAuBpC,oBAAvB,EAA4C5d,MAA5C,EAAmDl9C,YAAnD,EAAgEgG,MAAhE,EAAuEvF,WAAvE,EAAmF,KAAKwW,SAAxF,EAAkG,GAAlG;AACA,iBAAK7W,WAAL,CAAiB,CAAjB;AACC;;AAED,cAAG,KAAK0W,gBAAL,IAAuB,IAA1B,EAA+B;AAC/B,gBAAG9Q,MAAM,IAAI,EAAb,EAAgB;AAChB,kBAAGA,MAAM,IAAI,GAAb,EAAiB;AAACA,sBAAM,GAAG,uBAAT;AAAmC,eAArD,MACK,IAAGA,MAAM,IAAI,GAAb,EAAiB;AAACA,sBAAM,GAAG,YAAT;AAAwB,eAA1C,MACA,IAAGA,MAAM,IAAI,GAAb,EAAiB;AAACA,sBAAM,GAAG,UAAT;AAAsB,eAAxC,MACA,IAAGA,MAAM,IAAI,GAAb,EAAiB;AAACA,sBAAM,GAAG,UAAT;AAAsB,eAAxC,MACA,IAAGA,MAAM,IAAI,GAAb,EAAiB;AAACA,sBAAM,GAAG,yBAAT;AAAqC,eAAvD,MACA,IAAGA,MAAM,IAAI,GAAb,EAAiB;AAACA,sBAAM,GAAG,iBAAT;AAA6B,eAA/C,MACA,IAAGA,MAAM,IAAI,GAAb,EAAiB;AAACA,sBAAM,GAAG,iBAAT;AAA6B,eAA/C,MACA,IAAGA,MAAM,IAAI,GAAb,EAAiB;AAACA,sBAAM,GAAG,kBAAT;AAA8B,eAAhD,MACA,IAAGA,MAAM,IAAI,GAAb,EAAiB;AAACA,sBAAM,GAAG,cAAT;AAA0B;;AAC/C,mBAAK82D,oBAAL,GAA4B,KAAKD,cAAL,CAAoBp9D,MAApB,CAA2B,UAAAC,GAAG,EAAE;AAC5D,uBAAOA,GAAG,CAACi7D,YAAJ,IAAoB30D,MAA3B;AACC,eAF2B,CAA5B;AAGD;;AACD,iBAAK82D,oBAAL,GAA4B,KAAKA,oBAAL,CAA0Br9D,MAA1B,CAAiC,UAAAC,GAAG,EAAE;AAChE,qBAAOA,GAAG,CAACM,YAAJ,CAAiBO,iBAAjB,GAAqCF,KAArC,CAA2CL,YAAY,CAACO,iBAAb,EAA3C,CAAP;AACD,aAF2B,CAA5B;;AAGA,gBAAGu6D,oBAAoB,IAAE,EAAtB,IAA4BA,oBAAoB,IAAE,IAArD,EAA0D;AAC1D,mBAAKgC,oBAAL,GAA4B,KAAKA,oBAAL,CAA0Br9D,MAA1B,CAAiC,UAAAC,GAAG,EAAE;AAChE,uBAAOA,GAAG,CAACo7D,oBAAJ,CAAyBv6D,iBAAzB,GAA6CF,KAA7C,CAAmD,QAAI,CAACo9D,0BAAL,CAAgC/8D,UAAhC,CAA2CC,SAA3C,CAAqDJ,iBAArD,EAAnD,CAAP;AACD,eAF2B,CAA5B;AAGD;;AACC,gBAAGE,WAAW,IAAE,EAAb,IAAmBA,WAAW,IAAE,IAAnC,EAAwC;AACxC,mBAAKq8D,oBAAL,GAA4B,KAAKA,oBAAL,CAA0Br9D,MAA1B,CAAiC,UAAAC,GAAG,EAAE;AAChE,uBAAOA,GAAG,CAACe,WAAJ,CAAgBF,iBAAhB,GAAoCF,KAApC,CAA0C,QAAI,CAACm9D,uBAAL,CAA6B98D,UAA7B,CAAwCC,SAAxC,CAAkDJ,iBAAlD,EAA1C,CAAP,CADgE,CAGlE;AACC,eAJ2B,CAA5B;AAKD;;AACC,gBAAG28C,MAAM,IAAE,IAAR,IAAgBA,MAAM,IAAG,EAA5B,EAAgC;AAChC,mBAAK4f,oBAAL,GAA4B,KAAKA,oBAAL,CAA0Br9D,MAA1B,CAAiC,UAAAC,GAAG,EAAE;AAChE,uBAAOA,GAAG,CAACg+D,UAAJ,CAAen9D,iBAAf,GAAmCF,KAAnC,CAAyC68C,MAAM,CAAC38C,iBAAP,EAAzC,CAAP;AACD,eAF2B,CAA5B;AAGA,mBAAKu8D,oBAAL;AACD;;AACD,iBAAKhmD,gBAAL,GAAsB,KAAtB;AACD,WA5DqE,CA8DtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;;AACC,S,CACA;;;;uCACgB1U,M,EAAO66C,W,EAAaC,M,EAAQl9C,Y,EAAcgG,M,EAAQm3D,U,EAAU;AACzE,eAAKxkD,gBAAL,GAAsBvW,MAAM,CAAC1uB,MAAP,CAAcsE,KAApC;AACA,eAAKslB,YAAL,GAAoB,CAApB;AACA,eAAKA,YAAL,GAAoB8E,MAAM,CAAC1uB,MAAP,CAAcsE,KAAlC;AACA,eAAKulB,iBAAL,GAAyB,CAAzB;AACA,eAAKF,WAAL,GAAkB,CAAlB;AACA,eAAKF,MAAL,GAAc;AACZC,wBAAY,EAAE,KAAKE,YADP;AAEZD,uBAAW,EAAE;AAFD,WAAd;AAKG,eAAK2Z,UAAL,GAAkB,EAAlB;AACA,eAAKA,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,eAAKN,kBAAL,CAAwB4C,oBAAxB,GAA+C,KAA/C;AAEA,cAAG6jD,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAIv9D,SAApC,IAAiDu9D,UAAU,IAAI,EAAlE,EACCA,UAAU,GAAG,EAAb,CADD,KAEM,IAAIA,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAE,EAAtC,EAA0C;AAC7CA,sBAAU,GAAG,KAAKxmD,sBAAL,CAA4BrnB,MAA5B,CAAmC6tE,UAAU,CAACz8D,UAAX,CAAsBle,IAAzD,CAAb;AACD;AACD,cAAGy6D,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAIr9C,SAAtC,IAAmDq9C,WAAW,IAAI,EAArE,EACAA,WAAW,GAAG,EAAd,CADA,KAEK,IAAIA,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAE,EAAxC,EAA4C;AAC/CA,uBAAW,GAAG,KAAKtmC,sBAAL,CAA4BrnB,MAA5B,CAAmC2tD,WAAW,CAACv8C,UAAZ,CAAuBle,IAA1D,CAAd;AACD;AAEL,eAAK06E,iBAAL,CAAuBjgB,WAAvB,EAAoCC,MAApC,EAA4Cl9C,YAA5C,EAA0DgG,MAA1D,EAAkEm3D,UAAlE,EAA6E,KAAKlmD,SAAlF,EAA4F,GAA5F;AACD;;;+BAKM;AAAE,eAAK9a,SAAL,GAAiB,IAAjB;AACP,6CAAC,CAAC5U,QAAD,CAAD,CAAY6U,KAAZ,CAAkB,YAAY;AAC5B,+CAAC,CAAC,cAAD,CAAD,CAAkBxQ,EAAlB,CAAqB,CAArB,EAAwByQ,KAAxB;AACD,WAFD;AAEK;;;+BACA;AAAE,eAAKF,SAAL,GAAiB,KAAjB;AAAyB;;;kCAE3B;AACL,eAAKG,OAAL,GAAe,IAAf;AACD;;;kCACM;AACL,eAAKA,OAAL,GAAe,KAAf;AACD;;;uCAEW;AACV,eAAKC,YAAL,GAAoB,IAApB;AACD;;;uCACW;AACV,eAAKA,YAAL,GAAoB,KAApB;AACD;;;wCAEY;AACX,eAAKiF,qBAAL,GAA2B,KAA3B;AACA,eAAKC,QAAL,GAAgB,KAAhB;AACA,eAAKk8D,YAAL,GAAkB,KAAlB;AACD;;;wCACY;AACX,eAAKn8D,qBAAL,GAA2B,IAA3B;AACD;;;2CACe;AAAA;;AACd,eAAKm7D,mBAAL,CAAyBngF,OAAzB,CAAiC,UAAAC,OAAO,EAAI;AAC5C,gBAAGA,OAAO,CAAC6gF,cAAR,IAA0B,IAA7B,EAAkC;AAChC,sBAAI,CAACZ,uBAAL,CAA6BkB,cAA7B,CAA4CnhF,OAAO,CAAC0jC,EAAR,CAAWtf,QAAX,EAA5C,EAAkExnB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAlE,EAAuGT,SAAvG,CAAiH,UAAA0oB,GAAG,EAAE;AACpH,wBAAI,CAACs7D,iBAAL,CAAuB,EAAvB,EAA0B,EAA1B,EAA6B,EAA7B,EAAgC,EAAhC,EAAmC,EAAnC,EAAsC,QAAI,CAACjmD,SAA3C,EAAqD,GAArD;;AACA,wBAAI,CAACpV,UAAL,GAAgB,0CAAhB,CAFoH,CAGnH;;AACF,wBAAI,CAACC,OAAL;;AACC,wBAAI,CAAClF,KAAL;;AACA,wBAAI,CAACmF,aAAL;;AACA,wBAAI,CAAC87D,YAAL,GAAoB,KAApB;AACD,eARD,EAQE,UAAC7gE,GAAD,EAAO;AACP,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eAVD;AAWD;AACA,WAdD;AAeD;;;0CACc;AACb,eAAKyU,QAAL,GAAgB,IAAhB;AACA,eAAKk8D,YAAL,GAAkB,IAAlB;AACA,eAAK37D,aAAL;AACD,S,CACH;;;;2CACkB;AAAA;;AAEZ,eAAK06D,uBAAL,CAA6BkB,cAA7B,CAA4C,KAAKrmD,QAAL,CAAc1W,QAAd,EAA5C,EAAqExnB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAArE,EAA0GT,SAA1G,CAAoH,UAAA0oB,GAAG,EAAE;AACvH,oBAAI,CAAC86D,uBAAL,CAA6B15D,QAA7B,CAAsCw2D,aAAtC,GAAoD,EAApD,EACA,QAAI,CAACkD,uBAAL,CAA6B15D,QAA7B,CAAsCk6C,MAAtC,GAA6C,EAD7C,EAEA,QAAI,CAACwf,uBAAL,CAA6B15D,QAA7B,CAAsChD,YAAtC,GAAmD,EAFnD,EAGA,QAAI,CAAC08D,uBAAL,CAA6B15D,QAA7B,CAAsCgD,MAAtC,GAA6C,EAH7C,EAIA,QAAI,CAAC02D,uBAAL,CAA6B15D,QAA7B,CAAsCvC,WAAtC,GAAkD,EAJlD,EAKA,QAAI,CAAC4Y,aAAL,CAAmB,QAAI,CAACqjD,uBAAL,CAA6B15D,QAA7B,CAAsCw2D,aAAzD,EACA,QAAI,CAACkD,uBAAL,CAA6B15D,QAA7B,CAAsCk6C,MADtC,EAEA,QAAI,CAACwf,uBAAL,CAA6B15D,QAA7B,CAAsChD,YAFtC,EAGA,QAAI,CAAC08D,uBAAL,CAA6B15D,QAA7B,CAAsCgD,MAHtC,EAIA,QAAI,CAAC02D,uBAAL,CAA6B15D,QAA7B,CAAsCvC,WAJtC,CALA,CADuH,CAWvH;;AACF,oBAAI,CAACoB,UAAL,GAAgBD,GAAhB;AACA,gBAAG,QAAI,CAACC,UAAL,IAAmB,4BAAtB,EACE,QAAI,CAACC,OAAL,GADF,KAGE,QAAI,CAACg8D,YAAL;;AACF,oBAAI,CAAC/9D,IAAL;;AACA,oBAAI,CAACnD,KAAL;AACD,WAnBC,EAmBA,UAACI,GAAD,EAAO;AACP,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WArBC;AAsBH,S,CACH;;;;iDAC2B+wE,M,EAAyB;AAChD,eAAKxmD,QAAL,GAAgBwmD,MAAM,CAAC59C,EAAvB;AACA,eAAKxjB,IAAL;AACH,S,CACD;;;;gCACK;AACHwE,gBAAM,CAACC,MAAP,CAAc;AACZC,eAAG,EAAE,CADO;AAEZC,gBAAI,EAAE,CAFM;AAGZC,oBAAQ,EAAC;AAHG,WAAd;AAKD,S,CACD;;;;2CACmBc,K,EAAMC,G,EAAG;AAC1B,cAAG,KAAKC,iBAAL,KAA2BF,KAA9B,EAAqC;AACnC,iBAAKxG,cAAL,GAAsB,CAAC,KAAKA,cAA5B;AAEAohE,8BAAkB,CAAC36D,GAAD,EAAK,KAAKzG,cAAV,CAAlB;AACD,WAJD,MAKK;AACH,iBAAK0G,iBAAL,GAAyBF,KAAzB;AACA,iBAAKxG,cAAL,GAAsB,IAAtB;AAEAohE,8BAAkB,CAAC36D,GAAD,EAAK,KAAKzG,cAAV,CAAlB;AACD;;AAED,cAAG,KAAKA,cAAR,EAAwB;AACtB,iBAAK+gE,2BAAL,GAAmC,KAAKA,2BAAL,CAAiCp6D,IAAjC,CAAsC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACjF,kBAAGL,KAAK,IAAE,aAAV,EAAwB;AACvB;AACC;AACF;AACC;AACA,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAP;AACC;;AACD,kBAAGmT,KAAK,IAAE,sBAAV,EAAiC;AAChC,oBAAII,CAAC,CAAC,eAAD,CAAD,CAAmBvT,WAAnB,KAAmCwT,CAAC,CAAC,eAAD,CAAD,CAAmBxT,WAAnB,EAAvC,EACG,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAAC,eAAD,CAAD,CAAmBvT,WAAnB,KAAmCwT,CAAC,CAAC,eAAD,CAAD,CAAmBxT,WAAnB,EAAvC,EACE,OAAO,CAAP;AACH;;AACF,kBAAGmT,KAAK,KAAK,YAAb,EAA0B;AACxB,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAC,CAAR;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAP;AACD,eAtBgF,CAuBjF;AACA;AACA;AACA;AACA;AACA;AACA;;AACD,aA9BkC,CAAnC;AA+BD,WAhCD,MAiCM;AACJ,iBAAKu6D,2BAAL,GAAmC,KAAKA,2BAAL,CAAiCp6D,IAAjC,CAAsC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACjF,kBAAGL,KAAK,IAAE,aAAV,EAAwB;AACtB;AACC;AACF;AACC;AACA,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAP;AACC;;AACH,kBAAGmT,KAAK,IAAE,sBAAV,EAAiC;AAC/B,oBAAII,CAAC,CAAC,eAAD,CAAD,CAAmBvT,WAAnB,KAAmCwT,CAAC,CAAC,eAAD,CAAD,CAAmBxT,WAAnB,EAAvC,EACG,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAAC,eAAD,CAAD,CAAmBvT,WAAnB,KAAmCwT,CAAC,CAAC,eAAD,CAAD,CAAmBxT,WAAnB,EAAvC,EACE,OAAO,CAAP;AACH;;AACF,kBAAGmT,KAAK,KAAK,YAAb,EAA0B;AACxB,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAoBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA9B,EACA,OAAO,CAAP;AACA,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACA,OAAO,CAAC,CAAR;AACD,eALD,MAMK;AACN,oBAAII,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACG,OAAO,CAAP;AACD,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACF;;AACD,qBAAO,CAAP;AACD,aA9BkC,CAAnC;AA+BD;AAEF,S,CAED;;;;8CAEsB;AACpB,eAAKyT,WAAL,GAAiB,IAAjB;AACA,eAAKlB,QAAL,GAAgB,IAAhB;AACA,eAAKo8D,YAAL,IAAqB,KAAKA,YAA1B;;AAEA,cAAI,KAAKjB,2BAAL,CAAiC/lF,MAAjC,GAA0C,CAA9C,EAAiD;AAC/C,iBAAK,IAAIioB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK89D,2BAAL,CAAiC/lF,MAArD,EAA6DioB,CAAC,EAA9D,EAAkE;AAChE,mBAAK89D,2BAAL,CAAiC99D,CAAjC,EAAoCw+D,cAApC,GAAqD,KAAKO,YAA1D;AACD;AACF,WAJD,MAMA;AACE,iBAAK,IAAI/+D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKe,mBAAzB,EAA8Cf,CAAC,EAA/C,EAAmD;AACjD,mBAAK69D,mBAAL,CAAyB79D,CAAzB,EAA4Bw+D,cAA5B,GAA6C,KAAKO,YAAlD;AACD;AACF;;AAED,eAAKh7D,kBAAL;AACD;;;kCAESsd,E,EAAGnhB,M,EAAM;AACjB,eAAK2D,WAAL,GAAiB,KAAjB;AACA,eAAK26D,cAAL,IAAuBt+D,MAAvB;;AACA,eAAK,IAAIF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKe,mBAAzB,EAA8Cf,CAAC,EAA/C,EAAmD;AAC/C,iBAAK69D,mBAAL,CAAyB79D,CAAzB,EAA4Bw+D,cAA5B,IAA8C,KAAKA,cAAnD;AACL;;AACC,eAAKz6D,kBAAL;AACD;;;6CAGiB;AAChB,eAAK/G,WAAL,GAAmB,EAAnB;;AACA,eAAK,IAAIgD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKe,mBAAzB,EAA8Cf,CAAC,EAA/C,EAAmD;AACjD,gBAAG,KAAK69D,mBAAL,CAAyB79D,CAAzB,EAA4Bw+D,cAA5B,IAA8C,IAAjD,EACC,KAAKxhE,WAAL,CAAiBpf,IAAjB,CAAsB,KAAKigF,mBAAL,CAAyB79D,CAAzB,CAAtB;AACF;;AACD,eAAKhD,WAAL,GAAmBviB,IAAI,CAACC,SAAL,CAAe,KAAKsiB,WAApB,CAAnB;;AAEA,cAAG,KAAKA,WAAL,CAAiBjlB,MAAjB,GAA0B,CAA7B,EAA+B;AAC9B,iBAAKklB,UAAL,GAAkB,KAAlB;AACA,WAFD,MAGI;AACF,iBAAKA,UAAL,GAAkB,IAAlB;AACD;AACF;;;gDAEoB;AACnB,cAAG,KAAK4G,WAAL,IAAkB,IAArB,EAA0B;AACxB,iBAAKG,eAAL,GAAqB,8CAArB;AACD;;AACD,cAAG,KAAKH,WAAL,IAAkB,KAArB,EAA2B;AACzB,iBAAKG,eAAL,GAAqB,mDAArB;AACD;;AACD,eAAKd,aAAL;AACD,S,CACD;;;;kCACUhc,K,EAAsB;AAC9B,cAAIyc,CAAC,GAAGzc,KAAK,CAAC+c,QAAN,IAAkB,CAAlB,IAAuB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAzC,IAA+C/c,KAAK,CAAC+c,QAAN,IAAkB,CAAlE,GAA0E,IAA1E,GAAiF/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlB,IAAwB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlI;AACF,iBAAON,CAAP;AACC,S,CAID;;;;yCACiB+W,Q,EAAQ;AAAA;;AACvB,eAAKre,QAAL,CAAcwB,IAAd;;AACC,eAAK+/D,uBAAL,CAA6BsB,+BAA7B,CAA6D3kF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA7D,EAAkGT,SAAlG,CAA4G,UAAA+kF,IAAI,EAAE;AACjH,oBAAI,CAACpB,cAAL,GAAsBoB,IAAtB,CADiH,CAEjH;AACA;AACA;AACA;AACA;AACA;;AACA,oBAAI,CAACnnD,gBAAL,GAAsB,IAAtB;AACA,oBAAI,CAACgmD,oBAAL,GAA4B,QAAI,CAACD,cAAjC;;AACA,oBAAI,CAAC/8D,QAAL,CAAc,QAAI,CAAC48D,uBAAL,CAA6B15D,QAA7B,CAAsChD,YAApD,EAAiE,QAAI,CAAC08D,uBAAL,CAA6B15D,QAA7B,CAAsCgD,MAAvG,EACE,QAAI,CAAC02D,uBAAL,CAA6B15D,QAA7B,CAAsCw2D,aADxC,EACsD,QAAI,CAACkD,uBAAL,CAA6B15D,QAA7B,CAAsCk6C,MAD5F,EAEE,QAAI,CAACwf,uBAAL,CAA6B15D,QAA7B,CAAsCvC,WAFxC;;AAGAniB,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAAC4/E,aAAL,CAAmB1kD,QAAnB;;AACA,sBAAI,CAACre,QAAL,CAAc4E,IAAd;AACA,aAHS,EAGP,GAHO,CAAV;AAID,WAjBA;AAkBF;;;sCACayZ,Q,EAAQ;AACpB,cAAGA,QAAQ,KAAK,OAAhB,EAAwB;AACtB,iBAAKC,QAAL,GAAe,yBAAf,CADsB,CAGnB;;AACH,gBAAMC,EAAE,GAAmB,2CAAWC,cAAX,CAA0B,KAAKwkD,mBAAL,CAAyBtkD,aAAnD,CAA3B;AACA;;AACA,gBAAMC,EAAE,GAAkB,2CAAWC,QAAX,EAA1B;AACA,uDAAWC,iBAAX,CAA6BF,EAA7B,EAAiCJ,EAAjC,EAAqC,QAArC;AAEA;;AACA,2DAAeI,EAAf,EAAmB,KAAKL,QAAxB;AACD;;AAED,cAAGD,QAAQ,KAAK,KAAhB,EAAsB;AACpB,iBAAKC,QAAL,GAAgB,wBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,wBAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,wHAAsHrb,GAAG,CAACsb,SAA1H,GAAoI,UAArI,CAAT,EAA2J;AACpKrgC,kBAAI,EAAE;AAD8J,aAA3J,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;;AAED,cAAGD,QAAQ,KAAK,MAAhB,EAAuB;AACrB,iBAAKC,QAAL,GAAgB,yBAAhB;AACA,gBAAI5a,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,qBAAxB,CAAV;AACA,gBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,wHAAsHrb,GAAG,CAACsb,SAA1H,GAAoI,UAArI,CAAT,EAA2J;AACpKrgC,kBAAI,EAAE;AAD8J,aAA3J,CAAX;AAGA,sEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;AACF;;;4CAGmBD,Q,EAAQ;AAAA;;AAC1B,eAAKre,QAAL,CAAcwB,IAAd;;AACC,eAAK+/D,uBAAL,CAA6BsB,+BAA7B,CAA6D3kF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA7D,EAAkGT,SAAlG,CAA4G,UAAA+kF,IAAI,EAAE;AACjH,oBAAI,CAACpB,cAAL,GAAsBoB,IAAtB,CADiH,CAEjH;AACA;AACA;AACA;AACA;AACA;;AACA,oBAAI,CAACnnD,gBAAL,GAAsB,IAAtB;AACA,oBAAI,CAACgmD,oBAAL,GAA4B,QAAI,CAACD,cAAjC;;AACA,oBAAI,CAAC/8D,QAAL,CAAc,QAAI,CAAC48D,uBAAL,CAA6B15D,QAA7B,CAAsChD,YAApD,EAAiE,QAAI,CAAC08D,uBAAL,CAA6B15D,QAA7B,CAAsCgD,MAAvG,EACE,QAAI,CAAC02D,uBAAL,CAA6B15D,QAA7B,CAAsCw2D,aADxC,EACsD,QAAI,CAACkD,uBAAL,CAA6B15D,QAA7B,CAAsCk6C,MAD5F,EAEE,QAAI,CAACwf,uBAAL,CAA6B15D,QAA7B,CAAsCvC,WAFxC;;AAGAniB,sBAAU,CAAC,YAAM;AAChB,sBAAI,CAAC8/E,gBAAL,CAAsB5kD,QAAtB;;AACA,sBAAI,CAACre,QAAL,CAAc4E,IAAd;AACA,aAHS,EAGP,GAHO,CAAV;AAID,WAjBA;AAkBF;;;yCACgByZ,Q,EAAQ;AACvB,cAAGA,QAAQ,KAAK,KAAhB,EAAsB;AACpB,gBAAIY,IAAI,GAAG,KAAKikD,sBAAL,CAA4BxkD,aAAvC;AACD,gBAAIhb,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,wBAAxB,CAAV;AACA,gBAAI+N,GAAG,GAAG,IAAI,kCAAJ,CAAU,GAAV,EAAc,IAAd,EAAmB,CAAC,IAAD,EAAM,IAAN,CAAnB,CAAV;AACA,gBAAIL,IAAI,GAAG,IAAIC,IAAJ,CAAS,EAAT,EAAa,EAAb,CAAX;AAEA,gBAAIK,aAAa,GAAG;AAClB,yBAAU,gBAAS99B,OAAT,EAAiB+9B,QAAjB,EAAyB;AACjC,uBAAO,IAAP;AACD;AAHiB,aAApB;AAKAF,eAAG,CAACG,QAAJ,CAAa,sHAAoHL,IAAI,CAACD,SAAzH,GAAmI,UAAhJ,EAA2J,EAA3J,EAA8J,EAA9J,EAAiK;AAC/J,uBAAQ,IADuJ;AAE/J,iCAAmBI;AAF4I,aAAjK;AAIAD,eAAG,CAACI,IAAJ,CAAS,wBAAT;AAED;AACD,S,CACD;;;;4CACiB;AAAA;;AAChB,iBAAO,KAAK1f,gBAAL,CAAsBwV,4BAAtB,CAAmD,GAAnD,EAAuDn3B,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAvD,EAA4FT,SAA5F,CAAsG,UAAAO,IAAI,EAAG;AAClHA,gBAAI,CAAC+C,OAAL,CAAa,UAAAC,OAAO,EAAI;AACtB,sBAAI,CAACmf,WAAL,CAAiBlf,IAAjB,CAAsBD,OAAtB;;AACA,kBAAGA,OAAO,CAAC,QAAD,CAAP,IAAmB,GAAtB,EAA0B;AACxB,wBAAI,CAACoyB,kBAAL,GAAwB,IAAxB;AACD;AACF,aALD,EAKE,UAAC7R,GAAD,EAAO;AACP,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aAPD;AAQD,WATM,CAAP;AAUA,S,CACD;;;;yCACc;AACZ,6CAAC,CAAC,WAAD,CAAD,CAAe2uB,OAAf,CAAuB,OAAvB;AACD;;;4CACgB;AACf,6CAAC,CAAC,yBAAD,CAAD,CAA6BA,OAA7B,CAAqC,OAArC,EAA8ChwB,GAA9C,CAAkD,SAAlD,EAA4D,OAA5D;AACD;;;yCAyBgB;AACjB,cAAG,KAAK0rB,cAAL,IAAuB,IAA1B,EAA+B;AAC7B,iBAAKL,UAAL,GAAkB,EAAlB;AACA,iBAAKA,UAAL,CAAgB,KAAKN,kBAAL,CAAwBkF,cAAxB,GAAyC,CAAzD,IAA8D,IAA9D;AACA,iBAAKvE,cAAL,GAAsB,KAAtB;AACD;;AACD,cAAG,KAAKC,eAAL,IAAwB,IAA3B,EAAgC;AAC9B,iBAAKN,UAAL,GAAkB,EAAlB;AACA,iBAAKA,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,iBAAKM,eAAL,GAAuB,KAAvB;AACD;;AACD,eAAKxW,WAAL,GAAmB,KAAK2X,UAAxB;AACA,eAAKoD,cAAL,GAAsBhiC,MAAM,CAAC,KAAK4+B,UAAL,GAAgB,KAAKtb,MAAL,CAAYC,YAA7B,CAA5B;AACA,cAAI0e,YAAY,GAAG,KAAKD,cAAL,CAAoBE,OAApB,EAAnB;;AACA,cAAIliC,MAAM,CAACiiC,YAAD,CAAN,GAAuB,KAAKD,cAAhC,EAAgD;AAC9C,iBAAKG,aAAL,GAAqBniC,MAAM,CAACiiC,YAAD,CAAN,GAAuB,CAA5C;AACA,iBAAKpF,kBAAL,CAAwBsF,aAAxB,GAAwC,KAAKA,aAA7C;AACD,WAHD,MAGO;AACL,iBAAKA,aAAL,GAAqBniC,MAAM,CAACiiC,YAAD,CAA3B;AACA,iBAAKpF,kBAAL,CAAwBsF,aAAxB,GAAwC,KAAKA,aAA7C;AACD;;AACD,cAAG,KAAKtF,kBAAL,CAAwBsF,aAAxB,GAAwC,EAA3C,EAA8C;AAC5C,iBAAKtF,kBAAL,CAAwBkF,cAAxB,GAA0C,KAAKlF,kBAAL,CAAwBsF,aAAlE;AACA,iBAAKtF,kBAAL,CAAwBuF,eAAxB,GAA0C,IAA1C;AACA,iBAAKvF,kBAAL,CAAwBwF,eAAxB,GAA0C,IAA1C;AACD,WAJD,MAKI;AACF,iBAAKxF,kBAAL,CAAwBkF,cAAxB,GAA0C,EAA1C;AACD;;AACD,eAAKlF,kBAAL,CAAwByF,UAAxB;;AACA,eAAKhF,SAAL,GAAiB,KAAKT,kBAAL,CAAwBS,SAAzC;;AAEA,cAAG,KAAKA,SAAL,CAAetgC,MAAf,GAAwB,EAA3B,EAA8B;AAC5B,iBAAK6/B,kBAAL,CAAwBwF,eAAxB,GAA0C,IAA1C;AACA,iBAAKxF,kBAAL,CAAwBuF,eAAxB,GAA0C,IAA1C;AACD;AACA;;;8CAEqB91B,I,EAAM2Y,C,EAAEm+C,W,EAAaC,M,EAAQl9C,Y,EAAcgG,M,EAAQm3D,U,EAAY;AACrF,eAAKnmD,UAAL,GAAkB,EAAlB;AACA,eAAKA,UAAL,CAAgBlY,CAAhB,IAAqB,IAArB;AACA,eAAKiY,MAAL,GAAc5wB,IAAd;AACA,eAAKkX,WAAL,GAAkBlX,IAAlB;AAEI,cAAGg3E,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAIv9D,SAApC,IAAiDu9D,UAAU,IAAI,EAAlE,EACAA,UAAU,GAAG,EAAb,CADA,KAEK,IAAIA,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAE,EAAtC,EAA0C;AAC7CA,sBAAU,GAAG,KAAKxmD,sBAAL,CAA4BrnB,MAA5B,CAAmC6tE,UAAU,CAACz8D,UAAX,CAAsBle,IAAzD,CAAb;AACD;AACD,cAAGy6D,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAIr9C,SAAtC,IAAmDq9C,WAAW,IAAI,EAArE,EACAA,WAAW,GAAG,EAAd,CADA,KAEK,IAAIA,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAE,EAAxC,EAA4C;AAC/CA,uBAAW,GAAG,KAAKtmC,sBAAL,CAA4BrnB,MAA5B,CAAmC2tD,WAAW,CAACv8C,UAAZ,CAAuBle,IAA1D,CAAd;AACD;AAEL,eAAK06E,iBAAL,CAAuBjgB,WAAvB,EAAoCC,MAApC,EAA4Cl9C,YAA5C,EAA0DgG,MAA1D,EAAkEm3D,UAAlE,EAA6E,KAAKlmD,SAAlF;AACA,eAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACC;;;iCAEQkmC,W,EAAaC,M,EAAQl9C,Y,EAAcgG,M,EAAQm3D,U,EAAY;AAChE,cAAI,KAAKzmD,kBAAL,CAAwB0F,mBAAxB,IAA+C,CAAnD,EAAsD;AACpD,iBAAK1F,kBAAL,CAAwBkF,cAAxB,GAAyC,EAAzC;;AACA,iBAAKlF,kBAAL,CAAwBr0B,SAAxB;;AACA,iBAAK20B,UAAL,GAAkB,EAAlB;AACA,iBAAKA,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,iBAAK3Z,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAnB;AACA,iBAAKJ,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAd;AAEA,gBAAGgmD,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAIv9D,SAApC,IAAiDu9D,UAAU,IAAI,EAAlE,EACEA,UAAU,GAAG,EAAb,CADF,KAEO,IAAIA,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAE,EAAtC,EAA0C;AAC7CA,wBAAU,GAAG,KAAKxmD,sBAAL,CAA4BrnB,MAA5B,CAAmC6tE,UAAU,CAACz8D,UAAX,CAAsBle,IAAzD,CAAb;AACD;AACD,gBAAGy6D,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAIr9C,SAAtC,IAAmDq9C,WAAW,IAAI,EAArE,EACAA,WAAW,GAAG,EAAd,CADA,KAEK,IAAIA,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAE,EAAxC,EAA4C;AAC/CA,yBAAW,GAAG,KAAKtmC,sBAAL,CAA4BrnB,MAA5B,CAAmC2tD,WAAW,CAACv8C,UAAZ,CAAuBle,IAA1D,CAAd;AACD;AAEH,iBAAK06E,iBAAL,CAAuBjgB,WAAvB,EAAoCC,MAApC,EAA4Cl9C,YAA5C,EAA0DgG,MAA1D,EAAkEm3D,UAAlE,EAA6E,KAAKlmD,SAAlF;AACA,iBAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACD;AAEA;;;sCAEakmC,W,EAAaC,M,EAAQl9C,Y,EAAcgG,M,EAAQm3D,U,EAAU;AAEjE,eAAKzmD,kBAAL,CAAwBgB,QAAxB,GAAmC,EAAnC;AACA,eAAKhB,kBAAL,CAAwBkF,cAAxB,GAAyC,EAAzC;AACA,eAAKlF,kBAAL,CAAwB0F,mBAAxB,GAA8C,CAA9C;;AACA,eAAK1F,kBAAL,CAAwB2F,UAAxB;;AACA,eAAKhf,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAnB;AACA,eAAKJ,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAd;AAEA,cAAGgmD,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAIv9D,SAApC,IAAiDu9D,UAAU,IAAI,EAAlE,EACEA,UAAU,GAAG,EAAb,CADF,KAEO,IAAIA,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAE,EAAtC,EAA0C;AAC7CA,sBAAU,GAAG,KAAKxmD,sBAAL,CAA4BrnB,MAA5B,CAAmC6tE,UAAU,CAACz8D,UAAX,CAAsBle,IAAzD,CAAb;AACD;AACD,cAAGy6D,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAIr9C,SAAtC,IAAmDq9C,WAAW,IAAI,EAArE,EACAA,WAAW,GAAG,EAAd,CADA,KAEK,IAAIA,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAE,EAAxC,EAA4C;AAC/CA,uBAAW,GAAG,KAAKtmC,sBAAL,CAA4BrnB,MAA5B,CAAmC2tD,WAAW,CAACv8C,UAAZ,CAAuBle,IAA1D,CAAd;AACD;AAEH,eAAK06E,iBAAL,CAAuBjgB,WAAvB,EAAoCC,MAApC,EAA4Cl9C,YAA5C,EAA0DgG,MAA1D,EAAkEm3D,UAAlE,EAA6E,KAAKlmD,SAAlF;AACA,eAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACA,eAAKO,eAAL,GAAuB,IAAvB;AACD;;;qCAEY2lC,W,EAAaC,M,EAAQl9C,Y,EAAcgG,M,EAAQm3D,U,EAAU;AAChE,eAAKzmD,kBAAL,CAAwBgB,QAAxB,GAAmC,KAAKhB,kBAAL,CAAwBsF,aAA3D;AACA,cAAG,KAAKtF,kBAAL,CAAwBsF,aAAxB,GAAsC,EAAtC,IAA4C,CAA/C,EACE,KAAKtF,kBAAL,CAAwBkF,cAAxB,GAAyC,EAAzC,CADF,KAGE,KAAKlF,kBAAL,CAAwBkF,cAAxB,GAAyC,KAAKlF,kBAAL,CAAwBsF,aAAxB,GAAsC,EAA/E;AAEF,eAAKtF,kBAAL,CAAwB0F,mBAAxB,GAA8CnlC,IAAI,CAACqlC,IAAL,CAAU,KAAK5F,kBAAL,CAAwBsF,aAAxB,GAAsC,EAAhD,CAA9C;AACA,eAAKtF,kBAAL,CAAwB4C,oBAAxB,GAA+C,IAA/C;;AACA,eAAK5C,kBAAL,CAAwB6F,SAAxB;;AAEA,eAAKlf,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,KAAKT,kBAAL,CAAwBkF,cAAxB,GAAyC,CAA3E,CAAnB;AACA,eAAK7E,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,KAAKT,kBAAL,CAAwBkF,cAAxB,GAAyC,CAA3E,CAAd;AAEA,cAAGuhD,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAIv9D,SAApC,IAAiDu9D,UAAU,IAAI,EAAlE,EACEA,UAAU,GAAG,EAAb,CADF,KAEO,IAAIA,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAE,EAAtC,EAA0C;AAC7CA,sBAAU,GAAG,KAAKxmD,sBAAL,CAA4BrnB,MAA5B,CAAmC6tE,UAAU,CAACz8D,UAAX,CAAsBle,IAAzD,CAAb;AACD;AACD,cAAGy6D,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAIr9C,SAAtC,IAAmDq9C,WAAW,IAAI,EAArE,EACAA,WAAW,GAAG,EAAd,CADA,KAEK,IAAIA,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAE,EAAxC,EAA4C;AAC/CA,uBAAW,GAAG,KAAKtmC,sBAAL,CAA4BrnB,MAA5B,CAAmC2tD,WAAW,CAACv8C,UAAZ,CAAuBle,IAA1D,CAAd;AACD;AAEH,eAAK06E,iBAAL,CAAuBjgB,WAAvB,EAAoCC,MAApC,EAA4Cl9C,YAA5C,EAA0DgG,MAA1D,EAAkEm3D,UAAlE,EAA6E,KAAKlmD,SAAlF;AACA,eAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACA,eAAKM,cAAL,GAAsB,IAAtB;AACD;;;sCAEar/B,K,EAAehF,E,EAAGiqE,W,EAAaC,M,EAAQl9C,Y,EAAcgG,M,EAAQm3D,U,EAAY;AACrF,eAAKlmD,SAAL,GAAiBj/B,KAAjB;AACA,eAAKk/B,KAAL,GAAYl/B,KAAZ;;AACF,cAAI,KAAKo/B,OAAL,IAAgB,MAApB,EAA4B;AAC1B,iBAAKA,OAAL,GAAe,KAAf;AACA,iBAAKH,SAAL,GAAiB,KAAKA,SAAL,GAAe,MAAhC;AACAgmD,8BAAkB,CAACjqF,EAAD,EAAI,IAAJ,CAAlB;AACD,WAJD,MAIO;AACL,iBAAKokC,OAAL,GAAe,MAAf;AACA,iBAAKH,SAAL,GAAiB,KAAKA,SAAL,GAAe,OAAhC;AACAgmD,8BAAkB,CAACjqF,EAAD,EAAI,KAAJ,CAAlB;AACD;;AAED,cAAGmqF,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAIv9D,SAApC,IAAiDu9D,UAAU,IAAI,EAAlE,EACIA,UAAU,GAAG,EAAb,CADJ,KAES,IAAIA,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAE,EAAtC,EAA0C;AAC7CA,sBAAU,GAAG,KAAKxmD,sBAAL,CAA4BrnB,MAA5B,CAAmC6tE,UAAU,CAACz8D,UAAX,CAAsBle,IAAzD,CAAb;AACD;AACD,cAAGy6D,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAIr9C,SAAtC,IAAmDq9C,WAAW,IAAI,EAArE,EACAA,WAAW,GAAG,EAAd,CADA,KAEK,IAAIA,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAE,EAAxC,EAA4C;AAC/CA,uBAAW,GAAG,KAAKtmC,sBAAL,CAA4BrnB,MAA5B,CAAmC2tD,WAAW,CAACv8C,UAAZ,CAAuBle,IAA1D,CAAd;AACD;AAEH,eAAK06E,iBAAL,CAAuBjgB,WAAvB,EAAoCC,MAApC,EAA4Cl9C,YAA5C,EAA0DgG,MAA1D,EAAkEm3D,UAAlE,EAA6E,KAAKlmD,SAAlF;AACA,eAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACD;;;iCAEQkmC,W,EAAaC,M,EAAQl9C,Y,EAAcgG,M,EAAQm3D,U,EAAY;AAC9D,cAAI,KAAKzmD,kBAAL,CAAwBwF,eAAxB,IAA2C,KAA/C,EAAsD;AACpD,iBAAKlF,UAAL,GAAkB,EAAlB;;AACA,iBAAKN,kBAAL,CAAwBp0B,SAAxB;;AACA,iBAAK00B,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,iBAAK3Z,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAnB;AACA,iBAAKJ,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAd;AAEA,gBAAGgmD,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAIv9D,SAApC,IAAiDu9D,UAAU,IAAI,EAAlE,EACAA,UAAU,GAAG,EAAb,CADA,KAEK,IAAIA,UAAU,IAAI,IAAd,IAAsBA,UAAU,IAAE,EAAtC,EAA0C;AAC7CA,wBAAU,GAAG,KAAKxmD,sBAAL,CAA4BrnB,MAA5B,CAAmC6tE,UAAU,CAACz8D,UAAX,CAAsBle,IAAzD,CAAb;AACD;AACD,gBAAGy6D,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAIr9C,SAAtC,IAAmDq9C,WAAW,IAAI,EAArE,EACAA,WAAW,GAAG,EAAd,CADA,KAEK,IAAIA,WAAW,IAAI,IAAf,IAAuBA,WAAW,IAAE,EAAxC,EAA4C;AAC/CA,yBAAW,GAAG,KAAKtmC,sBAAL,CAA4BrnB,MAA5B,CAAmC2tD,WAAW,CAACv8C,UAAZ,CAAuBle,IAA1D,CAAd;AACD;AAED,iBAAK06E,iBAAL,CAAuBjgB,WAAvB,EAAoCC,MAApC,EAA4Cl9C,YAA5C,EAA0DgG,MAA1D,EAAkEm3D,UAAlE,EAA6E,KAAKlmD,SAAlF;AACA,iBAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACD;AACA;;;;;;;uBApkCU0lD,wC,EAAwC,uH,EAAA,+J,EAAA,uJ,EAAA,qJ,EAAA,8H,EAAA,oK,EAAA,qJ,EAAA,mJ;AAAA,K;;;YAAxCA,wC;AAAwC,6D;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;AC1BrD;;AACE;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACF;;AAEA;;AACE;;AACE;;AAAiB;AAAA,mBAAS,IAAA53D,OAAA,EAAT;AAAkB,WAAlB;;AAAuC;;AAAO;;AAC/D;;AAAQ;;AAAQ;;AAAU;;AAC5B;;AAEA;;AACE;;AAAiB;AAAA,mBAAS,IAAAy5D,YAAA,EAAT;AAAuB,WAAvB;;AAA4C;;AAAO;;AACpE;;AACF;;AACF;;AAEA;;AACE;;AACE;;AAAyE;;AAAc;;AACvF;;AACE;;AACmD;AAAA,mBAAY,IAAAt5D,SAAA,QAAZ;AAA6B,WAA7B,EAA8B,eAA9B,EAA8B;AAAA;AAAA,WAA9B,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAEhE,IAAAlF,QAAA,uDAFgE;AAE6B,WAF3D;;AADnD;;AAKE;;AACE;;AAA8E;AAAA;;AAAA;;AAAA,mBAAS,oBAAT;AAA2B,WAA3B;;AAC5E;;AACF;;AACF;;AACN;;AACA;;AAYA;;AACA;;AACE;;AAAoE;;AAAM;;AAC1E;;AAEkC;AAAA;AAAA,aAAsD,eAAtD,EAAsD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAGrE,IAAAA,QAAA,uDAHqE;AAGwB,WAH9E;;AAFlC;;AAOF;;AACA;;AACE;;AAA0E;;AAAa;;AAEvF;;AACA;AAAA;AAAA,aAA4D,QAA5D,EAA4D;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC7B,IAAAA,QAAA,uDAD6B;AACgE,WAD5H;;AADA;;AAIA;;AACE;;AACF;;AAEF;;AAMA;;AACE;;AAAoE;;AAAM;;AAC1E;;AAEkC;AAAA;AAAA,aAAsD,QAAtD,EAAsD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC5E,IAAAA,QAAA,uDAD4E;AACiB,WADvE;;AAGhC;;AAA0B;;AAAG;;AAC7B;;AAAkB;;AAAqB;;AACvC;;AAAkB;;AAAU;;AAC5B;;AAAkB;;AAAQ;;AAC1B;;AAAkB;;AAAQ;;AAC1B;;AAAkB;;AAAuB;;AACzC;;AAAkB;;AAAe;;AACjC;;AAAkB;;AAAe;;AACjC;;AAAkB;;AAAgB;;AAClC;;AAAkB;;AAAY;;AAEhC;;AACF;;AACA;;AACE;;AAAyE;;AAAY;;AAErF;;AACE;;AACkD;AAAA,mBAAY,IAAAkF,SAAA,QAAZ;AAA6B,WAA7B,EAA8B,eAA9B,EAA8B;AAAA;AAAA,WAA9B,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAG/D,IAAAlF,QAAA,uDAH+D;AAG8B,WAH5D;;AADlD;;AAME;;AACE;;AAA8E;AAAA;;AAAA;;AAAA,mBAAS,oBAAT;AAA2B,WAA3B;;AAC5E;;AACF;;AACF;;AACN;;AACA;;AAGF;;AACA;;AACE;;AAEC;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,QAAA,uDAAT;AAAsG,WAAtG;;AAGA;;AAAwD;;AAC1D;;AACF;;AAIC;;AACA;;AACA;;AACE;;AACE;;AACE;;AAA6D;;AAAI;;AACnE;;AACF;;AACE;;AAA6B;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAU,IAAAmF,cAAA,+DAAV;AAAoH,WAApH;;AAE3B;;AAA4B;;AAAE;;AAC9B;;AAAmB;;AAAE;;AACrB;;AAAmB;;AAAE;;AACrB;;AAAoB;;AAAG;;AAC3B;;AACA;;AACA;;AACE;;AAAqE;;AAAO;;AAC9E;;AACA;;AACA;;AACA;;AACA;;AAuBI;;AAwBJ;;AACE;;AAEE;AAAA,mBAAS,IAAAs5D,aAAA,EAAT;AAAwB,WAAxB;;AAFF;;AAUF;;AACF;;AACA;;AACG;;AAOG;;AACE;;AACE;;AAAkB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAA9hD,aAAA,CAAc,cAAd,EAA6B,CAA7B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,CAAjB;AAAoI,WAApI,EAAsI,OAAtI,EAAsI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC/I,IAAAA,aAAA,CAAc,cAAd,EAA6B,CAA7B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,CAD+I;AAC5B,WAD1G;;AACkI;;AAAa;;AAGjK;;AAAkB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,YAAd,EAA2B,CAA3B,EAA4B,SAA5B,EAA4B,SAA5B,EAA4B,SAA5B,EAA4B,SAA5B,EAA4B,SAA5B,CAAjB;AAAkI,WAAlI,EAAoI,OAApI,EAAoI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC5I,IAAAA,aAAA,CAAc,YAAd,EAA2B,CAA3B,EAA4B,SAA5B,EAA4B,SAA5B,EAA4B,SAA5B,EAA4B,SAA5B,EAA4B,SAA5B,CAD4I;AAC3B,WADzG;;AACiI;;AAAM;;AAExJ;;AAAkB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,cAAd,EAA6B,CAA7B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,CAAjB;AAAoI,WAApI,EAAsI,OAAtI,EAAsI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC/I,IAAAA,aAAA,CAAc,cAAd,EAA6B,CAA7B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,CAD+I;AAC5B,WAD1G;;AACkI;;AAAM;;AAG3J;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,sBAAd,EAAqC,CAArC,EAAsC,SAAtC,EAAsC,SAAtC,EAAsC,SAAtC,EAAsC,SAAtC,EAAsC,SAAtC,CAAjB;AAA4I,WAA5I,EAA8I,OAA9I,EAA8I;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACrJ,IAAAA,aAAA,CAAc,sBAAd,EAAqC,CAArC,EAAsC,SAAtC,EAAsC,SAAtC,EAAsC,SAAtC,EAAsC,SAAtC,EAAsC,SAAtC,CADqJ;AAC1B,WADpH;;AAC2I;;AAAY;;AAEvK;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,YAAd,EAA2B,CAA3B,EAA4B,SAA5B,EAA4B,SAA5B,EAA4B,SAA5B,EAA4B,SAA5B,EAA4B,SAA5B,CAAjB;AAAkI,WAAlI,EAAoI,OAApI,EAAoI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC5I,IAAAA,aAAA,CAAc,YAAd,EAA2B,CAA3B,EAA4B,SAA5B,EAA4B,SAA5B,EAA4B,SAA5B,EAA4B,SAA5B,EAA4B,SAA5B,CAD4I;AAC3B,WADzG;;AACiI;;AAAM;;AAExJ;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,cAAd,EAA6B,CAA7B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,CAAjB;AAAoI,WAApI,EAAsI,OAAtI,EAAsI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC9I,IAAAA,aAAA,CAAc,cAAd,EAA6B,CAA7B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,EAA8B,SAA9B,CAD8I;AAC3B,WAD3G;;AACmI;;AAAa;;AAEjK;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,WAAd,EAA0B,CAA1B,EAA2B,SAA3B,EAA2B,SAA3B,EAA2B,SAA3B,EAA2B,SAA3B,EAA2B,SAA3B,CAAjB;AAAiI,WAAjI,EAAmI,OAAnI,EAAmI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC3I,IAAAA,aAAA,CAAc,WAAd,EAA0B,CAA1B,EAA2B,SAA3B,EAA2B,SAA3B,EAA2B,SAA3B,EAA2B,SAA3B,EAA2B,SAA3B,CAD2I;AAC3B,WADxG;;AACgI;;AAAU;;AAE3J;;AAAiB;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAiB,IAAAA,aAAA,CAAc,aAAd,EAA4B,CAA5B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,SAA7B,CAAjB;AAAmI,WAAnI,EAAqI,OAArI,EAAqI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC7I,IAAAA,aAAA,CAAc,aAAd,EAA4B,CAA5B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,SAA7B,EAA6B,SAA7B,CAD6I;AAC3B,WAD1G;;AACkI;;AAA6B;;AACjL;;AAEI;;AAMF;;AAOJ;;AACF;;AACA;;AACE;;AA2DA;;AASF;;AACF;;AAGA;;AACE;;AACE;;AAA0B;;AAAsF;;AAClH;;AACA;;AAGE;;AACE;;AACE;;AAkCF;;AACF;;AACF;;AACF;;AACH;;AACH;;AACF;;AAGA;;AACE;;AAEE;;AACI;;AACE;;AAAoD;;AAAa;;AACjE;;AAAoD;;AAAM;;AAC1D;;AAAoD;;AAAM;;AAC1D;;AAAoD;;AAAY;;AAChE;;AAAoD;;AAAM;;AAC1D;;AAAoD;;AAAa;;AACjE;;AAAoD;;AAAU;;AAC9D;;AAAoD;;AAA6B;;AAClF;;AACL;;AACA;;AACE;;AAWF;;AACF;;AAEF;;AAEA;;AACE;;AAEE;;AACE;;AACE;;AAAoD;;AAAa;;AACjE;;AAAoD;;AAAM;;AAC1D;;AAAoD;;AAAM;;AAC1D;;AAAoD;;AAAY;;AAChE;;AAAoD;;AAAM;;AAC1D;;AAAoD;;AAAa;;AACjE;;AAAoD;;AAAU;;AAC9D;;AAAoD;;AAA6B;;AACnF;;AACJ;;AACA;;AACE;;AAWF;;AACA;;AAEF;;AAEA;;AACE;;AAEE;;AACE;;AACE;;AAAoD;;AAAa;;AACjE;;AAAoD;;AAAM;;AAC1D;;AAAoD;;AAAM;;AAC1D;;AAAoD;;AAAY;;AAChE;;AAAoD;;AAAM;;AAC1D;;AAAoD;;AAAa;;AACjE;;AAAoD;;AAAU;;AAC9D;;AAAoD;;AAA6B;;AACnF;;AACJ;;AACA;;AACE;;AAWF;;AACA;;AAEF;;AAEA;;AASE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AAKE;AAAA,mBAAS,IAAA1c,IAAA,EAAT;AAAe,WAAf;;AAGA;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AAAoC;;AAAgC;;AACtE;;AACA;;AACE;;AAGE;AAAA,mBAAS,IAAAy+D,gBAAA,EAAT;AAA2B,WAA3B;;AAHF;;AAQA;;AACE;AAAA,mBAAS,IAAAz+D,IAAA,EAAT;AAAe,WAAf;;AAOA;;AACF;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AAA4E;AAAA,mBAAW,IAAAgC,aAAA,EAAX;AAA0B,WAA1B;;AAC1E;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACA;;AAAoC;;AAAmB;;AACvD;;AACA;;AACE;;AAA6C;AAAA,mBAAS,IAAAqD,gBAAA,EAAT;AAA2B,WAA3B;;AAA7C;;AACA;;AAAQ;AAAA,mBAAS,IAAArD,aAAA,EAAT;AAAwB,WAAxB;;AAEY;;AAAM;;AAC1B;;AACA;;AACJ;;AACJ;;AACA;;;;;;;;AAhiBsE;;AAAA;;AAEpC;;AAAA;;AAGmC;;AAAA;;AAE7D;;AAAA;;AAS4B;;AAAA,gGAAwB,SAAxB,EAAwB,kDAAxB,EAAwB,SAAxB,EAAwB,kGAAxB;;AAUA;;AAAA;;AAiBM;;AAAA;;AAUlC;;AAAA;;AAIU;;AAAA;;AAawB;;AAAA;;AAqBN;;AAAA,+FAAuB,SAAvB,EAAuB,gDAAvB,EAAuB,SAAvB,EAAuB,kGAAvB;;AAWA;;AAAA;;AAqCzB;;AAAA;;AACA;;AAAA;;AAuBI;;AAAA;;AAwBc;;AAAA;;AAkEb;;AAAA;;AA2DA;;AAAA;;AAesB;;AAAA;;AAOjB;;AAAA;;AA2DX;;AAAA;;AAgCF;;AAAA;;AAgCA;;AAAA;;AAiBN;;AAAA;;AAiDG;;AAAA;;AAUqC;;AAAA;;AAexC;;AAAA;;;;;;;;;sEDrhBW06D,wC,EAAwC;cALpD,uDAKoD;eAL1C;AACT9yE,kBAAQ,EAAE,wCADD;AAET4D,qBAAW,EAAE,qDAFJ;AAGT3D,mBAAS,EAAE,CAAC,oDAAD;AAHF,S;AAK0C,Q;;;;;;;;;;;;;;;;;;;;gBAwvBpD,uD;iBAAU,qB;;;gBAwDV,uD;iBAAU,wB,EAA0B;AAAC,sBAAQ;AAAT,W;;;;;;;;;;;;;;;;;;;;AE10BrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;;;AC2CU;;AAAkF;;AAAsB;;;;;;AAArD;;AAA+B;;AAAA;;;;;;AAGpF;;AACE;;AACD;;;;;;AA4CC;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AA2DA;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AADE;;AAAA;;;;;;AAwEN;;;;;;;;AAsCE;;AAAsB;AAAA;;AAAA;;AAAA;AAAA;;AAGpB;;AACmD;;AAAa;;AAClE;;;;;;AAFuB;;AAAA;;;;;;;;AAwFf;;AAGE;;AAAuB;AAAA;;AAAA;;AAAA;AAAA,WAA4C,QAA5C,EAA4C;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAA5C;;AAAvB;;AAKA;;AACF;;;;;;AAH6C;;AAAA;;AACzC;;AAJqB,gHAA4C,SAA5C,EAA4C,kCAA5C,EAA4C,UAA5C,EAA4C,+BAA5C;;AAKa;;AAAA;;;;;;AAlB1C;;AACE;;AAAI;;AAA6B;;AACjC;;AAAI;;AAAmE;;AACvE;;AAAI;;AAA+D;;AACnE;;AAAI;;AAA+B;;AACnC;;AAAI;;;;AAA2C;;AAC/C;;AAAI;;AAAuB;;AAC3B;;AAAI;;AAA4B;;AAChC;;AAAI;;AAA2B;;AAC/B;;AACE;;AAUF;;AACF;;;;;;AApBM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAEG;;AAAA;;;;;;AAYT;;AACE;;AAAgB;;AAAiB;;AACnC;;;;;;;;AA0BQ;;AACE;;AAAG;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,qGAAwF,CAAxF;AAAyF,SAAzF;;AAEmD;;AAAQ;;AAChE;;;;;;;;;AADE;;AAAA;;AAF+F;;AAEzC;;AAAA;;;;;;;;AAhB5D;;AACE;;AACE;;AAEE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,oFAAiF,CAAjF;AAAkF,SAAlF;;AACiG;;AAAM;;AAAQ;;AAAQ;;AAAK;;AAC/H;;AACA;;AAEE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wFAAqF,CAArF;AAAsF,SAAtF;;AAEiG;;AAAM;;AAAK;;AAAQ;;AAAI;;AAC7H;;AACF;;AAKA;;AAEE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,oFAAiF,CAAjF;AAAkF,SAAlF;;AAE+F;;AAAK;;AAAM;;AAAK;;AAAQ;;AAC5H;;AAEA;;AACE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,uFAAoF,CAApF;AAAqF,SAArF;;AAEoH;;AAAK;;AAAM;;AAAQ;;AAAQ;;AACtJ;;AACA;;AACA;;AACE;;AACF;;AAEF;;;;;;AA/B8F;;AAAA;;AAMtF;;AAAA;;AAGA;;AAAA;;AAQF;;AAAA;;AAMA;;AAAA;;AAKF;;AAAA;;;;;;;;AAQV;;AACE;;AAGA;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAoB,eAApB,EAAoB;AAAA;;AAAA;;AAAA;AAAA,SAApB;;AAAmF;;AACzE;;AAAO;;AAAI;;AACtC;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAmB,eAAnB,EAAmB;AAAA;;AAAA;;AAAA;AAAA,SAAnB;;AAAkF;;AACxE;;AAAM;;AAAI;;AACvC;;AACF;;;;AAJQ;;AAAA;;AAEA;;AAAA;;;;;;;;AAGR;;AACE;;AACmF;AAAA;;AAAA;;AAAA;AAAA,WAAoB,eAApB,EAAoB;AAAA;;AAAA;;AAAA;AAAA,SAApB;;AADnF;;AAGF;;;;;;;;AACA;;AACE;;AAGA;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAoB,eAApB,EAAoB;AAAA;;AAAA;;AAAA;AAAA,SAApB;;AAAqF;;AAC3E;;AAAO;;AAAI;;AACtC;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAmB,eAAnB,EAAmB;AAAA;;AAAA;;AAAA;AAAA,SAAnB;;AAAkF;;AACxE;;AAAM;;AAAI;;AACvC;;AACF;;;;AAJQ;;AAAA;;AAEA;;AAAA;;;;;;;;AAGR;;AACE;;AACmF;AAAA;;AAAA;;AAAA;AAAA,WAAoB,eAApB,EAAoB;AAAA;;AAAA;;AAAA;AAAA,SAApB;;AADnF;;AAGF;;;;;;;;AAEA;;AACE;;AAGA;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAA0B,eAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAA+F;;AACrF;;AAAO;;AAAI;;AACtC;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,eAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAA8F;;AACpF;;AAAM;;AAAI;;AACvC;;AACF;;;;AAJQ;;AAAA;;AAEA;;AAAA;;;;;;;;AAGR;;AACE;;AAEE;AAAA;;AAAA;;AAAA;AAAA,WAA0B,eAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAFF;;AAGF;;;;;;;;AACA;;AACE;;AAIA;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAA0B,eAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAAgG;;AACtF;;AAAO;;AAAI;;AACtC;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,eAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAA8F;;AACpF;;AAAM;;AAAI;;AACvC;;AACF;;;;AAJQ;;AAAA;;AAEA;;AAAA;;;;;;;;AAGR;;AACE;;AAEE;AAAA;;AAAA;;AAAA;AAAA,WAA0B,eAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAFF;;AAIF;;;;;;;;AAxKN;;AACI;;AAEE;;AACE;;AACE;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAA0B,eAA1B,EAA0C,CAA1C,EAA2C,SAA3C,EAA2C,UAA3C,EAA2C,SAA3C;AAA2C,SAA3C;;AAA8F;;AAAc;;AAChH;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAA0B,iBAA1B,EAA4C,CAA5C,EAA6C,SAA7C,EAA6C,UAA7C,EAA6C,SAA7C;AAA6C,SAA7C;;AAAgG;;AAAY;;AAChH;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAA0B,eAA1B,EAA0C,CAA1C,EAA2C,SAA3C,EAA2C,UAA3C,EAA2C,SAA3C;AAA2C,SAA3C;;AAA8F;;AAAU;;AAC5G;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAA0B,iBAA1B,EAA4C,CAA5C,EAA6C,SAA7C,EAA6C,UAA7C,EAA6C,SAA7C;AAA6C,SAA7C;;AAAoH;;AAAgB;;AACxI;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAA0B,aAA1B,EAAwC,CAAxC,EAAyC,SAAzC,EAAyC,UAAzC,EAAyC,SAAzC;AAAyC,SAAzC;;AAA4F;;AAAmB;;AACnH;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAA0B,SAA1B,EAAoC,CAApC,EAAqC,SAArC,EAAqC,UAArC,EAAqC,SAArC;AAAqC,SAArC;;AAA4G;;AAAO;;AACvH;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,2CAA0B,cAA1B,EAAyC,CAAzC,EAA0C,SAA1C,EAA0C,UAA1C,EAA0C,SAA1C;AAA0C,SAA1C;;AAAiH;;AAAa;;AAClI;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,2CAA0B,aAA1B,EAAwC,CAAxC,EAAyC,SAAzC,EAAyC,UAAzC,EAAyC,SAAzC;AAAyC,SAAzC;;AAAgH;;AAAgB;;AACpI;;AACE;;AACE;;AACA;AAAA;;AAAA;;AAAA;AAAA,WAA8B,QAA9B,EAA8B;AAAA;;AAAA;;AAAA;AAAA,SAA9B;;AADA;;AAIA;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AAsBA;;AAGF;;AACF;;AACA;;AACE;;AAEE;;AAA0B;;AACJ;;AACxB;;AACA;;AAEE;;AACE;;AACE;;AAoCF;;AACF;;AACF;;AAEA;;AAWA;;AAKA;;AAWA;;AAMA;;AAWA;;AAKA;;AAYA;;AAMF;;AACJ;;;;;;AA1Jc;;AAAA,sGAA8B,SAA9B,EAA8B,wBAA9B,EAA8B,UAA9B,EAA8B,0BAA9B;;AASF;;AAAA;;AAsBA;;AAAA;;AAQsB;;AAAA;;AAOjB;;AAAA;;AAwCN;;AAAA;;AAWA;;AAAA;;AAKA;;AAAA;;AAWA;;AAAA;;AAMA;;AAAA;;AAWA;;AAAA;;AAKA;;AAAA;;AAYA;;AAAA;;;;;;;;AA2CC;;AAEE;;AAAuB;AAAA;;AAAA;;AAAA;AAAA,WAAqD,QAArD,EAAqD;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAArD;;AAAvB;;AAKA;;AACF;;;;;;AAH6C;;AAAA;;AACzC;;AAJqB,0HAAqD,SAArD,EAAqD,4CAArD,EAAqD,UAArD,EAAqD,gCAArD;;AAKa;;AAAA;;;;;;AAjB1C;;AACE;;AAAI;;AAA0B;;AAC9B;;AAAI;;AAAmE;;AACvE;;AAAI;;;;AAA+C;;AACnD;;AAAI;;AAA0B;;AAC9B;;AAAI;;AAAgC;;AACpC;;AAAI;;AAAuB;;AAC3B;;AAAI;;AAA4B;;AAChC;;AAAI;;AAA2B;;AAC/B;;AACE;;AASF;;AAEF;;;;;;AApBM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAEG;;AAAA;;;;;;AAYT;;AAEE;;AAAgB;;AAAiB;;AACnC;;;;;;;;AA0BQ;;AACE;;AAAG;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wGAAwF,CAAxF;AAAyF,SAAzF;;AAEmD;;AAAQ;;AAChE;;;;;;;;;AADE;;AAAA;;AAF+F;;AAEzC;;AAAA;;;;;;;;AAhB5D;;AACE;;AACE;;AAEE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,qFAAiF,CAAjF;AAAkF,SAAlF;;AACiG;;AAAM;;AAAQ;;AAAQ;;AAAK;;AAC/H;;AACA;;AAEE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,yFAAqF,CAArF;AAAsF,SAAtF;;AAEiG;;AAAM;;AAAK;;AAAQ;;AAAI;;AAC7H;;AACF;;AAKA;;AAEE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,qFAAiF,CAAjF;AAAkF,SAAlF;;AAE+F;;AAAK;;AAAM;;AAAK;;AAAQ;;AAC5H;;AAEA;;AACE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wFAAoF,CAApF;AAAqF,SAArF;;AAEoH;;AAAK;;AAAM;;AAAQ;;AAAQ;;AACtJ;;AACA;;AACA;;AACE;;AACF;;AAEF;;;;;;AA/B8F;;AAAA;;AAMtF;;AAAA;;AAGA;;AAAA;;AAQF;;AAAA;;AAMA;;AAAA;;AAKF;;AAAA;;;;;;;;AAQV;;AAEE;;AAGA;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAoB,eAApB,EAAoB;AAAA;;AAAA;;AAAA;AAAA,SAApB;;AAAqF;;AAC3E;;AAAO;;AAAI;;AACtC;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAmB,eAAnB,EAAmB;AAAA;;AAAA;;AAAA;AAAA,SAAnB;;AAAmF;;AACzE;;AAAM;;AAAI;;AACvC;;AACF;;;;AAJQ;;AAAA;;AAEA;;AAAA;;;;;;;;AAGR;;AAEE;;AACmF;AAAA;;AAAA;;AAAA;AAAA,WAAoB,eAApB,EAAoB;AAAA;;AAAA;;AAAA;AAAA,SAApB;;AADnF;;AAGF;;;;;;;;AAEA;;AAEE;;AAGA;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAoB,eAApB,EAAoB;AAAA;;AAAA;;AAAA;AAAA,SAApB;;AAAqF;;AAC3E;;AAAO;;AAAI;;AACtC;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAmB,eAAnB,EAAmB;AAAA;;AAAA;;AAAA;AAAA,SAAnB;;AAAkF;;AACxE;;AAAM;;AAAI;;AACvC;;AACF;;;;AAJQ;;AAAA;;AAEA;;AAAA;;;;;;;;AAGR;;AAEE;;AACmF;AAAA;;AAAA;;AAAA;AAAA,WAAoB,eAApB,EAAoB;AAAA;;AAAA;;AAAA;AAAA,SAApB;;AADnF;;AAGF;;;;;;;;AAEA;;AAEE;;AAGA;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAA0B,eAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAAgG;;AACtF;;AAAO;;AAAI;;AACtC;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,eAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAA8F;;AACpF;;AAAM;;AAAI;;AACvC;;AACF;;;;AAJQ;;AAAA;;AAEA;;AAAA;;;;;;;;AAGR;;AAEE;;AAEE;AAAA;;AAAA;;AAAA;AAAA,WAA0B,eAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAFF;;AAGF;;;;;;;;AACA;;AAEE;;AAGA;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAA0B,eAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAAiG;;AACvF;;AAAO;;AAAI;;AACtC;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,eAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAA8F;;AACpF;;AAAM;;AAAI;;AACvC;;AACF;;;;AAJQ;;AAAA;;AAEA;;AAAA;;;;;;;;AAGR;;AAEE;;AAEE;AAAA;;AAAA;;AAAA;AAAA,WAA0B,eAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAFF;;AAGF;;;;;;;;AAhLN;;AACI;;AACE;;AACE;;AACE;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wCAAuB,YAAvB,EAAoC,CAApC,EAAqC,SAArC,EAAqC,UAArC,EAAqC,SAArC;AAAqC,SAArC;;AAAwF;;AAAa;;AACzG;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wCAAuB,iBAAvB,EAAyC,CAAzC,EAA0C,SAA1C,EAA0C,UAA1C,EAA0C,SAA1C;AAA0C,SAA1C;;AAA6F;;AAAO;;AACxG;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wCAAuB,aAAvB,EAAqC,CAArC,EAAsC,SAAtC,EAAsC,UAAtC,EAAsC,SAAtC;AAAsC,SAAtC;;AAAyF;;AAAU;;AACvG;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wCAAuB,YAAvB,EAAoC,CAApC,EAAqC,SAArC,EAAqC,UAArC,EAAqC,SAArC;AAAqC,SAArC;;AAAwF;;AAAW;;AACvG;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wCAAuB,kBAAvB,EAA0C,CAA1C,EAA2C,SAA3C,EAA2C,UAA3C,EAA2C,SAA3C;AAA2C,SAA3C;;AAA8F;;AAAkB;;AACpH;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wCAAuB,SAAvB,EAAiC,CAAjC,EAAkC,SAAlC,EAAkC,UAAlC,EAAkC,SAAlC;AAAkC,SAAlC;;AAAqF;;AAAO;;AAChG;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wCAAuB,cAAvB,EAAsC,CAAtC,EAAuC,SAAvC,EAAuC,UAAvC,EAAuC,SAAvC;AAAuC,SAAvC;;AAA0F;;AAAa;;AAC3G;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wCAAuB,aAAvB,EAAqC,CAArC,EAAsC,SAAtC,EAAsC,UAAtC,EAAsC,SAAtC;AAAsC,SAAtC;;AAAyF;;AAAgB;;AAC7G;;AACE;;AACE;;AAAoD;AAAA;;AAAA;;AAAA;AAAA,WAAuC,QAAvC,EAAuC;AAAA;;AAAA;;AAAA;AAAA,SAAvC;;AAApD;;AAIA;;AACF;;AACF;;AAEF;;AACF;;AACA;;AACE;;AAsBA;;AAIF;;AACF;;AACA;;AACE;;AAGE;;AAA0B;;AAAiF;;AAC7G;;AACA;;AAEE;;AACE;;AACE;;AAoCF;;AACJ;;AACF;;AAEE;;AAYA;;AAOA;;AAYA;;AAOA;;AAYA;;AAMA;;AAYA;;AAMF;;AACJ;;;;;;AApKkE;;AAAA,+GAAuC,SAAvC,EAAuC,iCAAvC,EAAuC,UAAvC,EAAuC,uBAAvC;;AAWtD;;AAAA;;AAuBF;;AAAA;;AASwB;;AAAA;;AAMjB;;AAAA;;AAwCN;;AAAA;;AAYA;;AAAA;;AAOA;;AAAA;;AAYA;;AAAA;;AAOA;;AAAA;;AAYA;;AAAA;;AAMA;;AAAA;;AAYA;;AAAA;;;;;;;;AA2CC;;AAEE;;AAAuB;AAAA;;AAAA;;AAAA;AAAA,WAAuD,QAAvD,EAAuD;AAAA;;AAAA;;AAAA;;AAAA;AAAA,SAAvD;;AAAvB;;AAKA;;AACF;;;;;;AAH6C;;AAAA;;AACzC;;AAJqB,4HAAuD,SAAvD,EAAuD,8CAAvD,EAAuD,UAAvD,EAAuD,gCAAvD;;AAKa;;AAAA;;;;;;AAjB1C;;AACE;;AAAI;;AAA0B;;AAC9B;;AAAI;;AAAmE;;AACvE;;AAAI;;AAA0B;;AAC9B;;AAAI;;AAA0B;;AAC9B;;AAAI;;AAAgC;;AACpC;;AAAI;;AAAuB;;AAC3B;;AAAI;;AAA4B;;AAChC;;AAAI;;AAA2B;;AAC/B;;AACE;;AASF;;AAEF;;;;;;AApBM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAEG;;AAAA;;;;;;AAYT;;AAEE;;AAAgB;;AAAiB;;AACnC;;;;;;;;AA0BQ;;AACE;;AAAG;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wGAAwF,CAAxF;AAAyF,SAAzF;;AAEmD;;AAAQ;;AAChE;;;;;;;;;AADE;;AAAA;;AAF+F;;AAEzC;;AAAA;;;;;;;;AAhB5D;;AACE;;AACE;;AAEE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,qFAAiF,CAAjF;AAAkF,SAAlF;;AACiG;;AAAM;;AAAQ;;AAAQ;;AAAK;;AAC/H;;AACA;;AAEE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,yFAAqF,CAArF;AAAsF,SAAtF;;AAEiG;;AAAM;;AAAK;;AAAQ;;AAAI;;AAC7H;;AACF;;AAKA;;AAEE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,qFAAiF,CAAjF;AAAkF,SAAlF;;AAE+F;;AAAK;;AAAM;;AAAK;;AAAQ;;AAC5H;;AAEA;;AACE;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,wFAAoF,CAApF;AAAqF,SAArF;;AAEoH;;AAAK;;AAAM;;AAAQ;;AAAQ;;AACtJ;;AACA;;AACA;;AACE;;AACF;;AAEF;;;;;;AA/B8F;;AAAA;;AAMtF;;AAAA;;AAGA;;AAAA;;AAQF;;AAAA;;AAMA;;AAAA;;AAKF;;AAAA;;;;;;;;AAMV;;AAEE;;AAGA;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAoB,eAApB,EAAoB;AAAA;;AAAA;;AAAA;AAAA,SAApB;;AAAoF;;AAC1E;;AAAO;;AAAI;;AACtC;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAmB,eAAnB,EAAmB;AAAA;;AAAA;;AAAA;AAAA,SAAnB;;AAAkF;;AACxE;;AAAM;;AAAI;;AACvC;;AACF;;;;AAJQ;;AAAA;;AAEA;;AAAA;;;;;;;;AAGR;;AAEE;;AACmF;AAAA;;AAAA;;AAAA;AAAA,WAAoB,eAApB,EAAoB;AAAA;;AAAA;;AAAA;AAAA,SAApB;;AADnF;;AAGF;;;;;;;;AAEA;;AAEA;;AAGA;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAoB,eAApB,EAAoB;AAAA;;AAAA;;AAAA;AAAA,SAApB;;AAAoF;;AAC1E;;AAAO;;AAAI;;AACtC;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAmB,eAAnB,EAAmB;AAAA;;AAAA;;AAAA;AAAA,SAAnB;;AAAkF;;AACxE;;AAAM;;AAAI;;AACvC;;AACF;;;;AAJQ;;AAAA;;AAEA;;AAAA;;;;;;;;AAGR;;AAEE;;AACmF;AAAA;;AAAA;;AAAA;AAAA,WAAoB,eAApB,EAAoB;AAAA;;AAAA;;AAAA;AAAA,SAApB;;AADnF;;AAGF;;;;;;;;AAEE;;AAEE;;AAGA;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAA0B,eAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAAgG;;AACtF;;AAAO;;AAAI;;AACtC;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,eAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAA8F;;AACpF;;AAAM;;AAAI;;AACvC;;AACF;;;;AAJQ;;AAAA;;AAEA;;AAAA;;;;;;;;AAGR;;AAEE;;AAEE;AAAA;;AAAA;;AAAA;AAAA,WAA0B,eAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAFF;;AAGF;;;;;;;;AACA;;AACE;;AAIA;;AACE;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAA0B,eAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAAgG;;AACtF;;AAAO;;AAAI;;AACtC;;AAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAyB,eAAzB,EAAyB;AAAA;;AAAA;;AAAA;AAAA,SAAzB;;AAA8F;;AACpF;;AAAM;;AAAI;;AACvC;;AACF;;;;AAJQ;;AAAA;;AAEA;;AAAA;;;;;;;;AAGR;;AACE;;AAEE;AAAA;;AAAA;;AAAA;AAAA,WAA0B,eAA1B,EAA0B;AAAA;;AAAA;;AAAA;AAAA,SAA1B;;AAFF;;AAIF;;;;;;;;AA9KN;;AACI;;AAEE;;AACE;;AACE;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAAyB,YAAzB,EAAsC,CAAtC,EAAuC,SAAvC,EAAuC,UAAvC,EAAuC,SAAvC;AAAuC,SAAvC;;AAA0F;;AAAa;;AAC3G;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAAyB,iBAAzB,EAA2C,CAA3C,EAA4C,SAA5C,EAA4C,UAA5C,EAA4C,SAA5C;AAA4C,SAA5C;;AAA+F;;AAAO;;AAC1G;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAAyB,YAAzB,EAAsC,CAAtC,EAAuC,SAAvC,EAAuC,UAAvC,EAAuC,SAAvC;AAAuC,SAAvC;;AAA0F;;AAAW;;AACzG;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAAyB,YAAzB,EAAsC,CAAtC,EAAuC,SAAvC,EAAuC,UAAvC,EAAuC,SAAvC;AAAuC,SAAvC;;AAA0F;;AAAW;;AACzG;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAAyB,kBAAzB,EAA4C,CAA5C,EAA6C,SAA7C,EAA6C,UAA7C,EAA6C,SAA7C;AAA6C,SAA7C;;AAAgG;;AAAkB;;AACtH;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAAyB,SAAzB,EAAmC,CAAnC,EAAoC,SAApC,EAAoC,UAApC,EAAoC,SAApC;AAAoC,SAApC;;AAAuF;;AAAO;;AAClG;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAAyB,cAAzB,EAAwC,CAAxC,EAAyC,SAAzC,EAAyC,UAAzC,EAAyC,SAAzC;AAAyC,SAAzC;;AAA4F;;AAAa;;AAC7G;;AAAI;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,0CAAyB,aAAzB,EAAuC,CAAvC,EAAwC,SAAxC,EAAwC,UAAxC,EAAwC,SAAxC;AAAwC,SAAxC;;AAA2F;;AAAgB;;AAC/G;;AACE;;AACE;;AAAoD;AAAA;;AAAA;;AAAA;AAAA,WAAyC,QAAzC,EAAyC;AAAA;;AAAA;;AAAA;AAAA,SAAzC;;AAApD;;AAIA;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AAsBA;;AAIF;;AACF;;AACA;;AACE;;AAEE;;AAA0B;;AACJ;;AACxB;;AACA;;AAEE;;AACE;;AACE;;AAoCF;;AACJ;;AACA;;AAYA;;AAOA;;AAYF;;AAOE;;AAYA;;AAMA;;AAYA;;AAMF;;AACJ;;AACF;;;;;;AAlKoE;;AAAA,iHAAyC,SAAzC,EAAyC,mCAAzC,EAAyC,UAAzC,EAAyC,uBAAzC;;AAUtD;;AAAA;;AAuBF;;AAAA;;AAQwB;;AAAA;;AAOjB;;AAAA;;AAsCN;;AAAA;;AAYA;;AAAA;;AAOA;;AAAA;;AAYF;;AAAA;;AAOE;;AAAA;;AAYA;;AAAA;;AAMA;;AAAA;;AAYA;;AAAA;;;;;;AAkDT;;AACE;;AAAkD;;AAA0B;;AAC5E;;AAAkD;;AACf;;AACnC;;AAAkD;;;;AAA+C;;AACjG;;AAAkD;;AAA0B;;AAC5E;;AAAkD;;AAAuB;;AACzE;;AAAkD;;AAA4B;;AAC9E;;AAAkD;;AAA2B;;AAE/E;;;;;;AAToD;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAuBpD;;AACE;;AAAkD;;AAA6B;;AAC/E;;AAAkD;;AACf;;AACnC;;AAAkD;;AACjB;;AACjC;;AAAkD;;AAA+B;;AACjF;;AAAkD;;;;AAA2C;;AAC7F;;AAAkD;;AAAuB;;AACzE;;AAAkD;;AAA4B;;AAC9E;;AAAkD;;AAA2B;;AAE/E;;;;;;AAXoD;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAwBpD;;AACE;;AAAkD;;AAA0B;;AAC5E;;AAAkD;;AACf;;AACnC;;AAAkD;;;;AAA+C;;AACjG;;AAAkD;;AAA0B;;AAC5E;;AAAkD;;AAAgC;;AAClF;;AAAkD;;AAAuB;;AACzE;;AAAkD;;AAA4B;;AAC9E;;AAAkD;;AAA2B;;AAE/E;;;;;;AAVoD;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAuBpD;;AACE;;AAAkD;;AAA0B;;AAC5E;;AAAkD;;AACf;;AACnC;;AAAkD;;AAA0B;;AAC5E;;AAAkD;;AAA0B;;AAC5E;;AAAkD;;AAAgC;;AAClF;;AAAkD;;AAAuB;;AACzE;;AAAkD;;AAA4B;;AAC9E;;AAAkD;;AAA2B;;AAE/E;;;;;;AAVoD;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;;;;;QD38B7C60E,yB;AA4FX,yCAAmBC,yBAAnB,EAAgF94E,MAAhF,EAAwGuV,QAAxG,EACUwb,sBADV,EACkE8tC,QADlE,EAEUvpD,WAFV,EAEgD1f,eAFhD,EAGSk7B,kBAHT,EAG+C;AAAA;;AAH5B,aAAAgoD,yBAAA,GAAAA,yBAAA;AAA6D,aAAA94E,MAAA,GAAAA,MAAA;AAAwB,aAAAuV,QAAA,GAAAA,QAAA;AAC9F,aAAAwb,sBAAA,GAAAA,sBAAA;AAAwD,aAAA8tC,QAAA,GAAAA,QAAA;AACxD,aAAAvpD,WAAA,GAAAA,WAAA;AAAsC,aAAA1f,eAAA,GAAAA,eAAA;AACvC,aAAAk7B,kBAAA,GAAAA,kBAAA;AA9FT,aAAAtb,KAAA,GAAQ,IAAI1jB,IAAJ,EAAR;AACA,aAAA2jB,WAAA,GAAmC;AACjCC,mBAAS,EAAE,KADsB;AAEjCC,oBAAU,EAAE,YAFqB,CAGjC;;AAHiC,SAAnC;AAKA,aAAAigC,YAAA,GAAoC;AAClClgC,mBAAS,EAAE,KADuB;AAElCC,oBAAU,EAAE,YAFsB;AAGlCC,sBAAY,EAAE;AAAC/f,gBAAI,EAAE,KAAK2f,KAAL,CAAWxiB,WAAX,EAAP;AAAiC+B,iBAAK,EAAE,KAAKygB,KAAL,CAAWviB,QAAX,KAAwB,CAAhE;AAAmE4iB,eAAG,EAAE,KAAKL,KAAL,CAAWtiB,OAAX,KAAuB;AAA/F,WAHoB,CAKlC;;AALkC,SAApC;AAWS,aAAA2sB,WAAA,GAAc,kEAAUC,OAAxB;AAET,aAAAkH,gBAAA,GAAyB,IAAzB;AAIA,aAAA+xD,eAAA,GAAuB,EAAvB;AACA,aAAAC,oBAAA,GAA4B,EAA5B;AAEA,aAAAC,mBAAA,GAA2B,EAA3B;AACA,aAAAC,wBAAA,GAAgC,EAAhC;AAEA,aAAAC,iCAAA,GAAyC,EAAzC;AACA,aAAAC,sCAAA,GAA8C,EAA9C;AAEA,aAAAC,qCAAA,GAA6C,EAA7C;AACA,aAAAC,0CAAA,GAAkD,EAAlD;AAQA,aAAAvmB,UAAA,GAAqB,IAArB;AACA,aAAAgM,QAAA,GAAgB,IAAhB;AACA,aAAAC,MAAA,GAAc,IAAd;AACA,aAAA7F,YAAA,GAAuB,EAAvB;AACA,aAAAogB,UAAA,GAAqB,UAArB;AAKA,aAAAtjE,cAAA,GAAiB,IAAjB;AACA,aAAArZ,IAAA,GAAa,IAAb;AAEA,aAAA48E,sBAAA,GAA+B,KAA/B;AACA,aAAAC,QAAA,GAAgB,GAAhB;AACA,aAAAC,OAAA,GAAe,MAAf;AAQA,aAAAC,eAAA,GAA0B,KAA1B;AAUA,aAAAC,kBAAA,GAA4B,KAA5B;AAiBA,aAAA7mD,gBAAA,GAA0B,EAA1B,CAI+C,CA+F/C;AAEA;;AACA,aAAA8mD,yBAAA,GAAgC,EAAhC;AACA,aAAAC,+BAAA,GAAsC,EAAtC,CAnG+C,CAmS/C;;AACA,aAAAC,uCAAA,GAA8C,EAA9C;AACA,aAAAC,6CAAA,GAAoD,EAApD,CArS+C,CAqZ/C;;AACA,aAAAC,2CAAA,GAAkD,EAAlD;AACA,aAAAC,iDAAA,GAAwD,EAAxD,CAvZ+C,CAu4CjD;;AACA,aAAAC,oBAAA,GAA6B,KAA7B;AA8wCE,aAAAC,kBAAA,GAA2B,KAA3B;AAyTF,aAAAjpD,MAAA,GAAc,CAAd;AACA,aAAAC,UAAA,GAAwB,EAAxB;AACA,aAAAC,SAAA,GAAiB,kBAAjB;AACA,aAAAC,KAAA,GAAU,aAAV,CAl9FiD,CAm9FjD;;AAGA,aAAAC,SAAA,GAAY,EAAZ;AAGA,aAAAC,OAAA,GAAgB,MAAhB;AAGA,aAAA/Z,WAAA,GAAc,CAAd;AACA,aAAAga,cAAA,GAAyB,KAAzB;AACA,aAAAC,eAAA,GAA0B,KAA1B;AA99FoD;;;;mCAE1C;AACN,cAAIj+B,YAAY,CAACM,OAAb,CAAqB,aAArB,KAAuC,IAA3C,EAAiD;AAC/C,iBAAKiM,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,EAAD,CAArB;AACA;AACD;;AAED,cAAG,CAAC,mCAAC,CAAC,mBAAD,CAAD,CAAuBwP,EAAvB,CAA0B,UAA1B,CAAJ,EAA0C;AACxC,+CAAC,CAAC,mBAAD,CAAD,CAAuB7Q,GAAvB,CAA2B,SAA3B,EAAqC,OAArC;AACD;;AAED,eAAKwP,QAAL,CAAcwB,IAAd,GAVM,CAWN;;;AACA,eAAKsjE,WAAL,GAZM,CAaN;;AACA,eAAKhjE,kBAAL,GAdM,CAeN;;AACA,eAAK+K,eAAL,GAhBM,CAiBN;AACA;AACA;;AAEA,cAAI5M,KAAK,GAAG,IAAI1jB,IAAJ,EAAZ;AACA,cAAIiD,KAAK,GAAGygB,KAAK,CAACviB,QAAN,KAAiB,CAA7B;AACA,eAAKwmF,QAAL,GAAgB1kF,KAAK,CAACkmB,QAAN,EAAhB;AACA,eAAK1D,MAAL,GAAc;AACZC,wBAAY,EAAE,EADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAIA,eAAKC,YAAL,GAAoB,EAApB;AACA,eAAKC,iBAAL,GAAuB,CAAvB;AACA,eAAK0rC,QAAL,GAAgB5vD,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAhB;;AACA,cAAI,KAAKsvD,QAAL,IAAiB,GAArB,EAA0B;AACxB,iBAAKs2B,eAAL,GAAuB,IAAvB;AACD,WAFD,MAEK;AACH,iBAAKA,eAAL,GAAuB,KAAvB;AACD;;AACD,eAAKvoD,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,eAAKN,kBAAL,CAAwBgB,QAAxB,GAAmC,CAAnC;AACA,eAAKxP,YAAL;AAED,S,CAED;;;;sCACW;AACT,eAAKw2D,yBAAL,CAA+B17D,QAA/B,GAAwC;AACtC9B,sBAAU,EAAE,IAD0B;AAEtCg/D,yBAAa,EAAG,CAFsB;AAGtC/pB,yBAAa,EAAG,CAHsB;AAItCuS,6BAAiB,EAAE,EAJmB;AAKtCV,2BAAe,EAAE,EALqB;AAMtCH,uBAAW,EAAG,CANwB;AAOtCc,2BAAe,EAAE,EAPqB;AAQtCV,yBAAa,EAAE,EARuB;AAStCW,2BAAe,EAAG,CAToB;AAUtCuX,mBAAO,EAAG,CAV4B;AAWtCphB,wBAAY,EAAE,WAXwB;AAYtCt+C,uBAAW,EAAE,IAZyB;AAatC6kD,sBAAU,EAAE,IAb0B;AActCzM,oBAAQ,EAAG,CAd2B;AAetCunB,sBAAU,EAAC,UAf2B;AAgBtCC,4BAAgB,EAAG,CAhBmB;AAiBtCC,sBAAU,EAAE,EAjB0B;AAkBtCC,sBAAU,EAAC,EAlB2B;AAmBtC5b,oBAAQ,EAAC,EAnB6B;AAoBtCC,kBAAM,EAAC,EApB+B;AAqBtC4b,uBAAW,EAAC,EArB0B;AAsBtCC,mBAAO,EAAC,CAtB8B;AAuBtCzgE,wBAAY,EAAG,EAvBuB;AAwBtC0gE,yBAAa,EAAC;AAxBwB,WAAxC;AA0BD,S,CAED;;;;oCACY16E,K,EAAO;AACjB,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACA,eAAKsX,YAAL,GAAoB,KAAKH,MAAL,CAAYE,WAAZ,GAAwB,KAAKF,MAAL,CAAYC,YAAxD;AACA,eAAKG,iBAAL,GAAyB,KAAKD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAAZ,GAAyB,CAA9C,CAAzB,CAHiB,CAKjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;;wDAQ4B;AAAA;;AAC3B,eAAKshE,yBAAL,CAA+BiC,8BAA/B,CAA8DtnF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA9D,EAAmGT,SAAnG,CAA6G,UAAA0nF,OAAO,EAAI;AACtH,oBAAI,CAACnB,yBAAL,GAAiCmB,OAAjC;AACA,oBAAI,CAAClB,+BAAL,GAAuC,QAAI,CAACD,yBAA5C;;AACA,iBAAI,IAAI3gE,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,QAAI,CAAC4gE,+BAAL,CAAqC7oF,MAAnD,EAA0DioB,CAAC,EAA3D,EAA8D;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEI,kBAAG,CAAC,QAAI,CAAClB,iBAAT,EAA2B;AACzB,oBAAG,CAAC,QAAI,CAAC8hE,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,CAAqD7vD,WAArD,MAAoE,WAApE,IAAmF,QAAI,CAACwwE,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,CAAqD7vD,WAArD,MAAoE,SAAxJ,KACC,QAAI,CAACwwE,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAqD,gBADzD,EAC0E;AACxE,0BAAI,CAACd,+BAAL,CAAqC5gE,CAArC,EAAwC+hE,qBAAxC,GAA8D,IAA9D;AACD;;AACD,oBAAG,QAAI,CAACnB,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,SAAtD,IAAmE,QAAI,CAAC2gB,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAqD,gBAA3H,EAA4I;AAC1I,0BAAI,CAACd,+BAAL,CAAqC5gE,CAArC,EAAwC+hE,qBAAxC,GAA8D,KAA9D;AACA,0BAAI,CAACnB,+BAAL,CAAqC5gE,CAArC,EAAwCgiE,eAAxC,GAAwD,IAAxD;AACD;;AACD,oBAAG,QAAI,CAACpB,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,CAAqD7vD,WAArD,MAAoE,SAApE,IAAiF,QAAI,CAACwwE,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAsD,gBAA1I,EAAuK;AACrK,0BAAI,CAACd,+BAAL,CAAqC5gE,CAArC,EAAwC+hE,qBAAxC,GAA8D,KAA9D;AACA,0BAAI,CAACnB,+BAAL,CAAqC5gE,CAArC,EAAwCgiE,eAAxC,GAAwD,IAAxD;AACD;AACF,eAbD,MAcK;AAEH;AACA,oBAAG,QAAI,CAACpB,+BAAL,CAAqC5gE,CAArC,EAAwCiiE,eAAxC,IAA2D,CAAC,QAAI,CAACvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAA/D,EAA4I;AACxI,sBAAG,CAAC,QAAI,CAAC+lF,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,WAAtD,IAAqE,QAAI,CAAC2gB,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,SAA5H,KACA,QAAI,CAAC2gB,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAqD,gBADxD,EACyE;AACzE,4BAAI,CAACd,+BAAL,CAAqC5gE,CAArC,EAAwC+hE,qBAAxC,GAA8D,IAA9D;AACA,4BAAI,CAACnB,+BAAL,CAAqC5gE,CAArC,EAAwCgiE,eAAxC,GAAwD,KAAxD;AACD;;AACD,sBAAG,QAAI,CAACpB,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,SAAtD,IAAmE,QAAI,CAAC2gB,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAqD,gBAA3H,EAA4I;AAC1I,4BAAI,CAACd,+BAAL,CAAqC5gE,CAArC,EAAwC+hE,qBAAxC,GAA8D,KAA9D;AACA,4BAAI,CAACnB,+BAAL,CAAqC5gE,CAArC,EAAwCgiE,eAAxC,GAAwD,IAAxD;AACD;;AACD,sBAAG,QAAI,CAACpB,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,CAAqD7vD,WAArD,MAAoE,SAApE,IAAiF,QAAI,CAACwwE,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAsD,gBAA1I,EAAuK;AACrK,4BAAI,CAACd,+BAAL,CAAqC5gE,CAArC,EAAwC+hE,qBAAxC,GAA8D,KAA9D;AACA,4BAAI,CAACnB,+BAAL,CAAqC5gE,CAArC,EAAwCgiE,eAAxC,GAAwD,IAAxD;AACD;AACF,iBAdD,MAeI;AACF;AACA,sBAAG,CAAC,QAAI,CAACpB,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,WAAtD,IAAqE,QAAI,CAAC2gB,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,SAA5H,KACD,QAAI,CAAC2gB,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAqD,gBADvD,EACwE;AACxE,4BAAI,CAACd,+BAAL,CAAqC5gE,CAArC,EAAwC+hE,qBAAxC,GAA8D,KAA9D;AACA,4BAAI,CAACnB,+BAAL,CAAqC5gE,CAArC,EAAwCgiE,eAAxC,GAAwD,IAAxD;AACD;;AACD,sBAAG,QAAI,CAACpB,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,SAAtD,IAAmE,QAAI,CAAC2gB,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAqD,gBAA3H,EAA4I;AAC1I,4BAAI,CAACd,+BAAL,CAAqC5gE,CAArC,EAAwC+hE,qBAAxC,GAA8D,IAA9D;AACD;;AACD,sBAAG,QAAI,CAACnB,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,SAAtD,IAAmE,QAAI,CAAC2gB,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAqD,SAA3H,EAA8J;AAC5J,4BAAI,CAACd,+BAAL,CAAqC5gE,CAArC,EAAwC+hE,qBAAxC,GAA8D,IAA9D;AACD;AACA;AACF,eA1D2D,CA2D5D;;;AACA,kBAAG,CAAC,QAAI,CAACnB,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,SAAtD,IAAmE,QAAI,CAAC2gB,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,iBAA1H,MACC,QAAI,CAAC2gB,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAqD,UAArD,IAAmE,QAAI,CAACd,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAqD,UADzH,CAAH,EACwI;AACtI,wBAAI,CAACd,+BAAL,CAAqC5gE,CAArC,EAAwC+hE,qBAAxC,GAA8D,IAA9D;AACA,wBAAI,CAACnB,+BAAL,CAAqC5gE,CAArC,EAAwCgiE,eAAxC,GAAwD,IAAxD;AACD;AACF;;AACD,oBAAI,CAAChhE,QAAL,CAAc,IAAd,EAAmB,IAAnB,EAAwB,IAAxB;AACD,WAtED;AAuED,S,CACD;;;;gDAEwBg/C,Y,EAAaxoB,Q,EAASC,M,EAAOyqC,Y,EAAahiB,c,EAAe/nC,S,EAAiD;AAAA;;AAAA,cAAvCgqD,UAAuC,uEAA5B,CAA4B;AAAA,cAA1BjqD,UAA0B,uEAAf,EAAe;AAAA,cAAZioC,QAAY,uEAAH,CAAG;AAChI,cAAGgiB,UAAU,IAAE,CAAZ,IAAiB,KAAKvC,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,IAAuD,EAA3E,EACE,KAAK0+D,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAqD,EAArD;;AACH,cAAGiX,SAAS,IAAG,EAAf,EAAkB;AACjBA,qBAAS,GAAC,kBAAV;AACA;;AACD,cAAGD,UAAU,GAAC,CAAd,EAAgB;AACf,gBAAIkqD,QAAQ,GAAG,KAAKvC,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAkK,CAAC;AAAA,qBAAIA,CAAC,CAAC3J,YAAF,KAAmB8+C,YAAvB;AAAA,aAA7B,EAAkE,CAAlE,CAAf;;AACA,gBAAGoiB,QAAQ,IAAEthE,SAAb,EAAuB;AACrB,mBAAK+4C,UAAL,GAAkB,CAAlB;AACD,aAFD,MAGI;AACF,mBAAKA,UAAL,GAAkBuoB,QAAQ,CAACt3D,QAA3B;AACD;AACD;;AACD,cAAGq3D,UAAU,IAAE,CAAf,EAAiB;AACfhiB,oBAAQ,GAAC,KAAKtmC,gBAAd;AACA3B,sBAAU,GAAC,CAAX;AACA,iBAAK3Z,WAAL,GAAiB,CAAjB;AACD,WAJD,MAKI;AACF4hD,oBAAQ,GAAC,KAAK9hD,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAAT;AACAmW,sBAAU,GAAC,KAAKD,MAAhB;AACD;;AACA,eAAK2nD,yBAAL,CAA+ByC,wBAA/B,CAAwD9nF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxD,EAA4F,KAAKg/D,UAAjG,EAA4GriB,QAA5G,EAAqHC,MAArH,EAA4HyqC,YAA5H,EAAyIhiB,cAAzI,EAAwJC,QAAxJ,EAAiKjoC,UAAjK,EAA4KC,SAA5K,EAAuL/9B,SAAvL,CAAiM,UAAA0nF,OAAO,EAAI;AAC1M,oBAAI,CAAC/B,mBAAL,GAA2B+B,OAA3B;AACA,oBAAI,CAAC9B,wBAAL,GAAgC,QAAI,CAACD,mBAArC;;AACA,iBAAI,IAAI//D,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,QAAI,CAACggE,wBAAL,CAA8BjoF,MAA5C,EAAmDioB,CAAC,EAApD,EAAuD;AAErD,kBAAG,QAAI,CAACugD,mBAAL,IAA4Bz/C,SAA/B,EAAyC;AACzC,oBAAG,QAAI,CAACy/C,mBAAL,CAAyBxoE,MAAzB,GAAkC,CAArC,EAAuC;AACrC,uBAAK,IAAI0hC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAAC8mC,mBAAL,CAAyBxoE,MAA7C,EAAqD0hC,CAAC,EAAtD,EAA0D;AAC1D,wBAAG,QAAI,CAAC8mC,mBAAL,CAAyB9mC,CAAzB,EAA4B2nD,aAA5B,IAA6C,QAAI,CAACpB,wBAAL,CAA8BhgE,CAA9B,EAAiCohE,aAAjF,EAA+F;AAC7F,8BAAI,CAACpB,wBAAL,CAA8BhgE,CAA9B,EAAiCsiE,kBAAjC,GAAsD,IAAtD;AACD;AACF;AACF;AACF;;AAEG,kBAAG,CAAC,QAAI,CAACxjE,iBAAT,EAA2B;AACzB,oBAAG,CAAC,QAAI,CAACkhE,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,CAA8C7vD,WAA9C,MAA6D,WAA7D,IAA4E,QAAI,CAAC4vE,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,CAA8C7vD,WAA9C,MAA6D,SAA1I,KACC,QAAI,CAAC4vE,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA8C,gBADlD,EACmE;AACjE,0BAAI,CAAC1B,wBAAL,CAA8BhgE,CAA9B,EAAiC+hE,qBAAjC,GAAuD,IAAvD;AACD;;AACD,oBAAG,QAAI,CAAC/B,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,SAA/C,IAA4D,QAAI,CAAC+f,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA8C,gBAA7G,EAA8H;AAC5H,0BAAI,CAAC1B,wBAAL,CAA8BhgE,CAA9B,EAAiC+hE,qBAAjC,GAAuD,KAAvD;AACA,0BAAI,CAAC/B,wBAAL,CAA8BhgE,CAA9B,EAAiCgiE,eAAjC,GAAiD,IAAjD;AACD;;AACD,oBAAG,QAAI,CAAChC,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,CAA8C7vD,WAA9C,MAA6D,SAA7D,IAA0E,QAAI,CAAC4vE,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA+C,gBAA5H,EAAyJ;AACvJ,0BAAI,CAAC1B,wBAAL,CAA8BhgE,CAA9B,EAAiC+hE,qBAAjC,GAAuD,KAAvD;AACA,0BAAI,CAAC/B,wBAAL,CAA8BhgE,CAA9B,EAAiCgiE,eAAjC,GAAiD,IAAjD;AACD;AACF,eAbD,MAcK;AAEH;AACA,oBAAG,QAAI,CAAChC,wBAAL,CAA8BhgE,CAA9B,EAAiCiiE,eAAjC,IAAoD,CAAC,QAAI,CAACvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAAxD,EAAqI;AACjI,sBAAG,CAAC,QAAI,CAACmlF,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,WAA/C,IAA8D,QAAI,CAAC+f,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,SAA9G,KACA,QAAI,CAAC+f,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA8C,gBADjD,EACkE;AAClE,4BAAI,CAAC1B,wBAAL,CAA8BhgE,CAA9B,EAAiC+hE,qBAAjC,GAAuD,IAAvD;AACA,4BAAI,CAAC/B,wBAAL,CAA8BhgE,CAA9B,EAAiCgiE,eAAjC,GAAiD,KAAjD;AACD;;AACD,sBAAG,QAAI,CAAChC,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,SAA/C,IAA4D,QAAI,CAAC+f,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA8C,gBAA7G,EAA8H;AAC5H,4BAAI,CAAC1B,wBAAL,CAA8BhgE,CAA9B,EAAiC+hE,qBAAjC,GAAuD,KAAvD;AACA,4BAAI,CAAC/B,wBAAL,CAA8BhgE,CAA9B,EAAiCgiE,eAAjC,GAAiD,IAAjD;AACD;;AACD,sBAAG,QAAI,CAAChC,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,CAA8C7vD,WAA9C,MAA6D,SAA7D,IAA0E,QAAI,CAAC4vE,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA+C,gBAA5H,EAAyJ;AACvJ,4BAAI,CAAC1B,wBAAL,CAA8BhgE,CAA9B,EAAiC+hE,qBAAjC,GAAuD,KAAvD;AACA,4BAAI,CAAC/B,wBAAL,CAA8BhgE,CAA9B,EAAiCgiE,eAAjC,GAAiD,IAAjD;AACD;AACF,iBAdD,MAeI;AACF;AACA,sBAAG,CAAC,QAAI,CAAChC,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,WAA/C,IAA8D,QAAI,CAAC+f,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,SAA9G,KACD,QAAI,CAAC+f,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA8C,gBADhD,EACiE;AACjE,4BAAI,CAAC1B,wBAAL,CAA8BhgE,CAA9B,EAAiC+hE,qBAAjC,GAAuD,KAAvD;AACA,4BAAI,CAAC/B,wBAAL,CAA8BhgE,CAA9B,EAAiCgiE,eAAjC,GAAiD,IAAjD;AACD;;AACD,sBAAG,QAAI,CAAChC,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,SAA/C,IAA4D,QAAI,CAAC+f,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA8C,gBAA7G,EAA8H;AAC5H,4BAAI,CAAC1B,wBAAL,CAA8BhgE,CAA9B,EAAiC+hE,qBAAjC,GAAuD,IAAvD;AACD;;AACD,sBAAG,QAAI,CAAC/B,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,SAA/C,IAA4D,QAAI,CAAC+f,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA8C,SAA7G,EAAgJ;AAC9I,4BAAI,CAAC1B,wBAAL,CAA8BhgE,CAA9B,EAAiC+hE,qBAAjC,GAAuD,IAAvD;AACD;AACA;AACF,eA1DoD,CA2DrD;;;AACA,kBAAG,CAAC,QAAI,CAAC/B,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,SAA/C,IAA4D,QAAI,CAAC+f,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,iBAA5G,MACC,QAAI,CAAC+f,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA8C,UAA9C,IAA4D,QAAI,CAAC1B,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA8C,UAD3G,CAAH,EAC0H;AACxH,wBAAI,CAAC1B,wBAAL,CAA8BhgE,CAA9B,EAAiC+hE,qBAAjC,GAAuD,IAAvD;AACA,wBAAI,CAAC/B,wBAAL,CAA8BhgE,CAA9B,EAAiCgiE,eAAjC,GAAiD,IAAjD;AACD;AACF;;AACD;AACA,oBAAI,CAAClgE,WAAL,GAAmB,QAAI,CAACi+D,mBAAL,CAAyBhoF,MAA5C;AACA,gBAAG,QAAI,CAACgoF,mBAAL,CAAyBhoF,MAAzB,IAAiC,CAApC,EACE,QAAI,CAAC+pB,WAAL,GAAiB,CAAjB;;AACF,gBAAG,QAAI,CAACA,WAAL,GAAkB,CAArB,EAAuB;AACrB,sBAAI,CAAC6X,UAAL,GAAgB,QAAI,CAAComD,mBAAL,CAAyB,CAAzB,EAA4BwC,gBAA5C;;AACA,sBAAI,CAAC3oD,cAAL;AACD,aAHD,MAII;AACF,sBAAI,CAACD,UAAL,GAAgB,CAAhB;;AACA,sBAAI,CAACC,cAAL;AACD,aAhFyM,CAiF5M;AACE;AACA;;;AACA,oBAAI,CAAC4oD,cAAL,CAAoB,EAApB,EAAuB,EAAvB;;AACA,oBAAI,CAACnmE,QAAL,CAAc4E,IAAd;;AACAwhE,oCAAwB,CAAC,CAAD,EAAI,KAAJ,CAAxB;AACD,WAvFD,EAuFG,UAACvkE,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAzFD;AA0FD;;;sEAK0C;AAAA;;AACzC,eAAK0xE,yBAAL,CAA+B8C,+CAA/B,CAA+EnoF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA/E,EAAoHT,SAApH,CAA8H,UAAA0nF,OAAO,EAAI;AACvI,oBAAI,CAACjB,uCAAL,GAA+CiB,OAA/C;AACA,oBAAI,CAAChB,6CAAL,GAAqD,QAAI,CAACD,uCAA1D;;AACA,oBAAI,CAAC7/D,QAAL,CAAc,IAAd,EAAmB,IAAnB,EAAwB,IAAxB;AACD,WAJD;AAKD,S,CACD;AAEA;;;;8DACsC64C,U,EAAWriB,Q,EAASC,M,EAAOwoB,Y,EAAaC,c,EAA2D;AAAA;;AAAA,cAA5CiiB,UAA4C,uEAAjC,CAAiC;AAAA,cAA/BhiB,QAA+B;AAAA,cAAtBjoC,UAAsB;AAAA,cAAXC,SAAW;AACvI,cAAGgqD,UAAU,IAAE,CAAZ,IAAiB,KAAKvC,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,IAAuD,EAA3E,EACE,KAAK0+D,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAqD,EAArD;;AACH,cAAGiX,SAAS,IAAG,EAAf,EAAkB;AACjBA,qBAAS,GAAC,kBAAV;AACA;;AACD,cAAGgqD,UAAU,IAAE,CAAf,EAAiB;AACfhiB,oBAAQ,GAAC,KAAKtmC,gBAAd;AACA3B,sBAAU,GAAC,CAAX;AACA,iBAAK3Z,WAAL,GAAiB,CAAjB;AACD,WAJD,MAKI;AACF4hD,oBAAQ,GAAC,KAAK9hD,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAAT;AACAmW,sBAAU,GAAC,KAAKD,MAAhB;AACD;;AACA,eAAK2nD,yBAAL,CAA+B+C,yCAA/B,CAAyEpoF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAzE,EAA6Gg/D,UAA7G,EAAwHriB,QAAxH,EAAiIC,MAAjI,EAAwIwoB,YAAxI,EAAqJC,cAArJ,EAAoKC,QAApK,EAA6KjoC,UAA7K,EAAwLC,SAAxL,EAAmM/9B,SAAnM,CAA6M,UAAA0nF,OAAO,EAAI;AACtN,oBAAI,CAAC7B,iCAAL,GAAyC6B,OAAzC;AACA,oBAAI,CAAC5B,sCAAL,GAA8C,QAAI,CAACD,iCAAnD;;AACA,iBAAI,IAAIjgE,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,QAAI,CAACkgE,sCAAL,CAA4CnoF,MAA1D,EAAiEioB,CAAC,EAAlE,EAAqE;AAEnE,kBAAG,QAAI,CAAC4iE,oBAAL,IAA6B9hE,SAAhC,EAA0C;AACxC,oBAAG,QAAI,CAAC8hE,oBAAL,CAA0B7qF,MAA1B,GAAmC,CAAtC,EAAwC;AACtC,uBAAK,IAAI0hC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACmpD,oBAAL,CAA0B7qF,MAA9C,EAAsD0hC,CAAC,EAAvD,EAA2D;AAC3D,wBAAG,QAAI,CAACmpD,oBAAL,CAA0BnpD,CAA1B,EAA6B+nD,UAA7B,IAA2C,QAAI,CAACtB,sCAAL,CAA4ClgE,CAA5C,EAA+CwhE,UAA7F,EAAwG;AACtG,8BAAI,CAACtB,sCAAL,CAA4ClgE,CAA5C,EAA+C6iE,2BAA/C,GAA6E,IAA7E;AACD;AACF;AACF;AACF;;AAEC,kBAAG,CAAC,QAAI,CAAC/jE,iBAAT,EAA2B;AACzB,oBAAG,CAAC,QAAI,CAACohE,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,CAA4D7vD,WAA5D,MAA2E,WAA3E,IAA0F,QAAI,CAAC8vE,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,CAA4D7vD,WAA5D,MAA2E,SAAtK,KACC,QAAI,CAAC8vE,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA4D,gBADhE,EACiF;AAC/E,0BAAI,CAACxB,sCAAL,CAA4ClgE,CAA5C,EAA+C+hE,qBAA/C,GAAqE,IAArE;AACD;;AACD,oBAAG,QAAI,CAAC7B,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,SAA7D,IAA0E,QAAI,CAACigB,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA4D,gBAAzI,EAA0J;AACxJ,0BAAI,CAACxB,sCAAL,CAA4ClgE,CAA5C,EAA+C+hE,qBAA/C,GAAqE,KAArE;AACA,0BAAI,CAAC7B,sCAAL,CAA4ClgE,CAA5C,EAA+CgiE,eAA/C,GAA+D,IAA/D;AACD;AACF,eATD,MAUK;AAEH;AACA,oBAAG,QAAI,CAAC9B,sCAAL,CAA4ClgE,CAA5C,EAA+CiiE,eAA/C,IAAkE,CAAC,QAAI,CAACvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAAtE,EAAmJ;AACjJ,sBAAG,CAAC,QAAI,CAACqlF,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,WAA7D,IAA4E,QAAI,CAACigB,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,SAA1I,KACA,QAAI,CAACigB,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA4D,gBAD/D,EACgF;AAChF,4BAAI,CAACxB,sCAAL,CAA4ClgE,CAA5C,EAA+C+hE,qBAA/C,GAAqE,IAArE;AACA,4BAAI,CAAC7B,sCAAL,CAA4ClgE,CAA5C,EAA+CgiE,eAA/C,GAA+D,KAA/D;AACD;;AACD,sBAAG,QAAI,CAAC9B,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,SAA7D,IAA0E,QAAI,CAACigB,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA4D,gBAAzI,EAA0J;AACxJ,4BAAI,CAACxB,sCAAL,CAA4ClgE,CAA5C,EAA+C+hE,qBAA/C,GAAqE,KAArE;AACA,4BAAI,CAAC7B,sCAAL,CAA4ClgE,CAA5C,EAA+CgiE,eAA/C,GAA+D,IAA/D;AACD;;AACD,sBAAG,QAAI,CAAC9B,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,CAA4D7vD,WAA5D,MAA2E,SAA3E,IAAwF,QAAI,CAAC8vE,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA6D,gBAAxJ,EAAqL;AACnL,4BAAI,CAACxB,sCAAL,CAA4ClgE,CAA5C,EAA+C+hE,qBAA/C,GAAqE,KAArE;AACA,4BAAI,CAAC7B,sCAAL,CAA4ClgE,CAA5C,EAA+CgiE,eAA/C,GAA+D,IAA/D;AACD;AACF,iBAdC,MAeE;AACF,sBAAG,CAAC,QAAI,CAAC9B,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,WAA7D,IAA4E,QAAI,CAACigB,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,SAA1I,KACD,QAAI,CAACigB,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA4D,gBAD9D,EAC+E;AAC/E,4BAAI,CAACxB,sCAAL,CAA4ClgE,CAA5C,EAA+C+hE,qBAA/C,GAAqE,KAArE;AACA,4BAAI,CAAC7B,sCAAL,CAA4ClgE,CAA5C,EAA+CgiE,eAA/C,GAA+D,IAA/D;AACD;;AACD,sBAAG,QAAI,CAAC9B,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,SAA7D,IAA0E,QAAI,CAACigB,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA4D,gBAAzI,EAA0J;AACxJ,4BAAI,CAACxB,sCAAL,CAA4ClgE,CAA5C,EAA+C+hE,qBAA/C,GAAqE,IAArE;AACD;;AACD,sBAAG,QAAI,CAAC7B,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,SAA7D,IAA0E,QAAI,CAACigB,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA4D,SAAzI,EAA4K;AAC1K,4BAAI,CAACxB,sCAAL,CAA4ClgE,CAA5C,EAA+C+hE,qBAA/C,GAAqE,IAArE;AACD;AACA;AACA,eArDkE,CAsDnE;;;AACA,kBAAG,CAAC,QAAI,CAAC7B,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,SAA7D,IAA0E,QAAI,CAACigB,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,iBAAxI,MACC,QAAI,CAACigB,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA4D,UAA5D,IAA0E,QAAI,CAACxB,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA4D,UADvI,CAAH,EACsJ;AACpJ,wBAAI,CAACxB,sCAAL,CAA4ClgE,CAA5C,EAA+C8iE,YAA/C,GAA4D,IAA5D;AACA,wBAAI,CAAC5C,sCAAL,CAA4ClgE,CAA5C,EAA+CgiE,eAA/C,GAA+D,IAA/D;AACD;AACF,aA/DqN,CAgEtN;;;AAEA,oBAAI,CAAClgE,WAAL,GAAmB,QAAI,CAACm+D,iCAAL,CAAuCloF,MAA1D;AACA,gBAAG,QAAI,CAACkoF,iCAAL,CAAuCloF,MAAvC,IAA+C,CAAlD,EACE,QAAI,CAAC+pB,WAAL,GAAiB,CAAjB;;AACF,gBAAG,QAAI,CAACA,WAAL,GAAkB,CAArB,EAAuB;AACrB,sBAAI,CAAC6X,UAAL,GAAgB,QAAI,CAACsmD,iCAAL,CAAuC,CAAvC,EAA0CsC,gBAA1D;;AACA,sBAAI,CAAC3oD,cAAL;AACD,aAHD,MAII;AACF,sBAAI,CAACD,UAAL,GAAgB,CAAhB;;AACA,sBAAI,CAACC,cAAL;AACD,aA5EqN,CA6EvN;;;AACC,oBAAI,CAACmpD,iBAAL,CAAuB,EAAvB,EAA0B,EAA1B;;AACA,oBAAI,CAAC1mE,QAAL,CAAc4E,IAAd,GA/EsN,CAgFtN;;AACD,WAjFD,EAiFG,UAAC/C,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAnFD;AAoFD;;;0EAK8C;AAAA;;AAC7C,eAAK0xE,yBAAL,CAA+BoD,mDAA/B,CAAmFzoF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAnF,EAAwHT,SAAxH,CAAkI,UAAA0nF,OAAO,EAAI;AAC3I,oBAAI,CAACf,2CAAL,GAAmDe,OAAnD;AACA,oBAAI,CAACd,iDAAL,GAAyD,QAAI,CAACD,2CAA9D;;AACA,oBAAI,CAAC//D,QAAL,CAAc,IAAd,EAAmB,IAAnB,EAAwB,IAAxB;AACD,WAJD;AAKD,S,CAID;;;;kEAC0Cw2B,Q,EAASyoB,Y,EAAaC,c,EAAeiiB,U,EAAWhiB,Q,EAASG,U,EAAWnoC,S,EAAW;AAAA;;AACvH;AACE;AACH,cAAGA,SAAS,IAAG,EAAf,EAAkB;AACjBA,qBAAS,GAAC,iBAAV;AACA;;AACD,cAAGgqD,UAAU,IAAE,CAAf,EAAiB;AAChBhiB,oBAAQ,GAAC,KAAKtmC,gBAAd;AACAymC,sBAAU,GAAC,CAAX;AACA,iBAAK/hD,WAAL,GAAiB,CAAjB;AACD;;AACC,eAAKqhE,yBAAL,CAA+BqD,6CAA/B,CAA6E1oF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA7E,EAAiH,KAAKg/D,UAAtH,EAAiIriB,QAAjI,EAA0I,KAAK+oC,QAA/I,EAAwJ,KAAKC,OAA7J,EAAqKvgB,YAArK,EAAkLC,cAAlL,EAAiMC,QAAjM,EAA0MG,UAA1M,EAAqNnoC,SAArN,EAAgO/9B,SAAhO,CAA0O,UAAA0nF,OAAO,EAAI;AACnP,oBAAI,CAAC3B,qCAAL,GAA6C2B,OAA7C;AACA,oBAAI,CAAC1B,0CAAL,GAAkD,QAAI,CAACD,qCAAvD;;AACA,iBAAI,IAAIngE,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,QAAI,CAACogE,0CAAL,CAAgDroF,MAA9D,EAAqEioB,CAAC,EAAtE,EAAyE;AAEvE,kBAAG,QAAI,CAACkjE,sBAAL,IAA+BpiE,SAAlC,EAA4C;AAC1C,oBAAG,QAAI,CAACoiE,sBAAL,CAA4BnrF,MAA5B,GAAqC,CAAxC,EAA0C;AACxC,uBAAK,IAAI0hC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACypD,sBAAL,CAA4BnrF,MAAhD,EAAwD0hC,CAAC,EAAzD,EAA6D;AAC7D,wBAAG,QAAI,CAACypD,sBAAL,CAA4BzpD,CAA5B,EAA+B+nD,UAA/B,IAA6C,QAAI,CAACpB,0CAAL,CAAgDpgE,CAAhD,EAAmDwhE,UAAnG,EAA8G;AAC5G,8BAAI,CAACpB,0CAAL,CAAgDpgE,CAAhD,EAAmDmjE,6BAAnD,GAAmF,IAAnF;AACD;AACF;AACF;AACF;;AAEC,kBAAG,CAAC,QAAI,CAACrkE,iBAAT,EAA2B;AACzB,oBAAG,CAAC,QAAI,CAACshE,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,CAAgE7vD,WAAhE,MAA+E,WAA/E,IAA8F,QAAI,CAACgwE,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,CAAgE7vD,WAAhE,MAA+E,SAA9K,KACC,QAAI,CAACgwE,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAgE,gBADpE,EACqF;AACnF,0BAAI,CAACtB,0CAAL,CAAgDpgE,CAAhD,EAAmD+hE,qBAAnD,GAAyE,IAAzE;AACD;;AACD,oBAAG,QAAI,CAAC3B,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAAjE,IAA8E,QAAI,CAACmgB,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAgE,gBAAjJ,EAAkK;AAChK,0BAAI,CAACtB,0CAAL,CAAgDpgE,CAAhD,EAAmD+hE,qBAAnD,GAAyE,KAAzE;AACA,0BAAI,CAAC3B,0CAAL,CAAgDpgE,CAAhD,EAAmDgiE,eAAnD,GAAmE,IAAnE;AACD;AACF,eATD,MAUK;AACH;AACA,oBAAG,QAAI,CAAC5B,0CAAL,CAAgDpgE,CAAhD,EAAmDiiE,eAAnD,IAAsE,CAAC,QAAI,CAACvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAA1E,EAAuJ;AACrJ,sBAAG,CAAC,QAAI,CAACulF,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,WAAjE,IAAgF,QAAI,CAACmgB,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAAlJ,KACA,QAAI,CAACmgB,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAgE,gBADnE,EACoF;AACpF,4BAAI,CAACtB,0CAAL,CAAgDpgE,CAAhD,EAAmD+hE,qBAAnD,GAAyE,IAAzE;AACA,4BAAI,CAAC3B,0CAAL,CAAgDpgE,CAAhD,EAAmDgiE,eAAnD,GAAmE,KAAnE;AACD;;AACD,sBAAG,QAAI,CAAC5B,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAAjE,IAA8E,QAAI,CAACmgB,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAgE,gBAAjJ,EAAkK;AAChK,4BAAI,CAACtB,0CAAL,CAAgDpgE,CAAhD,EAAmD+hE,qBAAnD,GAAyE,KAAzE;AACA,4BAAI,CAAC3B,0CAAL,CAAgDpgE,CAAhD,EAAmDgiE,eAAnD,GAAmE,IAAnE;AACD;;AACD,sBAAG,QAAI,CAAC5B,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,CAAgE7vD,WAAhE,MAA+E,SAA/E,IAA4F,QAAI,CAACgwE,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAiE,gBAAhK,EAA6L;AAC3L,4BAAI,CAACtB,0CAAL,CAAgDpgE,CAAhD,EAAmD+hE,qBAAnD,GAAyE,KAAzE;AACA,4BAAI,CAAC3B,0CAAL,CAAgDpgE,CAAhD,EAAmDgiE,eAAnD,GAAmE,IAAnE;AACD;AACF,iBAdC,MAeE;AACF;AACA,sBAAG,CAAC,QAAI,CAAC5B,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,WAAjE,IAAgF,QAAI,CAACmgB,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAAlJ,KACA,QAAI,CAACmgB,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAgE,gBADnE,EACoF;AACnF,4BAAI,CAACtB,0CAAL,CAAgDpgE,CAAhD,EAAmD+hE,qBAAnD,GAAyE,KAAzE;AACA,4BAAI,CAAC3B,0CAAL,CAAgDpgE,CAAhD,EAAmDgiE,eAAnD,GAAmE,IAAnE;AACD;;AACD,sBAAG,QAAI,CAAC5B,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAAjE,IAA8E,QAAI,CAACmgB,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAgE,gBAAjJ,EAAkK;AAChK,4BAAI,CAACtB,0CAAL,CAAgDpgE,CAAhD,EAAmD+hE,qBAAnD,GAAyE,IAAzE;AACD;;AACD,sBAAG,QAAI,CAAC3B,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAAjE,IAA8E,QAAI,CAACmgB,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAgE,SAAjJ,EAAoL;AAClL,4BAAI,CAACtB,0CAAL,CAAgDpgE,CAAhD,EAAmD+hE,qBAAnD,GAAyE,IAAzE;AACD;;AACD,sBAAG,QAAI,CAAC3B,0CAAL,CAAgDpgE,CAAhD,EAAmDiiE,eAAnD,IAAsE,CAAC,QAAI,CAACvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAA1E,EAAuJ;AACrJ,wBAAG,CAAC,QAAI,CAACulF,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,WAAjE,IAAgF,QAAI,CAACmgB,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAAlJ,KACD,QAAI,CAACmgB,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAgE,gBADlE,EACmF;AACnF,8BAAI,CAACtB,0CAAL,CAAgDpgE,CAAhD,EAAmD+hE,qBAAnD,GAAyE,IAAzE;AACA,8BAAI,CAAC3B,0CAAL,CAAgDpgE,CAAhD,EAAmDgiE,eAAnD,GAAmE,KAAnE;AACD;AACA;AACD;AACD,eA5DuE,CA6DvE;;;AACA,kBAAG,CAAC,QAAI,CAAC5B,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAAjE,IAA8E,QAAI,CAACmgB,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,iBAAhJ,MACC,QAAI,CAACmgB,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAgE,UAAhE,IAA8E,QAAI,CAACtB,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAgE,UAD/I,CAAH,EAC8J;AAC5J,wBAAI,CAACtB,0CAAL,CAAgDpgE,CAAhD,EAAmD+hE,qBAAnD,GAAyE,IAAzE;AACA,wBAAI,CAAC3B,0CAAL,CAAgDpgE,CAAhD,EAAmDgiE,eAAnD,GAAmE,IAAnE;AACD;AACF,aAtEkP,CAwEnP;;;AACA,oBAAI,CAACoB,mBAAL;;AACA,gBAAG,QAAI,CAACjD,qCAAL,CAA2CpoF,MAA3C,IAAmD,CAAtD,EACE,QAAI,CAAC+pB,WAAL,GAAiB,CAAjB,CADF,KAGE,QAAI,CAACA,WAAL,GAAiB,QAAI,CAACq+D,qCAAL,CAA2CpoF,MAA5D;;AACF,gBAAG,QAAI,CAAC+pB,WAAL,GAAkB,CAArB,EAAuB;AACrB,sBAAI,CAAC6X,UAAL,GAAgB,QAAI,CAACwmD,qCAAL,CAA2C,CAA3C,EAA8CoC,gBAA9D;;AACA,sBAAI,CAAC3oD,cAAL;AACD,aAHD,MAII;AACF,sBAAI,CAACD,UAAL,GAAgB,CAAhB;;AACA,sBAAI,CAACC,cAAL;AACD;;AACD,oBAAI,CAACpb,YAAL,GAAkB,QAAI,CAACC,iBAAL,GAAyB,QAAI,CAAC0hE,qCAAL,CAA2CpoF,MAApE,GAA4E,CAA9F;;AACA,oBAAI,CAACskB,QAAL,CAAc4E,IAAd;AACD,WAxFD,EAwFG,UAAC/C,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WA1FD;AA2FD,S,CAED;;;;0CACkB;AAAA;;AAChB,eAAK0xE,yBAAL,CAA+ByD,gCAA/B,CAAgE9oF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAhE,EAAqGT,SAArG,CAA+G,UAAA0nF,OAAO,EAAI;AACxH,oBAAI,CAACjC,eAAL,GAAuBiC,OAAvB;AACA,oBAAI,CAAChC,oBAAL,GAA4B,QAAI,CAACD,eAAjC;AACA,oBAAI,CAACC,oBAAL,GAA4B,QAAI,CAACD,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAC,GAAG,EAAI;AAC9D,qBAAOA,GAAG,CAAC01B,eAAJ,IAAuB,UAA9B;AACA,aAF2B,CAA5B;AAGD,WAND,EAMG,UAACp4B,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WARD;AASD,S,CAMD;;;;iCACS23D,Q,EAASC,M,EAAO5kD,Y,EAAc;AAAA;;AACrC;AACA,eAAK7E,QAAL,CAAcwB,IAAd;;AACA,eAAKoiD,YAAL,GAAoB,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5D;AACA,eAAKqjB,WAAL,GAAiB,KAAK1D,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAzD;AAEA,cAAIU,QAAQ,GAAG,KAAKvC,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAkK,CAAC;AAAA,mBAAIA,CAAC,CAAC3J,YAAF,KAAmBA,YAAvB;AAAA,WAA7B,EAAkE,CAAlE,CAAf;;AACA,cAAGkhE,QAAQ,IAAEthE,SAAb,EAAuB;AACrB,iBAAK+4C,UAAL,GAAkB,CAAlB;AACD,WAFD,MAGI;AACF,iBAAKA,UAAL,GAAkBuoB,QAAQ,CAACt3D,QAA3B;AACD;;AAED,cAAI+6C,QAAQ,IAAI,EAAZ,IAAkBA,QAAQ,IAAE,IAAhC,EAAsC;AACpC,iBAAKA,QAAL,GAAgB,KAAKhuC,sBAAL,CAA4BrnB,MAA5B,CAAmCq1D,QAAQ,CAACjkD,UAAT,CAAoBle,IAAvD,CAAhB;AACD,WAFD,MAGK;AACH,iBAAKmiE,QAAL,GAAgB,EAAhB;AACD;;AACD,cAAIC,MAAM,IAAI,EAAV,IAAgBA,MAAM,IAAE,IAA5B,EAAkC;AAChC,iBAAKA,MAAL,GAAc,KAAKjuC,sBAAL,CAA4BrnB,MAA5B,CAAmCs1D,MAAM,CAAClkD,UAAP,CAAkBle,IAArD,CAAd;AACD,WAFD,MAGK;AACH,iBAAKoiE,MAAL,GAAc,EAAd;AACD,WAzBoC,CA0BrC;AACA;AACA;;;AACA,eAAKluC,kBAAL,CAAwBgB,QAAxB,GAAmC,EAAnC;AACA,eAAKhB,kBAAL,CAAwBkF,cAAxB,GAAyC,EAAzC;AACA,eAAKlF,kBAAL,CAAwB0F,mBAAxB,GAA8C,CAA9C;;AACA,eAAK1F,kBAAL,CAAwB2F,UAAxB;;AACA,eAAKhf,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAnB;AACA,eAAKJ,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAd;AACA,eAAKG,eAAL,GAAuB,IAAvB;;AACA,cAAI,KAAK6nD,UAAL,IAAmB,KAAvB,EAA8B;AAE1B,gBAAI,KAAKxmB,UAAL,GAAkB,CAAtB,EAAyB;AACvB,mBAAKqmB,sCAAL,GAA8C,KAAKD,iCAAL,CAAuCt/D,MAAvC,CAA8C,UAAAC,GAAG,EAAI;AAAE,uBAAOA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACy3C,UAA9B;AAA2C,eAAlG,CAA9C;AACD,aAFD,MAGK;AACH,mBAAKqmB,sCAAL,GAA8C,KAAKD,iCAAnD;AACD,aAPyB,CAQzB;;;AACD,gBAAIpa,QAAQ,IAAI,IAAZ,IAAoBA,QAAQ,IAAI,EAApC,EAAwC;AACtC,mBAAKqa,sCAAL,GAA8C,KAAKA,sCAAL,CAA4Cv/D,MAA5C,CAAmD,UAAAC,GAAG,EAAI;AACtG,uBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACX,QAA9B;AACD,eAF6C,CAA9C;AAGD;;AACD,gBAAIC,MAAM,IAAI,IAAV,IAAkBA,MAAM,IAAI,EAAhC,EAAoC;AAClC,mBAAKoa,sCAAL,GAA8C,KAAKA,sCAAL,CAA4Cv/D,MAA5C,CAAmD,UAAAC,GAAG,EAAI;AACtG,uBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACV,MAA9B;AACD,eAF6C,CAA9C;AAGD,aAlByB,CAmB1B;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACD;AACC;AACA;AACA;;;AAIA,gBAAIl7C,IAAI,GAAG,KAAKs1D,sCAAL,CAA4Cv/D,MAA5C,CAAmD,UAAAC,GAAG,EAAI;AACnE,qBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB,WAAvB,CAAP;AACD,aAFU,CAAX;;AAIA,gBAAG,CAAC,KAAK0+C,YAAL,IAAqB,WAArB,IAAoC,KAAKA,YAAL,IAAqB,EAA1D,KAAiEr1C,IAAI,CAAC7yB,MAAL,GAAc,CAAlF,EAAoF;AAClF,mBAAKwrF,aAAL,GAAqB,KAArB;AACD,aAFD,MAGI;AACF,mBAAKA,aAAL,GAAqB,IAArB;AACD;;AAEH,gBAAG1d,QAAQ,IAAG,EAAX,IAAiBC,MAAM,IAAI,EAA3B,IAAiC,KAAKua,UAAL,IAAmB,KAApD,IAA6D,KAAKxmB,UAAL,IAAiB,IAA9E,IAAsF,KAAKoG,YAAL,IAAmB,EAA5G,EACA;AACE,mBAAKxhD,iBAAL,GAAyB,CAAzB;AACA,mBAAKD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAqB,KAAKH,MAAL,CAAYC,YAAjC,CAHF,CAIE;;AACA,mBAAKwD,WAAL,GAAmB,KAAKo+D,sCAAL,CAA4CnoF,MAA/D;AACA,mBAAKiqB,WAAL,GAAmB,oBAAmB,KAAKi+D,iCAAL,CAAuCloF,MAA1D,GAAkE,iBAArF;AACD,aARD,MASI;AACF,mBAAK0mB,iBAAL,GAAyB,CAAzB;AACA,mBAAKD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAqB,KAAKH,MAAL,CAAYC,YAAjC,CAHE,CAIF;;AACA,mBAAKwD,WAAL,GAAmB,KAAKm+D,iCAAL,CAAuCloF,MAA1D;AACA,mBAAKiqB,WAAL,GAAmB,EAAnB;AAED;AAEF,WAnED,MAqEM,IAAI,KAAKq+D,UAAL,IAAmB,UAAvB,EAAmC;AAEvC,gBAAG,KAAKY,oBAAL,IAA2B,KAA9B,EAAoC;AAClC,mBAAKuC,uBAAL,CAA6B,KAAK3pB,UAAlC,EAA6C,KAAKgM,QAAlD,EAA2D,KAAKC,MAAhE,EAAuE,KAAK8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA/G,EAA4H,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAApK,EAAgL,KAAKvpD,SAArL,EAA+L,CAA/L,EAAiM,CAAjM,EAAmM,EAAnM;AAED,aAHD,MAIM,IAAG,KAAK8oD,oBAAL,IAA2B,IAA9B,EAAoC;AACxC,kBAAI,KAAKpnB,UAAL,GAAkB,CAAtB,EAAyB;AACvB,qBAAK+mB,+BAAL,GAAuC,KAAKD,yBAAL,CAA+BhgE,MAA/B,CAAsC,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACy3C,UAA9B;AAA2C,iBAA1F,CAAvC;AACD,eAFD,MAGK;AACH,qBAAK+mB,+BAAL,GAAuC,KAAKD,yBAA5C;AACD;;AACD,kBAAI9a,QAAQ,IAAI,IAAZ,IAAoBA,QAAQ,IAAI,EAApC,EAAwC;AACtC,qBAAK+a,+BAAL,GAAuC,KAAKA,+BAAL,CAAqCjgE,MAArC,CAA4C,UAAAC,GAAG,EAAI;AACxF,yBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACX,QAA9B;AACD,iBAFsC,CAAvC;AAGD;;AACD,kBAAIC,MAAM,IAAI,IAAV,IAAkBA,MAAM,IAAI,EAAhC,EAAoC;AAClC,qBAAK8a,+BAAL,GAAuC,KAAKA,+BAAL,CAAqCjgE,MAArC,CAA4C,UAAAC,GAAG,EAAI;AACxF,yBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACV,MAA9B;AACD,iBAFsC,CAAvC;AAGD;;AACA,kBAAI,KAAKjM,UAAL,GAAkB,CAAtB,EAAyB;AACvB,qBAAK+mB,+BAAL,GAAuC,KAAKD,yBAAL,CAA+BhgE,MAA/B,CAAsC,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACy3C,UAA9B;AAA2C,iBAA1F,CAAvC;AACD,eAFD,MAGK;AACF,qBAAK+mB,+BAAL,GAAuC,KAAKD,yBAA5C;AACF,eAtBsC,CAuB1C;AAEA;AACA;AACA;AACA;AACA;;;AAEG,mBAAKC,+BAAL,GAAuC,KAAKA,+BAAL,CAAqCjgE,MAArC,CAA4C,UAAAC,GAAG,EAAI;AACxF,uBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB,QAAI,CAAC0+C,YAA5B,CAAP;AACD,eAFsC,CAAvC;AAGA,mBAAK2gB,+BAAL,GAAuC,KAAKA,+BAAL,CAAqCjgE,MAArC,CAA4C,UAAAC,GAAG,EAAI;AACxF,uBAAOA,GAAG,CAAC8gE,WAAJ,CAAgBngE,KAAhB,CAAsB,QAAI,CAAC+hE,WAA3B,CAAP;AACD,eAFsC,CAAvC;AAGF;;AACD,iBAAKrC,oBAAL,GAA0B,KAA1B,CA5CuC,CA+CrC;AACA;AAGF;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAED,WA/GK,MAgHD,IAAI,KAAKZ,UAAL,IAAmB,kBAAvB,EAA2C;AAC9C,gBAAG,KAAKY,oBAAL,IAA2B,KAA9B,EAAoC;AAClC,mBAAKwC,qCAAL,CAA2C,KAAK5pB,UAAhD,EAA2D,KAAKgM,QAAhE,EAAyE,KAAKC,MAA9E,EAAqF,KAAK8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA7H,EACE,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAD1C,EACsD,CADtD,EACwD,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EADxD,EAEE,KAAKkW,MAFP,EAEc,KAAKE,SAFnB;AAGD,aAJD,MAKM,IAAG,KAAK8oD,oBAAL,IAA2B,IAA9B,EAAmC;AACvC,kBAAI,KAAKpnB,UAAL,GAAkB,CAAtB,EAAyB;AACvB,qBAAKinB,6CAAL,GAAqD,KAAKD,uCAAL,CAA6ClgE,MAA7C,CAAoD,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACy3C,UAA9B;AAA2C,iBAAxG,CAArD;AACD,eAFD,MAGK;AACH,qBAAKinB,6CAAL,GAAqD,KAAKD,uCAA1D;AACD,eANsC,CAOrC;;;AACF,kBAAIhb,QAAQ,IAAI,IAAZ,IAAoBA,QAAQ,IAAI,EAApC,EAAwC;AACtC,qBAAKib,6CAAL,GAAqD,KAAKA,6CAAL,CAAmDngE,MAAnD,CAA0D,UAAAC,GAAG,EAAI;AACpH,yBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACX,QAA9B;AACD,iBAFoD,CAArD;AAGD;;AACD,kBAAIC,MAAM,IAAI,IAAV,IAAkBA,MAAM,IAAI,EAAhC,EAAoC;AAClC,qBAAKgb,6CAAL,GAAqD,KAAKA,6CAAL,CAAmDngE,MAAnD,CAA0D,UAAAC,GAAG,EAAI;AACpH,yBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACV,MAA9B;AACD,iBAFoD,CAArD;AAGD;AACF;;AACD,iBAAKmb,oBAAL,GAA0B,KAA1B,CAzB8C,CA0B5C;AACN;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACG,WAhGI,MAiGA,IAAI,KAAKZ,UAAL,IAAmB,sBAAvB,EAA+C;AAClD,gBAAG,KAAKY,oBAAL,IAA2B,KAA9B,EAAoC;AAClC,mBAAKyC,yCAAL,CAA+C,IAA/C,EAAoD,KAAK9D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5F,EAAyG,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAjJ,EAA6J,CAA7J,EAA+J,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA/J,EAAmM,KAAKkW,MAAxM,EAA+M,KAAKE,SAApN,EADkC,CAElC;AACA;AACA;AACA;AACA;AACA;AACD,aARD,MASK,IAAG,KAAK8oD,oBAAL,IAA2B,IAA9B,EAAmC;AACtC,kBAAI,KAAKpnB,UAAL,GAAkB,CAAtB,EAAyB;AACvB,qBAAKmnB,iDAAL,GAAyD,KAAKD,2CAAL,CAAiDpgE,MAAjD,CAAwD,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACy3C,UAA9B;AAA2C,iBAA5G,CAAzD;AACD,eAFD,MAGK;AACH,qBAAKmnB,iDAAL,GAAyD,KAAKD,2CAA9D;AACD,eANqC,CAUtC;AACA;AACA;AACA;AACA;AACA;AACN;;;AACM,kBAAI,KAAKR,QAAL,IAAiB,EAAjB,IAAuB,KAAKC,OAAL,IAAgB,EAA3C,EAA+C;AAC7C,oBAAImD,OAAO,GAAG,KAAKnD,OAAL,GAAe,GAAf,GAAqB,KAAKD,QAA1B,GAAqC,GAArC,GAA2C,IAAzD;AACA,oBAAIqD,KAAK,GAAG,mEAAWD,OAAX,EAAoB,QAApB,EAA8B,OAA9B,CAAZ;AACA,qBAAK3C,iDAAL,GAAyD,KAAKA,iDAAL,CAAuDrgE,MAAvD,CAA8D,UAAAC,GAAG,EAAI;AAC5H,yBAAOA,GAAG,CAAC4lD,UAAJ,CAAejlD,KAAf,CAAqBqiE,KAArB,CAAP;AACD,iBAFwD,CAAzD;AAGD,eAvBqC,CAyBtC;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,mBAAK5C,iDAAL,GAAyD,KAAKA,iDAAL,CAAuDrgE,MAAvD,CAA8D,UAAAC,GAAG,EAAI;AAC5H,uBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB,QAAI,CAAC0+C,YAA5B,CAAP;AACD,eAFwD,CAAzD;AAIA,mBAAK+gB,iDAAL,GAAyD,KAAKA,iDAAL,CAAuDrgE,MAAvD,CAA8D,UAAAC,GAAG,EAAI;AAC5H,uBAAOA,GAAG,CAAC8gE,WAAJ,CAAgBngE,KAAhB,CAAsB,QAAI,CAAC+hE,WAA3B,CAAP;AACD,eAFwD,CAAzD;AAGD;;AACD,iBAAKrC,oBAAL,GAA2B,KAA3B,CA3DkD,CA6DlD;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEE;AACA;AACA;AACA;AACA;AACA;AAEF;AAED,WAxboC,CAybrC;AACA;AACA;;;AAEA,eAAK3/D,WAAL,CAAiB,CAAjB;AAED;;;uCACaukD,Q,EAASC,M,EAAM;AAAA;;AAC5B,eAAKrnD,iBAAL;AACA,eAAKD,YAAL;;AAEE,cAAIqnD,QAAQ,IAAI,IAAZ,IAAoBA,QAAQ,IAAI,EAApC,EAAwC;AAC3C,iBAAK+a,+BAAL,GAAuC,KAAKA,+BAAL,CAAqCjgE,MAArC,CAA4C,UAAAC,GAAG,EAAI;AACxF,qBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACX,QAA9B;AACD,aAFsC,CAAvC;AAGD;;AACD,cAAIC,MAAM,IAAI,IAAV,IAAkBA,MAAM,IAAI,EAAhC,EAAoC;AAClC,iBAAK8a,+BAAL,GAAuC,KAAKA,+BAAL,CAAqCjgE,MAArC,CAA4C,UAAAC,GAAG,EAAI;AACxF,qBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACV,MAA9B;AACD,aAFsC,CAAvC;AAGD,WAb8B,CAc7B;AAEF;AACA;AACA;AACA;AACA;;;AAEA,eAAK8a,+BAAL,GAAuC,KAAKA,+BAAL,CAAqCjgE,MAArC,CAA4C,UAAAC,GAAG,EAAI;AACxF,mBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB,QAAI,CAAC0+C,YAA5B,CAAP;AACD,WAFsC,CAAvC;AAGA,eAAK2gB,+BAAL,GAAuC,KAAKA,+BAAL,CAAqCjgE,MAArC,CAA4C,UAAAC,GAAG,EAAI;AACxF,mBAAOA,GAAG,CAAC8gE,WAAJ,CAAgBngE,KAAhB,CAAsB,QAAI,CAAC+hE,WAA3B,CAAP;AACD,WAFsC,CAAvC;AAIA,cAAI14D,IAAI,GAAG,KAAKo1D,wBAAL,CAA8Br/D,MAA9B,CAAqC,UAAAC,GAAG,EAAI;AACrD,mBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB,WAAvB,CAAP;AACD,WAFU,CAAX;;AAIA,cAAG,CAAC,KAAK0+C,YAAL,IAAqB,WAArB,IAAoC,KAAKA,YAAL,IAAqB,EAA1D,KAAiEr1C,IAAI,CAAC7yB,MAAL,GAAc,CAAlF,EAAoF;AAClF,iBAAKwrF,aAAL,GAAqB,KAArB;AACD,WAFD,MAGI;AACF,iBAAKA,aAAL,GAAqB,IAArB;AACD;;AAED,eAAK/kE,YAAL,GAAkB,KAAKwhE,wBAAL,CAA8BjoF,MAAhD;AACA,cAAG,KAAKymB,YAAL,GAAmB,CAAtB,EACA,KAAKqlE,kBAAL,GAAwB,KAAxB,CADA,KAGA,KAAKA,kBAAL,GAAwB,IAAxB;;AAEA,cAAGhe,QAAQ,IAAG,EAAX,IAAiBC,MAAM,IAAI,EAA3B,IAAiC,KAAKua,UAAL,IAAmB,UAApD,IAAkE,KAAKiD,WAAL,IAAoB,EAAtF,IAA4F,KAAKzpB,UAAL,IAAiB,IAA7G,IAAqH,KAAKoG,YAAL,IAAmB,EAA3I,EACA;AACA,gBAAI,KAAKzhD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAArC,EAAmD;AACjD;AACC,mBAAKE,YAAL,GAAoB,KAAKA,YAAzB;AACA,mBAAKC,iBAAL,GAAyB,CAAzB;AACD,aAJF,MAKM;AACH,mBAAKD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAoB,KAAKH,MAAL,CAAYC,YAAhC;AACA,mBAAKG,iBAAL,GAAyB,CAAzB;AACD;;AACD,iBAAK6C,WAAL,CAAiB,KAAK2W,MAAtB,EAXD,CAYA;AACA;AACA;AACA;AACA;;AACA,gBAAG,KAAK8nD,mBAAL,CAAyBhoF,MAAzB,GAAkC,CAArC,EAAuC;AACrC,mBAAKiqB,WAAL,GAAoB,KAAKA,WAAL,GAAiB,KAAK+9D,mBAAL,CAAyB,CAAzB,EAA4BwC,gBAAjE;AACD,aAFD,MAIA,KAAKvgE,WAAL,GAAiB,GAAjB;AACC,WAvBD,MAwBI;AACJ,gBAAI,KAAKxD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAArC,EAAmD;AACjD;AACC,mBAAKE,YAAL,GAAoB,KAAKA,YAAzB;AACA,mBAAKC,iBAAL,GAAyB,CAAzB,CAHgD,CAIhD;;AACA,mBAAKuD,WAAL,GAAkB,EAAlB;AACD,aANF,MAOM;AACH,mBAAKxD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAoB,KAAKH,MAAL,CAAYC,YAAhC;AACA,mBAAKG,iBAAL,GAAyB,CAAzB,CAHG,CAIH;;AACA,mBAAKuD,WAAL,GAAkB,EAAlB;AACD,aAdE,CAeJ;AACA;AACA;AACA;AACA;AACA;;AAEC;AACE;;;0CACiB6jD,Q,EAASC,M,EAAM;AAAA;;AAC/B,cAAI,KAAKjM,UAAL,GAAkB,CAAtB,EAAyB;AACvB,iBAAKinB,6CAAL,GAAqD,KAAKD,uCAAL,CAA6ClgE,MAA7C,CAAoD,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACy3C,UAA9B;AAA2C,aAAxG,CAArD;AACD,WAFD,MAGK;AACH,iBAAKinB,6CAAL,GAAqD,KAAKD,uCAA1D;AACD,WAN8B,CAO9B;;;AACD,cAAIhb,QAAQ,IAAI,IAAZ,IAAoBA,QAAQ,IAAI,EAApC,EAAwC;AACtC,iBAAKib,6CAAL,GAAqD,KAAKA,6CAAL,CAAmDngE,MAAnD,CAA0D,UAAAC,GAAG,EAAI;AACpH,qBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACX,QAA9B;AACD,aAFoD,CAArD;AAGD;;AACD,cAAIC,MAAM,IAAI,IAAV,IAAkBA,MAAM,IAAI,EAAhC,EAAoC;AAClC,iBAAKgb,6CAAL,GAAqD,KAAKA,6CAAL,CAAmDngE,MAAnD,CAA0D,UAAAC,GAAG,EAAI;AACpH,qBAAOA,GAAG,CAAC4lD,UAAJ,IAAkB,QAAI,CAACV,MAA9B;AACD,aAFoD,CAArD;AAGD,WAjB8B,CAkB/B;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACJ;;;AACI,eAAKgb,6CAAL,GAAqD,KAAKA,6CAAL,CAAmDngE,MAAnD,CAA0D,UAAAC,GAAG,EAAI;AACpH,mBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB,QAAI,CAAC0+C,YAA5B,CAAP;AACD,WAFoD,CAArD;AAIA,eAAK6gB,6CAAL,GAAqD,KAAKA,6CAAL,CAAmDngE,MAAnD,CAA0D,UAAAC,GAAG,EAAI;AACpH,mBAAOA,GAAG,CAAC8gE,WAAJ,CAAgBngE,KAAhB,CAAsB,QAAI,CAAC+hE,WAA3B,CAAP;AACD,WAFoD,CAArD;AAIA,cAAI14D,IAAI,GAAG,KAAKs1D,sCAAL,CAA4Cv/D,MAA5C,CAAmD,UAAAC,GAAG,EAAI;AACnE,mBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB,WAAvB,CAAP;AACD,WAFU,CAAX;;AAIA,cAAG,CAAC,KAAK0+C,YAAL,IAAqB,WAArB,IAAoC,KAAKA,YAAL,IAAqB,EAA1D,KAAiEr1C,IAAI,CAAC7yB,MAAL,GAAc,CAAlF,EAAoF;AAClF,iBAAKwrF,aAAL,GAAqB,KAArB;AACD,WAFD,MAGI;AACF,iBAAKA,aAAL,GAAqB,IAArB;AACD;;AACH,eAAK/kE,YAAL,GAAkB,KAAK0hE,sCAAL,CAA4CnoF,MAA9D;AACA,cAAG,KAAKymB,YAAL,GAAmB,CAAtB,EACA,KAAKslE,eAAL,GAAqB,KAArB,CADA,KAGA,KAAKA,eAAL,GAAqB,IAArB;;AAEA,cAAGje,QAAQ,IAAG,EAAX,IAAiBC,MAAM,IAAI,EAA3B,IAAiC,KAAKua,UAAL,IAAmB,kBAApD,IAA2E,KAAKiD,WAAL,IAAkB,EAA7F,IAAmG,KAAKzpB,UAAL,IAAiB,IAApH,IAA4H,KAAKoG,YAAL,IAAmB,EAAlJ,EACA;AACE,gBAAI,KAAKzhD,YAAL,IAAqB,KAAKH,MAAL,CAAYC,YAArC,EAAmD;AACjD;AACC,mBAAKE,YAAL,GAAoB,KAAKA,YAAzB;AACA,mBAAKC,iBAAL,GAAyB,CAAzB;AACD,aAJF,MAKM;AACH,mBAAKD,YAAL,GAAoB,CAApB;AACA,mBAAKA,YAAL,GAAoB,KAAKH,MAAL,CAAYC,YAAhC;AACA,mBAAKG,iBAAL,GAAyB,CAAzB;AACD;;AACD,gBAAG,KAAKwhE,iCAAL,CAAuCloF,MAAvC,GAA8C,CAAjD,EAAmD;AAClD,mBAAKiqB,WAAL,GAAmB,KAAKi+D,iCAAL,CAAuC,CAAvC,EAA0CsC,gBAA7D;AACD,aAFA,MAEI;AACH,mBAAKvgE,WAAL,GAAmB,GAAnB;AACD,aAfH,CAgBE;AACA;AACA;AACA;AACA;AACA;;AACD,WAvBD,MAwBI,CACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAED;;AACD,eAAKV,WAAL,CAAiB,KAAK2W,MAAtB;AACC;;;8CACkB;AAAA;;AACjB,cAAI,KAAKsoD,QAAL,IAAiB,EAAjB,IAAuB,KAAKC,OAAL,IAAgB,EAA3C,EAA+C;AAC7C,gBAAImD,OAAO,GAAG,KAAKnD,OAAL,GAAe,GAAf,GAAqB,KAAKD,QAA1B,GAAqC,GAArC,GAA2C,IAAzD;AACA,gBAAIqD,KAAK,GAAG,mEAAWD,OAAX,EAAoB,QAApB,EAA8B,OAA9B,CAAZ;AACA,iBAAK3C,iDAAL,GAAyD,KAAKA,iDAAL,CAAuDrgE,MAAvD,CAA8D,UAAAC,GAAG,EAAI;AAC5H,qBAAOA,GAAG,CAAC4lD,UAAJ,CAAejlD,KAAf,CAAqBqiE,KAArB,CAAP;AACD,aAFwD,CAAzD;AAGD,WAPgB,CASjB;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,eAAK5C,iDAAL,GAAyD,KAAKA,iDAAL,CAAuDrgE,MAAvD,CAA8D,UAAAC,GAAG,EAAI;AAC5H,mBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB,QAAI,CAAC0+C,YAA5B,CAAP;AACD,WAFwD,CAAzD;AAIA,eAAK+gB,iDAAL,GAAyD,KAAKA,iDAAL,CAAuDrgE,MAAvD,CAA8D,UAAAC,GAAG,EAAI;AAC5H,mBAAOA,GAAG,CAAC8gE,WAAJ,CAAgBngE,KAAhB,CAAsB,QAAI,CAAC+hE,WAA3B,CAAP;AACD,WAFwD,CAAzD;AAIA,cAAI14D,IAAI,GAAG,KAAKw1D,0CAAL,CAAgDz/D,MAAhD,CAAuD,UAAAC,GAAG,EAAI;AACvE,mBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB,WAAvB,CAAP;AACD,WAFU,CAAX;;AAKA,cAAG,CAAC,KAAK0+C,YAAL,IAAqB,WAArB,IAAoC,KAAKA,YAAL,IAAqB,EAA1D,KAAiEr1C,IAAI,CAAC7yB,MAAL,GAAc,CAAlF,EAAoF;AAClF,iBAAKwrF,aAAL,GAAqB,KAArB;AACD,WAFD,MAGI;AACF,iBAAKA,aAAL,GAAqB,IAArB;AACD;;AAEH,eAAK/kE,YAAL,GAAkB,KAAK4hE,0CAAL,CAAgDroF,MAAlE;AACA,cAAG,KAAKymB,YAAL,GAAmB,CAAtB,EACE,KAAKulE,eAAL,GAAqB,KAArB,CADF,KAGE,KAAKA,eAAL,GAAqB,IAArB;AACD;;;+BACM;AAAE,eAAK1mE,SAAL,GAAiB,IAAjB;AAAwB;;;+BAC1B;AAAE,eAAKA,SAAL,GAAiB,KAAjB;AAAyB;;;kCACxB;AAAE,eAAKG,OAAL,GAAe,IAAf;AAAsB;;;kCACxB;AAAE,eAAKA,OAAL,GAAe,KAAf;AAAuB;;;oCACvB;AACV,eAAKC,YAAL,GAAoB,KAApB;AACD;;;0CAEiB;AAChB,eAAKI,IAAL;AACD,S,CAED;;;;iCACS;AAAA;;AAEP,eAAKoD,IAAL;;AACA,cAAI,KAAKo/D,UAAL,IAAmB,UAAvB,EAAmC;AACjC,gBAAIz1D,IAAI,GAAG,KAAKo1D,wBAAL,CAA8Br/D,MAA9B,CAAqC,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,WAA3B;AAAwC,aAAtF,CAAX;;AACA,gBAAIr1C,IAAI,CAAC7yB,MAAL,GAAc,CAAlB,EAAqB;AACnB,mBAAK6nF,yBAAL,CAA+BoE,iBAA/B,CAAiDzpF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjD,EAAsF,KAAKg/D,UAA3F,EAAuG,KAAKgM,QAA5G,EAAsH,KAAKC,MAA3H,EAAmI1rE,SAAnI,CAA6I,UAAA6pF,KAAK,EAAI;AACrJ;AACC,wBAAI,CAAClhE,UAAL,GAAkBkhE,KAAK,CAACliE,QAAN,KAAmB,+BAArC,CAFoJ,CAGpJ;;AACA,wBAAI,CAACtE,YAAL,GAAoB,KAApB;AACA,wBAAI,CAACD,OAAL,GAAe,IAAf,CALoJ,CAMpJ;;AACA,wBAAI,CAAC4L,YAAL;AACD,eARD,EAQG,UAAClL,GAAD,EAAS;AACV,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eAVD;AAWD,aAZD,MAaK;AACH,mBAAK6U,UAAL,GAAkB,uBAAlB,CADG,CAEH;;AACA,mBAAKtF,YAAL,GAAoB,IAApB;AACA,mBAAKD,OAAL,GAAe,KAAf;AACD;AACF,WArBD,MAsBK,IAAI,KAAK6iE,UAAL,IAAmB,kBAAvB,EAA2C;AAC9C,gBAAIz1D,IAAI,GAAG,KAAKs1D,sCAAL,CAA4Cv/D,MAA5C,CAAmD,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,WAA3B;AAAwC,aAApG,CAAX;;AACA,gBAAIr1C,IAAI,CAAC7yB,MAAL,GAAc,CAAlB,EAAqB;AACnB,mBAAK6nF,yBAAL,CAA+BsE,+BAA/B,CAA+D3pF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA/D,EAAoG,KAAKg/D,UAAzG,EAAqH,KAAKgM,QAA1H,EAAoI,KAAKC,MAAzI,EAAiJ1rE,SAAjJ,CAA2J,UAAA6pF,KAAK,EAAI;AACnK;AACC,wBAAI,CAAClhE,UAAL,GAAkBkhE,KAAK,CAACliE,QAAN,KAAmB,+BAArC,CAFkK,CAIlK;;AACA,wBAAI,CAACtE,YAAL,GAAoB,KAApB;AACA,wBAAI,CAACD,OAAL,GAAe,IAAf;;AACA,wBAAI,CAACimE,qCAAL,CAA2C,EAA3C,EAA8C,IAA9C,EAAmD,IAAnD,EAAwD,QAAI,CAAC7D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAhG,EAA6G,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAArJ,EAAiK,CAAjK,EAAmK,EAAnK,EAAsK,CAAtK,EAAwK,QAAI,CAACvpD,SAA7K;;AACA,wBAAI,CAAC/O,YAAL;AACD,eATD,EASG,UAAClL,GAAD,EAAS;AACV,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eAXD;AAYD,aAbD,MAcK;AACH,mBAAK6U,UAAL,GAAkB,uBAAlB,CADG,CAEH;;AACA,mBAAKtF,YAAL,GAAoB,IAApB;AACA,mBAAKD,OAAL,GAAe,KAAf;AACD;AACF,WAtBI,MAuBA,IAAI,KAAK6iE,UAAL,IAAmB,sBAAvB,EAA+C;AAClD,gBAAIz1D,IAAI,GAAG,KAAKw1D,0CAAL,CAAgDz/D,MAAhD,CAAuD,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,WAA3B;AAAwC,aAAxG,CAAX;;AACA,gBAAIr1C,IAAI,CAAC7yB,MAAL,GAAc,CAAlB,EAAqB;AACnB,mBAAK6nF,yBAAL,CAA+BuE,mCAA/B,CAAmE5pF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAnE,EAAwG,KAAKg/D,UAA7G,EAAyH,KAAKgM,QAA9H,EAAwI,KAAKC,MAA7I,EAAqJ1rE,SAArJ,CAA+J,UAAA6pF,KAAK,EAAI;AACvK;AACC,wBAAI,CAAClhE,UAAL,GAAkBkhE,KAAK,CAACliE,QAAN,KAAmB,+BAArC,CAFsK,CAItK;;AACA,wBAAI,CAACtE,YAAL,GAAoB,KAApB;AACA,wBAAI,CAACD,OAAL,GAAe,IAAf;;AACA,wBAAI,CAACkmE,yCAAL,CAA+C,IAA/C,EAAoD,QAAI,CAAC9D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5F,EAAyG,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAjJ,EAA6J,CAA7J,EAA+J,QAAI,CAACrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA/J,EAAmM,QAAI,CAACkW,MAAxM,EAA+M,QAAI,CAACE,SAApN;;AACA,wBAAI,CAAC/O,YAAL;AACD,eATD,EASG,UAAClL,GAAD,EAAS;AACV,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eAXD;AAYD,aAbD,MAcK;AACH,mBAAK6U,UAAL,GAAkB,uBAAlB,CADG,CAEH;;AACA,mBAAKtF,YAAL,GAAoB,IAApB;AACA,mBAAKD,OAAL,GAAe,KAAf;AACD;AACF;AAEF,S,CAED;;;;2CACmB;AAAA;;AACjB,eAAKoiE,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAuD,EAAvD;AACD,eAAK24C,UAAL,GAAgB,IAAhB;AACA,eAAK3hC,UAAL,GAAkB,EAAlB;AACA,eAAKA,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,eAAK2B,gBAAL,GAAsB,EAAtB;AACA,eAAK+lD,yBAAL,CAA+B17D,QAA/B,CAAwC09D,aAAxC,GAAsD,IAAtD,CANkB,CAOlB;AACA;AACC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AAEA,cAAI,KAAKvB,UAAL,IAAmB,UAAvB,EAAmC;AACjC,iBAAKC,sBAAL,GAA4B,KAA5B;AACA,iBAAKR,oBAAL,GAA4B,KAAKD,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAC,GAAG,EAAI;AAC7D,qBAAOA,GAAG,CAAC01B,eAAJ,IAAuB,UAA9B;AACD,aAF2B,EAEzB,UAACp4B,GAAD,EAAS;AACV,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aAJ2B,CAA5B;AAKA,iBAAKs1E,uBAAL,CAA6B,EAA7B,EAAgC,IAAhC,EAAqC,IAArC,EAA0C,WAA1C,EAAsD,EAAtD,EAAyD,KAAKrrD,SAA9D,EAAwE,CAAxE;AACD,WARD,MASK,IAAI,KAAKkoD,UAAL,IAAmB,kBAAvB,EAA2C;AAC9C,iBAAKoD,qCAAL,CAA2C,EAA3C,EAA8C,IAA9C,EAAmD,IAAnD,EAAwD,KAAK7D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAhG,EAA6G,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAArJ,EAAiK,CAAjK,EAAmK,EAAnK,EAAsK,CAAtK,EAAwK,KAAKvpD,SAA7K;AACA,iBAAKmoD,sBAAL,GAA4B,KAA5B;AACA,iBAAKR,oBAAL,GAA4B,KAAKD,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAC,GAAG,EAAI;AAC7D,qBAAOA,GAAG,CAAC01B,eAAJ,IAAuB,kBAA9B;AACD,aAF2B,EAEzB,UAACp4B,GAAD,EAAS;AACV,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aAJ2B,CAA5B;AAKD,WARI,MASA,IAAI,KAAKmyE,UAAL,IAAmB,sBAAvB,EAA+C;AAClD,iBAAKqD,yCAAL,CAA+C,IAA/C,EAAoD,KAAK9D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5F,EAAyG,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAjJ,EAA6J,CAA7J,EAA+J,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA/J,EAAmM,KAAKkW,MAAxM,EAA+M,KAAKE,SAApN;AACA,iBAAKmoD,sBAAL,GAA4B,IAA5B;AACA,iBAAKR,oBAAL,GAA4B,KAAKD,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAC,GAAG,EAAI;AAC7D,qBAAOA,GAAG,CAAC01B,eAAJ,IAAuB,sBAA9B;AACD,aAF2B,EAEzB,UAACp4B,GAAD,EAAS;AACV,sBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,aAJ2B,CAA5B,CAHkD,CAQlD;AACD;;AAEH,eAAK0pB,kBAAL,CAAwBgB,QAAxB,GAAmC,EAAnC;AACA,eAAKhB,kBAAL,CAAwBkF,cAAxB,GAAyC,EAAzC;AACA,eAAKlF,kBAAL,CAAwB0F,mBAAxB,GAA8C,CAA9C;;AACA,eAAK1F,kBAAL,CAAwB2F,UAAxB;;AACA,eAAKhf,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAnB;AACA,eAAKJ,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAd;AACA,eAAKG,eAAL,GAAuB,IAAvB;AACA,eAAKlX,WAAL,CAAiB,CAAjB;AACC;;;uCAEcgC,M,EAAOuiD,Q,EAASC,M,EAAO5kD,Y,EAAc;AAClD,eAAK2Y,gBAAL,GAAuBvW,MAAM,CAAC1uB,MAAP,CAAcsE,KAArC;AACA,eAAKslB,YAAL,GAAoB8E,MAAM,CAAC1uB,MAAP,CAAcsE,KAAlC;AACA,eAAKulB,iBAAL,GAAyB,CAAzB;AACA,eAAKF,WAAL,GAAmB,CAAnB;AACA,eAAKF,MAAL,GAAc;AACZC,wBAAY,EAAE,KAAKE,YADP;AAEZD,uBAAW,EAAE;AAFD,WAAd;AAIA,eAAK2Z,UAAL,GAAkB,EAAlB;AACA,eAAKA,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,eAAKN,kBAAL,CAAwB4C,oBAAxB,GAA+C,KAA/C;AACA,cAAG,KAAK6lD,UAAL,IAAmB,UAAtB,EACA,KAAKmD,uBAAL,CAA6BtiE,YAA7B,EAA0C2kD,QAA1C,EAAmDC,MAAnD,EAA0D,KAAK8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAlG,EACE,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAD1C,EACsD,KAAKvpD,SAD3D,EACqE,CADrE,EACuE,KAAKF,MAD5E,EACmF,KAAK5Z,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EADnF,EADA,KAGK,IAAI,KAAKs+D,UAAL,IAAmB,kBAAvB,EACL,KAAKoD,qCAAL,CAA2C,KAAK5pB,UAAhD,EAA2D,IAA3D,EAAgE,IAAhE,EAAqE,KAAK+lB,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA7G,EACE,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAD1C,EACsD,CADtD,EACwD,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EADxD,EAC4F,KAAKkW,MADjG,EACwG,KAAKE,SAD7G,EADK,KAGA,IAAG,KAAKkoD,UAAL,IAAmB,sBAAtB,EACL,KAAKqD,yCAAL,CAA+C,IAA/C,EAAoD,KAAK9D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5F,EACE,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAD1C,EACsD,CADtD,EACwD,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EADxD,EAC4F,KAAKkW,MADjG,EACwG,KAAKE,SAD7G;AAGD;;;yCAOcuC,Q,EAAS4mD,U,EAAWthB,Y,EAAY;AAAA;;AAC/C,eAAK3jD,QAAL,CAAcwB,IAAd;;AACA,eAAKojE,oBAAL,GAA0B,IAA1B;;AACA,cAAGK,UAAU,IAAE,UAAf,EAA0B;AACxB,iBAAK1B,yBAAL,CAA+BiC,8BAA/B,CAA8DtnF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA9D,EAAmGT,SAAnG,CAA6G,UAAA0nF,OAAO,EAAI;AACtH,sBAAI,CAACnB,yBAAL,GAAiCmB,OAAjC;AACA,sBAAI,CAAClB,+BAAL,GAAuC,QAAI,CAACD,yBAA5C;;AAEA,sBAAI,CAAC3/D,QAAL,CAAc,QAAI,CAAC4+D,yBAAL,CAA+B17D,QAA/B,CAAwC2hD,QAAtD,EACE,QAAI,CAAC+Z,yBAAL,CAA+B17D,QAA/B,CAAwC4hD,MAD1C,EACiD9F,YADjD;;AAEAtgE,qBAAO,CAACC,GAAR,CAAY,QAAI,CAACihF,+BAAjB;AACAphF,wBAAU,CAAC,YAAM;AACf,wBAAI,CAAC4kF,kBAAL,CAAwB1pD,QAAxB,EAAiC4mD,UAAjC;;AACA,wBAAI,CAACjlE,QAAL,CAAc4E,IAAd;AACA,eAHQ,EAGN,GAHM,CAAV;AAID,aAXD;AAYD,WAbD,MAcK,IAAGqgE,UAAU,IAAE,kBAAf,EAAkC;AACrC,iBAAK1B,yBAAL,CAA+B8C,+CAA/B,CAA+EnoF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA/E,EAAoHT,SAApH,CAA8H,UAAA0nF,OAAO,EAAI;AACvI,sBAAI,CAACjB,uCAAL,GAA+CiB,OAA/C;AACA,sBAAI,CAAChB,6CAAL,GAAqD,QAAI,CAACD,uCAA1D;;AACA,sBAAI,CAAC7/D,QAAL,CAAc,IAAd,EAAmB,IAAnB,EAAwBg/C,YAAxB;;AACAxgE,wBAAU,CAAC,YAAM;AACf,wBAAI,CAAC4kF,kBAAL,CAAwB1pD,QAAxB,EAAiC4mD,UAAjC;;AACA,wBAAI,CAACjlE,QAAL,CAAc4E,IAAd;AACA,eAHQ,EAGN,GAHM,CAAV;AAID,aARD;AASD,WAVI,MAWA,IAAGqgE,UAAU,IAAE,sBAAf,EAAsC;AACzC,iBAAK1B,yBAAL,CAA+BoD,mDAA/B,CAAmFzoF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAnF,EAAwHT,SAAxH,CAAkI,UAAA0nF,OAAO,EAAI;AAC3I,sBAAI,CAACf,2CAAL,GAAmDe,OAAnD;AACA,sBAAI,CAACd,iDAAL,GAAyD,QAAI,CAACD,2CAA9D;;AACA,sBAAI,CAAC//D,QAAL,CAAc,IAAd,EAAmB,IAAnB,EAAwBg/C,YAAxB;;AACAxgE,wBAAU,CAAC,YAAM;AACf,wBAAI,CAAC4kF,kBAAL,CAAwB1pD,QAAxB,EAAiC4mD,UAAjC;;AACA,wBAAI,CAACjlE,QAAL,CAAc4E,IAAd;AACA,eAHQ,EAGN,GAHM,CAAV;AAID,aARD;AASD;AACF;;;2CAEkByZ,Q,EAAS4mD,U,EAAU;AAEpC,cAAGA,UAAU,IAAE,UAAf,EAA0B;AACxB,iBAAK+C,YAAL,GAAkB,KAAKC,eAAvB;AACD;;AACA,cAAGhD,UAAU,IAAE,kBAAf,EAAkC;AACjC,iBAAK+C,YAAL,GAAkB,KAAKE,uBAAvB;AACA;;AACD,cAAGjD,UAAU,IAAE,sBAAf,EAAsC;AACrC,iBAAK+C,YAAL,GAAkB,KAAKG,2BAAvB;AACA;;AACD,cAAG9pD,QAAQ,KAAK,OAAhB,EAAwB;AACvB,iBAAKC,QAAL,GAAe,yBAAf,CADuB,CAEtB;;AACD,gBAAMC,EAAE,GAAmB,2CAAWC,cAAX,CAA0B,KAAKwpD,YAAL,CAAkBtpD,aAA5C,CAA3B;AACA;;AACA,gBAAMC,EAAE,GAAkB,2CAAWC,QAAX,EAA1B;AACA,uDAAWC,iBAAX,CAA6BF,EAA7B,EAAiCJ,EAAjC,EAAqC,QAArC;AACA,2DAAeI,EAAf,EAAmB,KAAKL,QAAxB;AACD;;AACD,cAAGD,QAAQ,KAAK,KAAhB,EAAsB;AACpB,iBAAKC,QAAL,GAAgB,wBAAhB;;AACA,gBAAG2mD,UAAU,IAAE,KAAf,EAAqB;AAAC,kBAAIvhE,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,iBAAxB,CAAV;AAAsD;;AAC5E,gBAAG6zD,UAAU,IAAE,UAAf,EAA0B;AACxB,kBAAIvhE,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,iBAAxB,CAAV;AACA,kBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,yHAAuHrb,GAAG,CAACsb,SAA3H,GAAqI,UAAtI,CAAT,EAA4J;AACrKrgC,oBAAI,EAAE;AAD+J,eAA5J,CAAX;AAGA,wEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;;AACD,gBAAG2mD,UAAU,IAAE,kBAAf,EAAkC;AAChC,kBAAIvhE,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,yBAAxB,CAAV;AACA,kBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,6IAA2Irb,GAAG,CAACsb,SAA/I,GAAyJ,UAA1J,CAAT,EAAgL;AACzLrgC,oBAAI,EAAE;AADmL,eAAhL,CAAX;AAGA,wEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD;;AACD,gBAAG2mD,UAAU,IAAE,sBAAf,EAAsC;AACpC,kBAAIvhE,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,6BAAxB,CAAV;AACA,kBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,iJAA+Irb,GAAG,CAACsb,SAAnJ,GAA6J,UAA9J,CAAT,EAAoL;AAC7LrgC,oBAAI,EAAE;AADuL,eAApL,CAAX;AAGA,wEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AACD,aAvBmB,CAyBtB;;AAEC;;AACD,cAAGD,QAAQ,KAAK,MAAhB,EAAuB;AACrB,iBAAKC,QAAL,GAAgB,yBAAhB;;AACA,gBAAG2mD,UAAU,IAAE,KAAf,EAAqB;AACnB,kBAAIvhE,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,iBAAxB,CAAV;AACD;;AACD,gBAAG6zD,UAAU,IAAE,UAAf,EAA0B;AAAC,kBAAIvhE,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,iBAAxB,CAAV;AAC3B,kBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,yHAAuHrb,GAAG,CAACsb,SAA3H,GAAqI,UAAtI,CAAT,EAA4J;AACrKrgC,oBAAI,EAAE;AAD+J,eAA5J,CAAX;AAGA,wEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AAA6B;;AAC7B,gBAAG2mD,UAAU,IAAE,kBAAf,EAAkC;AAAC,kBAAIvhE,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,yBAAxB,CAAV;AACnC,kBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,4IAA0Irb,GAAG,CAACsb,SAA9I,GAAwJ,UAAzJ,CAAT,EAA+K;AACxLrgC,oBAAI,EAAE;AADkL,eAA/K,CAAX;AAGA,wEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AAA6B;;AAC7B,gBAAG2mD,UAAU,IAAE,sBAAf,EAAsC;AAAC,kBAAIvhE,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,6BAAxB,CAAV;AACvC,kBAAI0N,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAAC,kJAAgJrb,GAAG,CAACsb,SAApJ,GAA8J,UAA/J,CAAT,EAAqL;AAC9LrgC,oBAAI,EAAE;AADwL,eAArL,CAAX;AAGA,wEAAOmgC,IAAP,EAAa,KAAKR,QAAlB;AAA6B;AAE9B;;AAED,cAAGD,QAAQ,KAAK,KAAhB,EAAsB;AACpB,gBAAIY,IAAI,GAAG,KAAK+oD,YAAL,CAAkBtpD,aAA7B;;AACA,gBAAGumD,UAAU,IAAE,KAAf,EAAqB;AAAC,kBAAIvhE,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,iBAAxB,CAAV;AAAsD;;AAC5E,gBAAG6zD,UAAU,IAAE,UAAf,EAA0B;AAAC,kBAAIvhE,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,iBAAxB,CAAV;AAC3B,kBAAI+N,GAAG,GAAG,IAAI,kCAAJ,CAAU,GAAV,EAAc,IAAd,EAAmB,CAAC,IAAD,EAAM,IAAN,CAAnB,CAAV;AACA,kBAAIL,IAAI,GAAG,IAAIC,IAAJ,CAAS,EAAT,EAAa,EAAb,CAAX;AAEA,kBAAIK,aAAa,GAAG;AAClB,2BAAU,gBAAS99B,OAAT,EAAiB+9B,QAAjB,EAAyB;AACjC,yBAAO,IAAP;AACD;AAHiB,eAApB;AAKAF,iBAAG,CAACG,QAAJ,CAAa,uHAAqHL,IAAI,CAACD,SAA1H,GAAoI,UAAjJ,EAA4J,EAA5J,EAA+J,EAA/J,EAAkK;AAChK,yBAAQ,IADwJ;AAEhK,mCAAmBI;AAF6I,eAAlK;AAIAD,iBAAG,CAACI,IAAJ,CAAS,wBAAT;AAAmC;;AACnC,gBAAG0lD,UAAU,IAAE,kBAAf,EAAkC;AAAC,kBAAIvhE,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,yBAAxB,CAAV;;AACnC,kBAAI+N,IAAG,GAAG,IAAI,kCAAJ,CAAU,GAAV,EAAc,IAAd,EAAmB,CAAC,IAAD,EAAM,IAAN,CAAnB,CAAV;;AACA,kBAAIL,IAAI,GAAG,IAAIC,IAAJ,CAAS,EAAT,EAAa,EAAb,CAAX;AAEA,kBAAIK,cAAa,GAAG;AAClB,2BAAU,gBAAS99B,OAAT,EAAiB+9B,QAAjB,EAAyB;AACjC,yBAAO,IAAP;AACD;AAHiB,eAApB;;AAKAF,kBAAG,CAACG,QAAJ,CAAa,0IAAwIL,IAAI,CAACD,SAA7I,GAAuJ,UAApK,EAA+K,EAA/K,EAAkL,EAAlL,EAAqL;AACnL,yBAAQ,IAD2K;AAEnL,mCAAmBI;AAFgK,eAArL;;AAIAD,kBAAG,CAACI,IAAJ,CAAS,wBAAT;AAAmC;;AACnC,gBAAG0lD,UAAU,IAAE,sBAAf,EAAsC;AAAC,kBAAIvhE,GAAG,GAAGtX,QAAQ,CAACglB,cAAT,CAAwB,6BAAxB,CAAV;;AACvC,kBAAI+N,KAAG,GAAG,IAAI,kCAAJ,CAAU,GAAV,EAAc,IAAd,EAAmB,CAAC,IAAD,EAAM,IAAN,CAAnB,CAAV;;AACA,kBAAIL,IAAI,GAAG,IAAIC,IAAJ,CAAS,EAAT,EAAa,EAAb,CAAX;AAEA,kBAAIK,eAAa,GAAG;AAClB,2BAAU,gBAAS99B,OAAT,EAAiB+9B,QAAjB,EAAyB;AACjC,yBAAO,IAAP;AACD;AAHiB,eAApB;;AAKAF,mBAAG,CAACG,QAAJ,CAAa,gJAA8IL,IAAI,CAACD,SAAnJ,GAA6J,UAA1K,EAAqL,EAArL,EAAwL,EAAxL,EAA2L;AACzL,yBAAQ,IADiL;AAEzL,mCAAmBI;AAFsK,eAA3L;;AAIAD,mBAAG,CAACI,IAAJ,CAAS,wBAAT;AAAmC,aA5Cf,CA8CrB;;AAED;AACD;AAGC;;;;iDACyBrY,K,EAAOC,G,EAAK;AAEnC,cAAI,KAAKC,iBAAL,KAA2BF,KAA/B,EAAsC;AACpC,iBAAKxG,cAAL,GAAsB,CAAC,KAAKA,cAA5B;AAEA0lE,oCAAwB,CAACj/D,GAAD,EAAM,KAAKzG,cAAX,CAAxB;AACD,WAJD,MAKK;AACH,iBAAK0G,iBAAL,GAAyBF,KAAzB;AACA,iBAAKxG,cAAL,GAAsB,IAAtB;AAEA0lE,oCAAwB,CAACj/D,GAAD,EAAM,KAAKzG,cAAX,CAAxB;AACD;;AACD,cAAI,KAAKA,cAAT,EAAyB;AACvB,iBAAKijE,wBAAL,GAAgC,KAAKA,wBAAL,CAA8Bt8D,IAA9B,CAAmC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAC3E,kBAAIL,KAAK,KAAK,eAAd,EAA+B;AAC7B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACH,eALD,MAMK,IAAIA,KAAK,IAAI,iBAAb,EAAgC;AACnC,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACH,eALI,MAMA,IAAGA,KAAK,IAAG,aAAX,EAAyB;AAC5B,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAP;AACD,eALI,MAMA,IAAImT,KAAK,IAAI,SAAb,EAAwB;AAC3B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACH,eALI,MAMA;AACH,oBAAII,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACH;;AACD,qBAAO,CAAP;AAED,aAjC+B,CAAhC;AAkCD,WAnCD,MAoCK;AACH,iBAAK4vE,wBAAL,GAAgC,KAAKA,wBAAL,CAA8Bt8D,IAA9B,CAAmC,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAC3E,kBAAIL,KAAK,KAAK,eAAd,EAA+B;AAC7B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACH,eALD,MAMK,IAAIA,KAAK,IAAI,iBAAb,EAAgC;AACnC,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACH,eALI,MAMA,IAAGA,KAAK,IAAG,aAAX,EAAyB;AAC5B,oBAAII,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAP;AACA,oBAAIuT,CAAC,CAAC,aAAD,CAAD,CAAiBvT,WAAjB,KAAiCwT,CAAC,CAAC,aAAD,CAAD,CAAiBxT,WAAjB,EAArC,EACA,OAAO,CAAC,CAAR;AACD,eALI,MAMA,IAAImT,KAAK,IAAI,SAAb,EAAwB;AAC3B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACH,eALI,MAMA;AACH,oBAAII,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACH;;AACD,qBAAO,CAAP;AACD,aAhC+B,CAAhC;AAiCD;AAEF;AAED;;;;sDAC8BmT,K,EAAOC,G,EAAK;AAExC,cAAI,KAAKC,iBAAL,KAA2BF,KAA/B,EAAsC;AACpC,iBAAKxG,cAAL,GAAsB,CAAC,KAAKA,cAA5B;AAEA0nE,sCAA0B,CAACjhE,GAAD,EAAM,KAAKzG,cAAX,CAA1B;AACD,WAJD,MAKK;AACH,iBAAK0G,iBAAL,GAAyBF,KAAzB;AACA,iBAAKxG,cAAL,GAAsB,IAAtB;AAEA0nE,sCAA0B,CAACjhE,GAAD,EAAM,KAAKzG,cAAX,CAA1B;AACD;;AACD,cAAI,KAAKA,cAAT,EAAyB;AACvB,iBAAKmjE,sCAAL,GAA8C,KAAKA,sCAAL,CAA4Cx8D,IAA5C,CAAiD,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACvG,kBAAIL,KAAK,KAAK,kBAAd,EAAkC;AAChC,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACH,eALD,MAMK,IAAIA,KAAK,KAAK,SAAd,EAAyB;AAC5B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACH,eALI,MAMA;AACH,oBAAII,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACH;;AACD,qBAAO,CAAP;AACD,aApB6C,CAA9C;AAqBD,WAtBD,MAuBK;AACH,iBAAK8vE,sCAAL,GAA8C,KAAKA,sCAAL,CAA4Cx8D,IAA5C,CAAiD,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACvG,kBAAIL,KAAK,KAAK,kBAAd,EAAkC;AAChC,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACH,eALD,MAMK,IAAIA,KAAK,KAAK,SAAd,EAAyB;AAC5B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACH,eALI,MAMA;AACH,oBAAII,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACH;;AACD,qBAAO,CAAP;AACD,aApB6C,CAA9C;AAqBD;AAEF;AACD;;;;wDACgCmT,K,EAAOC,G,EAAK;AAE1C,cAAI,KAAKC,iBAAL,KAA2BF,KAA/B,EAAsC;AACpC,iBAAKxG,cAAL,GAAsB,CAAC,KAAKA,cAA5B;AAEA2nE,wCAA4B,CAAClhE,GAAD,EAAM,KAAKzG,cAAX,CAA5B;AACD,WAJD,MAKK;AACH,iBAAK0G,iBAAL,GAAyBF,KAAzB;AACA,iBAAKxG,cAAL,GAAsB,IAAtB;AAEA2nE,wCAA4B,CAAClhE,GAAD,EAAM,KAAKzG,cAAX,CAA5B;AACD;;AAED,cAAI,KAAKA,cAAT,EAAyB;AACvB,iBAAKqjE,0CAAL,GAAkD,KAAKA,0CAAL,CAAgD18D,IAAhD,CAAqD,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAC/G,kBAAIL,KAAK,KAAK,kBAAd,EAAkC;AAChC,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACH,eALD,MAMK,IAAIA,KAAK,IAAI,SAAb,EAAwB;AAC3B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACH,eALI,MAMA;AACH,oBAAII,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACH;;AACD,qBAAO,CAAP;AACD,aApBiD,CAAlD;AAqBD,WAtBD,MAuBK;AACH,iBAAKgwE,0CAAL,GAAkD,KAAKA,0CAAL,CAAgD18D,IAAhD,CAAqD,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAC/G,kBAAIL,KAAK,KAAK,kBAAd,EAAkC;AAChC,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACH,eALD,MAMK,IAAIA,KAAK,IAAI,SAAb,EAAwB;AAC3B,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAP;AACF,oBAAIxoB,MAAM,CAAC4oB,CAAC,CAACJ,KAAD,CAAF,CAAN,GAAmBxoB,MAAM,CAAC6oB,CAAC,CAACL,KAAD,CAAF,CAA7B,EACE,OAAO,CAAC,CAAR;AACH,eALI,MAMA;AACH,oBAAII,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAP;AACF,oBAAIuT,CAAC,CAACJ,KAAD,CAAD,CAASnT,WAAT,KAAyBwT,CAAC,CAACL,KAAD,CAAD,CAASnT,WAAT,EAA7B,EACE,OAAO,CAAC,CAAR;AACH;;AACD,qBAAO,CAAP;AACD,aApBiD,CAAlD;AAqBD;AAEF;AACD;AAEA;;;;uCACY;AAAA;;AACV,eAAKwvE,yBAAL,CAA+BhyD,cAA/B,CAA8CrzB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA9C,EAAmFT,SAAnF,CAA6F,UAAAO,IAAI,EAAI;AAEnG,gBAAGA,IAAI,IAAI,GAAX,EAAe;AACb,sBAAI,CAACkzB,QAAL,GAAgBlzB,IAAhB;AACA,sBAAI,CAACmzB,gBAAL,GAAwB,IAAxB;AACA,sBAAI,CAACC,UAAL,GAAkB,QAAI,CAACpH,WAAL,CAAiB5E,QAAjB,GAA4B+H,KAA5B,CAAkC,OAAlC,CAAlB;AACA,sBAAI,CAACiE,UAAL,GAAkB,QAAI,CAACA,UAAL,CAAgB,CAAhB,CAAlB;AACA,sBAAI,CAACC,UAAL,GAAkB,4CAAlB;AACD,aAND,MAOI;AACF,sBAAI,CAACF,gBAAL,GAAwB,IAAxB;AACD;AACF,WAZD,EAYG,UAAC5P,GAAD,EAAS;AACV,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAdD;AAeD,S,CAED;;;;8CACsB;AAEpBrH,kBAAQ,CAAConB,IAAT,GAAc,mCAAC,CAAC,eAAD,CAAD,CAAmBC,IAAnB,CAAwB,MAAxB,CAAd;AACD;;;2CAEkB23C,Q,EAAQ;AACzB,cAAM7f,QAAQ,GAAC,IAAIptD,IAAJ,EAAf;;AACA,cAAGitE,QAAQ,IAAE,IAAb,EAAkB;AACb,gBAAIA,QAAQ,CAACjkD,UAAT,CAAoB6D,MAApB,GAA6BugC,QAAjC,EAA2C;AAC5C,mBAAKE,aAAL,GAAqB,IAArB;AACF,aAFG,MAEI;AACP,mBAAKA,aAAL,GAAqB,KAArB,CADO,CAER;AACC;AACD,WAPD,MAQI;AACD,iBAAKA,aAAL,GAAqB,KAArB;AACA,mBAAO,KAAKA,aAAZ;AACF;AACA,S,CAED;;;;0CACkBnK,K,EAAMC,K,EAAK;AACzB,cAAMgK,QAAQ,GAAC,IAAIptD,IAAJ,EAAf;;AACA,cAAImjD,KAAK,IAAI,IAAT,IAAiBC,KAAK,IAAG,IAA7B,EAAoC;AAClC,gBAAIA,KAAK,CAACp6B,UAAN,CAAiB6D,MAAlB,GAA6Bs2B,KAAK,CAACn6B,UAAN,CAAiB6D,MAAjD,EAAyD;AAC3D,mBAAKmvB,YAAL,GAAkB,2CAAlB;AACE,mBAAK+C,WAAL,GAAmB,KAAnB;AACD,aAHC,MAIE;AACF,mBAAK/C,YAAL,GAAkB,EAAlB;AACA,mBAAK+C,WAAL,GAAmB,IAAnB,CAFE,CAGJ;AACC;AACA,WAVD,MAWI;AACF,iBAAK/C,YAAL,GAAkB,EAAlB;AACA,iBAAK+C,WAAL,GAAmB,IAAnB;AACD;;AACH,iBAAO,KAAKA,WAAZ;AACJ;;;kCAEUzwC,K,EAAsB;AAE9B,cAAIyc,CAAC,GAAGzc,KAAK,CAAC+c,QAAN,IAAkB,CAAlB,IAAuB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAzC,IAA+C/c,KAAK,CAAC+c,QAAN,IAAkB,CAAlE,GAA0E,IAA1E,GAAiF/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlB,IAAwB/c,KAAK,CAAC+c,QAAN,IAAkB,EAAlI;AACF,iBAAON,CAAP;AACC;;;yCACa;AACZ,6CAAC,CAAC,WAAD,CAAD,CAAekZ,OAAf,CAAuB,OAAvB;AACD;;;4CACgB;AACf,6CAAC,CAAC,yBAAD,CAAD,CAA6BA,OAA7B,CAAqC,OAArC,EAA8ChwB,GAA9C,CAAkD,SAAlD,EAA4D,OAA5D;AACD,S,CACD;AACA;;;;6CACkB;AAAA;;AAChB,eAAKuP,WAAL,CAAiBuC,eAAjB,CAAiCpkB,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAjC,EAAqE,KAAKiM,MAAL,CAAYnS,GAAjF,EAAsFyF,SAAtF,CAAgG,UAAAwkB,UAAU,EAAE;AAC1G,oBAAI,CAACC,UAAL,GAAgBD,UAAU,CAAC,CAAD,CAA1B;AACA,oBAAI,CAACE,iBAAL,GAAyBF,UAAU,CAAC,CAAD,CAAV,CAAcG,aAAvC;AACA,oBAAI,CAACK,aAAL,GAAmB,QAAI,CAACP,UAAL,CAAgBQ,SAAnC,CAH0G,CAK3G;AACA;;AACA,gBAAG,QAAI,CAACP,iBAAR,EAA0B;AACxB,sBAAI,CAAC8gE,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAxC,GAAoD,SAApD;AACD,aAT0G,CAU3G;;;AACA,oBAAI,CAAC8B,uBAAL,CAA6B,EAA7B,EAAgC,IAAhC,EAAqC,IAArC,EAA0C,WAA1C,EAAsD,QAAI,CAAC5D,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAA9F,EAA0G,kBAA1G,EAX2G,CAY3G;AACA;;AACA,WAdD,EAeE,UAACxjE,GAAD,EAAS;AACT,oBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,WAjBD;AAmBD,S,CAED;;;;uCACY;AAAG,eAAKy2E,oBAAL,GAA0B,KAA1B;AACb,cAAIC,WAAW,GAAyBn8E,QAAQ,CAACglB,cAAT,CAAwB,iBAAxB,CAAxC;AACAm3D,qBAAW,CAAC1rF,KAAZ,GAAkB,EAAlB;AACC;;;uCACS;AAAG,eAAKyrF,oBAAL,GAA0B,IAA1B;AAAgC;;;2CAC/B;AAAG,eAAKE,yBAAL,GAA+B,KAA/B;AAAsC;;;4CACxC;AAAG,eAAKA,yBAAL,GAA+B,IAA/B;AAAqC;;;0CAC5C;AAAG,eAAKC,uBAAL,GAA6B,KAA7B;AAAoC;;;0CACvC;AAAG,eAAKC,kBAAL,GAAwB,KAAxB;AAA+B;;;sDACpB;AAAA;;AACzB,eAAK1oE,QAAL,CAAcwB,IAAd;;AACA,eAAK+hE,yBAAL,CAA+BiC,8BAA/B,CAA8DtnF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA9D,EAAmGT,SAAnG,CAA6G,UAAA0nF,OAAO,EAAI;AACtH,oBAAI,CAACnB,yBAAL,GAAiCmB,OAAjC;AACA,oBAAI,CAAClB,+BAAL,GAAuC,QAAI,CAACD,yBAA5C;AACAnhF,sBAAU,CAAC,YAAM;AACjB,sBAAI,CAACwlF,wBAAL;;AACE,sBAAI,CAAC3oE,QAAL,CAAc4E,IAAd;AACA,aAHQ,EAGN,GAHM,CAAV;AAID,WAPD;AAQD;;;mDAEuB;AAAA;;AAEtB,cAAI,KAAK++D,wBAAL,CAA8BjoF,MAA9B,GAAuC,CAA3C,EAA8C;AAC5C,iBAAK,IAAIioB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKggE,wBAAL,CAA8BjoF,MAAlD,EAA0DioB,CAAC,EAA3D,EAA+D;AAC7D,kBAAG,CAAC,KAAKggE,wBAAL,CAA8BhgE,CAA9B,EAAiCgiE,eAArC,EACA,IAAG,KAAKhC,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAAgD,EAAhD,IAAsD,KAAK5iE,iBAA9D,EAAgF;AAC9E,qBAAKkhE,wBAAL,CAA8BhgE,CAA9B,EAAiCsiE,kBAAjC,GAAsD,KAAK2C,gBAA3D;AACD,eAFD,MAGK,IAAG,CAAC,KAAKnmE,iBAAT,EAA2B;AAC9B,qBAAKkhE,wBAAL,CAA8BhgE,CAA9B,EAAiCsiE,kBAAjC,GAAsD,KAAK2C,gBAA3D;AACD;AACF;AACF,WAZqB,CActB;;;AAEA,cAAI7C,QAAQ,GAAG,KAAKvC,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAkK,CAAC;AAAA,mBAAIA,CAAC,CAAC3J,YAAF,KAAmB,QAAI,CAAC0+D,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAA/D;AAAA,WAA7B,EAA0G,CAA1G,CAAf;;AACA,cAAGkhE,QAAQ,IAAEthE,SAAb,EAAuB;AACrB,iBAAK+4C,UAAL,GAAkB,CAAlB;AACD,WAFD,MAGI;AACF,iBAAKA,UAAL,GAAkBuoB,QAAQ,CAACt3D,QAA3B;AACD;;AACD,cAAI,KAAK+uC,UAAL,GAAkB,CAAtB,EAAyB;AACvB,iBAAK+mB,+BAAL,GAAuC,KAAKD,yBAAL,CAA+BhgE,MAA/B,CAAsC,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACy3C,UAA9B;AAA2C,aAA1F,CAAvC;AACD,WAFD,MAGK;AACF,iBAAK+mB,+BAAL,GAAuC,KAAKD,yBAA5C;AACF;;AACD,cAAIuE,aAAa,GAAC,KAAKtF,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA1D;AACA,eAAK2gB,+BAAL,GAAuC,KAAKA,+BAAL,CAAqCjgE,MAArC,CAA4C,UAAAC,GAAG,EAAI;AACvF,mBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB2jE,aAAvB,CAAP;AACF,WAFsC,CAAvC;;AAIA,cAAI,KAAKtE,+BAAL,CAAqC7oF,MAArC,GAA8C,CAAlD,EAAqD;AACnD,iBAAK,IAAIioB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK4gE,+BAAL,CAAqC7oF,MAAzD,EAAiEioB,CAAC,EAAlE,EAAsE;AACpE,kBAAG,CAAC,KAAK4gE,+BAAL,CAAqC5gE,CAArC,EAAwCgiE,eAA5C,EACA,IAAG,KAAKpB,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAuD,EAAvD,IAA6D,KAAK5iE,iBAArE,EAAuF;AACrF,qBAAK8hE,+BAAL,CAAqC5gE,CAArC,EAAwCsiE,kBAAxC,GAA6D,KAAK2C,gBAAlE;AACD,eAFD,MAGK,IAAG,CAAC,KAAKnmE,iBAAT,EAA2B;AAC9B,qBAAK8hE,+BAAL,CAAqC5gE,CAArC,EAAwCsiE,kBAAxC,GAA6D,KAAK2C,gBAAlE;AACD;AACF;AACF;;AACD,cAAIr6D,IAAI,GAAG,KAAKg2D,+BAAL,CAAqCjgE,MAArC,CAA4C,UAAAC,GAAG,EAAI;AAAE,mBAAOA,GAAG,CAAC0hE,kBAAJ,IAA0B,IAAjC;AAAuC,WAA5F,CAAX;AACA,eAAK6C,wBAAL;AACD;;;2CACe;AAGd,eAAKA,wBAAL;AACD,S,CAED;;;;gDACwBjxF,E,EAAIgsB,M,EAAM;AAEhC;AACA,eAAK,IAAIF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKggE,wBAAL,CAA8BjoF,MAAlD,EAA0DioB,CAAC,EAA3D,EAA+D;AAC7D,gBAAG,CAAC,KAAKggE,wBAAL,CAA8BhgE,CAA9B,EAAiCgiE,eAArC,EAAsD;AACpD,kBAAG,KAAKhC,wBAAL,CAA8BhgE,CAA9B,EAAiCohE,aAAjC,IAAkDltF,EAArD,EAAwD;AACxD,qBAAK8rF,wBAAL,CAA8BhgE,CAA9B,EAAiCsiE,kBAAjC,GAAsDpiE,MAAtD;;AACA,oBAAG,KAAK8/D,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAAgD,iBAAhD,IAAqE,KAAK5iE,iBAA7E,EAA+F;AAC7F,uBAAKkhE,wBAAL,CAA8BhgE,CAA9B,EAAiCsiE,kBAAjC,GAAsDpiE,MAAtD;AACD,iBAFD,MAGK,IAAG,CAAC,KAAKpB,iBAAT,EAA2B;AAC9B,uBAAKkhE,wBAAL,CAA8BhgE,CAA9B,EAAiCsiE,kBAAjC,GAAsDpiE,MAAtD;AACD;AACD;AACD;AACF;;AACC,eAAK,IAAIF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK4gE,+BAAL,CAAqC7oF,MAAzD,EAAiEioB,CAAC,EAAlE,EAAsE;AACpE;AACE,gBAAG,KAAK4gE,+BAAL,CAAqC5gE,CAArC,EAAwCohE,aAAxC,IAAyDltF,EAA5D,EAA+D;AAC/D,mBAAK0sF,+BAAL,CAAqC5gE,CAArC,EAAwCsiE,kBAAxC,GAA6DpiE,MAA7D;;AACA,kBAAG,KAAK0gE,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAuD,iBAAvD,IAA4E,KAAK5iE,iBAApF,EAAsG;AACpG,qBAAK8hE,+BAAL,CAAqC5gE,CAArC,EAAwCsiE,kBAAxC,GAA6DpiE,MAA7D;AACD,eAFD,MAGK,IAAG,CAAC,KAAKpB,iBAAT,EAA2B;AAC9B,qBAAK8hE,+BAAL,CAAqC5gE,CAArC,EAAwCsiE,kBAAxC,GAA6DpiE,MAA7D;AACD;AACF,aAVmE,CAWpE;;AACD;;AAEL,eAAKklE,cAAL;AACC;;;yCACW;AACZ,eAAK7kB,mBAAL,GAA2B,EAA3B;;AACE,eAAK,IAAIvgD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKggE,wBAAL,CAA8BjoF,MAAlD,EAA0DioB,CAAC,EAA3D,EAA+D;AAC7D,gBAAG,KAAKggE,wBAAL,CAA8BhgE,CAA9B,EAAiCsiE,kBAAjC,IAAuD,IAA1D,EAAqE;AACnE,mBAAK/hB,mBAAL,CAAyB3iE,IAAzB,CAA8B,KAAKoiF,wBAAL,CAA8BhgE,CAA9B,CAA9B;;AACA,kBAAG,KAAKggE,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,WAA/C,IAA8D,CAAC,KAAKnhD,iBAAvE,EAA2F;AACzF,qBAAKumE,gBAAL,GAAsB,IAAtB;AACD,eAFD,MAGK,IAAG,KAAKrF,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,SAA/C,IAA4D,KAAKnhD,iBAApE,EAAsF;AACzF,qBAAKumE,gBAAL,GAAsB,IAAtB;AACD,eAFI,MAGA,IAAG,KAAKrF,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,SAA/C,IAA6D,KAAK+f,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA8C,gBAA3G,IAA+H,CAAC,KAAK5iE,iBAAxI,EAA0J;AAC7J,qBAAK4hE,kBAAL,GAAwB,IAAxB;AACD,eAFI,MAGA,IAAG,KAAKV,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,SAA/C,IAA6D,KAAK+f,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA8C,SAA3G,IAAwH,KAAK5iE,iBAAhI,EAAkJ;AACrJ,qBAAK4hE,kBAAL,GAAwB,IAAxB;AACD,eAFI,MAGA,IAAG,KAAKV,wBAAL,CAA8BhgE,CAA9B,EAAiCiiE,eAAjC,IAAkD,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAAtD,EAA2I;AAC9I;AACA,oBAAG,KAAKmlF,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,WAA/C,IAA8D,KAAKnhD,iBAAtE,EAA0F;AACxF,uBAAKwmE,uBAAL,GAA6B,KAA7B;AACA,uBAAKC,6BAAL,GAAmC,IAAnC;AACD,iBAHD,CAIA;AAJA,qBAKK,IAAG,KAAKvF,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,SAA/C,IAA4D,KAAK+f,wBAAL,CAA8BhgE,CAA9B,EAAiC0hE,WAAjC,IAA8C,gBAA1G,IAA8H,KAAK5iE,iBAAtI,EAA0J;AAC7J,yBAAK0mE,yBAAL,GAA+B,KAA/B;AACA,yBAAKC,kCAAL,GAAwC,IAAxC;AACD;AACF,eAXI,MAYA,IAAG,KAAKzF,wBAAL,CAA8BhgE,CAA9B,EAAiCiiE,eAAjC,IAAoD,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAAxD,EAA6I;AAChJ,oBAAG,KAAKmlF,wBAAL,CAA8BhgE,CAA9B,EAAiCigD,YAAjC,IAA+C,SAA/C,IAA4D,KAAKnhD,iBAApE,EAAwF;AACtF,uBAAKwmE,uBAAL,GAA6B,IAA7B;AACA,uBAAKC,6BAAL,GAAmC,KAAnC;AACD;AAEF,eANI,MAOD;AACF,qBAAK7E,kBAAL,GAAwB,KAAxB;AACA,qBAAK2E,gBAAL,GAAsB,KAAtB;AACD;AACF;AACF;;AACD,cAAIroE,WAAW,GAAG,KAAKgjE,wBAAL,CAA8Br/D,MAA9B,CAAqC,UAAAC,GAAG,EAAI;AAAE,mBAAOA,GAAG,CAAC0hE,kBAAJ,IAA0B,IAAjC;AAAuC,WAArF,CAAlB;;AACA,cAAGtlE,WAAW,CAACjlB,MAAZ,IAAoB,CAAvB,EAAyB;AACvB,iBAAK2oF,kBAAL,GAAwB,KAAxB;AACI,iBAAK2E,gBAAL,GAAsB,KAAtB;AACL;;AACD,cAAG,KAAKzE,+BAAL,CAAqC7oF,MAArC,IAA+CilB,WAAW,CAACjlB,MAA9D,EAAqE;AACnE,iBAAKktF,gBAAL,GAAwB,IAAxB;AACJ,WAFE,MAGC;AACC,iBAAKA,gBAAL,GAAsB,KAAtB;AACJ;AACD;;;AAMC;mDACwB;AAEtB,eAAK1kB,mBAAL,GAA2B,EAA3B;;AACA,eAAK,IAAIvgD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK4gE,+BAAL,CAAqC7oF,MAAzD,EAAiEioB,CAAC,EAAlE,EAAsE;AACpE,gBAAG,KAAK4gE,+BAAL,CAAqC5gE,CAArC,EAAwCsiE,kBAAxC,IAA8D,IAAjE,EAA4E;AAC1E,mBAAK/hB,mBAAL,CAAyB3iE,IAAzB,CAA8B,KAAKgjF,+BAAL,CAAqC5gE,CAArC,CAA9B;;AACA,kBAAG,KAAK4gE,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,WAAtD,IAAqE,CAAC,KAAKnhD,iBAA9E,EAAkG;AAChG,qBAAKumE,gBAAL,GAAsB,IAAtB;AACD,eAFD,MAGK,IAAG,KAAKzE,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,SAAtD,IAAmE,KAAKnhD,iBAA3E,EAA6F;AAChG,qBAAKumE,gBAAL,GAAsB,IAAtB;AACD,eAFI,MAGA,IAAG,KAAKzE,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,SAAtD,IAAoE,KAAK2gB,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAqD,gBAAzH,IAA6I,CAAC,KAAK5iE,iBAAtJ,EAAwK;AAC3K,qBAAK4hE,kBAAL,GAAwB,IAAxB;AACD,eAFI,MAGA,IAAG,KAAKE,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,SAAtD,IAAoE,KAAK2gB,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAqD,SAAzH,IAAsI,KAAK5iE,iBAA9I,EAAgK;AACnK,qBAAK4hE,kBAAL,GAAwB,IAAxB;AACD,eAFI,MAGA,IAAG,KAAKE,+BAAL,CAAqC5gE,CAArC,EAAwCiiE,eAAxC,IAAyD,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAA7D,EAAkJ;AACrJ;AACA,oBAAG,KAAK+lF,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,WAAtD,IAAqE,KAAKnhD,iBAA7E,EAAiG;AAC/F,uBAAKwmE,uBAAL,GAA6B,KAA7B;AACA,uBAAKC,6BAAL,GAAmC,IAAnC;AACD,iBAHD,CAIA;AAJA,qBAKK,IAAG,KAAK3E,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,SAAtD,IAAmE,KAAK2gB,+BAAL,CAAqC5gE,CAArC,EAAwC0hE,WAAxC,IAAqD,gBAAxH,IAA4I,KAAK5iE,iBAApJ,EAAwK;AAC3K,yBAAK0mE,yBAAL,GAA+B,KAA/B;AACA,yBAAKC,kCAAL,GAAwC,IAAxC;AACD;AACF,eAXI,MAYA,IAAG,KAAK7E,+BAAL,CAAqC5gE,CAArC,EAAwCiiE,eAAxC,IAA2D,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAA/D,EAAoJ;AACvJ,oBAAG,KAAK+lF,+BAAL,CAAqC5gE,CAArC,EAAwCigD,YAAxC,IAAsD,SAAtD,IAAmE,KAAKnhD,iBAA3E,EAA+F;AAC7F,uBAAKwmE,uBAAL,GAA6B,IAA7B;AACA,uBAAKC,6BAAL,GAAmC,KAAnC;AACD;AAEF,eANI,MAOD;AACF,qBAAK7E,kBAAL,GAAwB,KAAxB;AACA,qBAAK2E,gBAAL,GAAsB,KAAtB;AACD;AACF;AACF,WA1CqB,CA2CtB;;;AACA,cAAIroE,WAAW,GAAG,KAAK4jE,+BAAL,CAAqCjgE,MAArC,CAA4C,UAAAC,GAAG,EAAI;AAAE,mBAAOA,GAAG,CAAC0hE,kBAAJ,IAA0B,IAAjC;AAAuC,WAA5F,CAAlB;;AACA,cAAGtlE,WAAW,CAACjlB,MAAZ,IAAoB,CAAvB,EAA2B;AACzB,iBAAK2oF,kBAAL,GAAwB,KAAxB;AACA,iBAAK2E,gBAAL,GAAsB,KAAtB;AACA,iBAAKE,6BAAL,GAAmC,KAAnC;AACA,iBAAKC,yBAAL,GAA+B,KAA/B;AACA,iBAAKC,kCAAL,GAAwC,KAAxC;AACD,WAnDqB,CAoDtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,cAAG,KAAK7E,+BAAL,CAAqC7oF,MAArC,IAA+CilB,WAAW,CAACjlB,MAA9D,EAAqE;AAChE,iBAAKktF,gBAAL,GAAwB,IAAxB;AACJ,WAFD,MAGI;AACC,iBAAKA,gBAAL,GAAsB,KAAtB;AACJ;AACF;;;0CAEc;AAAG,eAAKH,uBAAL,GAA6B,IAA7B;AAAmC;;;wCACxC;AACX,cAAG,KAAK1lE,aAAL,IAAoB,IAAvB,EAA4B;AAC1B,iBAAKsmE,eAAL;AACD;;AACD,cAAG,KAAK5mE,iBAAR,EAA0B;AACxB,gBAAG,KAAKwmE,uBAAL,IAAgC,KAAKK,sBAAxC,EAA+D;AAC7D,mBAAKZ,kBAAL,GAAwB,IAAxB;AACD,aAFD,MAGK,IAAG,KAAKQ,6BAAL,IAAsC,KAAKK,+BAA9C,EAA8E;AACjF,mBAAKF,eAAL;AACD,aAFI,MAGD;AACF,mBAAKX,kBAAL,GAAwB,IAAxB;AACD;AACF;;AAED,eAAKc,uBAAL,GAA6B,CAA7B;AACD;;;yCAEa;AACZ,cAAG,KAAKzmE,aAAL,IAAoB,IAAvB,EAA4B;AAC1B,iBAAKsmE,eAAL;AACD;;AAED,cAAG,KAAK5mE,iBAAR,EAA0B;AAExB,gBAAG,KAAKwmE,uBAAL,IAAgC,KAAKK,sBAArC,IAA+D,KAAKG,wBAAvE,EAAgG;AAC9F,mBAAKf,kBAAL,GAAwB,IAAxB;AACD,aAFD,MAGK,IAAG,KAAKQ,6BAAL,IAAsC,KAAKK,+BAA3C,IAA8E,KAAKG,iCAAtF,EAAwH;AAC3H,mBAAKL,eAAL;AACD,aAFI,MAGD;AACF,mBAAKX,kBAAL,GAAwB,IAAxB;AACD;AACF,WAhBW,CAkBb;;;AACC,eAAKc,uBAAL,GAA6B,CAA7B;AACD;;;mCACO;AACN,cAAG,KAAKzmE,aAAL,IAAoB,IAAvB,EAA4B;AAC1B,iBAAK4mE,iBAAL;AACD;;AACD,cAAG,KAAKlnE,iBAAL,IAAwB,IAA3B,EAAgC;AAC9B,gBAAG,KAAK2mE,kCAAL,IAA2C,KAAKQ,2CAAhD,IAA+F,KAAKC,6CAAvG,EAAqJ;AACnJ,mBAAKF,iBAAL;AACD,aAFD,MAIE,KAAKG,YAAL;AACH,WAVK,CAWP;;;AACC,eAAKN,uBAAL,GAA6B,CAA7B;AACD;;;kCACM;AACL,cAAG,KAAKzmE,aAAL,IAAoB,IAAvB,EAA4B;AAC1B,iBAAK4mE,iBAAL;AACD;;AACD,cAAG,KAAKlnE,iBAAL,IAAwB,IAA3B,EAAgC;AAC9B,gBAAG,KAAK2mE,kCAAL,IAA2C,KAAKQ,2CAAhD,IAA+F,KAAKC,6CAAvG,EAAqJ;AACnJ,mBAAKF,iBAAL;AACD,aAFD,MAIA,KAAKG,YAAL;AACD,WAVI,CAWL;;;AACA,eAAKN,uBAAL,GAA6B,CAA7B;AACD;;;0CAEc;AAEb,cAAIrlB,OAAO,GAAyB/3D,QAAQ,CAACglB,cAAT,CAAwB,iBAAxB,CAApC;AACA,cAAI24D,QAAQ,GAAC39E,QAAQ,CAACglB,cAAT,CAAwB,iBAAxB,CAAb;AACA,eAAK44D,YAAL,GAAkB7lB,OAAO,CAACtnE,KAA1B;AAED,S,CACD;;;;4CACiB;AAAA;;AACf,cAAI0xB,IAAJ;;AACA,cAAG,CAAC,KAAK9L,iBAAN,IAA4B,KAAKymE,6BAAL,IAAsC,KAAKK,+BAA3C,IAA8E,KAAKG,iCAAlH,EAAqJ;AACnJ;AAEA,gBAAI,KAAK1F,UAAL,IAAmB,UAAvB,EAAmC;AAClC,kBAAG,KAAKO,+BAAL,CAAqC7oF,MAArC,IAA6C,CAAhD,EAAmD;AAClD6yB,oBAAI,GAAG,KAAKo1D,wBAAL,CAA8Br/D,MAA9B,CAAqC,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,WAA3B;AAAwC,iBAAtF,CAAP;AACA,eAFD,MAGI;AACFr1C,oBAAI,GAAG,KAAKg2D,+BAAL,CAAqCjgE,MAArC,CAA4C,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,WAA3B;AAAwC,iBAA7F,CAAP;AACD;;AACA,kBAAIr1C,IAAI,CAAC7yB,MAAL,GAAc,CAAlB,EAAqB;AACnB,qBAAK6nF,yBAAL,CAA+B0G,sBAA/B,CAAsD/rF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAtD,EAA2F,KAAKg/D,UAAhG,EAA4G,CAA5G,EAA8G,KAAK+mB,+BAAnH,EAAoJxmF,SAApJ,CAA8J,UAAA6pF,KAAK,EAAI;AACtK;AACA,0BAAI,CAACrE,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAuD,EAAvD;AACC,0BAAI,CAAC6B,UAAL,GAAkBkhE,KAAK,CAACliE,QAAN,KAAmB,+DAArC;AACA,0BAAI,CAACtE,YAAL,GAAoB,KAApB;AACA,0BAAI,CAACD,OAAL,GAAe,IAAf;;AACA,0BAAI,CAACgmE,uBAAL,CAA6B,QAAI,CAAC3pB,UAAlC,EAA6C,QAAI,CAACgM,QAAlD,EAA2D,QAAI,CAACC,MAAhE,EAAuE,QAAI,CAAC8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA/G,EAA4H,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAApK,EAAgL,QAAI,CAACvpD,SAArL,EANqK,CAOrK;;;AACA,0BAAI,CAAC2sD,uBAAL,GAA6B,KAA7B;AACA,0BAAI,CAACO,gBAAL,GAAsB,KAAtB;AACA,0BAAI,CAACE,6BAAL,GAAmC,KAAnC;AACA,sBAAG,QAAI,CAACN,gBAAR,EACE,QAAI,CAACA,gBAAL,GAAsB,KAAtB;AACH,iBAbD,EAaG,UAAC/mE,GAAD,EAAS;AACV,0BAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,iBAfD;AAgBD,eAjBD,MAkBK;AACH,qBAAK6U,UAAL,GAAkB,uBAAlB;AACA,qBAAKtF,YAAL,GAAoB,IAApB;AACA,qBAAKD,OAAL,GAAe,KAAf;AACA,qBAAKsnE,uBAAL,GAA6B,KAA7B;AACD;AACF,aA/BD,MAgCK,IAAI,KAAKzE,UAAL,IAAmB,kBAAvB,EAA2C;AAC9C,kBAAG,KAAKS,6CAAL,CAAmD/oF,MAAnD,IAA2D,CAA9D,EAAiE;AAC/D6yB,oBAAI,GAAG,KAAKs1D,sCAAL,CAA4Cv/D,MAA5C,CAAmD,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,WAA3B;AAAwC,iBAApG,CAAP;AACA,eAFF,MAGK;AACFr1C,oBAAI,GAAG,KAAKk2D,6CAAL,CAAmDngE,MAAnD,CAA0D,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,WAA3B;AAAwC,iBAA3G,CAAP;AACD;;AAEF,kBAAIr1C,IAAI,CAAC7yB,MAAL,GAAc,CAAlB,EAAqB;AACnB,qBAAK6nF,yBAAL,CAA+B2G,0BAA/B,CAA0DhsF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA1D,EAA+F,KAAKg/D,UAApG,EAAgH,KAAKgM,QAArH,EAA+H,KAAKC,MAApI,EAA2I,CAA3I,EAA6I,KAAK8c,oBAAlJ,EAAuK,KAAK3qD,MAA5K,EAAmL,KAAK5Z,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAAnL,EAAuN,KAAKoW,SAA5N,EAAuO/9B,SAAvO,CAAiP,UAAA6pF,KAAK,EAAI;AACxP,0BAAI,CAAClhE,UAAL,GAAkBkhE,KAAK,CAACliE,QAAN,KAAmB,+DAArC;AACA,0BAAI,CAACtE,YAAL,GAAoB,KAApB;AACA,0BAAI,CAACmiE,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAuD,EAAvD;AACA,0BAAI,CAAC1D,OAAL,GAAe,IAAf;;AACA,0BAAI,CAACimE,qCAAL,CAA2C,EAA3C,EAA8C,IAA9C,EAAmD,IAAnD,EAAwD,QAAI,CAAC7D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAhG,EAA6G,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAArJ,EAAiK,CAAjK,EAAmK,QAAI,CAACrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAAnK,EAAuM,QAAI,CAACkW,MAA5M,EAAmN,QAAI,CAACE,SAAxN,EALwP,CAMzP;;;AACC,0BAAI,CAAC2sD,uBAAL,GAA6B,KAA7B;AACA,0BAAI,CAAC0B,yBAAL,GAA+B,KAA/B;AACA,0BAAI,CAACZ,+BAAL,GAAqC,KAArC;AACA,sBAAG,QAAI,CAACa,yBAAR,EACE,QAAI,CAACA,yBAAL,GAA+B,KAA/B;AACH,iBAZD,EAYG,UAACvoE,GAAD,EAAS;AACV,0BAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,iBAdD;AAeD,eAhBD,MAiBK;AACH,qBAAK6U,UAAL,GAAkB,uBAAlB;AACA,qBAAKtF,YAAL,GAAoB,IAApB;AACA,qBAAKD,OAAL,GAAe,KAAf;AACA,qBAAKsnE,uBAAL,GAA6B,KAA7B;AACD;AACF,aA/BI,MAgCA,IAAI,KAAKzE,UAAL,IAAmB,sBAAvB,EAA+C;AAClD,kBAAG,KAAKD,0CAAL,CAAgDroF,MAAhD,IAAwD,CAA3D,EAA8D;AAC5D6yB,oBAAI,GAAG,KAAKw1D,0CAAL,CAAgDz/D,MAAhD,CAAuD,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,WAA3B;AAAwC,iBAAxG,CAAP;AACA,eAFF,MAGK;AACFr1C,oBAAI,GAAG,KAAKw1D,0CAAL,CAAgDz/D,MAAhD,CAAuD,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,WAA3B;AAAwC,iBAAxG,CAAP;AACD;;AAEF,kBAAIr1C,IAAI,CAAC7yB,MAAL,GAAc,CAAlB,EAAqB;AACnB,qBAAK6nF,yBAAL,CAA+B8G,4BAA/B,CAA4DnsF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA5D,EAAiG,KAAKg/D,UAAtG,EAAkH,CAAlH,EAAoH,KAAKqpB,sBAAzH,EAAiJ9oF,SAAjJ,CAA2J,UAAA6pF,KAAK,EAAI;AACnK;AACC,0BAAI,CAAClhE,UAAL,GAAkBkhE,KAAK,CAACliE,QAAN,KAAmB,+DAArC;AACA,0BAAI,CAACtE,YAAL,GAAoB,KAApB;AACA,0BAAI,CAACmiE,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAuD,EAAvD;AACA,0BAAI,CAAC1D,OAAL,GAAe,IAAf;;AACA,0BAAI,CAACkmE,yCAAL,CAA+C,IAA/C,EAAoD,QAAI,CAAC9D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5F,EAAyG,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAjJ,EAA6J,CAA7J,EAA+J,QAAI,CAACrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA/J,EAAmM,QAAI,CAACkW,MAAxM,EAA+M,QAAI,CAACE,SAApN,EANkK,CAOnK;;;AACA,0BAAI,CAAC2sD,uBAAL,GAA6B,KAA7B;AACA,0BAAI,CAAC6B,2BAAL,GAAiC,KAAjC;AACA,0BAAI,CAACZ,iCAAL,GAAuC,KAAvC;AACA,sBAAG,QAAI,CAACa,2BAAR,EACG,QAAI,CAACA,2BAAL,GAAiC,KAAjC;AACH,iBAbD,EAaG,UAAC1oE,GAAD,EAAS;AACV,0BAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,iBAfD;AAgBD,eAjBD,MAkBK;AACH,qBAAK6U,UAAL,GAAkB,uBAAlB,CADG,CAEH;;AACA,qBAAKtF,YAAL,GAAoB,IAApB;AACA,qBAAKD,OAAL,GAAe,KAAf;AACA,qBAAKsnE,uBAAL,GAA6B,KAA7B;AACD;AACF;AACF,WArGD,MAsGI;AACF,gBAAI,KAAKzE,UAAL,IAAmB,UAAvB,EAAmC;AACjC,kBAAG,KAAKO,+BAAL,CAAqC7oF,MAArC,IAA6C,CAAhD,EAAmD;AACjD6yB,oBAAI,GAAG,KAAKo1D,wBAAL,CAA8Br/D,MAA9B,CAAqC,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,SAA3B;AAAsC,iBAApF,CAAP;AACA,eAFF,MAGK;AACFr1C,oBAAI,GAAG,KAAKg2D,+BAAL,CAAqCjgE,MAArC,CAA4C,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,SAA3B;AAAsC,iBAA3F,CAAP;AACD;;AAEF,kBAAIr1C,IAAI,CAAC7yB,MAAL,GAAc,CAAlB,EAAqB;AACnB,qBAAK6nF,yBAAL,CAA+B0G,sBAA/B,CAAsD/rF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAtD,EAA2F,KAAKg/D,UAAhG,EAA2G,KAAKgsB,uBAAhH,EAAwI,KAAKtlB,mBAA7I,EAAkKnmE,SAAlK,CAA4K,UAAA6pF,KAAK,EAAI;AACpL;AACA,sBAAG,QAAI,CAAC4B,uBAAL,IAA8B,CAAjC,EAAyC;AACxC,4BAAI,CAAC9iE,UAAL,GAAkBkhE,KAAK,CAACliE,QAAN,KAAmB,+BAArC;AACD,mBAFA,MAGI,IAAG,QAAI,CAAC8jE,uBAAL,IAA8B,CAAjC,EAAmC;AACtC,4BAAI,CAAC9iE,UAAL,GAAkBkhE,KAAK,CAACliE,QAAN,KAAmB,wCAArC;AACD;;AAAC,0BAAI,CAAC69D,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAuD,EAAvD;AACA,0BAAI,CAACzD,YAAL,GAAoB,KAApB;AACA,0BAAI,CAACD,OAAL,GAAe,IAAf;;AACA,0BAAI,CAACgmE,uBAAL,CAA6B,QAAI,CAAC3pB,UAAlC,EAA6C,QAAI,CAACgM,QAAlD,EAA2D,QAAI,CAACC,MAAhE,EAAuE,QAAI,CAAC8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA/G,EAA4H,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAApK,EAAgL,QAAI,CAACvpD,SAArL;;AACA,0BAAI,CAAC/O,YAAL;;AACA,0BAAI,CAAC27D,kBAAL,GAAwB,KAAxB;AACA,0BAAI,CAACM,gBAAL,GAAsB,KAAtB;AACA,0BAAI,CAACC,uBAAL,GAA6B,KAA7B;AACA,sBAAG,QAAI,CAACL,gBAAR,EACE,QAAI,CAACA,gBAAL,GAAsB,KAAtB;AACH,iBAjBD,EAiBG,UAAC/mE,GAAD,EAAS;AACV,0BAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,iBAnBD;AAoBD,eArBD,MAsBK;AACH,qBAAK6U,UAAL,GAAkB,uBAAlB;AACA,qBAAKtF,YAAL,GAAoB,IAApB;AACA,qBAAKD,OAAL,GAAe,KAAf;AACA,qBAAKunE,kBAAL,GAAwB,KAAxB;AACD;AACF,aApCD,MAqCK,IAAI,KAAK1E,UAAL,IAAmB,kBAAvB,EAA2C;AAC9C,kBAAG,KAAKS,6CAAL,CAAmD/oF,MAAnD,IAA2D,CAA9D,EAAiE;AAC/D6yB,oBAAI,GAAG,KAAKs1D,sCAAL,CAA4Cv/D,MAA5C,CAAmD,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,SAA3B;AAAsC,iBAAlG,CAAP;AACA,eAFF,MAGK;AACFr1C,oBAAI,GAAG,KAAKk2D,6CAAL,CAAmDngE,MAAnD,CAA0D,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,SAA3B;AAAsC,iBAAzG,CAAP;AACD;;AAEF,kBAAIr1C,IAAI,CAAC7yB,MAAL,GAAc,CAAlB,EAAqB;AACnB,qBAAK6nF,yBAAL,CAA+B2G,0BAA/B,CAA0DhsF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA1D,EAA+F,KAAKg/D,UAApG,EAAgH,KAAKgM,QAArH,EAA+H,KAAKC,MAApI,EAA2I,KAAK+f,uBAAhJ,EAAwK,KAAKjD,oBAA7K,EAAkM,KAAK3qD,MAAvM,EAA8M,KAAK5Z,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA9M,EAAkP,KAAKoW,SAAvP,EAAkQ/9B,SAAlQ,CAA4Q,UAAA6pF,KAAK,EAAI;AACpR;AACC,sBAAG,QAAI,CAAC4B,uBAAL,IAA8B,CAAjC,EAAyC;AACvC,4BAAI,CAAC9iE,UAAL,GAAkBkhE,KAAK,CAACliE,QAAN,KAAmB,+BAArC;AACD,mBAFD,MAGK,IAAG,QAAI,CAAC8jE,uBAAL,IAA8B,CAAjC,EAAmC;AACtC,4BAAI,CAAC9iE,UAAL,GAAkBkhE,KAAK,CAACliE,QAAN,KAAmB,wCAArC;AACD;;AACD,0BAAI,CAAC69D,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAuD,EAAvD,CARmR,CASnR;;AACA,0BAAI,CAACzD,YAAL,GAAoB,KAApB;AACA,0BAAI,CAACD,OAAL,GAAe,IAAf;;AACA,0BAAI,CAACimE,qCAAL,CAA2C,EAA3C,EAA8C,IAA9C,EAAmD,IAAnD,EAAwD,QAAI,CAAC7D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAhG,EAA6G,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAArJ,EAAiK,CAAjK,EAAmK,EAAnK,EAAsK,CAAtK,EAAwK,QAAI,CAACvpD,SAA7K;;AACA,0BAAI,CAAC/O,YAAL;;AACA,0BAAI,CAAC27D,kBAAL,GAAwB,KAAxB;AACA,0BAAI,CAACyB,yBAAL,GAA+B,KAA/B;AACA,0BAAI,CAACb,sBAAL,GAA4B,KAA5B;AACA,sBAAG,QAAI,CAACc,yBAAR,EACE,QAAI,CAACA,yBAAL,GAA+B,KAA/B;AACH,iBAnBD,EAmBG,UAACvoE,GAAD,EAAS;AACV,0BAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,iBArBD;AAsBD,eAvBD,MAwBK;AACH,qBAAK6U,UAAL,GAAkB,uBAAlB,CADG,CAEH;;AACA,qBAAKtF,YAAL,GAAoB,IAApB;AACA,qBAAKD,OAAL,GAAe,KAAf;AACA,qBAAKunE,kBAAL,GAAwB,KAAxB;AACD;AACF,aAvCI,MAwCA,IAAI,KAAK1E,UAAL,IAAmB,sBAAvB,EAA+C;AAClD,kBAAG,KAAKD,0CAAL,CAAgDroF,MAAhD,IAAwD,CAA3D,EAA8D;AAC5D6yB,oBAAI,GAAG,KAAKw1D,0CAAL,CAAgDz/D,MAAhD,CAAuD,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,SAA3B;AAAsC,iBAAtG,CAAP;AACA,eAFF,MAGK;AACFr1C,oBAAI,GAAG,KAAKw1D,0CAAL,CAAgDz/D,MAAhD,CAAuD,UAAAC,GAAG,EAAI;AAAE,yBAAOA,GAAG,CAACq/C,YAAJ,IAAoB,SAA3B;AAAsC,iBAAtG,CAAP;AACD;;AAEF,kBAAIr1C,IAAI,CAAC7yB,MAAL,GAAc,CAAlB,EAAqB;AACnB,qBAAK6nF,yBAAL,CAA+B8G,4BAA/B,CAA4DnsF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA5D,EAAiG,KAAKg/D,UAAtG,EAAkH,KAAKgsB,uBAAvH,EAA+I,KAAK3C,sBAApJ,EAA4K9oF,SAA5K,CAAsL,UAAA6pF,KAAK,EAAI;AAC9L;AACA,sBAAG,QAAI,CAAC4B,uBAAL,IAA8B,CAAjC,EAAyC;AACxC,4BAAI,CAAC9iE,UAAL,GAAkBkhE,KAAK,CAACliE,QAAN,KAAmB,+BAArC;AACD,mBAFA,MAGI,IAAG,QAAI,CAAC8jE,uBAAL,IAA8B,CAAjC,EAAmC;AACtC,4BAAI,CAAC9iE,UAAL,GAAkBkhE,KAAK,CAACliE,QAAN,KAAmB,wCAArC;AACD;;AAEC,0BAAI,CAAC69D,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAuD,EAAvD,CAT6L,CAU7L;;AACA,0BAAI,CAACzD,YAAL,GAAoB,KAApB;AACA,0BAAI,CAACD,OAAL,GAAe,IAAf;;AACA,0BAAI,CAACkmE,yCAAL,CAA+C,IAA/C,EAAoD,QAAI,CAAC9D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5F,EAAyG,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAjJ,EAA6J,CAA7J,EAA+J,QAAI,CAACrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA/J,EAAmM,QAAI,CAACkW,MAAxM,EAA+M,QAAI,CAACE,SAApN;;AACA,0BAAI,CAAC/O,YAAL;;AACD,0BAAI,CAAC27D,kBAAL,GAAwB,KAAxB;AACA,0BAAI,CAAC4B,2BAAL,GAAiC,KAAjC;AACA,0BAAI,CAACb,wBAAL,GAA8B,KAA9B;AACA,sBAAG,QAAI,CAACc,2BAAR,EACG,QAAI,CAACA,2BAAL,GAAiC,KAAjC;AACH,iBApBD,EAoBG,UAAC1oE,GAAD,EAAS;AACV,0BAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,iBAtBD;AAuBD,eAxBD,MAyBK;AACH,qBAAK6U,UAAL,GAAkB,uBAAlB,CADG,CAEH;;AACA,qBAAKtF,YAAL,GAAoB,IAApB;AACA,qBAAKD,OAAL,GAAe,KAAf;AACA,qBAAKunE,kBAAL,GAAwB,KAAxB;AACD;AACF;AACF;AAEF,S,CAED;;;;kDACuB;AAAA;;AACrB,cAAG,CAAC,KAAKjmE,iBAAN,IAA2B,KAAK2mE,kCAAhC,IAAsE,KAAKQ,2CAA3E,IAA0H,KAAKC,6CAAlI,EAAgL;AAC9K;AACA,gBAAG,KAAK3lB,mBAAL,IAA4Bz/C,SAA/B,EAAyC;AACvC,mBAAK8+D,yBAAL,CAA+BiH,gCAA/B,CAAgE,KAAKtmB,mBAArE,EAAyF,CAAzF,EAA2F,EAA3F,EAA8F,CAA9F,EAAiGnmE,SAAjG,CAA2G,UAAA0nF,OAAO,EAAI;AACpH,wBAAI,CAAC0B,uBAAL,CAA6B,QAAI,CAAC3pB,UAAlC,EAA6C,QAAI,CAAC+lB,yBAAL,CAA+B17D,QAA/B,CAAwC2hD,QAArF,EAA8F,QAAI,CAAC+Z,yBAAL,CAA+B17D,QAA/B,CAAwC4hD,MAAtI,EAA6I,QAAI,CAAC8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAArL,EAAkM,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAA1O,EAAsP,QAAI,CAACvpD,SAA3P;;AACA,qBAAK,IAAInY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACggE,wBAAL,CAA8BjoF,MAAlD,EAA0DioB,CAAC,EAA3D,EAA+D;AAC7D,0BAAI,CAACggE,wBAAL,CAA8BhgE,CAA9B,EAAiCsiE,kBAAjC,GAAsD,KAAtD;AACD;;AACD,qBAAK,IAAItiE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAAC4gE,+BAAL,CAAqC7oF,MAAzD,EAAiEioB,CAAC,EAAlE,EAAsE;AACpE,0BAAI,CAAC4gE,+BAAL,CAAqC5gE,CAArC,EAAwCsiE,kBAAxC,GAA6D,KAA7D;AACD;;AACD,wBAAI,CAAC1C,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAuD,EAAvD;;AACA,wBAAI,CAACikE,wBAAL;;AACA,wBAAI,CAACF,gBAAL,GAAsB,KAAtB;;AACA,wBAAI,CAAC6B,gBAAL;;AACA,wBAAI,CAAC/jE,UAAL,GAAgB,wDAAhB;AACA,wBAAI,CAACu/D,kBAAL,GAAwB,KAAxB;AACA,wBAAI,CAAC5B,kBAAL,GAAwB,KAAxB;AACA,wBAAI,CAACmE,yBAAL,GAA+B,KAA/B;AACA,wBAAI,CAACY,kCAAL,GAAwC,KAAxC;AACD,eAjBD,EAiBG,UAACvnE,GAAD,EAAS;AACV,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eAnBD;AAoBD,aArBD,MAsBK,IAAG,KAAK00E,oBAAL,IAA6B9hE,SAAhC,EAA0C;AAC7C,mBAAK8+D,yBAAL,CAA+BiH,gCAA/B,CAAgE,KAAKjE,oBAArE,EAA0F,CAA1F,EAA4F,EAA5F,EAA+F,CAA/F,EAAkGxoF,SAAlG,CAA4G,UAAA0nF,OAAO,EAAI;AACrH,wBAAI,CAAC2B,qCAAL,CAA2C,EAA3C,EAA8C,IAA9C,EAAmD,IAAnD,EAAwD,QAAI,CAAC7D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAhG,EAA6G,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAArJ,EAAiK,CAAjK,EAAmK,EAAnK,EAAsK,CAAtK,EAAwK,QAAI,CAACvpD,SAA7K;;AACA,qBAAK,IAAInY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACkgE,sCAAL,CAA4CnoF,MAAhE,EAAwEioB,CAAC,EAAzE,EAA6E;AAC3E,0BAAI,CAACkgE,sCAAL,CAA4ClgE,CAA5C,EAA+C6iE,2BAA/C,GAA6E,KAA7E;AACD;;AACD,qBAAK,IAAI7iE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAAC8gE,6CAAL,CAAmD/oF,MAAvE,EAA+EioB,CAAC,EAAhF,EAAoF;AAClF,0BAAI,CAAC8gE,6CAAL,CAAmD9gE,CAAnD,EAAsD6iE,2BAAtD,GAAoF,KAApF;AACD;;AACD,wBAAI,CAACiE,gBAAL;;AACA,wBAAI,CAAClH,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAuD,EAAvD;AACA,wBAAI,CAAC6B,UAAL,GAAgB,wDAAhB;AACA,wBAAI,CAACgkE,2BAAL,GAAiC,KAAjC;AACA,wBAAI,CAACN,yBAAL,GAA+B,KAA/B;AACA,wBAAI,CAACR,2CAAL,GAAiD,KAAjD;AACD,eAdD,EAcG,UAAC/nE,GAAD,EAAS;AACV,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eAhBD;AAiBD,aAlBI,MAmBA,IAAG,KAAKg1E,sBAAL,IAA+BpiE,SAAlC,EAA4C;AAC/C,mBAAK8+D,yBAAL,CAA+BiH,gCAA/B,CAAgE,KAAK3D,sBAArE,EAA4F,CAA5F,EAA8F,EAA9F,EAAiG,CAAjG,EAAoG9oF,SAApG,CAA8G,UAAA0nF,OAAO,EAAI;AACvH,wBAAI,CAAC4B,yCAAL,CAA+C,IAA/C,EAAoD,QAAI,CAAC9D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5F,EAAyG,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAjJ,EAA6J,CAA7J,EAA+J,QAAI,CAACrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA/J,EAAmM,QAAI,CAACkW,MAAxM,EAA+M,QAAI,CAACE,SAApN;;AACA,qBAAK,IAAInY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACogE,0CAAL,CAAgDroF,MAApE,EAA4EioB,CAAC,EAA7E,EAAiF;AAC/E,0BAAI,CAACogE,0CAAL,CAAgDpgE,CAAhD,EAAmDmjE,6BAAnD,GAAmF,KAAnF;AACD;;AACD,qBAAK,IAAInjE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACghE,iDAAL,CAAuDjpF,MAA3E,EAAmFioB,CAAC,EAApF,EAAwF;AACtF,0BAAI,CAACghE,iDAAL,CAAuDhhE,CAAvD,EAA0DmjE,6BAA1D,GAA0F,KAA1F;AACD;;AACD,wBAAI,CAACvD,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAuD,EAAvD;;AACA,wBAAI,CAAC4lE,gBAAL;;AACA,wBAAI,CAAC/jE,UAAL,GAAgB,wDAAhB;AACA,wBAAI,CAACikE,6BAAL,GAAmC,KAAnC;AACA,wBAAI,CAACd,6CAAL,GAAmD,KAAnD;AACD,eAbD,EAaG,UAAChoE,GAAD,EAAS;AACV,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eAfD;AAgBD;;AACD,iBAAKsP,OAAL,GAAa,IAAb;AACD,WA9DD,MA+DI;AACF,gBAAG,KAAK+iD,mBAAL,IAA4Bz/C,SAA/B,EAAyC;AACvC,mBAAK8+D,yBAAL,CAA+BiH,gCAA/B,CAAgE,KAAKtmB,mBAArE,EAAyF,KAAKslB,uBAA9F,EAAsH,KAAKQ,YAA3H,EAAwI,CAAxI,EAA2IjsF,SAA3I,CAAqJ,UAAA0nF,OAAO,EAAI;AAC9J,wBAAI,CAAC0B,uBAAL,CAA6B,QAAI,CAAC3pB,UAAlC,EAA6C,QAAI,CAAC+lB,yBAAL,CAA+B17D,QAA/B,CAAwC2hD,QAArF,EAA8F,QAAI,CAAC+Z,yBAAL,CAA+B17D,QAA/B,CAAwC4hD,MAAtI,EAA6I,QAAI,CAAC8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAArL,EAAkM,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAA1O,EAAsP,QAAI,CAACvpD,SAA3P;;AACA,qBAAK,IAAInY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACggE,wBAAL,CAA8BjoF,MAAlD,EAA0DioB,CAAC,EAA3D,EAA+D;AAC7D,0BAAI,CAACggE,wBAAL,CAA8BhgE,CAA9B,EAAiCsiE,kBAAjC,GAAsD,KAAtD;AACD;;AAAA,wBAAI,CAAC1C,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAuD,EAAvD;;AACD,wBAAI,CAACikE,wBAAL;;AACA,wBAAI,CAACF,gBAAL,GAAsB,KAAtB;;AACA,wBAAI,CAACnC,YAAL;;AACA,wBAAI,CAACpC,kBAAL,GAAwB,KAAxB;AACD,eATD,EASG,UAACxiE,GAAD,EAAS;AACV,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eAXD;AAYD,aAbD,MAcK,IAAG,KAAK00E,oBAAL,IAA6B9hE,SAAhC,EAAsD;AACzD,mBAAK8+D,yBAAL,CAA+BiH,gCAA/B,CAAgE,KAAKjE,oBAArE,EAA0F,KAAKiD,uBAA/F,EAAuH,KAAKQ,YAA5H,EAAyI,CAAzI,EAA4IjsF,SAA5I,CAAsJ,UAAA0nF,OAAO,EAAI;AAC/J,wBAAI,CAAC2B,qCAAL,CAA2C,EAA3C,EAA8C,IAA9C,EAAmD,IAAnD,EAAwD,QAAI,CAAC7D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAhG,EAA6G,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAArJ,EAAiK,CAAjK,EAAmK,EAAnK,EAAsK,CAAtK,EAAwK,QAAI,CAACvpD,SAA7K;;AACA,qBAAK,IAAInY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACkgE,sCAAL,CAA4CnoF,MAAhE,EAAwEioB,CAAC,EAAzE,EAA6E;AAC3E,0BAAI,CAACkgE,sCAAL,CAA4ClgE,CAA5C,EAA+C6iE,2BAA/C,GAA6E,KAA7E;AACD;;AAAA,wBAAI,CAACjD,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAuD,EAAvD;;AACD,wBAAI,CAAC+lE,wBAAL;;AACA,wBAAI,CAACR,yBAAL,GAA+B,KAA/B;;AACA,wBAAI,CAAC3D,YAAL;;AACA,wBAAI,CAACiE,2BAAL,GAAiC,KAAjC;AACD,eATD,EASG,UAAC7oE,GAAD,EAAS;AACV,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eAXD;AAYD,aAbI,MAcA,IAAG,KAAKg1E,sBAAL,IAA+BpiE,SAAlC,EAA4C;AAC/C,mBAAK8+D,yBAAL,CAA+BiH,gCAA/B,CAAgE,KAAK3D,sBAArE,EAA4F,KAAK2C,uBAAjG,EAAyH,KAAKQ,YAA9H,EAA2I,CAA3I,EAA8IjsF,SAA9I,CAAwJ,UAAA0nF,OAAO,EAAI;AACjK,wBAAI,CAAC4B,yCAAL,CAA+C,IAA/C,EAAoD,QAAI,CAAC9D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5F,EAAyG,QAAI,CAAC2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAjJ,EAA6J,CAA7J,EAA+J,QAAI,CAACrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA/J,EAAmM,QAAI,CAACkW,MAAxM,EAA+M,QAAI,CAACE,SAApN;;AACA,qBAAK,IAAInY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,QAAI,CAACogE,0CAAL,CAAgDroF,MAApE,EAA4EioB,CAAC,EAA7E,EAAiF;AAC/E,0BAAI,CAACogE,0CAAL,CAAgDpgE,CAAhD,EAAmDmjE,6BAAnD,GAAmF,KAAnF;AACD;;AAAA,wBAAI,CAACvD,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAAxC,GAAuD,EAAvD;;AACD,wBAAI,CAACgmE,0BAAL;;AACA,wBAAI,CAACN,2BAAL,GAAiC,KAAjC;;AACA,wBAAI,CAAC9D,YAAL;;AACA,wBAAI,CAACkE,6BAAL,GAAmC,KAAnC;AACD,eATD,EASG,UAAC9oE,GAAD,EAAS;AACV,wBAAI,CAACpX,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,KAAD,CAArB;AACD,eAXD;AAYD;;AACD,gBAAG,KAAK23E,uBAAL,IAA8B,CAAjC,EAAyC;AACvC,mBAAKroE,OAAL,GAAa,IAAb;AACA,mBAAKuF,UAAL,GAAgB,0CAAhB;AACD,aAHD,MAIK,IAAG,KAAK8iE,uBAAL,IAA8B,CAAjC,EAAmC;AACtC,mBAAKroE,OAAL,GAAa,IAAb;AACA,mBAAKuF,UAAL,GAAgB,0CAAhB;AACD;AACF;AAEF,S,CACD;;;;uDAC4B;AAAA;;AAC1B,eAAK1G,QAAL,CAAcwB,IAAd;;AACA,eAAK+hE,yBAAL,CAA+B8C,+CAA/B,CAA+EnoF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAA/E,EAAoHT,SAApH,CAA8H,UAAA0nF,OAAO,EAAI;AACvI,oBAAI,CAACjB,uCAAL,GAA+CiB,OAA/C;AACA,oBAAI,CAAChB,6CAAL,GAAqD,QAAI,CAACD,uCAA1D;AAEArhF,sBAAU,CAAC,YAAM;AACf,sBAAI,CAAC2nF,yBAAL;;AACA,sBAAI,CAAC9qE,QAAL,CAAc4E,IAAd;AACA,aAHQ,EAGN,GAHM,CAAV;AAID,WARD,EAF0B,CAY1B;;AAEH;;;oDAEwB;AAAA;;AACvB,cAAI,KAAKi/D,sCAAL,CAA4CnoF,MAA5C,GAAqD,CAAzD,EAA4D;AAC1D,iBAAK,IAAIioB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKkgE,sCAAL,CAA4CnoF,MAAhE,EAAwEioB,CAAC,EAAzE,EAA6E;AAC3E,kBAAG,CAAC,KAAKkgE,sCAAL,CAA4ClgE,CAA5C,EAA+CgiE,eAAnD,EAAqE;AACnE,oBAAG,CAAC,KAAK9B,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA8D,SAA9D,IAA4E,KAAKxB,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA8D,SAA3I,KACA,KAAKnhD,iBADR,EAC0B;AACxB,uBAAKohE,sCAAL,CAA4ClgE,CAA5C,EAA+C6iE,2BAA/C,GAA6E,KAAK4D,yBAAlF;AACD,iBAHD,MAIK,IAAG,CAAC,KAAK3nE,iBAAN,IAA2B,KAAKohE,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA8D,gBAA5F,EAA6G;AAChH,uBAAKxB,sCAAL,CAA4ClgE,CAA5C,EAA+C6iE,2BAA/C,GAA6E,KAAK4D,yBAAlF;AACD;AACF;AAEF;AACF;;AACD,cAAIrE,QAAQ,GAAG,KAAKvC,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAkK,CAAC;AAAA,mBAAIA,CAAC,CAAC3J,YAAF,KAAmB,QAAI,CAAC0+D,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAA/D;AAAA,WAA7B,EAA0G,CAA1G,CAAf;;AACE,cAAGkhE,QAAQ,IAAEthE,SAAb,EAAuB;AACrB,iBAAK+4C,UAAL,GAAkB,CAAlB;AACD,WAFD,MAGI;AACF,iBAAKA,UAAL,GAAkBuoB,QAAQ,CAACt3D,QAA3B;AACD;;AACD,cAAI,KAAK+uC,UAAL,GAAkB,CAAtB,EAAyB;AACvB,iBAAKinB,6CAAL,GAAqD,KAAKA,6CAAL,CAAmDngE,MAAnD,CAA0D,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACy3C,UAA9B;AAA2C,aAA9G,CAArD;AACD,WAFD,MAGK;AACF,iBAAKinB,6CAAL,GAAqD,KAAKA,6CAA1D;AACF;;AACD,cAAIoE,aAAa,GAAC,KAAKtF,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA1D;AACA,eAAK6gB,6CAAL,GAAqD,KAAKA,6CAAL,CAAmDngE,MAAnD,CAA0D,UAAAC,GAAG,EAAI;AACnH,mBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB2jE,aAAvB,CAAP;AACF,WAFoD,CAArD;;AAIF,cAAI,KAAKpE,6CAAL,CAAmD/oF,MAAnD,GAA4D,CAAhE,EAAmE;AACjE,iBAAK,IAAIioB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK8gE,6CAAL,CAAmD/oF,MAAvE,EAA+EioB,CAAC,EAAhF,EAAoF;AAClF,kBAAG,CAAC,KAAK8gE,6CAAL,CAAmD9gE,CAAnD,EAAsDgiE,eAA1D,EAA4E;AAC1E,oBAAG,CAAC,KAAKlB,6CAAL,CAAmD9gE,CAAnD,EAAsD0hE,WAAtD,IAAqE,SAArE,IAAmF,KAAKZ,6CAAL,CAAmD9gE,CAAnD,EAAsDigD,YAAtD,IAAqE,SAAzJ,KACA,KAAKnhD,iBADR,EAC0B;AACxB,uBAAKgiE,6CAAL,CAAmD9gE,CAAnD,EAAsD6iE,2BAAtD,GAAoF,KAAK4D,yBAAzF;AACD,iBAHD,MAIK,IAAG,CAAC,KAAK3nE,iBAAN,IAA2B,KAAKgiE,6CAAL,CAAmD9gE,CAAnD,EAAsD0hE,WAAtD,IAAqE,gBAAnG,EAAoH;AACvH,uBAAKZ,6CAAL,CAAmD9gE,CAAnD,EAAsD6iE,2BAAtD,GAAoF,KAAK4D,yBAAzF;AACD;AACF;AAEF;AACF;;AACD,eAAKQ,wBAAL;AACD;;;4CACgB;AACf,cAAI/B,aAAa,GAAC,KAAKtF,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA1D;AACA,eAAK6gB,6CAAL,GAAqD,KAAKA,6CAAL,CAAmDngE,MAAnD,CAA0D,UAAAC,GAAG,EAAI;AACnH,mBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB2jE,aAAvB,CAAP;AACF,WAFoD,CAArD;AAGA,eAAK+B,wBAAL;AACD;;;iDAC0BzF,U,EAAWthE,M,EAAM;AAExC;AACA,eAAK,IAAIF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKkgE,sCAAL,CAA4CnoF,MAAhE,EAAwEioB,CAAC,EAAzE,EAA6E;AAC3E,gBAAG,KAAKkgE,sCAAL,CAA4ClgE,CAA5C,EAA+CwhE,UAA/C,IAA6DA,UAAhE,EACE,KAAKtB,sCAAL,CAA4ClgE,CAA5C,EAA+C6iE,2BAA/C,GAA6E3iE,MAA7E;AACL;;AACD,eAAK,IAAIF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK8gE,6CAAL,CAAmD/oF,MAAvE,EAA+EioB,CAAC,EAAhF,EAAoF;AAClF,gBAAG,KAAK8gE,6CAAL,CAAmD9gE,CAAnD,EAAsDwhE,UAAtD,IAAoEA,UAAvE,EACE,KAAKV,6CAAL,CAAmD9gE,CAAnD,EAAsD6iE,2BAAtD,GAAoF3iE,MAApF;AACL;;AACC,eAAKknE,iBAAL;AACC;;;4CAEgB;AACf,eAAKxE,oBAAL,GAA4B,EAA5B;;AACA,eAAK,IAAI5iE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKkgE,sCAAL,CAA4CnoF,MAAhE,EAAwEioB,CAAC,EAAzE,EAA6E;AAC3E,gBAAG,KAAKkgE,sCAAL,CAA4ClgE,CAA5C,EAA+C6iE,2BAA/C,IAA8E,IAAjF,EAAsF;AACpF,mBAAKD,oBAAL,CAA0BhlF,IAA1B,CAA+B,KAAKsiF,sCAAL,CAA4ClgE,CAA5C,CAA/B;;AAEF,kBAAG,KAAKkgE,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,WAA7D,IAA4E,CAAC,KAAKnhD,iBAArF,EAAyG;AACvG,qBAAK0nE,yBAAL,GAA+B,IAA/B;AACD,eAFD,MAGK,IAAG,KAAKtG,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,SAA7D,IAA0E,KAAKnhD,iBAAlF,EAAoG;AACvG,qBAAK0nE,yBAAL,GAA+B,IAA/B;AACD,eAFI,MAGA,IAAG,KAAKtG,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,SAA7D,IAA0E,KAAKigB,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA4D,gBAAtI,IAA0J,CAAC,KAAK5iE,iBAAnK,EAAqL;AACxL,qBAAKioE,2BAAL,GAAiC,IAAjC;AACD,eAFI,MAGA,IAAG,KAAK7G,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,SAA7D,IAA0E,KAAKigB,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA4D,SAAtI,IAAmJ,KAAK5iE,iBAA3J,EAA6K;AAChL,qBAAKioE,2BAAL,GAAiC,IAAjC;AACA,qBAAKM,kCAAL,GAAwC,KAAxC;AACE,qBAAKpB,2CAAL,GAAiD,KAAjD;AACH,eAJI,MAKA,IAAG,KAAK/F,sCAAL,CAA4ClgE,CAA5C,EAA+CiiE,eAA/C,IAAgE,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAApE,EAAyJ;AAC5J,oBAAG,KAAKqlF,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,WAA7D,IAA4E,KAAKnhD,iBAApF,EAAwG;AACtG,uBAAK6mE,sBAAL,GAA4B,KAA5B;AACA,uBAAKC,+BAAL,GAAqC,IAArC;AACD,iBAHD,MAIK,IAAG,KAAK1F,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,SAA7D,IAA0E,KAAKigB,sCAAL,CAA4ClgE,CAA5C,EAA+C0hE,WAA/C,IAA4D,gBAAtI,IAA0J,KAAK5iE,iBAAlK,EAAsL;AACzL,uBAAKuoE,kCAAL,GAAwC,KAAxC;AACA,uBAAKpB,2CAAL,GAAiD,IAAjD;AACA,uBAAKc,2BAAL,GAAiC,KAAjC;AACD;AACF,eAVI,MAWA,IAAG,KAAK7G,sCAAL,CAA4ClgE,CAA5C,EAA+CiiE,eAA/C,IAAkE,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAAtE,EAA2J;AAC9J,oBAAG,KAAKqlF,sCAAL,CAA4ClgE,CAA5C,EAA+CigD,YAA/C,IAA6D,SAA7D,IAA0E,KAAKnhD,iBAAlF,EAAsG;AACpG,uBAAK6mE,sBAAL,GAA4B,IAA5B;AACA,uBAAKC,+BAAL,GAAqC,KAArC;AACD;AACF,eALI,MAMD;AACF,qBAAKmB,2BAAL,GAAiC,KAAjC;AACA,qBAAKP,yBAAL,GAA+B,KAA/B;AACA,qBAAKb,sBAAL,GAA4B,KAA5B;AACA,qBAAKC,+BAAL,GAAqC,KAArC;AACD;AACF;AACA;;AACD,cAAI5oE,WAAW,GAAG,KAAKkjE,sCAAL,CAA4Cv/D,MAA5C,CAAmD,UAAAC,GAAG,EAAI;AAAE,mBAAOA,GAAG,CAACiiE,2BAAJ,IAAmC,IAA1C;AAAgD,WAA5G,CAAlB;;AACA,cAAG,KAAK3C,sCAAL,CAA4CnoF,MAA5C,IAAsDilB,WAAW,CAACjlB,MAArE,EAA4E;AAC1E,iBAAK0uF,yBAAL,GAAiC,IAAjC;AACD,WAFD,MAGI;AACF,iBAAKA,yBAAL,GAA+B,KAA/B;AACD;;AAED,cAAGzpE,WAAW,CAACjlB,MAAZ,IAAoB,CAAvB,EAAyB;AACvB,iBAAKgvF,2BAAL,GAAiC,KAAjC;AACA,iBAAKP,yBAAL,GAA+B,KAA/B;AACA,iBAAKb,sBAAL,GAA4B,KAA5B;AACA,iBAAKC,+BAAL,GAAqC,KAArC;AACD;AACF;;;mDASuB;AAEtB,eAAKhD,oBAAL,GAA4B,EAA5B;;AACA,eAAK,IAAI5iE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK8gE,6CAAL,CAAmD/oF,MAAvE,EAA+EioB,CAAC,EAAhF,EAAoF;AAClF,gBAAG,KAAK8gE,6CAAL,CAAmD9gE,CAAnD,EAAsD6iE,2BAAtD,IAAqF,IAAxF,EAA6F;AAC3F,mBAAKD,oBAAL,CAA0BhlF,IAA1B,CAA+B,KAAKkjF,6CAAL,CAAmD9gE,CAAnD,CAA/B;AACA,mBAAKkhE,kBAAL,GAAwB,IAAxB;;AACF,kBAAG,KAAKJ,6CAAL,CAAmD9gE,CAAnD,EAAsDigD,YAAtD,IAAoE,WAApE,IAAmF,CAAC,KAAKnhD,iBAA5F,EAAgH;AAC9G,qBAAK0nE,yBAAL,GAA+B,IAA/B;AACD,eAFD,MAGK,IAAG,KAAK1F,6CAAL,CAAmD9gE,CAAnD,EAAsDigD,YAAtD,IAAoE,SAApE,IAAiF,KAAKnhD,iBAAzF,EAA2G;AAC9G,qBAAK0nE,yBAAL,GAA+B,IAA/B;AACD,eAFI,MAGA,IAAG,KAAK1F,6CAAL,CAAmD9gE,CAAnD,EAAsDigD,YAAtD,IAAoE,SAApE,IAAiF,KAAK6gB,6CAAL,CAAmD9gE,CAAnD,EAAsD0hE,WAAtD,IAAmE,gBAApJ,IAAwK,CAAC,KAAK5iE,iBAAjL,EAAmM;AACtM,qBAAKioE,2BAAL,GAAiC,IAAjC;AACD,eAFI,MAGA,IAAG,KAAKjG,6CAAL,CAAmD9gE,CAAnD,EAAsDigD,YAAtD,IAAoE,SAApE,IAAiF,KAAK6gB,6CAAL,CAAmD9gE,CAAnD,EAAsD0hE,WAAtD,IAAmE,SAApJ,IAAiK,KAAK5iE,iBAAzK,EAA2L;AAC9L,qBAAKioE,2BAAL,GAAiC,IAAjC;AACA,qBAAKM,kCAAL,GAAwC,KAAxC;AACE,qBAAKpB,2CAAL,GAAiD,KAAjD;AACH,eAJI,MAKA,IAAG,KAAKnF,6CAAL,CAAmD9gE,CAAnD,EAAsDiiE,eAAtD,IAAuE,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAA3E,EAAgK;AACnK,oBAAG,KAAKimF,6CAAL,CAAmD9gE,CAAnD,EAAsDigD,YAAtD,IAAoE,WAApE,IAAmF,KAAKnhD,iBAA3F,EAA+G;AAC7G,uBAAK6mE,sBAAL,GAA4B,KAA5B;AACA,uBAAKC,+BAAL,GAAqC,IAArC;AACD,iBAHD,MAIK,IAAG,KAAK9E,6CAAL,CAAmD9gE,CAAnD,EAAsDigD,YAAtD,IAAoE,SAApE,IAAiF,KAAK6gB,6CAAL,CAAmD9gE,CAAnD,EAAsD0hE,WAAtD,IAAmE,gBAApJ,IAAwK,KAAK5iE,iBAAhL,EAAoM;AACvM,uBAAKuoE,kCAAL,GAAwC,KAAxC;AACA,uBAAKpB,2CAAL,GAAiD,IAAjD;AACA,uBAAKc,2BAAL,GAAiC,KAAjC;AACD;AACF,eAVI,MAWA,IAAG,KAAKjG,6CAAL,CAAmD9gE,CAAnD,EAAsDiiE,eAAtD,IAAyE,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAA7E,EAAkK;AACrK,oBAAG,KAAKimF,6CAAL,CAAmD9gE,CAAnD,EAAsDigD,YAAtD,IAAoE,SAApE,IAAiF,KAAKnhD,iBAAzF,EAA6G;AAC3G,uBAAK6mE,sBAAL,GAA4B,IAA5B;AACA,uBAAKC,+BAAL,GAAqC,KAArC;AACD;AACF,eALI,MAMD;AACF,qBAAKmB,2BAAL,GAAiC,KAAjC;AACA,qBAAKP,yBAAL,GAA+B,KAA/B;AACA,qBAAKb,sBAAL,GAA4B,KAA5B;AACA,qBAAKC,+BAAL,GAAqC,KAArC;AACD;AACF;AACA,WA7CqB,CA8CtB;;;AACA,cAAI5oE,WAAW,GAAG,KAAK8jE,6CAAL,CAAmDngE,MAAnD,CAA0D,UAAAC,GAAG,EAAI;AAAE,mBAAOA,GAAG,CAACiiE,2BAAJ,IAAmC,IAA1C;AAAgD,WAAnH,CAAlB;;AACA,cAAG7lE,WAAW,CAACjlB,MAAZ,IAAoB,CAAvB,EAA2B;AACzB,iBAAKgvF,2BAAL,GAAiC,KAAjC;AACA,iBAAKP,yBAAL,GAA+B,KAA/B;AACA,iBAAKZ,+BAAL,GAAqC,KAArC;AACA,iBAAKyB,kCAAL,GAAwC,KAAxC;AACA,iBAAKpB,2CAAL,GAAiD,KAAjD;AACD;;AACD,eAAKqB,uBAAL,GAA+B,EAA/B;;AACA,eAAI,IAAItnE,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,KAAKkgE,sCAAL,CAA4CnoF,MAA1D,EAAkEioB,CAAC,EAAnE,EAAsE;AACpE,gBAAG,KAAKkgE,sCAAL,CAA4ClgE,CAA5C,EAA+C+hE,qBAA/C,IAAwE,IAA3E,EAAgF;AAC9E,kBAAG,KAAK7B,sCAAL,CAA4ClgE,CAA5C,EAA+CgiE,eAA/C,IAAgE,IAAnE,EAAwE,CACvE,CADD,MAEI;AACF,qBAAKsF,uBAAL,CAA6B1pF,IAA7B,CAAkC,KAAKsiF,sCAAL,CAA4ClgE,CAA5C,CAAlC;AACD;AACH;AACD;;AACD,cAAG,KAAKkhE,kBAAR,EAA2B;AACzB,iBAAKuF,yBAAL,GAAiC,IAAjC;AACA,iBAAKvF,kBAAL,GAAwB,KAAxB;AACD,WAHD,MAKE,KAAKuF,yBAAL,GAA+B,KAA/B;AACH;;;yDAI6B;AAAA;;AAC5B,eAAKpqE,QAAL,CAAcwB,IAAd;;AACA,eAAK+hE,yBAAL,CAA+BoD,mDAA/B,CAAmFzoF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAnF,EAAwHT,SAAxH,CAAkI,UAAA0nF,OAAO,EAAI;AAC3I,oBAAI,CAACf,2CAAL,GAAmDe,OAAnD;AACA,oBAAI,CAACd,iDAAL,GAAyD,QAAI,CAACD,2CAA9D;AACAvhF,sBAAU,CAAC,YAAM;AACf,sBAAI,CAAC+nF,uBAAL;;AACA,sBAAI,CAAClrE,QAAL,CAAc4E,IAAd;AACA,aAHQ,EAGN,GAHM,CAAV;AAID,WAPD;AASD;;;kDAEsB;AAAA;;AACrB,eAAK2lE,2BAAL,IAAoC,KAAKA,2BAAzC;;AACA,cAAI,KAAKxG,0CAAL,CAAgDroF,MAAhD,GAAyD,CAA7D,EAAgE;AAC9D,iBAAK,IAAIioB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKogE,0CAAL,CAAgDroF,MAApE,EAA4EioB,CAAC,EAA7E,EAAiF;AAC/E,kBAAG,CAAC,KAAKogE,0CAAL,CAAgDpgE,CAAhD,EAAmDgiE,eAAvD,EACA,IAAG,CAAC,KAAK5B,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAkE,SAAlE,IACJ,KAAKtB,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAD9D,KAC4E,KAAKnhD,iBADpF,EACsG;AACpG,qBAAKshE,0CAAL,CAAgDpgE,CAAhD,EAAmDmjE,6BAAnD,GAAmF,KAAKyD,2BAAxF;AACD,eAHD,MAIK,IAAG,CAAC,KAAK9nE,iBAAN,IAA2B,KAAKshE,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAkE,gBAAhG,EAAiH;AACpH,qBAAKtB,0CAAL,CAAgDpgE,CAAhD,EAAmDmjE,6BAAnD,GAAmF,KAAKyD,2BAAxF;AACD,eAFI,MAGA,IAAG,KAAKzG,qCAAL,CAA2CngE,CAA3C,EAA8CiiE,eAA9C,IAA+D,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAAnE,EAAwJ;AAC3J,oBAAG,KAAKslF,qCAAL,CAA2CngE,CAA3C,EAA8CigD,YAA9C,IAA4D,WAA5D,IAA2E,KAAKnhD,iBAAnF,EAAuG;AACrG,uBAAKshE,0CAAL,CAAgDpgE,CAAhD,EAAmDmjE,6BAAnD,GAAmF,KAAKyD,2BAAxF;AACD;AACF,eAJI,MAKA,IAAG,KAAKzG,qCAAL,CAA2CngE,CAA3C,EAA8CiiE,eAA9C,IAAiE,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAArE,EAA0J;AAC7J,oBAAG,KAAKslF,qCAAL,CAA2CngE,CAA3C,EAA8CigD,YAA9C,IAA4D,SAA5D,IAAyE,KAAKnhD,iBAAjF,EAAqG;AACnG,uBAAKshE,0CAAL,CAAgDpgE,CAAhD,EAAmDmjE,6BAAnD,GAAmF,KAAKyD,2BAAxF;AACD;AAEF;AACF;AACF;;AACD,cAAIxE,QAAQ,GAAG,KAAKvC,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAkK,CAAC;AAAA,mBAAIA,CAAC,CAAC3J,YAAF,KAAmB,QAAI,CAAC0+D,yBAAL,CAA+B17D,QAA/B,CAAwChD,YAA/D;AAAA,WAA7B,EAA0G,CAA1G,CAAf;;AACA,cAAGkhE,QAAQ,IAAEthE,SAAb,EAAuB;AACrB,iBAAK+4C,UAAL,GAAkB,CAAlB;AACD,WAFD,MAGI;AACF,iBAAKA,UAAL,GAAkBuoB,QAAQ,CAACt3D,QAA3B;AACD;;AACD,cAAI,KAAK+uC,UAAL,GAAkB,CAAtB,EAAyB;AACvB,iBAAKmnB,iDAAL,GAAyD,KAAKA,iDAAL,CAAuDrgE,MAAvD,CAA8D,UAAAC,GAAG,EAAI;AAAE,qBAAOA,GAAG,CAACwB,UAAJ,IAAkB,QAAI,CAACy3C,UAA9B;AAA2C,aAAlH,CAAzD;AACD,WAFD,MAGK;AACF,iBAAKmnB,iDAAL,GAAyD,KAAKA,iDAA9D;AACF;;AACD,cAAIkE,aAAa,GAAC,KAAKtF,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA1D;AACA,eAAK+gB,iDAAL,GAAyD,KAAKA,iDAAL,CAAuDrgE,MAAvD,CAA8D,UAAAC,GAAG,EAAI;AAC3H,mBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB2jE,aAAvB,CAAP;AACF,WAFwD,CAAzD;;AAIA,cAAI,KAAKlE,iDAAL,CAAuDjpF,MAAvD,GAAgE,CAApE,EAAuE;AACrE,iBAAK,IAAIioB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKghE,iDAAL,CAAuDjpF,MAA3E,EAAmFioB,CAAC,EAApF,EAAwF;AACtF,kBAAG,CAAC,KAAKghE,iDAAL,CAAuDhhE,CAAvD,EAA0DgiE,eAA9D,EACA,IAAG,CAAC,KAAKhB,iDAAL,CAAuDhhE,CAAvD,EAA0D0hE,WAA1D,IAAyE,SAAzE,IACJ,KAAKV,iDAAL,CAAuDhhE,CAAvD,EAA0DigD,YAA1D,IAAwE,SADrE,KACmF,KAAKnhD,iBAD3F,EAC6G;AAC3G,qBAAKkiE,iDAAL,CAAuDhhE,CAAvD,EAA0DmjE,6BAA1D,GAA0F,KAAKyD,2BAA/F;AACD,eAHD,MAIK,IAAG,CAAC,KAAK9nE,iBAAN,IAA2B,KAAKkiE,iDAAL,CAAuDhhE,CAAvD,EAA0D0hE,WAA1D,IAAyE,gBAAvG,EAAwH;AAC3H,qBAAKV,iDAAL,CAAuDhhE,CAAvD,EAA0DmjE,6BAA1D,GAA0F,KAAKyD,2BAA/F;AACD,eAFI,MAGA,IAAG,KAAK5F,iDAAL,CAAuDhhE,CAAvD,EAA0DiiE,eAA1D,IAA2E,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAA/E,EAAoK;AACvK,oBAAG,KAAKmmF,iDAAL,CAAuDhhE,CAAvD,EAA0DigD,YAA1D,IAAwE,WAAxE,IAAuF,KAAKnhD,iBAA/F,EAAmH;AACjH,uBAAKkiE,iDAAL,CAAuDhhE,CAAvD,EAA0DmjE,6BAA1D,GAA0F,KAAKyD,2BAA/F;AACD;AACF,eAJI,MAKA,IAAG,KAAK5F,iDAAL,CAAuDhhE,CAAvD,EAA0DiiE,eAA1D,IAA6E,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAAjF,EAAsK;AACzK,oBAAG,KAAKmmF,iDAAL,CAAuDhhE,CAAvD,EAA0DigD,YAA1D,IAAwE,SAAxE,IAAqF,KAAKnhD,iBAA7F,EAAiH;AAC/G,uBAAKkiE,iDAAL,CAAuDhhE,CAAvD,EAA0DmjE,6BAA1D,GAA0F,KAAKyD,2BAA/F;AACD;AAEF;AACF;AACF;;AACD,eAAKM,0BAAL;AACD;;;0CACc;AACb,cAAIhC,aAAa,GAAC,KAAKtF,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA1D;AACA,eAAK+gB,iDAAL,GAAyD,KAAKA,iDAAL,CAAuDrgE,MAAvD,CAA8D,UAAAC,GAAG,EAAI;AAC3H,mBAAOA,GAAG,CAACq/C,YAAJ,CAAiB1+C,KAAjB,CAAuB2jE,aAAvB,CAAP;AACF,WAFwD,CAAzD;AAGA,eAAKgC,0BAAL;AACD;;;mDAC0BhzF,E,EAAGgsB,M,EAAM;AAElC;AACA,eAAK,IAAIF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKogE,0CAAL,CAAgDroF,MAApE,EAA4EioB,CAAC,EAA7E,EAAiF;AAC/E,gBAAG,KAAKogE,0CAAL,CAAgDpgE,CAAhD,EAAmDwhE,UAAnD,IAAiEttF,EAApE,EACE,KAAKksF,0CAAL,CAAgDpgE,CAAhD,EAAmDmjE,6BAAnD,GAAmFjjE,MAAnF;AACL;;AACD,eAAK,IAAIF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKghE,iDAAL,CAAuDjpF,MAA3E,EAAmFioB,CAAC,EAApF,EAAwF;AACtF,gBAAG,KAAKghE,iDAAL,CAAuDhhE,CAAvD,EAA0DwhE,UAA1D,IAAwEttF,EAA3E,EACE,KAAK8sF,iDAAL,CAAuDhhE,CAAvD,EAA0DmjE,6BAA1D,GAA0FjjE,MAA1F;AACL;;AACC,eAAKsnE,kBAAL;AACC;;;6CAIiB;AAChB,eAAKtE,sBAAL,GAA8B,EAA9B;;AACA,eAAK,IAAIljE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKogE,0CAAL,CAAgDroF,MAApE,EAA4EioB,CAAC,EAA7E,EAAiF;AAC/E,gBAAG,KAAKogE,0CAAL,CAAgDpgE,CAAhD,EAAmDmjE,6BAAnD,IAAoF,IAAvF,EAA4F;AAC1F,mBAAKD,sBAAL,CAA4BtlF,IAA5B,CAAiC,KAAKwiF,0CAAL,CAAgDpgE,CAAhD,CAAjC;;AAEA,kBAAG,KAAKogE,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,WAAjE,IAAgF,CAAC,KAAKnhD,iBAAzF,EAA6G;AAC3G,qBAAK6nE,2BAAL,GAAiC,IAAjC;AACD,eAFD,MAGK,IAAG,KAAKvG,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAAjE,IAA8E,KAAKnhD,iBAAtF,EAAwG;AAC3G,qBAAK6nE,2BAAL,GAAiC,IAAjC;AACD,eAFI,MAGA,IAAG,KAAKvG,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAAjE,IAA8E,KAAKmgB,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAgE,gBAA9I,IAAkK,CAAC,KAAK5iE,iBAA3K,EAA6L;AAChM,qBAAKkoE,6BAAL,GAAmC,IAAnC;AACD,eAFI,MAGA,IAAG,KAAK5G,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAAjE,IAA8E,KAAKmgB,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAgE,SAA9I,IAA2J,KAAK5iE,iBAAnK,EAAqL;AACxL,qBAAKkoE,6BAAL,GAAmC,IAAnC;AACD,eAFI,MAGA,IAAG,KAAK5G,0CAAL,CAAgDpgE,CAAhD,EAAmDiiE,eAAnD,IAAoE,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAAxE,EAA6J;AAChK,oBAAG,KAAKulF,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,WAAjE,IAAgF,KAAKnhD,iBAAxF,EAA4G;AAC1G,uBAAKgnE,wBAAL,GAA8B,KAA9B;AACA,uBAAKC,iCAAL,GAAuC,IAAvC;AACD;;AACD,oBAAG,KAAK3F,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAAjE,IAA8E,KAAKmgB,0CAAL,CAAgDpgE,CAAhD,EAAmD0hE,WAAnD,IAAgE,gBAA9I,IAAkK,KAAK5iE,iBAA1K,EAA8L;AAC5L,uBAAK2oE,oCAAL,GAA0C,KAA1C;AACA,uBAAKvB,6CAAL,GAAmD,IAAnD;AACD;AACF,eATI,MAUA,IAAG,KAAK9F,0CAAL,CAAgDpgE,CAAhD,EAAmDiiE,eAAnD,IAAsE,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAA1E,EAA+J;AAClK,oBAAG,KAAKulF,0CAAL,CAAgDpgE,CAAhD,EAAmDigD,YAAnD,IAAiE,SAAjE,IAA8E,KAAKnhD,iBAAtF,EAA0G;AACxG,uBAAKgnE,wBAAL,GAA8B,IAA9B;AACA,uBAAKC,iCAAL,GAAuC,KAAvC;AACD;AAEF,eANI,MAOD;AACF,qBAAKiB,6BAAL,GAAmC,KAAnC;AACA,qBAAKL,2BAAL,GAAiC,KAAjC;AACD;AAEF;AAEF;;AACD,cAAI3pE,WAAW,GAAG,KAAKojE,0CAAL,CAAgDz/D,MAAhD,CAAuD,UAAAC,GAAG,EAAI;AAAE,mBAAOA,GAAG,CAACuiE,6BAAJ,IAAqC,IAA5C;AAAkD,WAAlH,CAAlB;;AACA,cAAGnmE,WAAW,CAACjlB,MAAZ,IAAoB,CAAvB,EAA2B;AACzB,iBAAKivF,6BAAL,GAAmC,KAAnC;AACA,iBAAKL,2BAAL,GAAiC,KAAjC;AACA,iBAAKZ,iCAAL,GAAuC,KAAvC;AACA,iBAAK0B,oCAAL,GAA0C,KAA1C;AACA,iBAAKvB,6CAAL,GAAmD,KAAnD;AACD;;AACD,cAAG,KAAK9F,0CAAL,CAAgDroF,MAAhD,IAA0DilB,WAAW,CAACjlB,MAAzE,EAAgF;AAC9E,iBAAK6uF,2BAAL,GAAmC,IAAnC;AACJ,WAFE,MAGC;AACC,iBAAKA,2BAAL,GAAiC,KAAjC;AACJ;AACC;;;qDAEyB;AAExB,eAAK1D,sBAAL,GAA8B,EAA9B;;AAEA,eAAK,IAAIljE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKghE,iDAAL,CAAuDjpF,MAA3E,EAAmFioB,CAAC,EAApF,EAAwF;AACtF,gBAAG,KAAKghE,iDAAL,CAAuDhhE,CAAvD,EAA0DmjE,6BAA1D,IAA2F,IAA9F,EAAmG;AACjG,mBAAKD,sBAAL,CAA4BtlF,IAA5B,CAAiC,KAAKojF,iDAAL,CAAuDhhE,CAAvD,CAAjC;AACA,mBAAK0nE,yBAAL,GAA+B,IAA/B;;AACA,kBAAG,KAAK1G,iDAAL,CAAuDhhE,CAAvD,EAA0DigD,YAA1D,IAAwE,WAAxE,IAAuF,CAAC,KAAKnhD,iBAAhG,EAAoH;AAClH,qBAAK6nE,2BAAL,GAAiC,IAAjC;AACD,eAFD,MAGK,IAAG,KAAK3F,iDAAL,CAAuDhhE,CAAvD,EAA0DigD,YAA1D,IAAwE,SAAxE,IAAqF,KAAKnhD,iBAA7F,EAA+G;AAClH,qBAAK6nE,2BAAL,GAAiC,IAAjC;AACD,eAFI,MAGA,IAAG,KAAK3F,iDAAL,CAAuDhhE,CAAvD,EAA0DigD,YAA1D,IAAwE,SAAxE,IAAqF,KAAK+gB,iDAAL,CAAuDhhE,CAAvD,EAA0D0hE,WAA1D,IAAuE,gBAA5J,IAAgL,CAAC,KAAK5iE,iBAAzL,EAA2M;AAC9M,qBAAKkoE,6BAAL,GAAmC,IAAnC;AACD,eAFI,MAGA,IAAG,KAAKhG,iDAAL,CAAuDhhE,CAAvD,EAA0DigD,YAA1D,IAAwE,SAAxE,IAAqF,KAAK+gB,iDAAL,CAAuDhhE,CAAvD,EAA0D0hE,WAA1D,IAAuE,SAA5J,IAAyK,KAAK5iE,iBAAjL,EAAmM;AACtM,qBAAKkoE,6BAAL,GAAmC,IAAnC;AACD,eAFI,MAGA,IAAG,KAAKhG,iDAAL,CAAuDhhE,CAAvD,EAA0DiiE,eAA1D,IAA2E,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAA/E,EAAoK;AACvK,oBAAG,KAAKmmF,iDAAL,CAAuDhhE,CAAvD,EAA0DigD,YAA1D,IAAwE,WAAxE,IAAuF,KAAKnhD,iBAA/F,EAAmH;AACjH,uBAAKgnE,wBAAL,GAA8B,KAA9B;AACA,uBAAKC,iCAAL,GAAuC,IAAvC;AACD;;AACD,oBAAG,KAAK/E,iDAAL,CAAuDhhE,CAAvD,EAA0DigD,YAA1D,IAAwE,SAAxE,IAAqF,KAAK+gB,iDAAL,CAAuDhhE,CAAvD,EAA0D0hE,WAA1D,IAAuE,gBAA5J,IAAgL,KAAK5iE,iBAAxL,EAA4M;AAC1M,uBAAK2oE,oCAAL,GAA0C,KAA1C;AACA,uBAAKvB,6CAAL,GAAmD,IAAnD;AACD;AACF,eATI,MAUA,IAAG,KAAKlF,iDAAL,CAAuDhhE,CAAvD,EAA0DiiE,eAA1D,IAA6E,CAAC,KAAKvlF,eAAL,CAAqB+P,kBAArB,CAAwClS,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAxC,CAAjF,EAAsK;AACzK,oBAAG,KAAKmmF,iDAAL,CAAuDhhE,CAAvD,EAA0DigD,YAA1D,IAAwE,SAAxE,IAAqF,KAAKnhD,iBAA7F,EAAiH;AAC/G,uBAAKgnE,wBAAL,GAA8B,IAA9B;AACA,uBAAKC,iCAAL,GAAuC,KAAvC;AACD;AAEF,eANI,MAOD;AACF,qBAAKiB,6BAAL,GAAmC,KAAnC;AACA,qBAAKL,2BAAL,GAAiC,KAAjC;AACD;AAEF;AAEF,WA5CuB,CA6CxB;;;AACA,cAAI3pE,WAAW,GAAG,KAAKgkE,iDAAL,CAAuDrgE,MAAvD,CAA8D,UAAAC,GAAG,EAAI;AAAE,mBAAOA,GAAG,CAACuiE,6BAAJ,IAAqC,IAA5C;AAAkD,WAAzH,CAAlB;;AACA,cAAGnmE,WAAW,CAACjlB,MAAZ,IAAoB,CAAvB,EAA2B;AACzB,iBAAKivF,6BAAL,GAAmC,KAAnC;AACA,iBAAKL,2BAAL,GAAiC,KAAjC;AACA,iBAAKZ,iCAAL,GAAuC,KAAvC;AACA,iBAAK0B,oCAAL,GAA0C,KAA1C;AACA,iBAAKvB,6CAAL,GAAmD,KAAnD;AACD;;AACD,eAAKoB,uBAAL,GAA+B,EAA/B;;AACA,eAAI,IAAItnE,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,KAAKogE,0CAAL,CAAgDroF,MAA9D,EAAsEioB,CAAC,EAAvE,EAA0E;AACxE,gBAAG,KAAKogE,0CAAL,CAAgDpgE,CAAhD,EAAmD+hE,qBAAnD,IAA4E,IAA/E,EAAoF;AAClF,kBAAG,KAAK3B,0CAAL,CAAgDpgE,CAAhD,EAAmDgiE,eAAnD,IAAoE,IAAvE,EAA4E,CAC3E,CADD,MAEI;AACF,qBAAKsF,uBAAL,CAA6B1pF,IAA7B,CAAkC,KAAKwiF,0CAAL,CAAgDpgE,CAAhD,CAAlC;AACD;AACD;AACH;;AACD,cAAG,KAAK0nE,yBAAR,EAAkC;AAChC,iBAAKd,2BAAL,GAAmC,IAAnC;AACA,iBAAKc,yBAAL,GAA+B,KAA/B;AACJ,WAHE,MAIC;AACC,iBAAKd,2BAAL,GAAiC,KAAjC;AACJ;AACC;;;iDAoBsBv/E,I,EAAM2Y,C,EAAE6lD,Q,EAASC,M,EAAO5kD,Y,EAAam/D,U,EAAY;AACtE,eAAKnoD,UAAL,GAAkB,EAAlB;AACA,eAAKA,UAAL,CAAgBlY,CAAhB,IAAqB,IAArB;AACA,eAAKiY,MAAL,GAAc5wB,IAAd;AACA,eAAKkX,WAAL,GAAmBlX,IAAnB;AACA,cAAI+6E,QAAQ,GAAG,KAAKvC,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAkK,CAAC;AAAA,mBAAIA,CAAC,CAAC3J,YAAF,KAAmBA,YAAvB;AAAA,WAA7B,EAAkE,CAAlE,CAAf;;AACA,cAAGkhE,QAAQ,IAAEthE,SAAb,EAAuB;AACrB,iBAAK+4C,UAAL,GAAkB,CAAlB;AACD,WAFD,MAGI;AACF,iBAAKA,UAAL,GAAkBuoB,QAAQ,CAACt3D,QAA3B;AACD;;AACD,cAAGu1D,UAAU,IAAE,CAAf,EACE,KAAKmD,uBAAL,CAA6BtiE,YAA7B,EAA0C2kD,QAA1C,EAAmDC,MAAnD,EAA0D,KAAK8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAlG,EAA+G,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAvJ,EAAmK,KAAKvpD,SAAxK,EADF,KAEK,IAAGkoD,UAAU,IAAE,CAAf,EACH,KAAKoD,qCAAL,CAA2C,KAAK5pB,UAAhD,EAA2DgM,QAA3D,EAAoEC,MAApE,EAA2E,KAAK8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAnH,EAAgI,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAxK,EAAoL,CAApL,EAAsL,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAAtL,EAA0N,KAAKkW,MAA/N,EAAsO,KAAKE,SAA3O,EADG,KAEE,IAAGkoD,UAAU,IAAE,CAAf,EACL,KAAKqD,yCAAL,CAA+C,IAA/C,EAAoD,KAAK9D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5F,EAAyG,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAjJ,EAA6J,CAA7J,EAA+J,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA/J,EAAmM,KAAKkW,MAAxM,EAA+M,KAAKE,SAApN;AACD;;;yCACgB;AAEf,cAAG,KAAKI,cAAL,IAAuB,IAA1B,EAA+B;AAC7B,iBAAKL,UAAL,GAAkB,EAAlB;AACA,iBAAKA,UAAL,CAAgB,KAAKN,kBAAL,CAAwBkF,cAAxB,GAAyC,CAAzD,IAA8D,IAA9D;AACA,iBAAKvE,cAAL,GAAsB,KAAtB;AACD;;AACD,cAAG,KAAKC,eAAL,IAAwB,IAA3B,EAAgC;AAC9B,iBAAKN,UAAL,GAAkB,EAAlB;AACA,iBAAKA,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,iBAAKM,eAAL,GAAuB,KAAvB;AACD;;AACD,eAAKxW,WAAL,GAAmB,KAAK2X,UAAxB;AACA,eAAKoD,cAAL,GAAsBhiC,MAAM,CAAC,KAAK4+B,UAAL,GAAgB,KAAKtb,MAAL,CAAYC,YAA7B,CAA5B;AACA,cAAI0e,YAAY,GAAG,KAAKD,cAAL,CAAoBE,OAApB,EAAnB;;AACA,cAAIliC,MAAM,CAACiiC,YAAD,CAAN,GAAuB,KAAKD,cAAhC,EAAgD;AAC9C,iBAAKG,aAAL,GAAqBniC,MAAM,CAACiiC,YAAD,CAAN,GAAuB,CAA5C;AACA,iBAAKpF,kBAAL,CAAwBsF,aAAxB,GAAwC,KAAKA,aAA7C;AACD,WAHD,MAGO;AACL,iBAAKA,aAAL,GAAqBniC,MAAM,CAACiiC,YAAD,CAA3B;AACA,iBAAKpF,kBAAL,CAAwBsF,aAAxB,GAAwC,KAAKA,aAA7C;AACD;;AACD,cAAG,KAAKtF,kBAAL,CAAwBsF,aAAxB,GAAwC,EAA3C,EAA8C;AAC5C,iBAAKtF,kBAAL,CAAwBkF,cAAxB,GAA0C,KAAKlF,kBAAL,CAAwBsF,aAAlE;AACA,iBAAKtF,kBAAL,CAAwBuF,eAAxB,GAA0C,IAA1C;AACA,iBAAKvF,kBAAL,CAAwBwF,eAAxB,GAA0C,IAA1C;AACD,WAJD,MAKI;AACF,iBAAKxF,kBAAL,CAAwBkF,cAAxB,GAA0C,EAA1C;AACD;;AACD,eAAKlF,kBAAL,CAAwByF,UAAxB;;AACA,eAAKhF,SAAL,GAAiB,KAAKT,kBAAL,CAAwBS,SAAzC;;AAEA,cAAG,KAAKA,SAAL,CAAetgC,MAAf,GAAwB,EAA3B,EAA8B;AAC5B,iBAAK6/B,kBAAL,CAAwBwF,eAAxB,GAA0C,IAA1C;AACA,iBAAKxF,kBAAL,CAAwBuF,eAAxB,GAA0C,IAA1C;AACD;AAEF;;;qDAE0B0oC,Q,EAASC,M,EAAO5kD,Y,EAAam/D,U,EAAY;AACpE,cAAI,KAAKzoD,kBAAL,CAAwB0F,mBAAxB,IAA+C,CAAnD,EAAsD;AACpD,iBAAK1F,kBAAL,CAAwBkF,cAAxB,GAAyC,EAAzC;;AACA,iBAAKlF,kBAAL,CAAwBr0B,SAAxB;;AACA,iBAAK20B,UAAL,GAAkB,EAAlB;AACA,iBAAKA,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,iBAAK3Z,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAnB;AACA,iBAAKJ,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAd;AACA,gBAAI+pD,QAAQ,GAAG,KAAKvC,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAkK,CAAC;AAAA,qBAAIA,CAAC,CAAC3J,YAAF,KAAmBA,YAAvB;AAAA,aAA7B,EAAkE,CAAlE,CAAf;;AACA,gBAAGkhE,QAAQ,IAAEthE,SAAb,EAAuB;AACrB,mBAAK+4C,UAAL,GAAkB,CAAlB;AACD,aAFD,MAGI;AACF,mBAAKA,UAAL,GAAkBuoB,QAAQ,CAACt3D,QAA3B;AACD;;AACD,gBAAGu1D,UAAU,IAAE,CAAf,EACE,KAAKmD,uBAAL,CAA6BtiE,YAA7B,EAA0C2kD,QAA1C,EAAmDC,MAAnD,EAA0D,KAAK8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAlG,EAA+G,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAvJ,EAAmK,KAAKvpD,SAAxK,EADF,KAEK,IAAGkoD,UAAU,IAAE,CAAf,EACL,KAAKoD,qCAAL,CAA2C,KAAK5pB,UAAhD,EAA2D,IAA3D,EAAgE,IAAhE,EAAqE,KAAK+lB,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA7G,EAA0H,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAlK,EAA8K,CAA9K,EAAgL,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAAhL,EAAoN,KAAKkW,MAAzN,EAAgO,KAAKE,SAArO,EADK,KAEA,IAAGkoD,UAAU,IAAE,CAAf,EACL,KAAKqD,yCAAL,CAA+C,IAA/C,EAAoD,KAAK9D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5F,EAAyG,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAjJ,EAA6J,CAA7J,EAA+J,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA/J,EAAmM,KAAKkW,MAAxM,EAA+M,KAAKE,SAApN;AACA,iBAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACD;AACF;;;oDAC2B4tC,Q,EAASC,M,EAAO5kD,Y,EAAam/D,U,EAAU;AAE/D,eAAKzoD,kBAAL,CAAwBgB,QAAxB,GAAmC,KAAKhB,kBAAL,CAAwBsF,aAA3D;AACA,cAAG,KAAKtF,kBAAL,CAAwBsF,aAAxB,GAAsC,EAAtC,IAA4C,CAA/C,EACE,KAAKtF,kBAAL,CAAwBkF,cAAxB,GAAyC,EAAzC,CADF,KAGE,KAAKlF,kBAAL,CAAwBkF,cAAxB,GAAyC,KAAKlF,kBAAL,CAAwBsF,aAAxB,GAAsC,EAA/E;AAEF,eAAKtF,kBAAL,CAAwB0F,mBAAxB,GAA8CnlC,IAAI,CAACqlC,IAAL,CAAU,KAAK5F,kBAAL,CAAwBsF,aAAxB,GAAsC,EAAhD,CAA9C;AACA,eAAKtF,kBAAL,CAAwB4C,oBAAxB,GAA+C,IAA/C;;AACA,eAAK5C,kBAAL,CAAwB6F,SAAxB;;AAEA,eAAKlf,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,KAAKT,kBAAL,CAAwBkF,cAAxB,GAAyC,CAA3E,CAAnB;AACA,eAAK7E,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,KAAKT,kBAAL,CAAwBkF,cAAxB,GAAyC,CAA3E,CAAd;AACA,cAAIslD,QAAQ,GAAG,KAAKvC,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAkK,CAAC;AAAA,mBAAIA,CAAC,CAAC3J,YAAF,KAAmBA,YAAvB;AAAA,WAA7B,EAAkE,CAAlE,CAAf;;AACA,cAAGkhE,QAAQ,IAAEthE,SAAb,EAAuB;AACrB,iBAAK+4C,UAAL,GAAkB,CAAlB;AACD,WAFD,MAGI;AACF,iBAAKA,UAAL,GAAkBuoB,QAAQ,CAACt3D,QAA3B;AACD;;AAED,cAAGu1D,UAAU,IAAE,CAAf,EACE,KAAKmD,uBAAL,CAA6BtiE,YAA7B,EAA0C2kD,QAA1C,EAAmDC,MAAnD,EAA0D,KAAK8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAlG,EAA+G,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAvJ,EAAmK,KAAKvpD,SAAxK,EADF,KAEK,IAAGkoD,UAAU,IAAE,CAAf,EACH,KAAKoD,qCAAL,CAA2C,KAAK5pB,UAAhD,EAA2D,IAA3D,EAAgE,IAAhE,EAAqE,KAAK+lB,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA7G,EAA0H,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAlK,EAA8K,CAA9K,EAAgL,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAAhL,EAAoN,KAAKkW,MAAzN,EAAgO,KAAKE,SAArO,EADG,KAEA,IAAGkoD,UAAU,IAAE,CAAf,EACH,KAAKqD,yCAAL,CAA+C,IAA/C,EAAoD,KAAK9D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5F,EAAyG,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAjJ,EAA6J,CAA7J,EAA+J,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA/J,EAAmM,KAAKkW,MAAxM,EAA+M,KAAKE,SAApN;AACF,eAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACA,eAAKM,cAAL,GAAsB,IAAtB;AAGD;;;iDAEsBstC,Q,EAASC,M,EAAO5kD,Y,EAAam/D,U,EAAY;AAChE,cAAI,KAAKzoD,kBAAL,CAAwBwF,eAAxB,IAA2C,KAA/C,EAAsD;AACpD,iBAAKlF,UAAL,GAAkB,EAAlB;;AACA,iBAAKN,kBAAL,CAAwBp0B,SAAxB;;AACA,iBAAK00B,UAAL,CAAgB,CAAhB,IAAqB,IAArB;AACA,iBAAK3Z,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAnB;AACA,iBAAKJ,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAd;AACA,gBAAI+pD,QAAQ,GAAG,KAAKvC,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAkK,CAAC;AAAA,qBAAIA,CAAC,CAAC3J,YAAF,KAAmBA,YAAvB;AAAA,aAA7B,EAAkE,CAAlE,CAAf;;AACA,gBAAGkhE,QAAQ,IAAEthE,SAAb,EAAuB;AACrB,mBAAK+4C,UAAL,GAAkB,CAAlB;AACD,aAFD,MAGI;AACF,mBAAKA,UAAL,GAAkBuoB,QAAQ,CAACt3D,QAA3B;AACD;;AACD,gBAAGu1D,UAAU,IAAE,CAAf,EACE,KAAKmD,uBAAL,CAA6BtiE,YAA7B,EAA0C2kD,QAA1C,EAAmDC,MAAnD,EAA0D,KAAK8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAlG,EAA+G,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAvJ,EAAmK,KAAKvpD,SAAxK,EADF,KAEK,IAAGkoD,UAAU,IAAE,CAAf,EACH,KAAKoD,qCAAL,CAA2C,KAAK5pB,UAAhD,EAA2D,IAA3D,EAAgE,IAAhE,EAAqE,KAAK+lB,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA7G,EAA0H,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAlK,EAA8K,CAA9K,EAAgL,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAAhL,EAAoN,KAAKkW,MAAzN,EAAgO,KAAKE,SAArO,EADG,KAEE,IAAGkoD,UAAU,IAAE,CAAf,EACP,KAAKqD,yCAAL,CAA+C,IAA/C,EAAoD,KAAK9D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5F,EAAyG,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAjJ,EAA6J,CAA7J,EAA+J,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA/J,EAAmM,KAAKkW,MAAxM,EAA+M,KAAKE,SAApN;AACA,iBAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACD;AACF;;;yCAEgB/+B,K,EAAehF,E,EAAG2xE,Q,EAASC,M,EAAO5kD,Y,EAAc;AAC/D,eAAKiX,SAAL,GAAiBj/B,KAAjB;AACA,eAAKk/B,KAAL,GAAYl/B,KAAZ;;AACA,cAAI,KAAKo/B,OAAL,IAAgB,MAApB,EAA4B;AAC1B,iBAAKA,OAAL,GAAe,KAAf;AACA,iBAAKH,SAAL,GAAgB,KAAKA,SAAL,GAAe,MAA/B;AACAsqD,oCAAwB,CAACvuF,EAAD,EAAI,IAAJ,CAAxB;AACD,WAJD,MAIO;AACL,iBAAKokC,OAAL,GAAe,MAAf;AACA,iBAAKH,SAAL,GAAgB,KAAKA,SAAL,GAAe,OAA/B;AACAsqD,oCAAwB,CAACvuF,EAAD,EAAI,KAAJ,CAAxB;AACD;;AAED,eAAKsvF,uBAAL,CAA6BtiE,YAA7B,EAA0C2kD,QAA1C,EAAmDC,MAAnD,EAA0D,KAAK8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAlG,EAA+G,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAvJ,EAAmK,KAAKvpD,SAAxK;AACA,eAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AAEC;;;iDAEsB4tC,Q,EAASC,M,EAAO5kD,Y,EAAam/D,U,EAAU;AAC9D,eAAKzoD,kBAAL,CAAwBgB,QAAxB,GAAmC,EAAnC;AACA,eAAKhB,kBAAL,CAAwBkF,cAAxB,GAAyC,EAAzC;AACA,eAAKlF,kBAAL,CAAwB0F,mBAAxB,GAA8C,CAA9C;;AACA,eAAK1F,kBAAL,CAAwB2F,UAAxB;;AACA,eAAKhf,WAAL,GAAmB,KAAKqZ,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAnB;AACA,eAAKJ,MAAL,GAAc,KAAKL,kBAAL,CAAwBS,SAAxB,CAAkC,CAAlC,CAAd;AACA,cAAI+pD,QAAQ,GAAG,KAAKvC,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAkK,CAAC;AAAA,mBAAIA,CAAC,CAAC3J,YAAF,KAAmBA,YAAvB;AAAA,WAA7B,EAAkE,CAAlE,CAAf;;AACE,cAAGkhE,QAAQ,IAAEthE,SAAb,EAAuB;AACrB,iBAAK+4C,UAAL,GAAkB,CAAlB;AACD,WAFD,MAGI;AACF,iBAAKA,UAAL,GAAkBuoB,QAAQ,CAACt3D,QAA3B;AACD;;AACH,cAAGu1D,UAAU,IAAE,CAAf,EACE,KAAKmD,uBAAL,CAA6BtiE,YAA7B,EAA0C2kD,QAA1C,EAAmDC,MAAnD,EAA0D,KAAK8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAlG,EAA+G,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAvJ,EAAmK,KAAKvpD,SAAxK,EADF,KAEK,IAAIkoD,UAAU,IAAE,CAAhB,EACL,KAAKoD,qCAAL,CAA2C,KAAK5pB,UAAhD,EAA2D,IAA3D,EAAgE,IAAhE,EAAqE,KAAK+lB,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA7G,EAA0H,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAlK,EAA8K,CAA9K,EAAgL,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAAhL,EAAoN,KAAKkW,MAAzN,EAAgO,KAAKE,SAArO,EADK,KAEA,IAAGkoD,UAAU,IAAE,CAAf,EACH,KAAKqD,yCAAL,CAA+C,IAA/C,EAAoD,KAAK9D,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAA5F,EAAyG,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAjJ,EAA6J,CAA7J,EAA+J,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA/J,EAAmM,KAAKkW,MAAxM,EAA+M,KAAKE,SAApN;AACF,eAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AACA,eAAKO,eAAL,GAAuB,IAAvB,CArB8D,CAsBhE;AACC;;;wCAEet/B,K,EAAehF,E,EAAG2xE,Q,EAASC,M,EAAO5kD,Y,EAAc;AAC9D,eAAKiX,SAAL,GAAiBj/B,KAAjB;AACA,eAAKk/B,KAAL,GAAYl/B,KAAZ;;AACA,cAAI,KAAKo/B,OAAL,IAAgB,MAApB,EAA4B;AAC1B,iBAAKA,OAAL,GAAe,KAAf;AACA,iBAAKH,SAAL,GAAgB,KAAKA,SAAL,GAAe,MAA/B;AACAusD,wCAA4B,CAACxwF,EAAD,EAAI,IAAJ,CAA5B;AACD,WAJD,MAIO;AACL,iBAAKokC,OAAL,GAAe,MAAf;AACA,iBAAKH,SAAL,GAAgB,KAAKA,SAAL,GAAe,OAA/B;AACAusD,wCAA4B,CAACxwF,EAAD,EAAI,KAAJ,CAA5B;AACD;;AACD,cAAIkuF,QAAQ,GAAG,KAAKvC,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAkK,CAAC;AAAA,mBAAIA,CAAC,CAAC3J,YAAF,KAAmBA,YAAvB;AAAA,WAA7B,EAAkE,CAAlE,CAAf;;AACE,cAAGkhE,QAAQ,IAAEthE,SAAb,EAAuB;AACrB,iBAAK+4C,UAAL,GAAkB,CAAlB;AACD,WAFD,MAGI;AACF,iBAAKA,UAAL,GAAkBuoB,QAAQ,CAACt3D,QAA3B;AACD;;AACH,eAAK44D,yCAAL,CAA+C,KAAK7pB,UAApD,EAA+D,KAAK+lB,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAvG,EAAoH,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAA5J,EAAwK,CAAxK,EAA0K,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAA1K,EAA8M,KAAKkW,MAAnN,EAA0N,KAAKE,SAA/N;AACA,eAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AAED;;;sCAEa/+B,K,EAAehF,E,EAAG2xE,Q,EAASC,M,EAAO5kD,Y,EAAc;AAC5D,eAAKiX,SAAL,GAAiBj/B,KAAjB;AACA,eAAKk/B,KAAL,GAAYl/B,KAAZ;;AACA,cAAI,KAAKo/B,OAAL,IAAgB,MAApB,EAA4B;AAC1B,iBAAKA,OAAL,GAAe,KAAf;AACA,iBAAKH,SAAL,GAAgB,KAAKA,SAAL,GAAe,MAA/B;AACAssD,sCAA0B,CAACvwF,EAAD,EAAI,IAAJ,CAA1B;AACD,WAJD,MAIO;AACL,iBAAKokC,OAAL,GAAe,MAAf;AACA,iBAAKH,SAAL,GAAgB,KAAKA,SAAL,GAAe,OAA/B;AACAssD,sCAA0B,CAACvwF,EAAD,EAAI,KAAJ,CAA1B;AACD;;AACD,cAAIkuF,QAAQ,GAAG,KAAKvC,eAAL,CAAqBl/D,MAArB,CAA4B,UAAAkK,CAAC;AAAA,mBAAIA,CAAC,CAAC3J,YAAF,KAAmBA,YAAvB;AAAA,WAA7B,EAAkE,CAAlE,CAAf;;AACE,cAAGkhE,QAAQ,IAAEthE,SAAb,EAAuB;AACrB,iBAAK+4C,UAAL,GAAkB,CAAlB;AACD,WAFD,MAGI;AACF,iBAAKA,UAAL,GAAkBuoB,QAAQ,CAACt3D,QAA3B;AACD;;AACH,eAAK24D,qCAAL,CAA2C,KAAK5pB,UAAhD,EAA2DgM,QAA3D,EAAoEC,MAApE,EAA2E,KAAK8Z,yBAAL,CAA+B17D,QAA/B,CAAwC+7C,YAAnH,EAAgI,KAAK2f,yBAAL,CAA+B17D,QAA/B,CAAwCw9D,WAAxK,EAAoL,CAApL,EAAsL,KAAKrjE,MAAL,CAAYC,YAAZ,CAAyByD,QAAzB,EAAtL,EAA0N,KAAKkW,MAA/N,EAAsO,KAAKE,SAA3O;AACA,eAAK7W,WAAL,CAAiB,KAAK2W,MAAtB;AAEC;;;;;;;uBAryGQ0nD,yB,EAAyB,2K,EAAA,uH,EAAA,8H,EAAA,mJ,EAAA,yH,EAAA,6J,EAAA,oK,EAAA,qJ;AAAA,K;;;YAAzBA,yB;AAAyB,4C;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BtC;;AACE;;AACE;;AACE;;AACE;;AAA8I;;AAAa;;AAC7J;;AACF;;AAEA;;AACE;;AACE;;AAAiB;AAAA,mBAAS,IAAA55D,OAAA,EAAT;AAAkB,WAAlB;;AAAuC;;AAAO;;AAC/D;;AAAQ;;AAAQ;;AAAU;;AAC5B;;AAIA;;AACE;;AAAiB;AAAA,mBAAS,IAAAC,SAAA,EAAT;AAAoB,WAApB;;AAAyC;;AAAO;;AACjE;;AAAmB;;AACrB;;AACF;;AAEA;;AAWE;;AACE;;AAAyE;;AAAa;;AAEtF;;AAC4C;AAAA;AAAA,aAA6D,QAA7D,EAA6D;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAC9F,IAAAhF,QAAA,kCAD8F;AACtC,WADvB;;AAD5C;;AAMA;;AACE;;AACF;;AAEA;;AAGJ;;AAEE;;AACE;;AAAuE;;AAAW;;AAClF;;AAAQ;AAAA;AAAA,aAAwB,eAAxB,EAAwB;AAAA;AAAA,WAAxB,EAAwB,QAAxB,EAAwB;AAAA,mBACwC,IAAA2mE,gBAAA,EADxC;AAC0D,WADlF;;AAGN;;AAAkC;;AAAS;;AAC3C;;AAAiC;;AAAsB;;AACvD;;AAAqC;;AAA0B;;AACjE;;AACF;;AAGA;;AAYE;;AAC8D;;AAAS;;AACvE;;AACE;;AACE;;AACE;AAAA;AAAA,aAAyD,eAAzD,EAAyD;AAAA;;AAAA;;AAAA,mBACxC,IAAArgB,kBAAA,WADwC;AACN,WADnD,EAAyD,UAAzD,EAAyD;AAAA,mBAE7C,IAAAphD,SAAA,QAF6C;AAE5B,WAF7B,EAAyD,eAAzD,EAAyD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAEM,IAAAlF,QAAA,kCAFN;AAE8D,WAFvH;;AADF;;AAMA;;AACE;;AACE;AAAA;;AAAA;;AAAA,mBAAS,oBAAT;AAA2B,WAA3B;;AACA;;AACF;;AACF;;AACF;;AACA;;AAGA;;AAGF;;AAEA;;AAC8D;;AAAK;;AACnE;;AACE;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAU,IAAAA,QAAA,kCAAV;AAAkE,WAAlE,EAAmE,eAAnE,EAAmE;AAAA;AAAA,WAAnE;;AAEjD;;AAAkB;;AAAG;;AACrB;;AAAkB;;AAAG;;AACrB;;AAAkB;;AAAG;;AACrB;;AAAkB;;AAAG;;AACrB;;AAAkB;;AAAG;;AACrB;;AAAkB;;AAAG;;AACrB;;AAAkB;;AAAG;;AACrB;;AAAkB;;AAAG;;AACrB;;AAAkB;;AAAG;;AACrB;;AAAmB;;AAAG;;AACtB;;AAAmB;;AAAG;;AACtB;;AAAmB;;AAAG;;AACxB;;AACF;;AAEF;;AAEA;;AAiBE;;AAC8D;;AAAO;;AACrE;;AACE;;AACE;;AAA0E;AAAA,mBAAY,IAAAkF,SAAA,QAAZ;AAA6B,WAA7B,EAA8B,eAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA,mBAEtF,IAAA0hE,iBAAA,uBAFsF;AAExC,WAFU,EAA8B,eAA9B,EAA8B;AAAA;AAAA,WAA9B,EAA8B,UAA9B,EAA8B;AAAA,mBAK1F,IAAA1hE,SAAA,QAL0F;AAKzE,WAL2C,EAA8B,QAA9B,EAA8B;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAK9C,IAAAlF,QAAA,kCAL8C;AAKU,WALxC;;AAA1E;;AAMA;;AACE;;AACE;AAAA;;AAAA;;AAAA,mBAAS,oBAAT;AAA2B,WAA3B;;AACA;;AACF;;AACF;;AACF;;AACA;;AAGA;;AAIF;;AAEA;;AAC8D;;AAAI;;AAClE;;AACE;;AAAmD;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAU,IAAAA,QAAA,kCAAV;AAAkE,WAAlE,EAAmE,eAAnE,EAAmE;AAAA;AAAA,WAAnE;;AAEjD;;AAAqB;;AAAI;;AACzB;;AAAqB;;AAAI;;AACzB;;AAAqB;;AAAI;;AACzB;;AAAqB;;AAAI;;AACzB;;AAAqB;;AAAI;;AAC3B;;AACF;;AAEF;;AAEA;;AACE;;AAAkE;;AAAa;;AAC/E;;AACE;AAAA;AAAA,aAA6D,QAA7D,EAA6D;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACnD,IAAAA,QAAA,kCADmD;AACK,WADlE;;AAEA;;AAAwB;;AAAO;;AAC/B;;AAA0B;;AAAS;;AACnC;;AAAwB;;AAAO;;AAC/B;;AAAgC;;AAAe;;AACjD;;AACF;;AACF;;AACA;;AACE;;AACE;;AAA2E;;AAAgB;;AAC3F;;AACE;AAAA;AAAA,aAA4D,QAA5D,EAA4D;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACjD,IAAAA,QAAA,kCADiD;AACO,WADnE;;AAEA;;AAA0B;;AAAO;;AACjC;;AAAwB;;AAAO;;AAC/B;;AAAyB;;AAAQ;;AACjC;;AAAyB;;AAAQ;;AACjC;;AAA+B;;AAAc;;AAC/C;;AACF;;AACF;;AAGA;;AAEE;;AACE;;AACE;;AAA6D;;AAAI;;AACnE;;AACA;;AACE;;AAEC;AAAA;AAAA,aAA8D,QAA9D,EAA8D;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBACrD,IAAAmF,cAAA,0CADqD;AACgB,WAD9E;;AAGD;;AAA6B;;AAAE;;AAC7B;;AAAmB;;AAAE;;AACrB;;AAAmB;;AAAE;;AACrB;;AAAoB;;AAAG;;AACzB;;AACF;;AACA;;AACE;;AAAqE;;AAAO;;AAC9E;;AACF;;AACA;;AAEA;;AACA;;AACE;;AACE;;AAAoC;AAAA,mBAAiB,IAAAukD,cAAA,EAAjB;AAAiC,WAAjC;;AAClC;;AACE;;AAEE;;AAAiF;;AACnF;;AACE;;AAA6B;AAAA,mBAAiB,IAAAC,iBAAA,EAAjB;AAAoC,WAApC;;AAC3B;;AACwC;;AAAkB;;AAC1D;;AACE;;AAAI;;AAEA;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAxhB,gBAAA,CAAiB,OAAjB,EAAwB,SAAxB,EAAwB,SAAxB,CAAT;AAAsE,WAAtE,EAAuE,eAAvE,EAAuE;AAAA;;AAAA;;AAAA;;AAAA,mBACtD,IAAAA,gBAAA,CAAiB,OAAjB,EAAwB,SAAxB,EAAwB,SAAxB,CADsD;AACO,WAD9E;;AACgF;;AAAiB;;AAAI;;AACzG;;AAAI;;AAEA;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,gBAAA,CAAiB,MAAjB,EAAuB,SAAvB,EAAuB,SAAvB,CAAT;AAAqE,WAArE,EAAsE,eAAtE,EAAsE;AAAA;;AAAA;;AAAA;;AAAA,mBACrD,IAAAA,gBAAA,CAAiB,MAAjB,EAAuB,SAAvB,EAAuB,SAAvB,CADqD;AACO,WAD7E;;AAC+E;;AAAgB;;AAAI;;AACvG;;AAAI;;AAEA;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,gBAAA,CAAiB,KAAjB,EAAsB,SAAtB,EAAsB,SAAtB,CAAT;AAAoE,WAApE,EAAqE,eAArE,EAAqE;AAAA;;AAAA;;AAAA;;AAAA,mBACpD,IAAAA,gBAAA,CAAiB,KAAjB,EAAsB,SAAtB,EAAsB,SAAtB,CADoD;AACO,WAD5E;;AAC8E;;AAAe;;AAAI;;AACrG;;AAAI;;AAEA;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAA,gBAAA,CAAiB,KAAjB,EAAsB,SAAtB,EAAsB,SAAtB,CAAT;AAAoE,WAApE,EAAqE,eAArE,EAAqE;AAAA;;AAAA;;AAAA;;AAAA,mBACpD,IAAAA,gBAAA,CAAiB,KAAjB,EAAsB,SAAtB,EAAsB,SAAtB,CADoD;AACO,WAD5E;;AAC8E;;AAAe;;AAAI;;AACvG;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AAEA;;AACE;;AAOF;;AACA;;AACE;;AAAmC;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,IAAAnoC,QAAA,kCAAT;AAAiE,WAAjE;;AAGjC;;AAAwD;;AAAO;;AAGnE;;AAEF;;AAuCA;;AA2KA;;AAmLA;;AAkLJ;;AAEA;;AAEE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AAA4E;AAAA,mBAAS,IAAAC,IAAA,EAAT;AAAe,WAAf;;AAC1E;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AAAoC;;AAAgC;;AACtE;;AACA;;AACE;;AAA6C;AAAA,mBAAS,IAAA4mE,MAAA,EAAT;AAAiB,WAAjB;;AAA7C;;AACA;;AAAQ;AAAA,mBAAS,IAAA5mE,IAAA,EAAT;AAAe,WAAf;;AAEe;;AAAK;;AAC9B;;AACF;;AACF;;AACF;;AAEA;;AACE;;AAEE;;AACE;;AACE;;AAAqE;;AAAa;;AAClF;;AAAqE;;AAAO;;AAC5E;;AAAqE;;AAAU;;AAC/E;;AAAqE;;AAAW;;AAChF;;AAAqE;;AAAO;;AAC5E;;AAAqE;;AAAa;;AAClF;;AAAqE;;AAAgB;;AAEvF;;AACF;;AACA;;AACE;;AAWF;;AACF;;AACF;;AAEA;;AACE;;AAEE;;AACE;;AACE;;AAAqE;;AAAc;;AACnF;;AAAqE;;AAAY;;AACjF;;AAAqE;;AAAU;;AAC/E;;AAAqE;;AAAgB;;AACrF;;AAAqE;;AAAmB;;AACxF;;AAAqE;;AAAO;;AAC5E;;AAAqE;;AAAa;;AAClF;;AAAqE;;AAAgB;;AACvF;;AACF;;AACA;;AACE;;AAcF;;AACF;;AACF;;AACA;;AACE;;AAEE;;AACE;;AACE;;AAAqE;;AAAa;;AAClF;;AAAqE;;AAAO;;AAC5E;;AAAqE;;AAAU;;AAC/E;;AAAqE;;AAAW;;AAChF;;AAAqE;;AAAkB;;AACvF;;AAAqE;;AAAO;;AAC5E;;AAAqE;;AAAa;;AAClF;;AAAqE;;AAAgB;;AAEvF;;AACF;;AACA;;AACE;;AAYF;;AACF;;AACF;;AACA;;AACE;;AAEE;;AACE;;AACE;;AAAqE;;AAAa;;AAClF;;AAAqE;;AAAO;;AAC5E;;AAAqE;;AAAW;;AAChF;;AAAqE;;AAAW;;AAChF;;AAAqE;;AAAkB;;AACvF;;AAAqE;;AAAO;;AAC5E;;AAAqE;;AAAa;;AAClF;;AAAqE;;AAAgB;;AAEvF;;AACF;;AACA;;AACE;;AAYF;;AACF;;AACF;;AACA;;AAIA;;AAEE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AACqB;AAAA,mBAAS,IAAA6hE,YAAA,EAAT;AAAuB,WAAvB;;AACnB;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AAAoC;;AAA+C;;AAEnF;;AAAwC;;AAAS;;AACjD;;AAC8B;AAAA,mBAAS,IAAAgF,eAAA,EAAT;AAA0B,WAA1B;;AAAqC;;AAIrE;;AACA;;AACE;;AAA0D;AAAA,mBAAS,IAAAC,uBAAA,EAAT;AAAkC,WAAlC;;AAA1D;;AACA;;AAAqE;AAAA,mBAAS,IAAAjF,YAAA,EAAT;AAAuB,WAAvB;;AAE9C;;AAAK;;AAK9B;;AACF;;AACF;;AACF;;AACA;;AAEE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AACqB;AAAA,mBAAS,IAAAgE,gBAAA,EAAT;AAA2B,WAA3B;;AACnB;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AAAoC;;AAAqD;;AAE3F;;AACA;;AACE;;AAA0D;AAAA,mBAAS,IAAAiB,uBAAA,EAAT;AAAkC,WAAlC;;AAA1D;;AACA;;AAAqE;AAAA,mBAAS,IAAAjB,gBAAA,EAAT;AAA2B,WAA3B;;AAE9C;;AAAK;;AAK9B;;AACF;;AACF;;AACF;;AAEA;;AAEE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AACE;AAAA,mBAAS,IAAAkB,eAAA,EAAT;AAA0B,WAA1B;;AACA;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AAAoC;;AAAmD;;AAEzF;;AACA;;AACE;;AAA0D;AAAA,mBAAS,IAAAC,iBAAA,EAAT;AAA4B,WAA5B;;AAA1D;;AACA;;AAAqE;AAAA,mBAAS,IAAAD,eAAA,EAAT;AAA0B,WAA1B;;AAE9C;;AAAK;;AAE9B;;AACF;;AACF;;AACF;;AAEA;;AAEE;;AACE;;AACE;;AACE;;AAA2E;;AAAY;;AACvF;;AACqB;AAAA,mBAAS,IAAAE,eAAA,EAAT;AAA0B,WAA1B;;AACnB;;AAAyB;;AAAO;;AAClC;;AACF;;AACA;;AACE;;AAAoC;;AAAgC;;AAKtE;;AACA;;AACE;;AAA0D;AAAA,mBAAS,IAAAD,iBAAA,EAAT;AAA4B,WAA5B;;AAA1D;;AACA;;AAAqE;AAAA,mBAAS,IAAAC,eAAA,EAAT;AAA0B,WAA1B;;AAE9C;;AAAK;;AAK9B;;AACF;;AACF;;AACF;;AA1mCA;;;;;;;;;;AASW;;AAAA;;AAEuB;;AAAA;;AAKvB;;AAAA;;AAEgB;;AAAA;;AAeC;;AAAA;;AAIwB;;AAAA,mIAA6D,SAA7D,EAA6D,mFAA7D;;AAMlC;;AAAA;;AAGoB;;AAAA;;AAOtB;;AAAA,8FAAwB,SAAxB,EAAwB,iDAAxB;;AAuBN;;AAAA;;AACG;;AAAA;;AAGC;;AAAA,+HAAyD,SAAzD,EAAyD,gBAAzD,EAAyD,SAAzD,EAAyD,+HAAzD;;AAY0B;;AAAA;;AAGA;;AAAA;;AAM9B;;AAAA;;AACG;;AAAA;;AAED;;AAAA;;AAoCF;;AAAA;;AACG;;AAAA;;AAG0C;;AAAA,gGAAwB,SAAxB,EAAwB,6CAAxB,EAAwB,SAAxB,EAAwB,gIAAxB;;AAYf;;AAAA;;AAGA;;AAAA;;AAO9B;;AAAA;;AACG;;AAAA;;AAED;;AAAA;;AAcF;;AAAA;;AAaA;;AAAA;;AAqBC;;AAAA;;AAemB;;AAAA;;AAuC2B;;AAAA;;AAuD9B;;AAAA;;AA2KA;;AAAA;;AAmLA;;AAAA;;AAoLtB;;AAAA;;AAuCK;;AAAA;;AA+BA;;AAAA;;AAkCA;;AAAA;;AAgCA;;AAAA;;AAe8D;;AAAA;;AAInE;;AAAA;;AAkCA;;AAAA;;AA6BA;;AAAA;;AA0BA;;AAAA;;;;;;;;;;sED9iCQvI,yB,EAAyB;cALrC,uDAKqC;eAL3B;AACT90E,kBAAQ,EAAE,uBADD;AAET4D,qBAAW,EAAE,oCAFJ;AAGT3D,mBAAS,EAAE,CAAC,mCAAD;AAHF,S;AAK2B,Q;;;;;;;;;;;;;;;;;;;;gBAk+CnC,uD;iBAAU,iB;;;gBACV,uD;iBAAU,iB;;;gBACV,uD;iBAAU,yB;;;gBACV,uD;iBAAU,6B;;;;;;;;;;;;;;;;;;;;AEngDb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACkJY;;AAIE;;AACF;;;;;;AADE;;AAAA;;;;;;;;AA8BM;;AAAsC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACpC;;AAAmB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAmH;;AAAS;;AACjJ;;;;;;AACA;;AAAuC;;AAAiC;;;;;;AAAjC;;AAAA;;;;;;AARzC;;AACE;;AAAI;;AAA6B;;AACjC;;AAAI;;AAAwB;;AAC5B;;AAAI;;AAAqB;;AACzB;;AAAI;;AAAmB;;AACvB;;AAGA;;AACF;;;;;;AARM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;;;;;AAEN;;AACE;;AAAgB;;AAAiB;;AACnC;;;;;;;;QD3KLq9E,yB;AAgCX,yCACUrhF,MADV,EAEUshF,cAFV,EAGS/rE,QAHT,EAIU+8D,WAJV,EAIkC;AAAA;;AAHxB,aAAAtyE,MAAA,GAAAA,MAAA;AACA,aAAAshF,cAAA,GAAAA,cAAA;AACD,aAAA/rE,QAAA,GAAAA,QAAA;AACC,aAAA+8D,WAAA,GAAAA,WAAA;AA3BV,aAAAjoD,aAAA,GAAyB,IAAzB;AACA,aAAAk3D,SAAA,GAAiB,EAAjB;AAiBA,aAAAC,SAAA,GAAqB,IAArB;AAUI;;;;mCAEI;AAAA;;AACN,eAAKn3D,aAAL,GAAqB,IAArB;AACA,eAAK6oD,UAAL,GAAkB,KAAKZ,WAAL,CAAiBa,KAAjB,CAAuB;AACvCC,mBAAO,EAAE,CAAC,EAAD;AAD8B,WAAvB,CAAlB;AAIA,eAAK77D,MAAL,GAAc;AACZC,wBAAY,EAAE,EADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAKA,eAAKgqE,YAAL,GAAkB,kEAAUrmD,QAA5B;;AACA,eAAKkmD,cAAL,CACGI,0BADH,CAC8B,EAD9B,EACiCjuF,YAAY,CAACM,OAAb,CAAqB,aAArB,CADjC,EACsET,SADtE,CACgF,UAACO,IAAD,EAAU;AACtF+E,mBAAO,CAACC,GAAR,CAAYhF,IAAZ;AACA,oBAAI,CAAC8tF,UAAL,GAAkB9tF,IAAlB;;AACA,iBAAI,IAAIqlB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,QAAI,CAACyoE,UAAL,CAAgB1wF,MAA9B,EAAqCioB,CAAC,EAAtC,EAAyC;AACvC,kBAAI0oE,aAAa,GAAC,QAAI,CAACD,UAAL,CAAgBzoE,CAAhB,EAAmB2oE,QAArC;AACAD,2BAAa,GAACA,aAAa,CAAC5+D,KAAd,CAAoB,GAApB,CAAd;AACA,sBAAI,CAAC2+D,UAAL,CAAgBzoE,CAAhB,EAAmB4oE,gBAAnB,GAAoCF,aAAa,CAAC,CAAD,CAAb,GAAiB,OAArD;;AACA,kBAAG,QAAI,CAACD,UAAL,CAAgBzoE,CAAhB,EAAmB6oE,MAAnB,IAA2B,QAA9B,EAAuC;AACrC,wBAAI,CAACJ,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,IAA/B;AACD,eAFD,MAGK,IAAG,QAAI,CAACL,UAAL,CAAgBzoE,CAAhB,EAAmB6oE,MAAnB,IAA2B,YAA9B,EAA2C;AAC9C,wBAAI,CAACJ,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,KAA/B;AACD,eAFI,MAGD;AACF,wBAAI,CAACL,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,KAA/B;AACD;AACF;AACF,WAlBH;;AAmBA,eAAKhrE,KAAL;AACD;;;oCAEW5W,K,EAAO;AACjB,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACD;;;0CAEiByzB,Q,EAAQ;AACxB;AACA,cAAI+tD,aAAa,GAAC/tD,QAAQ,CAAC7Q,KAAT,CAAe,IAAf,CAAlB;AACA,cAAIi/D,UAAU,GAACL,aAAa,CAAC3wF,MAA7B;AACA4iC,kBAAQ,GAAC+tD,aAAa,CAACK,UAAU,GAAC,CAAZ,CAAb,GAA6B,IAA7B,GAAkCL,aAAa,CAACK,UAAU,GAAC,CAAZ,CAAxD,CAJwB,CAKxB;;AACA1mE,gBAAM,CAAC2mE,IAAP,CAAY,KAAKT,YAAL,GAAoB5tD,QAAhC,EAA0C,QAA1C;AACD;;;mCAEUzzB,K,EAAO;AAChB,eAAK+hF,OAAL,CAAa/hF,KAAb;AACA,eAAKiqB,aAAL,GAAqB,KAArB,CAFgB,CAGhB;;AACA,cAAIjqB,KAAK,CAACtS,MAAN,CAAa0mF,KAAb,CAAmBvjF,MAAnB,GAA4B,CAAhC,EAAmC;AACjC,gBAAMyjF,IAAI,GAAGt0E,KAAK,CAACtS,MAAN,CAAa0mF,KAAb,CAAmB,CAAnB,CAAb;AACA,iBAAKtB,UAAL,CAAgB3+E,GAAhB,CAAoB,SAApB,EAA+Bg8C,QAA/B,CAAwCmkC,IAAxC;AACD;AACF;;;gCAGOt0E,K,EAAO;AAAA;;AACb,eAAKmV,QAAL,CAAcwB,IAAd;;AACA,eAAKsT,aAAL,GAAqB,IAArB;AACA,eAAK+3D,YAAL,GAAoB,EAApB;AACA,eAAKnmE,UAAL,GAAkB,2BAAlB;AACA,eAAKvF,OAAL,GAAe,KAAf;AACA,eAAKC,YAAL,GAAoB,KAApB;AACA,eAAK0rE,aAAL,GAAqB,KAArB;AACA,eAAKC,UAAL,GAAkB,EAAlB;AAGA,eAAK5N,IAAL,GAAYt0E,KAAK,CAACtS,MAAN,CAAa0mF,KAAb,CAAmB,CAAnB,CAAZ;AACA,eAAK+N,QAAL,GAAgB,KAAK7N,IAAL,CAAUjmF,IAA1B;AACA,cAAI+zF,UAAU,GAAG,IAAIC,UAAJ,EAAjB;AACAD,oBAAU,CAACE,iBAAX,CAA6B,KAAKhO,IAAlC,EAda,CAgBb;AACA;AACA;AACA;AACA;AACA;;AAEA8N,oBAAU,CAACG,MAAX,GAAoB,UAAC71F,CAAD,EAAO;AACzB,oBAAI,CAAC81F,WAAL,GAAmBJ,UAAU,CAACjvF,MAA9B;AACA,gBAAIM,IAAI,GAAG,IAAIgvF,UAAJ,CAAe,QAAI,CAACD,WAApB,CAAX;AACA,gBAAIj0B,GAAG,GAAG,IAAIx9D,KAAJ,EAAV;;AACA,iBAAK,IAAI+nB,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAIrlB,IAAI,CAAC5C,MAA1B,EAAkC,EAAEioB,CAApC;AACEy1C,iBAAG,CAACz1C,CAAD,CAAH,GAASyS,MAAM,CAACm3D,YAAP,CAAoBjvF,IAAI,CAACqlB,CAAD,CAAxB,CAAT;AADF;;AAEA,gBAAI6pE,IAAI,GAAGp0B,GAAG,CAACx7D,IAAJ,CAAS,EAAT,CAAX;AACA,gBAAI6vF,QAAQ,GAAG,0CAAUD,IAAV,EAAgB;AAAE7uF,kBAAI,EAAE;AAAR,aAAhB,CAAf;AACA,gBAAI+uF,gBAAgB,GAAGD,QAAQ,CAACE,UAAT,CAAoB,CAApB,CAAvB;AACA,gBAAIC,SAAS,GAAGH,QAAQ,CAACI,MAAT,CAAgBH,gBAAhB,CAAhB;AACA,gBAAII,SAAS,GAAG,2CAAWC,aAAX,CAAyBH,SAAzB,EAAoC;AAAEI,iBAAG,EAAE;AAAP,aAApC,CAAhB;AACA,oBAAI,CAACC,eAAL,GAAuB,2CAAWF,aAAX,CAAyBH,SAAzB,EAAoC;AAAEM,oBAAM,EAAE;AAAV,aAApC,CAAvB;AACA,oBAAI,CAAC7xB,aAAL,GAAqB,QAAI,CAAC4xB,eAAL,CAAqB,CAArB,EAAwBvoE,QAAxB,EAArB;;AACA,gBAAIyoE,WAAW,GAAG,QAAI,CAAC9xB,aAAL,CAAmB5uC,KAAnB,CAAyB,GAAzB,CAAlB;;AACA,oBAAI,CAAC2gE,mBAAL,GAA2BD,WAA3B;;AACA,gBACE,QAAI,CAACC,mBAAL,CAAyB,CAAzB,KAA+B,mBAA/B,IACA,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,UAD/B,IAEA,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,YAF/B,IAGA,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,YAH/B,IAIA,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,SAJ/B,IAKA,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,UAL/B,IAMA,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,UAN/B,IAOA,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,UAP/B,IAQA,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,UAR/B,IASA,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,SAT/B,IAUA,QAAI,CAACA,mBAAL,CAAyB,EAAzB,KAAgC,OAVhC,IAWA,QAAI,CAACA,mBAAL,CAAyB,EAAzB,KAAgC,MAZlC,EAaE;AACA,sBAAI,CAACnC,SAAL,GAAiB,KAAjB;AACA,sBAAI,CAAC7qE,YAAL,GAAoB,IAApB;AACA,sBAAI,CAACsF,UAAL,GAAkB,2BAAlB;AACD,aAjBD,MAiBO;AACL,sBAAI,CAACulE,SAAL,GAAiB,IAAjB;AACD;;AAED,gBAAI6B,SAAS,CAACpyF,MAAV,GAAmB,CAAvB,EAA0B;AACxB,sBAAI,CAACo5B,aAAL,GAAqB,KAArB;AACD;;AAED,gBAAI,QAAI,CAACqqD,IAAL,CAAUD,IAAV,GAAiB,OAArB,EAA8B;AAC5B,sBAAI,CAACmP,aAAL,GAAqB,IAArB;AACA,sBAAI,CAACv5D,aAAL,GAAqB,IAArB;AACA,sBAAI,CAAC+3D,YAAL,GAAoB,mCAApB;AACD;;AACD,oBAAI,CAACyB,QAAL,GAAgBR,SAAhB;AACD,WA9CD;;AA+CA3qF,oBAAU,CAAC,YAAM;AACf,oBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,WAFS,EAEP,GAFO,CAAV;AAGD;;;iCAEQ8I,I,EAAc;AAAA;;AACrB;;AACA,eAAK1N,QAAL,CAAcwB,IAAd;;AACA,cAAI,KAAK8sE,QAAL,CAAc5yF,MAAd,GAAuB,CAA3B,EAA8B;AAC5B,iBAAK6yF,SAAL,GAAiB,CAAjB;AACA,iBAAKC,QAAL,GAAgB,EAAhB;;AACA,gBAAI,KAAKvC,SAAL,IAAkB,IAAtB,EAA4B;AAE1B,mBAAKwC,OAAL,GAAa,IAAb,CAF0B,CAG1B;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAI,KAAKA,OAAT,EAAkB;AAChB,oBAAM5mE,QAAQ,GAAG,IAAIu3D,QAAJ,EAAjB;AACAv3D,wBAAQ,CAACw3D,MAAT,CAAgB,MAAhB,EAAwB,KAAK1B,UAAL,CAAgB3+E,GAAhB,CAAoB,SAApB,EAA+BnC,KAAvD;;AACA,qBAAKkvF,cAAL,CAAoBzM,YAApB,CAAiCz3D,QAAjC,EAA2C9pB,SAA3C,CAAqD,UAAC0oB,GAAD,EAAS;AAC5D,sBAAIA,GAAG,IAAI,IAAX,EAAiB;AACf,4BAAI,CAACslE,cAAL,CACGI,0BADH,CAC8B1lE,GAD9B,EACkCvoB,YAAY,CAACM,OAAb,CAAqB,aAArB,CADlC,EAEGT,SAFH,CAEa,UAACO,IAAD,EAAU;AACnB,8BAAI,CAAC8tF,UAAL,GAAkB9tF,IAAlB;;AAEA,2BAAI,IAAIqlB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,QAAI,CAACyoE,UAAL,CAAgB1wF,MAA9B,EAAqCioB,CAAC,EAAtC,EAAyC;AACvC,4BAAI0oE,aAAa,GAAC,QAAI,CAACD,UAAL,CAAgBzoE,CAAhB,EAAmB2oE,QAArC;AACAD,qCAAa,GAACA,aAAa,CAAC5+D,KAAd,CAAoB,GAApB,CAAd;AACA,gCAAI,CAAC2+D,UAAL,CAAgBzoE,CAAhB,EAAmB4oE,gBAAnB,GAAoCF,aAAa,CAAC,CAAD,CAAb,GAAiB,OAArD;;AACA,4BAAG,QAAI,CAACD,UAAL,CAAgBzoE,CAAhB,EAAmB6oE,MAAnB,IAA2B,QAA9B,EAAuC;AACrC,kCAAI,CAACJ,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,IAA/B;AACD,yBAFD,MAGK,IAAG,QAAI,CAACL,UAAL,CAAgBzoE,CAAhB,EAAmB6oE,MAAnB,IAA2B,YAA9B,EAA2C;AAC9C,kCAAI,CAACJ,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,KAA/B;AACD,yBAFI,MAGD;AACF,kCAAI,CAACL,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,KAA/B;AACD;AACF;AAEF,qBApBH;AAqBD;AACF,iBAxBD,EAHgB,CA4BhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AACD,eA9DD,MA8DO;AACL,qBAAKx8C,OAAL,GAAe,EAAf;AACA,qBAAKA,OAAL,GAAe,+BAA+B,KAAKu+C,QAAnD;AACD;AACF;AACF,WAjMD,MAiMO;AACL,iBAAK9nE,UAAL,GAAmB,0BAAnB;AACA,iBAAKtF,YAAL,GAAoB,IAApB;AACA,iBAAKD,OAAL,GAAe,KAAf;AACA,iBAAK2rE,aAAL,GAAqB,KAArB;AACD;;AACD3pF,oBAAU,CAAC,YAAM;AACf,oBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,WAFS,EAEP,GAFO,CAAV;AAGD;;;qCAEY;AACX,eAAKna,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,qBAAD,CAArB;AACD;;;gCAEO;AACNmU,gBAAM,CAACC,MAAP,CAAc;AACZC,eAAG,EAAE,CADO;AAEZC,gBAAI,EAAE,CAFM;AAGZC,oBAAQ,EAAE;AAHE,WAAd;AAKD;;;kCAES;AACR,eAAKjF,OAAL,GAAe,IAAf;AACD;;;kCACS;AACR,eAAKA,OAAL,GAAe,KAAf;AACD;;;oCAEW;AACV,eAAKC,YAAL,GAAoB,IAApB;AACD;;;oCACW;AACV,eAAKA,YAAL,GAAoB,KAApB;AACD;;;0CAEiB;AAChB,eAAK0rE,aAAL,GAAqB,IAArB;AACD;;;0CACiB;AAChB,eAAKA,aAAL,GAAqB,KAArB;AACD;;;;;;;uBA1ZUhB,yB,EAAyB,uH,EAAA,mJ,EAAA,8H,EAAA,2H;AAAA,K;;;YAAzBA,yB;AAAyB,6C;AAAA,e;AAAA,c;AAAA,g6F;AAAA;AAAA;;;AChBtC;;AACE;;AACE;;AACE;;AACE;;AAIE;;AACE;;AACE;;AAEE;AAAA,mBAAS,IAAApxD,UAAA,EAAT;AAAqB,WAArB,EAAsB,eAAtB,EAAsB;AAAA,mBACL,IAAAA,UAAA,EADK;AACO,WAD7B;;AAUD;;AACH;;AACA;;AACE;;AACE;;AACF;;AACF;;AACA;;AACF;;AACF;;AAEA;;AAGE;AAAA;;AAAA;;AAAA,qCAA+B,IAAAC,QAAA,KAA/B;AAA6C,WAA7C;;AAIA;;AACE;;AAIE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACG;;AAAuB;;AAE5B;;AACF;;AAEA;;AACE;;AACE;;AAKE;;AAAiB;AAAA,mBAAS,IAAAjR,OAAA,EAAT;AAAkB,WAAlB;;AACd;;AAAO;;AAEV;;AAAQ;;AAAS;;AAAU;;AAC7B;;AAEA;;AAME;;AAAiB;AAAA,mBAAS,IAAAC,SAAA,EAAT;AAAoB,WAApB;;AACd;;AAAO;;AAEV;;AAAQ;;AAAQ;;AAAU;;AAC5B;;AAEA;;AAKE;;AAAiB;AAAA,mBAAS,IAAA+kE,eAAA,EAAT;AAA0B,WAA1B;;AACd;;AAAO;;AAEV;;AACF;;AACF;;AACF;;AAeA;;AACE;;AACE;;AACE;;AACE;;AACG;;AAAW;;AAA0B;;AAAC;;AAAO;;AAElD;;AAEA;;AACE;;AAGE;AAAA;;AAAA;;AAAA,+BAA4B,IAA5B;AAAgC,WAAhC,EAAiC,QAAjC,EAAiC;AAAA,mBAEvB,IAAAvN,UAAA,QAFuB;AAEL,WAF5B;;AAHF;;AAQF;;AAEA;;AACE;;AAQF;;AACF;;AACF;;AACA;;AACA;;AACA;;AAKA;;AAMF;;AACA;;AACE;;AACE;;AAUE;;AACE;;AACE;;AAAiB;;AAAgB;;AACjC;;AAAiB;;AAAa;;AAC9B;;AAAiB;;AAAW;;AAC5B;;AAAiB;;AAAM;;AACvB;;AAAiB;;AAAgB;;AACnC;;AACF;;AACA;;AACE;;;;AAUA;;AAGF;;AACF;;AAEA;;AACE;;AACE;;AACF;;AAEA;;AACE;;AAAqB;AAAA,mBAAc,IAAAl8D,WAAA,QAAd;AAAiC,WAAjC;;AAAmC;;AAC1D;;AACF;;AAEF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACA;;;;AArJgB;;AAAA;;AAO2B;;AAAA;;AAK3B;;AAAA;;AAO0B;;AAAA;;AAI1B;;AAAA;;AAOA;;AAAA;;AAwCI;;AAAA;;AAaN;;AAAA;;AAKA;;AAAA;;AA4BQ;;AAAA;;AAUA;;AAAA;;AA2BpB;;AAAA;;;;;;;;;;sEDpMW6mE,yB,EAAyB;cALrC,uDAKqC;eAL3B;AACTt9E,kBAAQ,EAAE,wBADD;AAET4D,qBAAW,EAAE,qCAFJ;AAGT3D,mBAAS,EAAE,CAAC,oCAAD;AAHF,S;AAK2B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEhBtC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;AC6EwB;;AACE;;AACF;;;;;;AADE;;AAAA;;;;;;;;AA+BE;;AAAsC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACpC;;AAAmB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAmH;;AAAS;;AACjJ;;;;;;AACA;;AAAuC;;AAAiC;;;;;;AAAjC;;AAAA;;;;;;AARzC;;AACE;;AAAI;;AAA6B;;AACjC;;AAAI;;AAAwB;;AAC5B;;AAAI;;AAAqB;;AACzB;;AAAI;;AAAmB;;AACvB;;AAGA;;AAEF;;;;;;AATM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;;;;;AAGN;;AACE;;AAAgB;;AAAiB;;AACnC;;;;QDrGbkgF,2B;AA2BX,2CAAoBlkF,MAApB,EAA2CmkF,gBAA3C,EAAmF5uE,QAAnF,EACU+8D,WADV,EACoC;AAAA;;AADhB,aAAAtyE,MAAA,GAAAA,MAAA;AAAuB,aAAAmkF,gBAAA,GAAAA,gBAAA;AAAwC,aAAA5uE,QAAA,GAAAA,QAAA;AACzE,aAAA+8D,WAAA,GAAAA,WAAA;AAnBV,aAAAjoD,aAAA,GAAwB,IAAxB;AAYA,aAAAm3D,SAAA,GAAmB,IAAnB;AAOuC;;;;mCAE/B;AAAA;;AACN,eAAKn3D,aAAL,GAAqB,IAArB;AACA,eAAK6oD,UAAL,GAAkB,KAAKZ,WAAL,CAAiBa,KAAjB,CAAuB;AACvCC,mBAAO,EAAE,CAAC,EAAD;AAD8B,WAAvB,CAAlB;AAIA,eAAK77D,MAAL,GAAc;AACZC,wBAAY,EAAE,EADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAKA,eAAKgqE,YAAL,GAAkB,kEAAUrmD,QAA5B;;AACA,eAAK+oD,gBAAL,CACGzC,0BADH,CAC8B,EAD9B,EACiCjuF,YAAY,CAACM,OAAb,CAAqB,aAArB,CADjC,EAEGT,SAFH,CAEa,UAACO,IAAD,EAAU;AACnB+E,mBAAO,CAACC,GAAR,CAAYhF,IAAZ;AACA,oBAAI,CAAC8tF,UAAL,GAAkB9tF,IAAlB;;AACA,iBAAI,IAAIqlB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,QAAI,CAACyoE,UAAL,CAAgB1wF,MAA9B,EAAqCioB,CAAC,EAAtC,EAAyC;AACvC,kBAAI0oE,aAAa,GAAC,QAAI,CAACD,UAAL,CAAgBzoE,CAAhB,EAAmB2oE,QAArC;AACAD,2BAAa,GAACA,aAAa,CAAC5+D,KAAd,CAAoB,GAApB,CAAd;AACA,sBAAI,CAAC2+D,UAAL,CAAgBzoE,CAAhB,EAAmB4oE,gBAAnB,GAAoCF,aAAa,CAAC,CAAD,CAAb,GAAiB,OAArD;;AACA,kBAAG,QAAI,CAACD,UAAL,CAAgBzoE,CAAhB,EAAmB6oE,MAAnB,IAA2B,QAA9B,EAAuC;AACrC,wBAAI,CAACJ,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,IAA/B;AACD,eAFD,MAGK,IAAG,QAAI,CAACL,UAAL,CAAgBzoE,CAAhB,EAAmB6oE,MAAnB,IAA2B,YAA9B,EAA2C;AAC9C,wBAAI,CAACJ,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,KAA/B;AACD,eAFI,MAGD;AACF,wBAAI,CAACL,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,KAA/B;AACD;AACF;AACF,WAnBH;;AAoBA,eAAKhrE,KAAL;AACD;;;oCAEW5W,K,EAAO;AACjB,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACD;;;0CAEiByzB,Q,EAAQ;AACxB,cAAI+tD,aAAa,GAAC/tD,QAAQ,CAAC7Q,KAAT,CAAe,IAAf,CAAlB;AACA,cAAIi/D,UAAU,GAACL,aAAa,CAAC3wF,MAA7B;AACA4iC,kBAAQ,GAAC+tD,aAAa,CAACK,UAAU,GAAC,CAAZ,CAAb,GAA6B,IAA7B,GAAkCL,aAAa,CAACK,UAAU,GAAC,CAAZ,CAAxD,CAHwB,CAIxB;;AACA1mE,gBAAM,CAAC2mE,IAAP,CAAY,KAAKT,YAAL,GAAoB5tD,QAAhC,EAA0C,QAA1C;AACD;;;mCAEUzzB,K,EAAO;AAChB,eAAK+hF,OAAL,CAAa/hF,KAAb;AACA,eAAKiqB,aAAL,GAAqB,KAArB,CAFgB,CAGhB;;AACA,cAAIjqB,KAAK,CAACtS,MAAN,CAAa0mF,KAAb,CAAmBvjF,MAAnB,GAA4B,CAAhC,EAAmC;AACjC,gBAAMyjF,IAAI,GAAGt0E,KAAK,CAACtS,MAAN,CAAa0mF,KAAb,CAAmB,CAAnB,CAAb;AACA,iBAAKtB,UAAL,CAAgB3+E,GAAhB,CAAoB,SAApB,EAA+Bg8C,QAA/B,CAAwCmkC,IAAxC;AACD;AACF;;;gCAEOt0E,K,EAAO;AAAA;;AAEb,eAAKmV,QAAL,CAAcwB,IAAd;;AACA,eAAKsT,aAAL,GAAqB,IAArB;AACA,eAAK+3D,YAAL,GAAkB,EAAlB;AACA,eAAKzrE,YAAL,GAAkB,KAAlB;AACA,eAAKsF,UAAL,GAAmB,EAAnB;AAEA;AACA,eAAKvF,OAAL,GAAe,KAAf;AACA,eAAKC,YAAL,GAAoB,KAApB;AACA,eAAKytE,kBAAL,GAA0B,KAA1B;AACA,eAAK9B,UAAL,GAAkB,EAAlB;AAEF,eAAK5N,IAAL,GAAWt0E,KAAK,CAACtS,MAAN,CAAa0mF,KAAb,CAAmB,CAAnB,CAAX;AACA,cAAIgO,UAAU,GAAG,IAAIC,UAAJ,EAAjB;AACAD,oBAAU,CAACE,iBAAX,CAA6B,KAAKhO,IAAlC;;AACA8N,oBAAU,CAACG,MAAX,GAAoB,UAAC71F,CAAD,EAAO;AACvB,oBAAI,CAAC81F,WAAL,GAAmBJ,UAAU,CAACjvF,MAA9B;AACA,gBAAIM,IAAI,GAAG,IAAIgvF,UAAJ,CAAe,QAAI,CAACD,WAApB,CAAX;AACA,gBAAIj0B,GAAG,GAAG,IAAIx9D,KAAJ,EAAV;;AACA,iBAAI,IAAI+nB,CAAC,GAAG,CAAZ,EAAeA,CAAC,IAAIrlB,IAAI,CAAC5C,MAAzB,EAAiC,EAAEioB,CAAnC;AAAsCy1C,iBAAG,CAACz1C,CAAD,CAAH,GAASyS,MAAM,CAACm3D,YAAP,CAAoBjvF,IAAI,CAACqlB,CAAD,CAAxB,CAAT;AAAtC;;AACA,gBAAI6pE,IAAI,GAAGp0B,GAAG,CAACx7D,IAAJ,CAAS,EAAT,CAAX;AACA,gBAAI6vF,QAAQ,GAAG,0CAAUD,IAAV,EAAgB;AAAC7uF,kBAAI,EAAC;AAAN,aAAhB,CAAf;AACA,gBAAI+uF,gBAAgB,GAAGD,QAAQ,CAACE,UAAT,CAAoB,CAApB,CAAvB;AACA,gBAAIC,SAAS,GAAGH,QAAQ,CAACI,MAAT,CAAgBH,gBAAhB,CAAhB;AACA,gBAAII,SAAS,GAAG,2CAAWC,aAAX,CAAyBH,SAAzB,EAAmC;AAACI,iBAAG,EAAC;AAAL,aAAnC,CAAhB;AACA,oBAAI,CAACC,eAAL,GAAuB,2CAAWF,aAAX,CAAyBH,SAAzB,EAAoC;AAAEM,oBAAM,EAAE;AAAV,aAApC,CAAvB;AACA,oBAAI,CAAC7xB,aAAL,GAAqB,QAAI,CAAC4xB,eAAL,CAAqB,CAArB,EAAwBvoE,QAAxB,EAArB;;AACA,gBAAIyoE,WAAW,GAAG,QAAI,CAAC9xB,aAAL,CAAmB5uC,KAAnB,CAAyB,GAAzB,CAAlB;;AACA,oBAAI,CAAC2gE,mBAAL,GAAyBD,WAAzB;;AACA,gBAAK,QAAI,CAACC,mBAAL,CAAyB,CAAzB,KAA+B,YAAhC,IAAkD,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,cAAjF,IAAqG,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,iBAApI,IACI,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,qBADnC,IAC+D,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,eAD9F,IACmH,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA8B,cADjJ,IAEO,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,OAFtC,IAEmD,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAAgC,UAFnF,IAEmG,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAAgC,UAFnI,IAGO,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,SAHtC,IAGqD,QAAI,CAACA,mBAAL,CAAyB,EAAzB,KAAgC,OAHrF,IAGoG,QAAI,CAACA,mBAAL,CAAyB,EAAzB,KAAgC,MAHpI,IAIQ,QAAI,CAACA,mBAAL,CAAyB,EAAzB,KAAgC,SAJxC,IAIuD,QAAI,CAACA,mBAAL,CAAyB,EAAzB,KAAgC,aAJ3F,EAI2G;AACrG,sBAAI,CAACnC,SAAL,GAAiB,KAAjB;AACA,sBAAI,CAAC7qE,YAAL,GAAkB,IAAlB;AACC,sBAAI,CAACsF,UAAL,GAAmB,2BAAnB;AACL,aARF,MASK;AACH,sBAAI,CAACulE,SAAL,GAAiB,IAAjB;AACA;;AACF,gBAAG6B,SAAS,CAACpyF,MAAV,GAAiB,CAAjB,IAAuB,QAAI,CAACuwF,SAAL,IAAiB,IAA3C,EACA;AACE,sBAAI,CAACn3D,aAAL,GAAqB,KAArB;AACD;;AACD,gBAAG,QAAI,CAACqqD,IAAL,CAAUD,IAAV,GAAiB,OAApB,EAA4B;AAC1B,sBAAI,CAACmP,aAAL,GAAmB,IAAnB;AACA,sBAAI,CAACv5D,aAAL,GAAqB,IAArB;AACA,sBAAI,CAAC+3D,YAAL,GAAkB,mCAAlB;AACD;;AACD,oBAAI,CAACyB,QAAL,GAAgBR,SAAhB;AACA3qF,sBAAU,CAAC,YAAM;AACf,sBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,aAFS,EAEP,GAFO,CAAV;AAIH,WAxCD;AAyCD;;;iCAEQ8I,I,EAAc;AAAA;;AACrB;;AACA,eAAK1N,QAAL,CAAcwB,IAAd;;AACA,cAAI,KAAK8sE,QAAL,CAAc5yF,MAAd,GAAuB,CAA3B,EAA8B;AAE5B,iBAAK6yF,SAAL,GAAiB,CAAjB;AAAmB,iBAAKC,QAAL,GAAgB,EAAhB;;AAElB,gBAAI,KAAKvC,SAAL,IAAgB,IAApB,EAAyB;AACxB,mBAAKwC,OAAL,GAAe,IAAf,CADwB,CAG1B;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;;AAEA,kBAAI,KAAKA,OAAT,EAAkB;AAChB,oBAAM5mE,QAAQ,GAAG,IAAIu3D,QAAJ,EAAjB;AACIv3D,wBAAQ,CAACw3D,MAAT,CAAgB,MAAhB,EAAwB,KAAK1B,UAAL,CAAgB3+E,GAAhB,CAAoB,SAApB,EAA+BnC,KAAvD;;AACA,qBAAK+xF,gBAAL,CAAsBtP,YAAtB,CAAmCz3D,QAAnC,EAA6C9pB,SAA7C,CAAuD,UAAC0oB,GAAD,EAAS;AAC9D,sBAAIA,GAAG,IAAI,IAAX,EAAiB;AACf,4BAAI,CAACmoE,gBAAL,CACGzC,0BADH,CAC8B1lE,GAD9B,EACkCvoB,YAAY,CAACM,OAAb,CAAqB,aAArB,CADlC,EAEGT,SAFH,CAEa,UAACO,IAAD,EAAU;AACnB,8BAAI,CAAC8tF,UAAL,GAAkB9tF,IAAlB;;AACA,2BAAI,IAAIqlB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,QAAI,CAACyoE,UAAL,CAAgB1wF,MAA9B,EAAqCioB,CAAC,EAAtC,EAAyC;AACvC,4BAAI0oE,aAAa,GAAC,QAAI,CAACD,UAAL,CAAgBzoE,CAAhB,EAAmB2oE,QAArC;AACAD,qCAAa,GAACA,aAAa,CAAC5+D,KAAd,CAAoB,GAApB,CAAd;AACA,gCAAI,CAAC2+D,UAAL,CAAgBzoE,CAAhB,EAAmB4oE,gBAAnB,GAAoCF,aAAa,CAAC,CAAD,CAAb,GAAiB,OAArD;;AACA,4BAAG,QAAI,CAACD,UAAL,CAAgBzoE,CAAhB,EAAmB6oE,MAAnB,IAA2B,QAA9B,EAAuC;AACrC,kCAAI,CAACJ,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,IAA/B;AACD,yBAFD,MAGK,IAAG,QAAI,CAACL,UAAL,CAAgBzoE,CAAhB,EAAmB6oE,MAAnB,IAA2B,YAA9B,EAA2C;AAC9C,kCAAI,CAACJ,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,KAA/B;AACD,yBAFI,MAGD;AACF,kCAAI,CAACL,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,KAA/B;AACD;AACF;AACF,qBAlBH;AAmBD;AACF,iBAtBD,EAHY,CA2BhB;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAED,eA1DD,MA2DM;AACJ,qBAAKM,UAAL,GAAkB,EAAlB;AACA,qBAAKA,UAAL,GAAkB,+BAA+B,KAAKyB,QAAtD;AACD;AACF;AACF,WArLC,MAsLE;AACF,iBAAK9nE,UAAL,GAAkB,0BAAlB;AACA,iBAAKtF,YAAL,GAAoB,IAApB;AACA,iBAAKD,OAAL,GAAe,KAAf;AACA,iBAAK0tE,kBAAL,GAA0B,KAA1B;AACD;;AACD1rF,oBAAU,CAAC,YAAM;AACf,oBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,WAFS,EAEP,GAFO,CAAV;AAIC;;;qCAEc;AACX,eAAKna,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,iBAAD,CAArB;AACD;;;gCAEO;AACNmU,gBAAM,CAACC,MAAP,CAAc;AACZC,eAAG,EAAE,CADO;AAEZC,gBAAI,EAAE,CAFM;AAGZC,oBAAQ,EAAE;AAHE,WAAd;AAKD;;;kCAES;AACR,eAAKjF,OAAL,GAAe,IAAf;AACD;;;kCACS;AACR,eAAKA,OAAL,GAAe,KAAf;AACD;;;oCAEW;AACV,eAAKC,YAAL,GAAoB,IAApB;AACD;;;oCACW;AACV,eAAKA,YAAL,GAAoB,KAApB;AACD;;;0CACiB;AAChB,eAAKytE,kBAAL,GAA0B,IAA1B;AACD;;;0CACiB;AAChB,eAAKA,kBAAL,GAA0B,KAA1B;AACD;;;;;;;uBAtXUF,2B,EAA2B,uH,EAAA,uJ,EAAA,8H,EAAA,2H;AAAA,K;;;YAA3BA,2B;AAA2B,6C;AAAA,e;AAAA,c;AAAA,g4F;AAAA;AAAA;;;AChBxC;;AACI;;AACI;;AACI;;AACE;;AACE;;AACE;;AACE;;AACC;AAAA,mBAAS,IAAAj0D,UAAA,EAAT;AAAqB,WAArB,EAAsB,eAAtB,EAAsB;AAAA,mBACL,IAAAA,UAAA,EADK;AACO,WAD7B;;AAIc;;AACjB;;AACA;;AACE;;AAA6I;;AAAe;;AAC9J;;AACA;;AAEF;;AACF;;AAGE;;AAAwC;AAAA;;AAAA;;AAAA,qCAA+B,IAAAC,QAAA,KAA/B;AAA6C,WAA7C;;AACtC;;AACE;;AACE;;AAAqD;;AAA8B;;AAErF;;AACA;;AACE;;AAA+C;;AAAuB;;AAC1E;;AACA;;AAGE;;AACE;;AACC;;AACC;;AAAiB;AAAA,mBAAS,IAAAjR,OAAA,EAAT;AAAkB,WAAlB;;AAAuC;;AAAO;;AAC/D;;AAAQ;;AAAQ;;AAAU;;AAC5B;;AAEA;;AACE;;AAAiB;AAAA,mBAAS,IAAAC,SAAA,EAAT;AAAoB,WAApB;;AAAyC;;AAAO;;AACjE;;AAAQ;;AAAO;;AAAU;;AAC3B;;AAEA;;AACE;;AAAiB;AAAA,mBAAS,IAAA+kE,eAAA,EAAT;AAA0B,WAA1B;;AAA+C;;AAAO;;AACvE;;AAAmB;;AACrB;;AAEF;;AACD;;AAEC;;AAEE;;AACI;;AACI;;AACI;;AAA0C;;AAAW;;AAA2B;;AAAC;;AAAO;;AAC5F;;AAEA;;AACI;;AAA6B;AAAA;;AAAA;;AAAA,+BAA0B,IAA1B;AAA8B,WAA9B,EAAgC,QAAhC,EAAgC;AAAA,mBAAgC,IAAAvN,UAAA,QAAhC;AAAkD,WAAlF;;AAA7B;;AACJ;;AAEA;;AACI;;AACJ;;AACJ;;AACJ;;AACF;;AAEA;;AACE;;AAEE;;AAGF;;AACJ;;AACA;;AACE;;AACE;;AAUE;;AACE;;AACE;;AAAiB;;AAAgB;;AACjC;;AAAiB;;AAAa;;AAC9B;;AAAiB;;AAAW;;AAC5B;;AAAiB;;AAAM;;AACvB;;AAAiB;;AAAgB;;AACnC;;AACF;;AACA;;AACE;;;;AAWA;;AAGF;;AACF;;AAEA;;AAEE;;AACE;;AACF;;AAEA;;AACE;;AAAqB;AAAA,mBAAc,IAAAl8D,WAAA,QAAd;AAAiC,WAAjC;;AAAmC;;AAC1D;;AAEF;;AACF;;AACF;;AACA;;AACN;;AACJ;;AACJ;;AACF;;AACA;;;;AAtG0B;;AAAA;;AAEsB;;AAAA;;AAGvB;;AAAA;;AAEsB;;AAAA;;AAGtB;;AAAA;;AAEgB;;AAAA;;AAmBF;;AAAA;;AASZ;;AAAA;;AA2BC;;AAAA;;AAWA;;AAAA;;AA4B5B;;AAAA;;;;;;;;;;sED/HW0pE,2B,EAA2B;cALvC,uDAKuC;eAL7B;AACTngF,kBAAQ,EAAE,wBADD;AAET4D,qBAAW,EAAE,qCAFJ;AAGT3D,mBAAS,EAAE,CAAC,oCAAD;AAHF,S;AAK6B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEhBxC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACwEsB;;AAA0F;;AAAgB;;;;;;AAAhB;;AAAA;;;;;;;;AAsBhF;;AAAsC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACpC;;AAAmB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAmH;;AAAS;;AACjJ;;;;;;AACA;;AAAuC;;AAAiC;;;;;;AAAjC;;AAAA;;;;;;AARzC;;AACE;;AAAI;;AAA2B;;AAC/B;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAAmB;;AACvB;;AAAI;;AAAiB;;AACrB;;AAGA;;AACF;;;;;;AARM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;;;;;AAEN;;AACE;;AAAgB;;AAAiB;;AACnC;;;;;;;;QDxFjBqgF,0B;AA+BX,0CAAoBrkF,MAApB,EAA0CywC,eAA1C,EAAiFl7B,QAAjF,EAAoH+8D,WAApH,EAA8I;AAAA;;AAA1H,aAAAtyE,MAAA,GAAAA,MAAA;AAAsB,aAAAywC,eAAA,GAAAA,eAAA;AAAuC,aAAAl7B,QAAA,GAAAA,QAAA;AAAmC,aAAA+8D,WAAA,GAAAA,WAAA;AA1BpH,aAAAkP,SAAA,GAAmB,IAAnB;AAOA,aAAAn3D,aAAA,GAAwB,IAAxB;AAEA,aAAAk3D,SAAA,GAAc,EAAd;AAiBiJ;;;;mCAEzI;AAAA;;AACN,eAAKl3D,aAAL,GAAqB,IAArB;AAEA,eAAK6oD,UAAL,GAAkB,KAAKZ,WAAL,CAAiBa,KAAjB,CAAuB;AACvCC,mBAAO,EAAE,CAAC,EAAD;AAD8B,WAAvB,CAAlB;AAIA,eAAK77D,MAAL,GAAc;AACZC,wBAAY,EAAE,EADF;AAEZC,uBAAW,EAAE;AAFD,WAAd;AAKA,eAAKgqE,YAAL,GAAoB,kEAAUrmD,QAA9B;;AAEA,eAAKqV,eAAL,CAAqBixC,0BAArB,CAAgD,EAAhD,EAAmDjuF,YAAY,CAACM,OAAb,CAAqB,aAArB,CAAnD,EAAwFT,SAAxF,CAAkG,UAACO,IAAD,EAAU;AAC1G,oBAAI,CAAC8tF,UAAL,GAAkB9tF,IAAlB;AACA+E,mBAAO,CAACC,GAAR,CAAYhF,IAAZ;;AAEA,iBAAI,IAAIqlB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,QAAI,CAACyoE,UAAL,CAAgB1wF,MAA9B,EAAqCioB,CAAC,EAAtC,EAAyC;AACvC,kBAAI0oE,aAAa,GAAC,QAAI,CAACD,UAAL,CAAgBzoE,CAAhB,EAAmB2oE,QAArC;AACAD,2BAAa,GAACA,aAAa,CAAC5+D,KAAd,CAAoB,GAApB,CAAd;AACA,sBAAI,CAAC2+D,UAAL,CAAgBzoE,CAAhB,EAAmB4oE,gBAAnB,GAAoCF,aAAa,CAAC,CAAD,CAAb,GAAiB,OAArD;;AACA,kBAAG,QAAI,CAACD,UAAL,CAAgBzoE,CAAhB,EAAmB6oE,MAAnB,IAA2B,QAA9B,EAAuC;AACrC,wBAAI,CAACJ,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,IAA/B;AACD,eAFD,MAGK,IAAG,QAAI,CAACL,UAAL,CAAgBzoE,CAAhB,EAAmB6oE,MAAnB,IAA2B,YAA9B,EAA2C;AAC9C,wBAAI,CAACJ,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,KAA/B;AACD,eAFI,MAGD;AACF,wBAAI,CAACL,UAAL,CAAgBzoE,CAAhB,EAAmB8oE,WAAnB,GAA+B,KAA/B;AACD;AACF;AAEF,WAnBD;;AAqBA,eAAKhrE,KAAL;AACD;;;oCAEW5W,K,EAAO;AACjB,eAAKmX,MAAL,CAAYE,WAAZ,GAA0BrX,KAA1B;AACD;;;qCAEY;AACX,eAAKJ,MAAL,CAAYoH,QAAZ,CAAqB,CAAC,gBAAD,CAArB;AACD;;;0CAEiBysB,Q,EAAQ;AACxB,cAAI+tD,aAAa,GAAC/tD,QAAQ,CAAC7Q,KAAT,CAAe,IAAf,CAAlB;AACA,cAAIi/D,UAAU,GAACL,aAAa,CAAC3wF,MAA7B;AACA4iC,kBAAQ,GAAC+tD,aAAa,CAACK,UAAU,GAAC,CAAZ,CAAb,GAA6B,IAA7B,GAAkCL,aAAa,CAACK,UAAU,GAAC,CAAZ,CAAxD;AACA1mE,gBAAM,CAAC2mE,IAAP,CAAY,KAAKT,YAAL,GAAoB5tD,QAAhC,EAA0C,QAA1C;AACD;;;mCAEUzzB,K,EAAO;AAChB,eAAK+hF,OAAL,CAAa/hF,KAAb;AACA,eAAKiqB,aAAL,GAAqB,KAArB;;AACA,cAAIjqB,KAAK,CAACtS,MAAN,CAAa0mF,KAAb,CAAmBvjF,MAAnB,GAA4B,CAAhC,EAAmC;AACjC,gBAAMyjF,IAAI,GAAGt0E,KAAK,CAACtS,MAAN,CAAa0mF,KAAb,CAAmB,CAAnB,CAAb;AACA,iBAAKtB,UAAL,CAAgB3+E,GAAhB,CAAoB,SAApB,EAA+Bg8C,QAA/B,CAAwCmkC,IAAxC;AACD;AACF;;;gCAEOt0E,K,EAAK;AAAA;;AACX,eAAKmV,QAAL,CAAcwB,IAAd;;AACA,eAAKsT,aAAL,GAAqB,IAArB;AACA,eAAK+3D,YAAL,GAAkB,EAAlB;AACA,eAAKzrE,YAAL,GAAkB,KAAlB;AACA,eAAKsF,UAAL,GAAmB,EAAnB;AAEA;AACA,eAAKy4D,IAAL,GAAWt0E,KAAK,CAACtS,MAAN,CAAa0mF,KAAb,CAAmB,CAAnB,CAAX;AACA,cAAIgO,UAAU,GAAG,IAAIC,UAAJ,EAAjB;AACAD,oBAAU,CAACE,iBAAX,CAA6B,KAAKhO,IAAlC;;AAEF8N,oBAAU,CAACG,MAAX,GAAoB,UAAC71F,CAAD,EAAO;AACvB,oBAAI,CAAC81F,WAAL,GAAmBJ,UAAU,CAACjvF,MAA9B;AACA,gBAAIM,IAAI,GAAG,IAAIgvF,UAAJ,CAAe,QAAI,CAACD,WAApB,CAAX;AACA,gBAAIj0B,GAAG,GAAG,IAAIx9D,KAAJ,EAAV;;AACA,iBAAI,IAAI+nB,CAAC,GAAG,CAAZ,EAAeA,CAAC,IAAIrlB,IAAI,CAAC5C,MAAzB,EAAiC,EAAEioB,CAAnC;AAAsCy1C,iBAAG,CAACz1C,CAAD,CAAH,GAASyS,MAAM,CAACm3D,YAAP,CAAoBjvF,IAAI,CAACqlB,CAAD,CAAxB,CAAT;AAAtC;;AACA,gBAAI6pE,IAAI,GAAGp0B,GAAG,CAACx7D,IAAJ,CAAS,EAAT,CAAX;AACA,gBAAI6vF,QAAQ,GAAG,0CAAUD,IAAV,EAAgB;AAAC7uF,kBAAI,EAAC;AAAN,aAAhB,CAAf;AACA,gBAAI+uF,gBAAgB,GAAGD,QAAQ,CAACE,UAAT,CAAoB,CAApB,CAAvB;AACA,gBAAIC,SAAS,GAAGH,QAAQ,CAACI,MAAT,CAAgBH,gBAAhB,CAAhB;AACA,gBAAII,SAAS,GAAG,2CAAWC,aAAX,CAAyBH,SAAzB,EAAmC;AAACI,iBAAG,EAAC;AAAL,aAAnC,CAAhB;AACA,oBAAI,CAACC,eAAL,GAAuB,2CAAWF,aAAX,CAAyBH,SAAzB,EAAoC;AAAEM,oBAAM,EAAE;AAAV,aAApC,CAAvB;AACA,oBAAI,CAAC7xB,aAAL,GAAqB,QAAI,CAAC4xB,eAAL,CAAqB,CAArB,EAAwBvoE,QAAxB,EAArB;;AACA,gBAAIyoE,WAAW,GAAG,QAAI,CAAC9xB,aAAL,CAAmB5uC,KAAnB,CAAyB,GAAzB,CAAlB;;AACA,oBAAI,CAAC2gE,mBAAL,GAAyBD,WAAzB;;AAEA,gBAAK,QAAI,CAACC,mBAAL,CAAyB,CAAzB,KAA+B,mBAAhC,IAAyD,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,UAAxF,IAAwG,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,YAAvI,IACI,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,YADnC,IACsD,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,OADrF,IACkG,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA8B,MADhI,IAEO,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,aAFtC,IAEyD,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAAgC,SAFzF,IAEwG,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAAgC,UAFxI,IAGO,QAAI,CAACA,mBAAL,CAAyB,CAAzB,KAA+B,QAHtC,IAGoD,QAAI,CAACA,mBAAL,CAAyB,EAAzB,KAAgC,QAHpF,IAGoG,QAAI,CAACA,mBAAL,CAAyB,EAAzB,KAAgC,kBAHpI,IAIQ,QAAI,CAACA,mBAAL,CAAyB,EAAzB,KAAgC,SAJxC,IAIuD,QAAI,CAACA,mBAAL,CAAyB,EAAzB,KAAgC,OAAjC,IAA8C,QAAI,CAACA,mBAAL,CAAyB,EAAzB,KAAgC,MAJxI,EAIiJ;AAC3I,sBAAI,CAACnC,SAAL,GAAiB,KAAjB;AACA,sBAAI,CAAC7qE,YAAL,GAAkB,IAAlB;AACC,sBAAI,CAACsF,UAAL,GAAmB,2BAAnB;AACL,aARF,MASK;AACH,sBAAI,CAACulE,SAAL,GAAgB,IAAhB;AACA;;AAEF,gBAAG6B,SAAS,CAACpyF,MAAV,GAAmB,CAAnB,IAAwB,QAAI,CAACuwF,SAAL,IAAiB,IAA5C,EAAiD;AAC/C,sBAAI,CAACn3D,aAAL,GAAqB,KAArB;AACD;;AAED,gBAAG,QAAI,CAACqqD,IAAL,CAAUD,IAAV,GAAiB,OAApB,EAA4B;AAC1B,sBAAI,CAACmP,aAAL,GAAmB,IAAnB;AACA,sBAAI,CAACv5D,aAAL,GAAqB,IAArB;AACA,sBAAI,CAAC+3D,YAAL,GAAkB,mCAAlB;AACD;;AACD,oBAAI,CAACyB,QAAL,GAAgBR,SAAhB;AACA3qF,sBAAU,CAAC,YAAM;AACf,sBAAI,CAAC6c,QAAL,CAAc4E,IAAd;AACD,aAFS,EAEP,GAFO,CAAV;AAGH,WAzCD;AA0CC;;;iCAEQ8I,I,EAAc;AAAA;;AACrB,eAAK1N,QAAL,CAAcwB,IAAd;;AACA;;AACA,cAAI,KAAK8sE,QAAL,CAAc5yF,MAAd,GAAuB,CAA3B,EAA8B;AAE5B,iBAAK6yF,SAAL,GAAiB,CAAjB;AAAmB,iBAAKC,QAAL,GAAgB,EAAhB;;AAErB,gBAAG,KAAKvC,SAAL,IAAkB,IAArB,EAA0B;AACxB,mBAAKwC,OAAL,GAAe,IAAf,CADwB,CAE1B;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;;AAEA,kBAAI,KAAKA,OAAT,EAAkB;AACd,qBAAKvzC,eAAL,CAAqB6zC,cAArB,CAAoC,KAAKT,QAAzC,EAAkD,KAAKjyB,aAAvD,EAAqEn+D,YAAY,CAACM,OAAb,CAAqB,aAArB,CAArE,EAA0GT,SAA1G,CAAoH,UAAA0oB,GAAG,EAAE;AACzH,0BAAI,CAACuoE,WAAL,GAAmBvoE,GAAG,CAACwoE,aAAJ,CAAkBxhE,KAAlB,CAAwB,QAAxB,CAAnB;;AACA,sBAAI,QAAI,CAACuhE,WAAL,CAAiB,CAAjB,KAAuB,KAA3B,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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NbAuthModule, NbDummyAuthStrategy } from '@nebular/auth';\nimport { NbSecurityModule, NbRoleProvider } from '@nebular/security';\nimport { of as observableOf } from 'rxjs';\n\nimport { throwIfAlreadyLoaded } from './module-import-guard';\nimport {\n AnalyticsService,\n LayoutService,\n PlayerService,\n SeoService,\n StateService,\n} from './utils';\nimport { UserData } from './data/users';\nimport { ElectricityData } from './data/electricity';\nimport { SmartTableData } from './data/smart-table';\nimport { UserActivityData } from './data/user-activity';\nimport { OrdersChartData } from './data/orders-chart';\nimport { ProfitChartData } from './data/profit-chart';\nimport { TrafficListData } from './data/traffic-list';\nimport { EarningData } from './data/earning';\nimport { OrdersProfitChartData } from './data/orders-profit-chart';\nimport { TrafficBarData } from './data/traffic-bar';\nimport { ProfitBarAnimationChartData } from './data/profit-bar-animation-chart';\nimport { TemperatureHumidityData } from './data/temperature-humidity';\nimport { SolarData } from './data/solar';\nimport { TrafficChartData } from './data/traffic-chart';\nimport { StatsBarData } from './data/stats-bar';\nimport { CountryOrderData } from './data/country-order';\nimport { StatsProgressBarData } from './data/stats-progress-bar';\nimport { VisitorsAnalyticsData } from './data/visitors-analytics';\nimport { SecurityCamerasData } from './data/security-cameras';\n\nimport { UserService } from './mock/users.service';\nimport { ElectricityService } from './mock/electricity.service';\nimport { SmartTableService } from './mock/smart-table.service';\nimport { UserActivityService } from './mock/user-activity.service';\nimport { OrdersChartService } from './mock/orders-chart.service';\nimport { ProfitChartService } from './mock/profit-chart.service';\nimport { TrafficListService } from './mock/traffic-list.service';\nimport { EarningService } from './mock/earning.service';\nimport { OrdersProfitChartService } from './mock/orders-profit-chart.service';\nimport { TrafficBarService } from './mock/traffic-bar.service';\nimport { ProfitBarAnimationChartService } from './mock/profit-bar-animation-chart.service';\nimport { TemperatureHumidityService } from './mock/temperature-humidity.service';\nimport { SolarService } from './mock/solar.service';\nimport { TrafficChartService } from './mock/traffic-chart.service';\nimport { StatsBarService } from './mock/stats-bar.service';\nimport { CountryOrderService } from './mock/country-order.service';\nimport { StatsProgressBarService } from './mock/stats-progress-bar.service';\nimport { VisitorsAnalyticsService } from './mock/visitors-analytics.service';\nimport { SecurityCamerasService } from './mock/security-cameras.service';\nimport { MockDataModule } from './mock/mock-data.module';\n\nconst socialLinks = [\n {\n url: 'https://github.com/akveo/nebular',\n target: '_blank',\n icon: 'github',\n },\n {\n url: 'https://www.facebook.com/akveo/',\n target: '_blank',\n icon: 'facebook',\n },\n {\n url: 'https://twitter.com/akveo_inc',\n target: '_blank',\n icon: 'twitter',\n },\n];\n\nconst DATA_SERVICES = [\n { provide: UserData, useClass: UserService },\n { provide: ElectricityData, useClass: ElectricityService },\n { provide: SmartTableData, useClass: SmartTableService },\n { provide: UserActivityData, useClass: UserActivityService },\n { provide: OrdersChartData, useClass: OrdersChartService },\n { provide: ProfitChartData, useClass: ProfitChartService },\n { provide: TrafficListData, useClass: TrafficListService },\n { provide: EarningData, useClass: EarningService },\n { provide: OrdersProfitChartData, useClass: OrdersProfitChartService },\n { provide: TrafficBarData, useClass: TrafficBarService },\n { provide: ProfitBarAnimationChartData, useClass: ProfitBarAnimationChartService },\n { provide: TemperatureHumidityData, useClass: TemperatureHumidityService },\n { provide: SolarData, useClass: SolarService },\n { provide: TrafficChartData, useClass: TrafficChartService },\n { provide: StatsBarData, useClass: StatsBarService },\n { provide: CountryOrderData, useClass: CountryOrderService },\n { provide: StatsProgressBarData, useClass: StatsProgressBarService },\n { provide: VisitorsAnalyticsData, useClass: VisitorsAnalyticsService },\n { provide: SecurityCamerasData, useClass: SecurityCamerasService },\n];\n\nexport class NbSimpleRoleProvider extends NbRoleProvider {\n getRole() {\n // here you could provide any role based on any auth flow\n return observableOf('guest');\n }\n}\n\nexport const NB_CORE_PROVIDERS = [\n ...MockDataModule.forRoot().providers,\n ...DATA_SERVICES,\n ...NbAuthModule.forRoot({\n\n strategies: [\n NbDummyAuthStrategy.setup({\n name: 'email',\n delay: 3000,\n }),\n ],\n forms: {\n login: {\n socialLinks: socialLinks,\n },\n register: {\n socialLinks: socialLinks,\n },\n },\n }).providers,\n\n NbSecurityModule.forRoot({\n accessControl: {\n guest: {\n view: '*',\n },\n user: {\n parent: 'guest',\n create: '*',\n edit: '*',\n remove: '*',\n },\n },\n }).providers,\n\n {\n provide: NbRoleProvider, useClass: NbSimpleRoleProvider,\n },\n AnalyticsService,\n LayoutService,\n PlayerService,\n SeoService,\n StateService,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n NbAuthModule,\n ],\n declarations: [],\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\n throwIfAlreadyLoaded(parentModule, 'CoreModule');\n }\n\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n ...NB_CORE_PROVIDERS,\n ],\n };\n }\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class CountryOrderData {\n abstract getCountriesCategories(): Observable;\n abstract getCountriesCategoriesData(country: string): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface LiveUpdateChart {\n liveChart: { value: [string, number] }[];\n delta: {\n up: boolean;\n value: number;\n };\n dailyIncome: number;\n}\n\nexport interface PieChart {\n value: number;\n name: string;\n}\n\nexport abstract class EarningData {\n abstract getEarningLiveUpdateCardData(currency: string): Observable;\n abstract getEarningCardData(currency: string): Observable;\n abstract getEarningPieChartData(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface Month {\n month: string;\n delta: string;\n down: boolean;\n kWatts: string;\n cost: string;\n}\n\nexport interface Electricity {\n title: string;\n active?: boolean;\n months: Month[];\n}\n\nexport interface ElectricityChart {\n label: string;\n value: number;\n}\n\nexport abstract class ElectricityData {\n abstract getListData(): Observable;\n abstract getChartData(): Observable;\n}\n","export interface OrdersChart {\n chartLabel: string[];\n linesData: number[][];\n}\n\nexport abstract class OrdersChartData {\n abstract getOrdersChartData(period: string): OrdersChart;\n}\n","import { Observable } from 'rxjs';\nimport { OrdersChart } from './orders-chart';\nimport { ProfitChart } from './profit-chart';\n\nexport interface OrderProfitChartSummary {\n title: string;\n value: number;\n}\n\nexport abstract class OrdersProfitChartData {\n abstract getOrderProfitChartSummary(): Observable;\n abstract getOrdersChartData(period: string): Observable;\n abstract getProfitChartData(period: string): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class ProfitBarAnimationChartData {\n abstract getChartData(): Observable<{ firstLine: number[]; secondLine: number[]; }>;\n}\n","export interface ProfitChart {\n chartLabel: string[];\n data: number[][];\n}\n\nexport abstract class ProfitChartData {\n abstract getProfitChartData(period: string): ProfitChart;\n}\n","import { Observable } from 'rxjs';\n\nexport interface Camera {\n title: string;\n source: string;\n}\n\nexport abstract class SecurityCamerasData {\n abstract getCamerasData(): Observable;\n}\n","\nexport abstract class SmartTableData {\n abstract getData(): any[];\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class SolarData {\n abstract getSolarData(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class StatsBarData {\n abstract getStatsBarData(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface ProgressInfo {\n title: string;\n value: number;\n activeProgress: number;\n description: string;\n}\n\nexport abstract class StatsProgressBarData {\n abstract getProgressInfoData(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface Temperature {\n value: number;\n min: number;\n max: number;\n}\n\nexport abstract class TemperatureHumidityData {\n abstract getTemperatureData(): Observable;\n abstract getHumidityData(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface TrafficBar {\n pltBal:number[];\n data: number[];\n labels: string[];\n formatter: string; \n}\n\nexport abstract class TrafficBarData {\n abstract getTrafficBarData(period: string): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class TrafficChartData {\n abstract getTrafficChartData(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface TrafficList {\n date: string;\n value: number;\n delta: {\n up: boolean;\n value: number;\n };\n comparison: {\n prevDate: string;\n prevValue: number;\n nextDate: string;\n nextValue: number;\n };\n}\n\nexport abstract class TrafficListData {\n abstract getTrafficListData(period: string): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface UserActive {\n date: string;\n pagesVisitCount: number;\n deltaUp: boolean;\n newVisits: number;\n}\n\nexport abstract class UserActivityData {\n abstract getUserActivityData(period: string): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface User {\n name: string;\n picture: string;\n}\n\nexport interface Contacts {\n user: User;\n type: string;\n}\n\nexport interface RecentUsers extends Contacts {\n time: number;\n}\n\nexport abstract class UserData {\n abstract getUsers(): Observable;\n abstract getContacts(): Observable;\n abstract getRecentUsers(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface OutlineData {\n label: string;\n value: number;\n}\n\nexport abstract class VisitorsAnalyticsData {\n abstract getInnerLineChartData(): Observable;\n abstract getOutlineLineChartData(): Observable;\n abstract getPieChartData(): Observable;\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { CountryOrderData } from '../data/country-order';\n\n@Injectable()\nexport class CountryOrderService extends CountryOrderData {\n\n private countriesCategories = [\n 'Sofas',\n 'Furniture',\n 'Lighting',\n 'Tables',\n 'Textiles',\n ];\n private countriesCategoriesLength = this.countriesCategories.length;\n private generateRandomData(nPoints: number): number[] {\n return Array.from(Array(nPoints)).map(() => {\n return Math.round(Math.random() * 20);\n });\n }\n\n getCountriesCategories(): Observable {\n return observableOf(this.countriesCategories);\n }\n\n getCountriesCategoriesData(country: string): Observable {\n return observableOf(this.generateRandomData(this.countriesCategoriesLength));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { LiveUpdateChart, PieChart, EarningData } from '../data/earning';\nimport { Constants } from '../../Common/constant';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Dashboard, DashboardPiChart } from './dashboard';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\n@Injectable()\nexport class EarningService extends EarningData {\n\n private currentDate: Date = new Date();\n private currentValue = Math.random() * 1000;\n private ONE_DAY = 24 * 3600 * 1000;\n\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n dashboardDataList: DashboardPiChart[];\n liveUpdateChart:LiveUpdateChart;\n earningPieChartData:PieChart[];\n private pieChartData = [\n {\n value: 50,\n name: 'Maharashtra',\n },\n {\n value: 25,\n name: 'Gujrat',\n },\n {\n value: 25,\n name: 'Delhi',\n },\n ];\n\n private liveUpdateChartData = {\n bitcoin: {\n liveChart: [],\n delta: {\n up: true,\n value: 4,\n },\n dailyIncome: 45895,\n },\n tether: {\n liveChart: [],\n delta: {\n up: false,\n value: 9,\n },\n dailyIncome: 5862,\n },\n ethereum: {\n liveChart: [],\n delta: {\n up: false,\n value: 21,\n },\n dailyIncome: 584,\n },\n };\n\n constructor(private http: HttpClient, public _token: TokenService) \n {\n super();\n }\n\n getDefaultLiveChartData(elementsNumber: number) {\n this.currentDate = new Date();\n this.currentValue = Math.random() * 1000;\n\n return Array.from(Array(elementsNumber))\n .map(item => this.generateRandomLiveChartData());\n }\n\n generateRandomLiveChartData() {\n this.currentDate = new Date(+this.currentDate + this.ONE_DAY);\n this.currentValue = this.currentValue + Math.random() * 20 - 11;\n\n if (this.currentValue < 0) {\n this.currentValue = Math.random() * 100;\n }\n\n return {\n value: [\n [\n this.currentDate.getFullYear(),\n this.currentDate.getMonth(),\n this.currentDate.getDate(),\n ].join('/'),\n Math.round(this.currentValue),\n ],\n };\n }\n\n getEarningLiveUpdateCardData(currency): Observable {\n this.fnGetSweepVolumeForGraph(currency).subscribe(result=>{\n this.liveUpdateChart = result; \n localStorage.setItem(\"SweepVolumeForGraph\",JSON.stringify(this.liveUpdateChart)); \n });\n var data = JSON.parse(localStorage.getItem(\"SweepVolumeForGraph\"));\n var defaultResult = [\"1900-1-1\", 0];\n return observableOf(data != null ? data.liveChart : defaultResult);\n\n // const data = this.liveUpdateChartData[currency.toLowerCase()];\n // const newValue = this.generateRandomLiveChartData();\n\n // data.liveChart.shift();\n // data.liveChart.push(newValue);\n\n // return observableOf(data.liveChart);\n }\n\n getEarningCardData(currency: string): Observable {\n this.fnGetSweepVolumeForGraph(Number(currency)).subscribe(result=>{\n this.liveUpdateChart = result; \n localStorage.setItem(\"SweepVolumeForGraph\",JSON.stringify(this.liveUpdateChart)); \n });\n var data = JSON.parse(localStorage.getItem(\"SweepVolumeForGraph\"));\n if(data == null){\n data = { \n value: [\"1900-1-1\", 0] ,\n delta: {\n up: true,\n value: 0\n },\n dailyIncome: 0\n }}\n return observableOf(data);\n\n // const data = this.liveUpdateChartData[currency.toLowerCase()];\n // data.liveChart = this.getDefaultLiveChartData(150);\n // return observableOf(data);\n }\n\n fnGetSweepVolumeForGraph(type: number = 1): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSweepVolumeForGraph?type=' + type, httpOptions);\n }\n\n fnGetStateContributionData(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetStateContributionData',httpOptions);\n }\n\n GetStateContributionData(){\n this.fnGetStateContributionData().subscribe(result=>{\n this.dashboardDataList = result[\"dashboardPiChartsList\"]; \n localStorage.setItem(\"StateContributionMonthYear\",result[\"currentMonth\"][\"MonthYear\"]);\n localStorage.setItem(\"StateContributionData\",JSON.stringify(this.dashboardDataList)); \n });\n }\n\n getEarningPieChartData(): Observable {\n this.GetStateContributionData(); \n var data = JSON.parse(localStorage.getItem(\"StateContributionData\"));\n if(data == null){\n data = [{\n value: 0,\n name: ''\n },\n {\n value: 0,\n name: ''\n },\n {\n value: 0,\n name: ''\n }]\n } \n return observableOf(data);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { Electricity, ElectricityChart, ElectricityData } from '../data/electricity';\n\n@Injectable()\nexport class ElectricityService extends ElectricityData {\n\n private listData: Electricity[] = [\n {\n title: '2015',\n months: [\n { month: 'Jan', delta: '0.97', down: true, kWatts: '816', cost: '97' },\n { month: 'Feb', delta: '1.83', down: true, kWatts: '806', cost: '95' },\n { month: 'Mar', delta: '0.64', down: true, kWatts: '803', cost: '94' },\n { month: 'Apr', delta: '2.17', down: false, kWatts: '818', cost: '98' },\n { month: 'May', delta: '1.32', down: true, kWatts: '809', cost: '96' },\n { month: 'Jun', delta: '0.05', down: true, kWatts: '808', cost: '96' },\n { month: 'Jul', delta: '1.39', down: false, kWatts: '815', cost: '97' },\n { month: 'Aug', delta: '0.73', down: true, kWatts: '807', cost: '95' },\n { month: 'Sept', delta: '2.61', down: true, kWatts: '792', cost: '92' },\n { month: 'Oct', delta: '0.16', down: true, kWatts: '791', cost: '92' },\n { month: 'Nov', delta: '1.71', down: true, kWatts: '786', cost: '89' },\n { month: 'Dec', delta: '0.37', down: false, kWatts: '789', cost: '91' },\n ],\n },\n {\n title: '2016',\n active: true,\n months: [\n { month: 'Jan', delta: '1.56', down: true, kWatts: '789', cost: '91' },\n { month: 'Feb', delta: '0.33', down: false, kWatts: '791', cost: '92' },\n { month: 'Mar', delta: '0.62', down: true, kWatts: '790', cost: '92' },\n { month: 'Apr', delta: '1.93', down: true, kWatts: '783', cost: '87' },\n { month: 'May', delta: '2.52', down: true, kWatts: '771', cost: '83' },\n { month: 'Jun', delta: '0.39', down: false, kWatts: '774', cost: '85' },\n { month: 'Jul', delta: '1.61', down: true, kWatts: '767', cost: '81' },\n { month: 'Aug', delta: '1.41', down: true, kWatts: '759', cost: '76' },\n { month: 'Sept', delta: '1.03', down: true, kWatts: '752', cost: '74' },\n { month: 'Oct', delta: '2.94', down: false, kWatts: '769', cost: '82' },\n { month: 'Nov', delta: '0.26', down: true, kWatts: '767', cost: '81' },\n { month: 'Dec', delta: '1.62', down: true, kWatts: '760', cost: '76' },\n ],\n },\n {\n title: '2017',\n months: [\n { month: 'Jan', delta: '1.34', down: false, kWatts: '789', cost: '91' },\n { month: 'Feb', delta: '0.95', down: false, kWatts: '793', cost: '93' },\n { month: 'Mar', delta: '0.25', down: true, kWatts: '791', cost: '92' },\n { month: 'Apr', delta: '1.72', down: false, kWatts: '797', cost: '95' },\n { month: 'May', delta: '2.62', down: true, kWatts: '786', cost: '90' },\n { month: 'Jun', delta: '0.72', down: false, kWatts: '789', cost: '91' },\n { month: 'Jul', delta: '0.78', down: true, kWatts: '784', cost: '89' },\n { month: 'Aug', delta: '0.36', down: true, kWatts: '782', cost: '88' },\n { month: 'Sept', delta: '0.55', down: false, kWatts: '787', cost: '90' },\n { month: 'Oct', delta: '1.81', down: true, kWatts: '779', cost: '86' },\n { month: 'Nov', delta: '1.12', down: true, kWatts: '774', cost: '84' },\n { month: 'Dec', delta: '0.52', down: false, kWatts: '776', cost: '95' },\n ],\n },\n ];\n\n private chartPoints = [\n 490, 490, 495, 500,\n 505, 510, 520, 530,\n 550, 580, 630, 720,\n 800, 840, 860, 870,\n 870, 860, 840, 800,\n 720, 200, 145, 130,\n 130, 145, 200, 570,\n 635, 660, 670, 670,\n 660, 630, 580, 460,\n 380, 350, 340, 340,\n 340, 340, 340, 340,\n 340, 340, 340,\n ];\n\n chartData: ElectricityChart[];\n\n constructor() {\n super();\n this.chartData = this.chartPoints.map((p, index) => ({\n label: (index % 5 === 3) ? `${Math.round(index / 5)}` : '',\n value: p,\n }));\n }\n\n getListData(): Observable {\n return observableOf(this.listData);\n }\n\n getChartData(): Observable {\n return observableOf(this.chartData);\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { UserService } from './users.service';\nimport { ElectricityService } from './electricity.service';\nimport { SmartTableService } from './smart-table.service';\nimport { UserActivityService } from './user-activity.service';\nimport { OrdersChartService } from './orders-chart.service';\nimport { ProfitChartService } from './profit-chart.service';\nimport { TrafficListService } from './traffic-list.service';\nimport { PeriodsService } from './periods.service';\nimport { EarningService } from './earning.service';\nimport { OrdersProfitChartService } from './orders-profit-chart.service';\nimport { TrafficBarService } from './traffic-bar.service';\nimport { ProfitBarAnimationChartService } from './profit-bar-animation-chart.service';\nimport { TemperatureHumidityService } from './temperature-humidity.service';\nimport { SolarService } from './solar.service';\nimport { TrafficChartService } from './traffic-chart.service';\nimport { StatsBarService } from './stats-bar.service';\nimport { CountryOrderService } from './country-order.service';\nimport { StatsProgressBarService } from './stats-progress-bar.service';\nimport { VisitorsAnalyticsService } from './visitors-analytics.service';\nimport { SecurityCamerasService } from './security-cameras.service';\n\nconst SERVICES = [\n UserService,\n ElectricityService,\n SmartTableService,\n UserActivityService,\n OrdersChartService,\n ProfitChartService,\n TrafficListService,\n PeriodsService,\n EarningService,\n OrdersProfitChartService,\n TrafficBarService,\n ProfitBarAnimationChartService,\n TemperatureHumidityService,\n SolarService,\n TrafficChartService,\n StatsBarService,\n CountryOrderService,\n StatsProgressBarService,\n VisitorsAnalyticsService,\n SecurityCamerasService,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n providers: [\n ...SERVICES,\n ],\n})\nexport class MockDataModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: MockDataModule,\n providers: [\n ...SERVICES,\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PeriodsService } from './periods.service';\nimport { OrdersChart, OrdersChartData } from '../data/orders-chart';\nimport { Constants } from '../../Common/constant';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable()\nexport class OrdersChartService extends OrdersChartData {\n\n private year = [\n '2012',\n '2013',\n '2014',\n '2015',\n '2016',\n '2017',\n '2018',\n ];\n\n private data = { };\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n WeekData : any;\n MonthData : any;\n YearData : any;\n WeekchartLabel : any = [];\n WeeklinesData : any = [];\n MonthchartLabel : any = [];\n MonthlinesData : any = [];\n YearchartLabel : any = [];\n YearlinesData : any = [];\n\n constructor(private http: HttpClient, public _token: TokenService,\n public _encreptdecrept:EncryptdecryptService) {\n super();\n this.data = {\n week: this.getDataForWeekPeriod(),\n month: this.getDataForMonthPeriod(),\n year: this.getDataForYearPeriod(),\n };\n }\n\n fnGetTransactionDataForGraph(type: number): Observable { \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetTransactionDataForGraph?type=' + this._encreptdecrept.encryptUsingAES256(type), httpOptions);\n }\n\n private getDataForWeekPeriod(): OrdersChart {\n this.fnGetTransactionDataForGraph(1).subscribe(result=>{\n this.WeekData = result;\n if(this.WeekData.chartLabel != null && this.WeekData.chartLabel.length > 0)\n {\n this.WeekData.chartLabel.forEach(element => { \n this.WeekchartLabel.push(element);\n }); \n localStorage.setItem(\"WeekchartLabel\",JSON.stringify(this.WeekchartLabel)); \n } \n else\n {\n this.WeekchartLabel.length=0;\n localStorage.setItem(\"WeekchartLabel\",JSON.stringify(this.WeekchartLabel)); \n } \n if(this.WeekData.linesData != null && this.WeekData.linesData.length > 0)\n {\n this.WeekData.linesData.forEach(element => { \n this.WeeklinesData.push(element); \n }); \n localStorage.setItem(\"WeeklinesData\",JSON.stringify(this.WeeklinesData)); \n } \n else\n { \n this.WeeklinesData.length=0; \n localStorage.setItem(\"WeeklinesData\",JSON.stringify(this.WeeklinesData)); \n } \n });\n\n return {\n chartLabel: JSON.parse(localStorage.getItem(\"WeekchartLabel\")), //this.getDataLabels(42, this.period.getWeeks()),\n linesData : JSON.parse(localStorage.getItem(\"WeeklinesData\")),\n };\n // linesData: [\n // [\n // 184, 267, 326, 366, 389, 399,\n // 392, 371, 340, 304, 265, 227,\n // 191, 158, 130, 108, 95, 91, 97,\n // 109, 125, 144, 166, 189, 212,\n // 236, 259, 280, 300, 316, 329,\n // 338, 342, 339, 329, 312, 288,\n // 258, 221, 178, 128, 71,\n // ],\n // [\n // 158, 178, 193, 205, 212, 213,\n // 204, 190, 180, 173, 168, 164,\n // 162, 160, 159, 158, 159, 166,\n // 179, 195, 215, 236, 257, 276,\n // 292, 301, 304, 303, 300, 293,\n // 284, 273, 262, 251, 241, 234,\n // 232, 232, 232, 232, 232, 232,\n // ],\n // [\n // 58, 137, 202, 251, 288, 312,\n // 323, 324, 311, 288, 257, 222,\n // 187, 154, 124, 100, 81, 68, 61,\n // 58, 61, 69, 80, 96, 115, 137,\n // 161, 186, 210, 233, 254, 271,\n // 284, 293, 297, 297, 297, 297,\n // 297, 297, 297, 297, 297,\n // ],\n // ],\n //};\n }\n\n private getDataForMonthPeriod(): OrdersChart {\n this.fnGetTransactionDataForGraph(2).subscribe(result=>{\n this.MonthData = result;\n if(this.MonthData.chartLabel != null && this.MonthData.chartLabel.length > 0)\n {\n this.MonthData.chartLabel.forEach(element => { \n this.MonthchartLabel.push(element);\n }); \n localStorage.setItem(\"MonthchartLabel\",JSON.stringify(this.MonthchartLabel)); \n } \n else\n {\n this.MonthchartLabel.length=0;\n localStorage.setItem(\"MonthchartLabel\",JSON.stringify(this.MonthchartLabel)); \n } \n if(this.MonthData.linesData != null && this.MonthData.linesData.length > 0)\n {\n this.MonthData.linesData.forEach(element => { \n this.MonthlinesData.push(element); \n }); \n localStorage.setItem(\"MonthlinesData\",JSON.stringify(this.MonthlinesData)); \n } \n else\n { \n this.MonthlinesData.length=0; \n localStorage.setItem(\"MonthlinesData\",JSON.stringify(this.MonthlinesData)); \n } \n });\n\n return {\n chartLabel: JSON.parse(localStorage.getItem(\"MonthchartLabel\")), //this.getDataLabels(42, this.period.getWeeks()),\n linesData : JSON.parse(localStorage.getItem(\"MonthlinesData\")),\n };\n\n // return {\n // chartLabel: this.getDataLabels(47, this.period.getMonths()),\n // linesData: [\n // [\n // 5, 63, 113, 156, 194, 225,\n // 250, 270, 283, 289, 290,\n // 286, 277, 264, 244, 220,\n // 194, 171, 157, 151, 150,\n // 152, 155, 160, 166, 170,\n // 167, 153, 135, 115, 97,\n // 82, 71, 64, 63, 62, 61,\n // 62, 65, 73, 84, 102,\n // 127, 159, 203, 259, 333,\n // ],\n // [\n // 6, 83, 148, 200, 240,\n // 265, 273, 259, 211,\n // 122, 55, 30, 28, 36,\n // 50, 68, 88, 109, 129,\n // 146, 158, 163, 165,\n // 173, 187, 208, 236,\n // 271, 310, 346, 375,\n // 393, 400, 398, 387,\n // 368, 341, 309, 275,\n // 243, 220, 206, 202,\n // 207, 222, 247, 286, 348,\n // ],\n // [\n // 398, 348, 315, 292, 274,\n // 261, 251, 243, 237, 231,\n // 222, 209, 192, 172, 152,\n // 132, 116, 102, 90, 80, 71,\n // 64, 58, 53, 49, 48, 54, 66,\n // 84, 104, 125, 142, 156, 166,\n // 172, 174, 172, 167, 159, 149,\n // 136, 121, 105, 86, 67, 45, 22,\n // ],\n // ],\n // };\n }\n\n private getDataForYearPeriod(): OrdersChart {\n this.fnGetTransactionDataForGraph(3).subscribe(result=>{\n this.YearData = result;\n if(this.YearData.chartLabel != null && this.YearData.chartLabel.length > 0)\n {\n this.YearData.chartLabel.forEach(element => { \n this.YearchartLabel.push(element);\n }); \n localStorage.setItem(\"YearchartLabel\",JSON.stringify(this.YearchartLabel)); \n } \n else\n {\n this.YearchartLabel.length=0;\n localStorage.setItem(\"YearchartLabel\",JSON.stringify(this.YearchartLabel)); \n } \n if(this.YearData.linesData != null && this.YearData.linesData.length > 0)\n {\n this.YearData.linesData.forEach(element => { \n this.YearlinesData.push(element); \n }); \n localStorage.setItem(\"YearlinesData\",JSON.stringify(this.YearlinesData)); \n } \n else\n { \n this.YearlinesData.length=0; \n localStorage.setItem(\"YearlinesData\",JSON.stringify(this.YearlinesData)); \n } \n });\n\n return {\n chartLabel: JSON.parse(localStorage.getItem(\"YearchartLabel\")), //this.getDataLabels(42, this.period.getWeeks()),\n linesData : JSON.parse(localStorage.getItem(\"YearlinesData\")),\n };\n\n // return {\n // chartLabel: this.getDataLabels(42, this.year),\n // linesData: [\n // [\n // 190, 269, 327, 366, 389, 398,\n // 396, 387, 375, 359, 343, 327,\n // 312, 298, 286, 276, 270, 268,\n // 265, 258, 247, 234, 220, 204,\n // 188, 172, 157, 142, 128, 116,\n // 106, 99, 95, 94, 92, 89, 84,\n // 77, 69, 60, 49, 36, 22,\n // ],\n // [\n // 265, 307, 337, 359, 375, 386,\n // 393, 397, 399, 397, 390, 379,\n // 365, 347, 326, 305, 282, 261,\n // 241, 223, 208, 197, 190, 187,\n // 185, 181, 172, 160, 145, 126,\n // 105, 82, 60, 40, 26, 19, 22,\n // 43, 82, 141, 220, 321,\n // ],\n // [\n // 9, 165, 236, 258, 244, 206,\n // 186, 189, 209, 239, 273, 307,\n // 339, 365, 385, 396, 398, 385,\n // 351, 300, 255, 221, 197, 181,\n // 170, 164, 162, 161, 159, 154,\n // 146, 135, 122, 108, 96, 87,\n // 83, 82, 82, 82, 82, 82, 82,\n // ],\n // ],\n // };\n }\n\n getDataLabels(nPoints: number, labelsArray: string[]): string[] {\n const labelsArrayLength = labelsArray.length;\n const step = Math.round(nPoints / labelsArrayLength);\n\n return Array.from(Array(nPoints)).map((item, index) => {\n const dataIndex = Math.round(index / step);\n\n return index % step === 0 ? labelsArray[dataIndex] : '';\n });\n }\n\n getOrdersChartData(period: string): OrdersChart {\n if(this.data[period] == null || this.data[period].chartLabel == null || this.data[period].linesData == null){\n this.data[period] = {\n chartLabel: [''],\n linesData: [0][0]\n }\n }\n return this.data[period];\n }\n}\n","import { of as observableOf, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { OrdersChart, OrdersChartData } from '../data/orders-chart';\nimport { OrderProfitChartSummary, OrdersProfitChartData } from '../data/orders-profit-chart';\nimport { ProfitChart, ProfitChartData } from '../data/profit-chart';\nimport { Constants } from '../../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable()\nexport class OrdersProfitChartService extends OrdersProfitChartData {\n\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n private summary = [\n {\n title: 'Number of Transactions',\n value: 3654,\n },\n {\n title: 'Total Sweep',\n value: 946,\n },\n {\n title: 'Charges',\n value: 654,\n },\n {\n title: 'Total Interest',\n value: 230,\n },\n ];\n\n dataList : any;\n SummaryData : any = [];\n\n constructor(private ordersChartService: OrdersChartData,\n private profitChartService: ProfitChartData, private http: HttpClient, \n public _token: TokenService, public _encreptdecrept:EncryptdecryptService) {\n super();\n }\n\n fnGetTransactionDataForGraph(type: number): Observable { \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetTransactionDataForGraph?type=' + this._encreptdecrept.encryptUsingAES256(type), httpOptions);\n }\n\n getOrderProfitChartSummary(): Observable {\n this.fnGetTransactionDataForGraph(1).subscribe(result=>{\n this.dataList = result; \n if(this.dataList.summary.length > 0){\n this.dataList.summary.forEach(element => {\n this.SummaryData.push(element);\n });\n localStorage.setItem('summary',JSON.stringify(this.SummaryData));\n }\n });\n return observableOf(JSON.parse(localStorage.getItem('summary')));\n }\n\n getOrdersChartData(period: string): Observable {\n return observableOf(this.ordersChartService.getOrdersChartData(period));\n }\n\n getProfitChartData(period: string): Observable {\n return observableOf(this.profitChartService.getProfitChartData(period));\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class PeriodsService {\n getYears() {\n return [\n '2010', '2011', '2012',\n '2013', '2014', '2015',\n '2016', '2017', '2018',\n ];\n }\n\n getMonths() {\n return [\n 'Mah', 'Guj', 'Del',\n 'Ban', 'JHA', 'Utt',\n 'Har', 'Bih', 'MP',\n 'UP', 'Kar', 'JKA',\n ];\n }\n\n getWeeks() {\n return [\n 'Mah',\n 'Guj',\n 'Del',\n 'Ban',\n 'JHA',\n 'Utt',\n 'Har',\n ];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { ProfitBarAnimationChartData } from '../data/profit-bar-animation-chart';\nimport { Constants } from '../../Common/constant';\nimport { Dashboard } from './dashboard';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProfitBarAnimationChartService extends ProfitBarAnimationChartData {\n\n private data: any;\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n CustomerCountList:any = [];\n CurrentBalanceList:any = [];\n dashboardDataList: Dashboard[];\n firstLineList:any = [];\n secondLineList:any = [];\n\n constructor(private http: HttpClient, public _token: TokenService) { \n super(); \n this.GetTotalNumberOfCustomersForGraph(); \n this.data = { \n firstLine: this.getDataForFirstLine(),\n secondLine: this.getDataForSecondLine(), \n }; \n } \n\n getDataForFirstLine(): number[] { \n this.firstLineList = JSON.parse(localStorage.getItem(\"CustomerCountList\"));\n if(this.firstLineList == null){\n setTimeout (() => {\n this.firstLineList = JSON.parse(localStorage.getItem(\"CustomerCountList\"));\n return this.firstLineList; \n }, 3000);\n }\n else{\n return this.firstLineList; \n }\n //return this.CustomerCountList; \n \n // return this.createEmptyArray(10)\n // .map((_, index) => {\n // const oneFifth = index / 5;\n\n // return (Math.sin(oneFifth) * (oneFifth - 10) + index / 6) * 5;\n // });\n }\n\n getDataForSecondLine(): number[] {\n this.secondLineList = JSON.parse(localStorage.getItem(\"CurrentBalanceList\"));\n if(this.secondLineList == null){\n setTimeout (() => {\n this.secondLineList = JSON.parse(localStorage.getItem(\"CurrentBalanceList\"));\n return this.secondLineList; \n }, 3000);\n }\n else{\n return this.secondLineList; \n }\n //return this.CurrentBalanceList; \n \n // return this.createEmptyArray(10)\n // .map((_, index) => {\n // const oneFifth = index / 5;\n\n // return (Math.cos(oneFifth) * (oneFifth - 10) + index / 6) * 5;\n // });\n }\n\n createEmptyArray(nPoints: number) {\n return Array.from(Array(nPoints));\n } \n\n fnGetTotalNumberOfCustomers(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetTotalNumberOfCustomers', httpOptions);\n }\n\n GetTotalNumberOfCustomersForGraph(){\n this.fnGetTotalNumberOfCustomers().subscribe(result=>{\n this.dashboardDataList = result; \n if(this.dashboardDataList.length > 0)\n {\n this.dashboardDataList.forEach(element => { \n this.CustomerCountList.push(Number(element[\"CustomerCount\"]));\n this.CurrentBalanceList.push(Number(element[\"CurrentBalance\"])); \n }); \n localStorage.setItem(\"CustomerCountList\",JSON.stringify(this.CustomerCountList));\n localStorage.setItem(\"CurrentBalanceList\",JSON.stringify(this.CurrentBalanceList)); \n } \n });\n }\n\n getChartData(): Observable<{ firstLine: number[]; secondLine: number[]; }> {\n if(this.data == null || this.data.firstLine == null || this.data.secondLine == null){\n this.data = {\n firstLine:[0],\n secondLine:[0]\n }\n }\n console.log('Total Number of Customers Graph Data', this.data);\n return observableOf(this.data);\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { PeriodsService } from './periods.service';\nimport { ProfitChart, ProfitChartData } from '../data/profit-chart';\nimport { of as obseravleof, Observable} from 'rxjs';\nimport { Constants } from '../../Common/constant';\nimport { constants } from 'buffer';\nimport { ThrowStmt } from '@angular/compiler';\nimport { JsonPipe } from '@angular/common';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n\n@Injectable()\nexport class ProfitChartService extends ProfitChartData {\n\n private year = [\n '2012',\n '2013',\n '2014',\n '2015',\n '2016',\n '2017',\n '2018',\n ];\n\n private data = { };\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n WeekData : any;\n WeekchartLabel : any = [];\n WeeklinesData : any = [];\n MonthData : any;\n MonthchartLabel : any = [];\n MonthlinesData : any = [];\n YearData : any;\n YearchartLabel : any = [];\n YearlinesData : any = [];\n\n constructor(private period: PeriodsService, private http: HttpClient, \n public _token: TokenService, public _encreptdecrept:EncryptdecryptService ) {\n super();\n this.data = {\n week: this.getDataForWeekPeriod(),\n month: this.getDataForMonthPeriod(),\n year: this.getDataForYearPeriod(),\n };\n }\n\n fnGetTransactionDataForGraph(type: number): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetTransactionDataForGraph?type=' + this._encreptdecrept.encryptUsingAES256(type), httpOptions);\n }\n\n private getDataForWeekPeriod(): ProfitChart {\n this.fnGetTransactionDataForGraph(1).subscribe(result => {\n this.WeekData = result;\n if(this.WeekData.chartLabel != null && this.WeekData.chartLabel.length > 0){\n this.WeekData.chartLabel.forEach(element => {\n this.WeekchartLabel.push(element);\n });\n localStorage.setItem('WeekchartLabelProfit',JSON.stringify(this.WeekchartLabel));\n }\n else{\n this.WeekchartLabel.length = 0;\n localStorage.setItem('WeekchartLabelProfit',JSON.stringify(this.WeekchartLabel));\n }\n if(this.WeekData.linesData != null && this.WeekData.linesData.length > 0){\n this.WeekData.linesData.forEach(element => {\n this.WeeklinesData.push(element);\n });\n localStorage.setItem('WeeklinesDataPrifit',JSON.stringify(this.WeeklinesData));\n }\n else{\n this.WeeklinesData.length = 0;\n localStorage.setItem('WeeklinesDataPrifit',JSON.stringify(this.WeeklinesData));\n }\n });\n\n return {\n chartLabel: JSON.parse(localStorage.getItem('WeekchartLabelProfit')),\n data: JSON.parse(localStorage.getItem('WeeklinesDataPrifit')),\n };\n\n // const nPoint = this.period.getWeeks().length;\n // return {\n // chartLabel: this.period.getWeeks(),\n // data: [\n // this.getRandomData(nPoint),\n // this.getRandomData(nPoint),\n // this.getRandomData(nPoint),\n // ],\n // };\n }\n\n private getDataForMonthPeriod(): ProfitChart {\n this.fnGetTransactionDataForGraph(2).subscribe(result => {\n this.MonthData = result;\n if(this.MonthData.chartLabel != null && this.MonthData.chartLabel.length > 0){\n this.MonthData.chartLabel.forEach(element => {\n this.MonthchartLabel.push(element);\n });\n localStorage.setItem('MonthchartLabelProfit',JSON.stringify(this.MonthchartLabel));\n }\n else{\n this.MonthchartLabel.length = 0;\n localStorage.setItem('MonthchartLabelProfit',JSON.stringify(this.MonthchartLabel));\n }\n if(this.MonthData.linesData != null && this.MonthData.linesData.length > 0){\n this.MonthData.linesData.forEach(element => {\n this.MonthlinesData.push(element);\n });\n localStorage.setItem('MonthlinesDataProfit',JSON.stringify(this.MonthlinesData));\n }\n else{\n this.MonthlinesData.length = 0;\n localStorage.setItem('MonthlinesDataProfit',JSON.stringify(this.MonthlinesData));\n }\n });\n\n return {\n chartLabel:JSON.parse(localStorage.getItem('MonthchartLabelProfit')),\n data:JSON.parse(localStorage.getItem('MonthlinesDataProfit')),\n };\n\n // const nPoint = this.period.getMonths().length;\n // return {\n // chartLabel: this.period.getMonths(),\n // data: [\n // this.getRandomData(nPoint),\n // this.getRandomData(nPoint),\n // this.getRandomData(nPoint),\n // ],\n // };\n }\n\n private getDataForYearPeriod(): ProfitChart {\n this.fnGetTransactionDataForGraph(3).subscribe(result => {\n this.YearData = result;\n if(this.YearData.chartLabel != null && this.YearData.chartLabel.length > 0){\n this.YearData.chartLabel.forEach(element => {\n this.YearchartLabel.push(element);\n });\n localStorage.setItem('YearchartLabelProfit',JSON.stringify(this.YearchartLabel));\n }\n else{\n this.YearchartLabel.length = 0;\n localStorage.setItem('YearchartLabelProfit',JSON.stringify(this.YearchartLabel));\n }\n if(this.YearData.linesData != null && this.YearData.linesData.length > 0){\n this.YearData.linesData.forEach(element => {\n this.YearlinesData.push(element);\n });\n localStorage.setItem('YearlinesDataProfit',JSON.stringify(this.YearlinesData));\n }\n else{\n this.YearlinesData.length=0;\n localStorage.setItem('YearlinesDataProfit',JSON.stringify(this.YearlinesData));\n }\n });\n\n return {\n chartLabel: JSON.parse(localStorage.getItem('YearchartLabelProfit')),\n data:JSON.parse(localStorage.getItem('YearlinesDataProfit')),\n };\n\n //const nPoint = this.year.length;\n //return {\n //chartLabel: this.year,\n //data: [\n //this.getRandomData(nPoint),\n //this.getRandomData(nPoint),\n //this.getRandomData(nPoint),\n //],\n //};\n }\n\n private getRandomData(nPoints: number): number[] {\n return Array.from(Array(nPoints)).map(() => {\n return Math.round(Math.random() * 500);\n });\n }\n\n getProfitChartData(period: string): ProfitChart {\n if(this.data[period] == null || this.data[period].chartLabel == null || this.data[period].linesData == null){\n this.data[period] = {\n chartLabel: [''],\n data: [0][0]\n }\n }\n return this.data[period];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { Camera, SecurityCamerasData } from '../data/security-cameras';\n\n@Injectable()\nexport class SecurityCamerasService extends SecurityCamerasData {\n\n private cameras: Camera[] = [\n {\n title: 'Camera #1',\n source: 'assets/images/camera1.jpg',\n },\n {\n title: 'Camera #2',\n source: 'assets/images/camera2.jpg',\n },\n {\n title: 'Camera #3',\n source: 'assets/images/camera3.jpg',\n },\n {\n title: 'Camera #4',\n source: 'assets/images/camera4.jpg',\n },\n ];\n\n getCamerasData(): Observable {\n return observableOf(this.cameras);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SmartTableData } from '../data/smart-table';\n\n@Injectable()\nexport class SmartTableService extends SmartTableData {\n\n data = [{\n id: 1,\n firstName: 'Mark',\n lastName: 'Otto',\n username: '@mdo',\n email: 'mdo@gmail.com',\n age: '28',\n }, {\n id: 2,\n firstName: 'Jacob',\n lastName: 'Thornton',\n username: '@fat',\n email: 'fat@yandex.ru',\n age: '45',\n }, {\n id: 3,\n firstName: 'Larry',\n lastName: 'Bird',\n username: '@twitter',\n email: 'twitter@outlook.com',\n age: '18',\n }, {\n id: 4,\n firstName: 'John',\n lastName: 'Snow',\n username: '@snow',\n email: 'snow@gmail.com',\n age: '20',\n }, {\n id: 5,\n firstName: 'Jack',\n lastName: 'Sparrow',\n username: '@jack',\n email: 'jack@yandex.ru',\n age: '30',\n }, {\n id: 6,\n firstName: 'Ann',\n lastName: 'Smith',\n username: '@ann',\n email: 'ann@gmail.com',\n age: '21',\n }, {\n id: 7,\n firstName: 'Barbara',\n lastName: 'Black',\n username: '@barbara',\n email: 'barbara@yandex.ru',\n age: '43',\n }, {\n id: 8,\n firstName: 'Sevan',\n lastName: 'Bagrat',\n username: '@sevan',\n email: 'sevan@outlook.com',\n age: '13',\n }, {\n id: 9,\n firstName: 'Ruben',\n lastName: 'Vardan',\n username: '@ruben',\n email: 'ruben@gmail.com',\n age: '22',\n }, {\n id: 10,\n firstName: 'Karen',\n lastName: 'Sevan',\n username: '@karen',\n email: 'karen@yandex.ru',\n age: '33',\n }, {\n id: 11,\n firstName: 'Mark',\n lastName: 'Otto',\n username: '@mark',\n email: 'mark@gmail.com',\n age: '38',\n }, {\n id: 12,\n firstName: 'Jacob',\n lastName: 'Thornton',\n username: '@jacob',\n email: 'jacob@yandex.ru',\n age: '48',\n }, {\n id: 13,\n firstName: 'Haik',\n lastName: 'Hakob',\n username: '@haik',\n email: 'haik@outlook.com',\n age: '48',\n }, {\n id: 14,\n firstName: 'Garegin',\n lastName: 'Jirair',\n username: '@garegin',\n email: 'garegin@gmail.com',\n age: '40',\n }, {\n id: 15,\n firstName: 'Krikor',\n lastName: 'Bedros',\n username: '@krikor',\n email: 'krikor@yandex.ru',\n age: '32',\n }, {\n 'id': 16,\n 'firstName': 'Francisca',\n 'lastName': 'Brady',\n 'username': '@Gibson',\n 'email': 'franciscagibson@comtours.com',\n 'age': 11,\n }, {\n 'id': 17,\n 'firstName': 'Tillman',\n 'lastName': 'Figueroa',\n 'username': '@Snow',\n 'email': 'tillmansnow@comtours.com',\n 'age': 34,\n }, {\n 'id': 18,\n 'firstName': 'Jimenez',\n 'lastName': 'Morris',\n 'username': '@Bryant',\n 'email': 'jimenezbryant@comtours.com',\n 'age': 45,\n }, {\n 'id': 19,\n 'firstName': 'Sandoval',\n 'lastName': 'Jacobson',\n 'username': '@Mcbride',\n 'email': 'sandovalmcbride@comtours.com',\n 'age': 32,\n }, {\n 'id': 20,\n 'firstName': 'Griffin',\n 'lastName': 'Torres',\n 'username': '@Charles',\n 'email': 'griffincharles@comtours.com',\n 'age': 19,\n }, {\n 'id': 21,\n 'firstName': 'Cora',\n 'lastName': 'Parker',\n 'username': '@Caldwell',\n 'email': 'coracaldwell@comtours.com',\n 'age': 27,\n }, {\n 'id': 22,\n 'firstName': 'Cindy',\n 'lastName': 'Bond',\n 'username': '@Velez',\n 'email': 'cindyvelez@comtours.com',\n 'age': 24,\n }, {\n 'id': 23,\n 'firstName': 'Frieda',\n 'lastName': 'Tyson',\n 'username': '@Craig',\n 'email': 'friedacraig@comtours.com',\n 'age': 45,\n }, {\n 'id': 24,\n 'firstName': 'Cote',\n 'lastName': 'Holcomb',\n 'username': '@Rowe',\n 'email': 'coterowe@comtours.com',\n 'age': 20,\n }, {\n 'id': 25,\n 'firstName': 'Trujillo',\n 'lastName': 'Mejia',\n 'username': '@Valenzuela',\n 'email': 'trujillovalenzuela@comtours.com',\n 'age': 16,\n }, {\n 'id': 26,\n 'firstName': 'Pruitt',\n 'lastName': 'Shepard',\n 'username': '@Sloan',\n 'email': 'pruittsloan@comtours.com',\n 'age': 44,\n }, {\n 'id': 27,\n 'firstName': 'Sutton',\n 'lastName': 'Ortega',\n 'username': '@Black',\n 'email': 'suttonblack@comtours.com',\n 'age': 42,\n }, {\n 'id': 28,\n 'firstName': 'Marion',\n 'lastName': 'Heath',\n 'username': '@Espinoza',\n 'email': 'marionespinoza@comtours.com',\n 'age': 47,\n }, {\n 'id': 29,\n 'firstName': 'Newman',\n 'lastName': 'Hicks',\n 'username': '@Keith',\n 'email': 'newmankeith@comtours.com',\n 'age': 15,\n }, {\n 'id': 30,\n 'firstName': 'Boyle',\n 'lastName': 'Larson',\n 'username': '@Summers',\n 'email': 'boylesummers@comtours.com',\n 'age': 32,\n }, {\n 'id': 31,\n 'firstName': 'Haynes',\n 'lastName': 'Vinson',\n 'username': '@Mckenzie',\n 'email': 'haynesmckenzie@comtours.com',\n 'age': 15,\n }, {\n 'id': 32,\n 'firstName': 'Miller',\n 'lastName': 'Acosta',\n 'username': '@Young',\n 'email': 'milleryoung@comtours.com',\n 'age': 55,\n }, {\n 'id': 33,\n 'firstName': 'Johnston',\n 'lastName': 'Brown',\n 'username': '@Knight',\n 'email': 'johnstonknight@comtours.com',\n 'age': 29,\n }, {\n 'id': 34,\n 'firstName': 'Lena',\n 'lastName': 'Pitts',\n 'username': '@Forbes',\n 'email': 'lenaforbes@comtours.com',\n 'age': 25,\n }, {\n 'id': 35,\n 'firstName': 'Terrie',\n 'lastName': 'Kennedy',\n 'username': '@Branch',\n 'email': 'terriebranch@comtours.com',\n 'age': 37,\n }, {\n 'id': 36,\n 'firstName': 'Louise',\n 'lastName': 'Aguirre',\n 'username': '@Kirby',\n 'email': 'louisekirby@comtours.com',\n 'age': 44,\n }, {\n 'id': 37,\n 'firstName': 'David',\n 'lastName': 'Patton',\n 'username': '@Sanders',\n 'email': 'davidsanders@comtours.com',\n 'age': 26,\n }, {\n 'id': 38,\n 'firstName': 'Holden',\n 'lastName': 'Barlow',\n 'username': '@Mckinney',\n 'email': 'holdenmckinney@comtours.com',\n 'age': 11,\n }, {\n 'id': 39,\n 'firstName': 'Baker',\n 'lastName': 'Rivera',\n 'username': '@Montoya',\n 'email': 'bakermontoya@comtours.com',\n 'age': 47,\n }, {\n 'id': 40,\n 'firstName': 'Belinda',\n 'lastName': 'Lloyd',\n 'username': '@Calderon',\n 'email': 'belindacalderon@comtours.com',\n 'age': 21,\n }, {\n 'id': 41,\n 'firstName': 'Pearson',\n 'lastName': 'Patrick',\n 'username': '@Clements',\n 'email': 'pearsonclements@comtours.com',\n 'age': 42,\n }, {\n 'id': 42,\n 'firstName': 'Alyce',\n 'lastName': 'Mckee',\n 'username': '@Daugherty',\n 'email': 'alycedaugherty@comtours.com',\n 'age': 55,\n }, {\n 'id': 43,\n 'firstName': 'Valencia',\n 'lastName': 'Spence',\n 'username': '@Olsen',\n 'email': 'valenciaolsen@comtours.com',\n 'age': 20,\n }, {\n 'id': 44,\n 'firstName': 'Leach',\n 'lastName': 'Holcomb',\n 'username': '@Humphrey',\n 'email': 'leachhumphrey@comtours.com',\n 'age': 28,\n }, {\n 'id': 45,\n 'firstName': 'Moss',\n 'lastName': 'Baxter',\n 'username': '@Fitzpatrick',\n 'email': 'mossfitzpatrick@comtours.com',\n 'age': 51,\n }, {\n 'id': 46,\n 'firstName': 'Jeanne',\n 'lastName': 'Cooke',\n 'username': '@Ward',\n 'email': 'jeanneward@comtours.com',\n 'age': 59,\n }, {\n 'id': 47,\n 'firstName': 'Wilma',\n 'lastName': 'Briggs',\n 'username': '@Kidd',\n 'email': 'wilmakidd@comtours.com',\n 'age': 53,\n }, {\n 'id': 48,\n 'firstName': 'Beatrice',\n 'lastName': 'Perry',\n 'username': '@Gilbert',\n 'email': 'beatricegilbert@comtours.com',\n 'age': 39,\n }, {\n 'id': 49,\n 'firstName': 'Whitaker',\n 'lastName': 'Hyde',\n 'username': '@Mcdonald',\n 'email': 'whitakermcdonald@comtours.com',\n 'age': 35,\n }, {\n 'id': 50,\n 'firstName': 'Rebekah',\n 'lastName': 'Duran',\n 'username': '@Gross',\n 'email': 'rebekahgross@comtours.com',\n 'age': 40,\n }, {\n 'id': 51,\n 'firstName': 'Earline',\n 'lastName': 'Mayer',\n 'username': '@Woodward',\n 'email': 'earlinewoodward@comtours.com',\n 'age': 52,\n }, {\n 'id': 52,\n 'firstName': 'Moran',\n 'lastName': 'Baxter',\n 'username': '@Johns',\n 'email': 'moranjohns@comtours.com',\n 'age': 20,\n }, {\n 'id': 53,\n 'firstName': 'Nanette',\n 'lastName': 'Hubbard',\n 'username': '@Cooke',\n 'email': 'nanettecooke@comtours.com',\n 'age': 55,\n }, {\n 'id': 54,\n 'firstName': 'Dalton',\n 'lastName': 'Walker',\n 'username': '@Hendricks',\n 'email': 'daltonhendricks@comtours.com',\n 'age': 25,\n }, {\n 'id': 55,\n 'firstName': 'Bennett',\n 'lastName': 'Blake',\n 'username': '@Pena',\n 'email': 'bennettpena@comtours.com',\n 'age': 13,\n }, {\n 'id': 56,\n 'firstName': 'Kellie',\n 'lastName': 'Horton',\n 'username': '@Weiss',\n 'email': 'kellieweiss@comtours.com',\n 'age': 48,\n }, {\n 'id': 57,\n 'firstName': 'Hobbs',\n 'lastName': 'Talley',\n 'username': '@Sanford',\n 'email': 'hobbssanford@comtours.com',\n 'age': 28,\n }, {\n 'id': 58,\n 'firstName': 'Mcguire',\n 'lastName': 'Donaldson',\n 'username': '@Roman',\n 'email': 'mcguireroman@comtours.com',\n 'age': 38,\n }, {\n 'id': 59,\n 'firstName': 'Rodriquez',\n 'lastName': 'Saunders',\n 'username': '@Harper',\n 'email': 'rodriquezharper@comtours.com',\n 'age': 20,\n }, {\n 'id': 60,\n 'firstName': 'Lou',\n 'lastName': 'Conner',\n 'username': '@Sanchez',\n 'email': 'lousanchez@comtours.com',\n 'age': 16,\n }];\n\n getData() {\n return this.data;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { SolarData } from '../data/solar';\n\n@Injectable()\nexport class SolarService extends SolarData {\n private value = 42;\n\n getSolarData(): Observable {\n return observableOf(this.value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { StatsBarData } from '../data/stats-bar';\nimport { Constants } from '../../Common/constant';\nimport { Dashboard } from './dashboard';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable()\nexport class StatsBarService extends StatsBarData {\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n CustomerRelationshipValue:any = [];\n dashboardDataList: Dashboard[];\n month:string;\n swimlaneListForBackCard:any;\n constructor(private http: HttpClient, public _token: TokenService,public _encreptdecrept:EncryptdecryptService){\n super();\n //this.GetCustomerRelationshipValueForGraph();\n }\n\n fnGetCustomerRelationshipValue(month:string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerRelationshipValue?month='+this._encreptdecrept.encryptUsingAES256(month), httpOptions);\n }\n\n async GetCustomerRelationshipValueForGraph(){\n debugger;\n this.month = localStorage.getItem('MonthNameChangeValue') != null ? localStorage.getItem('MonthNameChangeValue') : '0';\n this.fnGetCustomerRelationshipValue(this.month).subscribe(result=>{\n debugger;\n this.dashboardDataList = result[\"dashboardList\"];\n localStorage.setItem(\"RelationshipValueMonthYear\",result[\"currentMonth\"][\"MonthYear\"]); \n if(this.dashboardDataList.length > 0)\n {\n this.dashboardDataList.forEach(element => {\n this.CustomerRelationshipValue.push(Number(element[\"CurrentBalance\"])); \n });\n //this.statsBarData = this.CustomerRelationshipValue; \n localStorage.setItem(\"CustomerRelationshipValue\",JSON.stringify(this.CustomerRelationshipValue)); \n } \n else{\n localStorage.setItem(\"CustomerRelationshipValue\",'[]'); \n\n } \n });\n }\n\n private statsBarData: number[];\n\n //private statsBarData: number[] = JSON.parse(localStorage.getItem(\"CustomerRelationshipValue\"));\n\n // private statsBarData: number[] = [\n // 300, 520, 435, 530,\n // 730, 620, 660, 860,\n // ];\n\n getStatsBarData(): Observable {\n debugger;\n // this.GetCustomerRelationshipValueForGraph();\n if(localStorage.getItem(\"CustomerRelationshipValue\") != null){\n this.statsBarData = JSON.parse(localStorage.getItem(\"CustomerRelationshipValue\"));\n }\n else{\n this.statsBarData = [];\n }\n if(this.statsBarData == null){\n this.statsBarData = [];\n } \n return observableOf(this.statsBarData);\n }\n\n fnGetCustomerRelationshipValueSummary(month:string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerRelationshipValueSummary?month='+this._encreptdecrept.encryptUsingAES256(month),httpOptions);\n }\n\n}","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { ProgressInfo, StatsProgressBarData } from '../data/stats-progress-bar';\nimport { Constants } from '../../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\n\n@Injectable()\nexport class StatsProgressBarService extends StatsProgressBarData {\n\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n ProgressInfoList : any;\n ProgressInfoArray : any = [];\n statsProgData:ProgressInfo[];\n private progressInfoData: ProgressInfo[] = [\n {\n title: 'Today’s Sweep',\n value: 572900,\n activeProgress: 70,\n description: 'Better than last week (70%)',\n },\n {\n title: 'Today’s Sweep Charges',\n value: 6378,\n activeProgress: 30,\n description: 'Better than last week (30%)',\n },\n {\n title: 'Today’s Interest',\n value: 200,\n activeProgress: 55,\n description: 'Better than last week (55%)',\n },\n ];\n\n constructor(private http: HttpClient, public _token:TokenService){\n super();\n }\n\n fnGetDataForProgressInfoGraph(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetDataForProgressInfoGraph', httpOptions);\n }\n //This is not used for getting data for progress bar.\n getProgressInfoData(): Observable {\n this.fnGetDataForProgressInfoGraph().subscribe(result => {\n this.ProgressInfoList = result;\n if(this.ProgressInfoList.length > 0){\n this.ProgressInfoList.forEach(element => {\n this.ProgressInfoArray.push(element);\n });\n localStorage.setItem('ProgressInfo',JSON.stringify(this.ProgressInfoArray));\n }\n else{\n this.ProgressInfoArray.length = 0;\n localStorage.setItem('ProgressInfo',JSON.stringify(this.ProgressInfoArray));\n }\n });\n return observableOf(JSON.parse(localStorage.getItem('ProgressInfo')));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { TemperatureHumidityData, Temperature } from '../data/temperature-humidity';\n\n@Injectable()\nexport class TemperatureHumidityService extends TemperatureHumidityData {\n\n private temperatureDate: Temperature = {\n value: 24,\n min: 12,\n max: 30,\n };\n\n private humidityDate: Temperature = {\n value: 87,\n min: 0,\n max: 100,\n };\n\n getTemperatureData(): Observable {\n return observableOf(this.temperatureDate);\n }\n\n getHumidityData(): Observable {\n return observableOf(this.humidityDate);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { PeriodsService } from './periods.service';\nimport { TrafficBarData, TrafficBar } from '../data/traffic-bar';\nimport { Constants } from '../../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n@Injectable()\nexport class TrafficBarService extends TrafficBarData {\n\n private data = { };\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n WeekData : any;\n MonthData : any;\n YearData : any;\n WeekStateName : any = [];\n WeekCurrentBalance : any = [];\n MonthStateName : any = [];\n MonthCurrentBalance : any = [];\n YearStateName : any = [];\n YearCurrentBalance : any = [];\n maxCOunt:any=[];\n public isweekloaded = false;\n public ismonthloaded = false;\n public isyearloaded = false;\n\n constructor(private period: PeriodsService, private http: HttpClient, \n public _token: TokenService, public _encreptdecrept:EncryptdecryptService) {\n super();\n this.data = {\n week: this.getDataForWeekPeriod(),\n month: this.getDataForMonthPeriod(),\n year: this.getDataForYearPeriod(),\n };\n }\n\n fnGetRelationshipValueByRegions(type: number): Observable { \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRelationshipValueByRegions?type=' + this._encreptdecrept.encryptUsingAES256(type), httpOptions);\n }\n\n getDataForWeekPeriod(): TrafficBar {\n this.fnGetRelationshipValueByRegions(1).subscribe(result=>{\n this.WeekData = result[\"trafficBarsList\"];\n localStorage.setItem('RegionRelationshipWeekPeriodLabel',result['currentPeriod']['PeriodLabel']);\n if(this.WeekData.length > 0)\n {\n this.WeekData.forEach(element => { \n this.WeekStateName.push(element[\"StateName\"]);\n this.WeekCurrentBalance.push(element[\"CurrentBalance\"]); \n }); \n localStorage.setItem(\"WeekStateName\",JSON.stringify(this.WeekStateName)); \n localStorage.setItem(\"WeekCurrentBalance\",JSON.stringify(this.WeekCurrentBalance)); \n } \n else\n {\n this.WeekStateName.length=0;\n this.WeekCurrentBalance.length=0; \n localStorage.setItem(\"WeekStateName\",JSON.stringify(this.WeekStateName)); \n localStorage.setItem(\"WeekCurrentBalance\",JSON.stringify(this.WeekCurrentBalance)); \n } \n this.isweekloaded=true;\n });\n return {\n pltBal:JSON.parse('0'),\n data: JSON.parse(localStorage.getItem(\"WeekCurrentBalance\")), //[10, 15, 19, 7, 20, 13, 15],\n labels: JSON.parse(localStorage.getItem(\"WeekStateName\")), //this.period.getWeeks(),\n formatter: '{c0} Lac', \n };\n }\n\n getDataForMonthPeriod(): TrafficBar {\n this.fnGetRelationshipValueByRegions(2).subscribe(result=>{\n this.MonthData = result[\"trafficBarsList\"];\n localStorage.setItem('RegionRelationshipMonthPeriodLabel',result['currentPeriod']['PeriodLabel']);\n if(this.MonthData.length > 0)\n {\n this.MonthData.forEach(element => { \n this.MonthStateName.push(element[\"StateName\"]);\n this.MonthCurrentBalance.push(element[\"CurrentBalance\"]); \n }); \n localStorage.setItem(\"MonthStateName\",JSON.stringify(this.MonthStateName)); \n localStorage.setItem(\"MonthCurrentBalance\",JSON.stringify(this.MonthCurrentBalance)); \n } \n else\n {\n this.MonthStateName.length=0;\n this.MonthCurrentBalance.length=0; \n localStorage.setItem(\"MonthStateName\",JSON.stringify(this.MonthStateName)); \n localStorage.setItem(\"MonthCurrentBalance\",JSON.stringify(this.MonthCurrentBalance)); \n } \n this.ismonthloaded=true;\n });\n return {\n pltBal:JSON.parse('0'),\n data: JSON.parse(localStorage.getItem(\"MonthCurrentBalance\")), //[0.5, 0.3, 0.8, 0.2, 0.3, 0.7, 0.8, 1, 0.7, 0.8, 0.6, 0.7],\n labels: JSON.parse(localStorage.getItem(\"MonthStateName\")), //this.period.getMonths(),\n formatter: '{c0} Lac', \n };\n }\n\n getDataForYearPeriod(): TrafficBar {\n this.fnGetRelationshipValueByRegions(3).subscribe(result=>{\n this.YearData = result[\"trafficBarsList\"];\n localStorage.setItem('RegionRelationshipYearPeriodLabel',result['currentPeriod']['PeriodLabel']);\n if(this.YearData.length > 0)\n {\n this.YearData.forEach(element => { \n this.YearStateName.push(element[\"StateName\"]);\n this.YearCurrentBalance.push(element[\"CurrentBalance\"]); \n\n }); \n localStorage.setItem(\"YearStateName\",JSON.stringify(this.YearStateName)); \n localStorage.setItem(\"YearCurrentBalance\",JSON.stringify(this.YearCurrentBalance)); \n } \n else\n {\n this.YearStateName.length=0;\n this.YearCurrentBalance.length=0; \n localStorage.setItem(\"YearStateName\",JSON.stringify(this.YearStateName)); \n localStorage.setItem(\"YearCurrentBalance\",JSON.stringify(this.YearCurrentBalance)); \n } \n this.isyearloaded=true; \n });\n return { \n pltBal:JSON.parse('0'),\n data: JSON.parse(localStorage.getItem(\"YearCurrentBalance\")), //[10, 15, 19, 7, 20, 13, 15, 19, 11],\n labels: JSON.parse(localStorage.getItem(\"YearStateName\")), //this.period.getYears(),\n formatter: '{c0} Lac', \n };\n } \n\n getTrafficBarData(period: string): Observable {\n return observableOf(this.data[period]);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { TrafficChartData } from '../data/traffic-chart';\n\n@Injectable()\nexport class TrafficChartService extends TrafficChartData {\n\n private data: number[] = [\n 300, 520, 435, 530,\n 730, 620, 660, 860,\n ];\n\n getTrafficChartData(): Observable {\n return observableOf(this.data);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { PeriodsService } from './periods.service';\nimport { TrafficList, TrafficListData } from '../data/traffic-list';\nimport { Constants } from '../../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable()\nexport class TrafficListService extends TrafficListData {\n\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n private getRandom = (roundTo: number) => Math.round(Math.random() * roundTo);\n public data = {};\n public isweekloaded = false;\n public ismonthloaded = false;\n public isyearloaded = false;\n _trafficList : TrafficList[];\n\n constructor(private period: PeriodsService, private http: HttpClient, \n public _token:TokenService, public _encreptdecrept:EncryptdecryptService) {\n super();\n this.data = {\n week: this.getDataWeek(),\n month: this.getDataMonth(),\n year: this.getDataYear(),\n };\n }\n\n fnGetCustomerCountByRegions(type: number): Observable { \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerCountByRegions?type=' + this._encreptdecrept.encryptUsingAES256(type), httpOptions);\n }\n\n public getDataWeek(): TrafficList[] {\n this.fnGetCustomerCountByRegions(1).subscribe(result=>{\n localStorage.setItem(\"WeekCustomerCountByRegions\",JSON.stringify(result[\"trafficList\"])); \n localStorage.setItem('RegionCustomerWeekPeriodLabel',result['currentPeriod']['PeriodLabel']);\n this.isweekloaded = true;\n });\n return JSON.parse(localStorage.getItem(\"WeekCustomerCountByRegions\"));\n // const getFirstDateInPeriod = () => {\n // const weeks = this.period.getWeeks();\n\n // return weeks[weeks.length - 1];\n // };\n\n // return this.reduceData(this.period.getWeeks(), getFirstDateInPeriod);\n }\n\n public getDataMonth(): TrafficList[] {\n this.fnGetCustomerCountByRegions(2).subscribe(result=>{\n localStorage.setItem(\"MonthCustomerCountByRegions\",JSON.stringify(result[\"trafficList\"])); \n localStorage.setItem('RegionCustomerMonthPeriodLabel',result['currentPeriod']['PeriodLabel']);\n this.ismonthloaded = true;\n });\n return JSON.parse(localStorage.getItem(\"MonthCustomerCountByRegions\"));\n // const getFirstDateInPeriod = () => {\n // const months = this.period.getMonths();\n\n // return months[months.length - 1];\n // };\n\n // return this.reduceData(this.period.getMonths(), getFirstDateInPeriod);\n }\n\n public getDataYear(): TrafficList[] {\n this.fnGetCustomerCountByRegions(3).subscribe(result=>{\n localStorage.setItem(\"YearCustomerCountByRegions\",JSON.stringify(result[\"trafficList\"])); \n localStorage.setItem('RegionCustomerYearPeriodLabel',result['currentPeriod']['PeriodLabel']);\n this.isyearloaded = true;\n });\n return JSON.parse(localStorage.getItem(\"YearCustomerCountByRegions\"));\n // const getFirstDateInPeriod = () => {\n // const years = this.period.getYears();\n\n // return `${parseInt(years[0], 10) - 1}`;\n // };\n\n // return this.reduceData(this.period.getYears(), getFirstDateInPeriod);\n }\n\n private reduceData(timePeriods: string[], getFirstDateInPeriod: () => string): TrafficList[] {\n return timePeriods.reduce((result, timePeriod, index) => {\n const hasResult = result[index - 1];\n const prevDate = hasResult ?\n result[index - 1].comparison.nextDate :\n getFirstDateInPeriod();\n const prevValue = hasResult ?\n result[index - 1].comparison.nextValue :\n this.getRandom(100);\n const nextValue = this.getRandom(100);\n const deltaValue = prevValue - nextValue;\n\n const item = {\n date: timePeriod,\n value: this.getRandom(1000),\n delta: {\n up: deltaValue <= 0,\n value: Math.abs(deltaValue),\n },\n comparison: {\n prevDate,\n prevValue,\n nextDate: timePeriod,\n nextValue,\n },\n };\n\n return [...result, item];\n }, []);\n }\n\n getTrafficListData(period: string): Observable {\n return observableOf(this.data[period]);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { PeriodsService } from './periods.service';\nimport { UserActive, UserActivityData } from '../data/user-activity';\n\n@Injectable()\nexport class UserActivityService extends UserActivityData {\n\n private getRandom = (roundTo: number) => Math.round(Math.random() * roundTo);\n private generateUserActivityRandomData(date) {\n return {\n date,\n pagesVisitCount: this.getRandom(1000),\n deltaUp: this.getRandom(1) % 2 === 0,\n newVisits: this.getRandom(100),\n };\n }\n\n data = {};\n\n constructor(private periods: PeriodsService) {\n super();\n this.data = {\n week: this.getDataWeek(),\n month: this.getDataMonth(),\n year: this.getDataYear(),\n };\n }\n\n private getDataWeek(): UserActive[] {\n return this.periods.getWeeks().map((week) => {\n return this.generateUserActivityRandomData(week);\n });\n }\n\n private getDataMonth(): UserActive[] {\n const currentDate = new Date();\n const days = currentDate.getDate();\n const month = this.periods.getMonths()[currentDate.getMonth()];\n\n return Array.from(Array(days)).map((_, index) => {\n const date = `${index + 1} ${month}`;\n\n return this.generateUserActivityRandomData(date);\n });\n }\n\n private getDataYear(): UserActive[] {\n return this.periods.getYears().map((year) => {\n return this.generateUserActivityRandomData(year);\n });\n }\n\n getUserActivityData(period: string): Observable {\n return observableOf(this.data[period]);\n }\n}\n","import { of as observableOf, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Contacts, RecentUsers, UserData } from '../data/users';\n\n@Injectable()\nexport class UserService extends UserData {\n\n private time: Date = new Date;\n\n private users = {\n nick: { name: 'Admin', picture: 'assets/images/idbi-bank1.png' },\n eva: { name: 'Eva Moor', picture: 'assets/images/eva.png' },\n jack: { name: 'Jack Williams', picture: 'assets/images/jack.png' },\n lee: { name: 'Lee Wong', picture: 'assets/images/lee.png' },\n alan: { name: 'Alan Thompson', picture: 'assets/images/alan.png' },\n kate: { name: 'Kate Martinez', picture: 'assets/images/kate.png' },\n };\n private types = {\n mobile: 'mobile',\n home: 'home',\n work: 'work',\n };\n private contacts: Contacts[] = [\n { user: this.users.nick, type: this.types.mobile },\n { user: this.users.eva, type: this.types.home },\n { user: this.users.jack, type: this.types.mobile },\n { user: this.users.lee, type: this.types.mobile },\n { user: this.users.alan, type: this.types.home },\n { user: this.users.kate, type: this.types.work },\n ];\n private recentUsers: RecentUsers[] = [\n { user: this.users.alan, type: this.types.home, time: this.time.setHours(21, 12)},\n { user: this.users.eva, type: this.types.home, time: this.time.setHours(17, 45)},\n { user: this.users.nick, type: this.types.mobile, time: this.time.setHours(5, 29)},\n { user: this.users.lee, type: this.types.mobile, time: this.time.setHours(11, 24)},\n { user: this.users.jack, type: this.types.mobile, time: this.time.setHours(10, 45)},\n { user: this.users.kate, type: this.types.work, time: this.time.setHours(9, 42)},\n { user: this.users.kate, type: this.types.work, time: this.time.setHours(9, 31)},\n { user: this.users.jack, type: this.types.mobile, time: this.time.setHours(8, 0)},\n ];\n\n getUsers(): Observable {\n return observableOf(this.users);\n }\n\n getContacts(): Observable {\n return observableOf(this.contacts);\n }\n\n getRecentUsers(): Observable {\n return observableOf(this.recentUsers);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { PeriodsService } from './periods.service';\nimport { OutlineData, VisitorsAnalyticsData } from '../data/visitors-analytics';\nimport { Constants } from '../../Common/constant';\nimport { UserAnalytics } from './dashboard';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\n\n@Injectable()\nexport class VisitorsAnalyticsService extends VisitorsAnalyticsData {\n\n readonly rootURL = Constants.apiURL + 'DashboardApi/';\n innerLinePointsList : number[];\n pieChartNewUserValue : number;\n OutlineDataList : OutlineData[];\n\n constructor(private periodService: PeriodsService, private http: HttpClient, public _token:TokenService) {\n super();\n this.getInnerLineChartData();\n this.getOutlineLineChartData();\n this.getPieChartData();\n }\n\n private pieChartValue = 75;\n private innerLinePoints: number[] = [\n 94, 188, 225, 244, 253, 254, 249, 235, 208,\n 173, 141, 118, 105, 97, 94, 96, 104, 121, 147,\n 183, 224, 265, 302, 333, 358, 375, 388, 395,\n 400, 400, 397, 390, 377, 360, 338, 310, 278,\n 241, 204, 166, 130, 98, 71, 49, 32, 20, 13, 9,\n ];\n private outerLinePoints: number[] = [\n 85, 71, 59, 50, 45, 42, 41, 44 , 58, 88,\n 136 , 199, 267, 326, 367, 391, 400, 397,\n 376, 319, 200, 104, 60, 41, 36, 37, 44,\n 55, 74, 100 , 131, 159, 180, 193, 199, 200,\n 195, 184, 164, 135, 103, 73, 50, 33, 22, 15, 11,\n ];\n private generateOutlineLineData(): OutlineData[] {\n const months = this.periodService.getMonths();\n const outerLinePointsLength = this.outerLinePoints.length;\n const monthsLength = months.length;\n\n return this.outerLinePoints.map((p, index) => {\n const monthIndex = Math.round(index / 4);\n const label = (index % Math.round(outerLinePointsLength / monthsLength) === 0)\n ? months[monthIndex]\n : '';\n\n return {\n label,\n value: p,\n };\n });\n }\n\n fnGetDataForUserAnalyticsGraph(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetDataForUserAnalyticsGraph', httpOptions);\n }\n\n getInnerLineChartData(): Observable {\n this.fnGetDataForUserAnalyticsGraph().subscribe(result => {\n this.innerLinePointsList = result.innerLinePoints; \n localStorage.setItem('innerLinePointsList',JSON.stringify(this.innerLinePointsList));\n localStorage.setItem('UserAnalyticsMonthYear',result.currentMonth.MonthYear);\n });\n return observableOf(JSON.parse(localStorage.getItem('innerLinePointsList')));\n }\n\n getOutlineLineChartData(): Observable {\n this.fnGetDataForUserAnalyticsGraph().subscribe(result => {\n this.OutlineDataList = result.OutlineData;\n localStorage.setItem('OutlineDataList',JSON.stringify(this.OutlineDataList));\n });\n return observableOf(JSON.parse(localStorage.getItem('OutlineDataList')));\n }\n\n getPieChartData(): Observable {\n this.fnGetDataForUserAnalyticsGraph().subscribe(result => {\n this.pieChartNewUserValue = result.pieChartValue;\n localStorage.setItem('PieChartNewUserValue',JSON.stringify(this.pieChartNewUserValue));\n });\n return observableOf(JSON.parse(localStorage.getItem('PieChartNewUserValue')));\n }\n}","export function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\n if (parentModule) {\n throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Location } from '@angular/common';\nimport { filter } from 'rxjs/operators';\n\ndeclare const ga: any;\n\n@Injectable()\nexport class AnalyticsService {\n private enabled: boolean;\n\n constructor(private location: Location, private router: Router) {\n this.enabled = false;\n }\n\n trackPageViews() {\n if (this.enabled) {\n this.router.events.pipe(\n filter((event) => event instanceof NavigationEnd),\n )\n .subscribe(() => {\n ga('send', {hitType: 'pageview', page: this.location.path()});\n });\n }\n }\n\n trackEvent(eventName: string) {\n if (this.enabled) {\n ga('send', 'event', eventName);\n }\n }\n}\n","import { LayoutService } from './layout.service';\nimport { AnalyticsService } from './analytics.service';\nimport { PlayerService } from './player.service';\nimport { StateService } from './state.service';\nimport { SeoService } from './seo.service';\n\nexport {\n LayoutService,\n AnalyticsService,\n PlayerService,\n SeoService,\n StateService,\n};\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { delay, shareReplay, debounceTime } from 'rxjs/operators';\n\n@Injectable()\nexport class LayoutService {\n\n protected layoutSize$ = new Subject();\n protected layoutSizeChange$ = this.layoutSize$.pipe(\n shareReplay({ refCount: true }),\n );\n\n changeLayoutSize() {\n this.layoutSize$.next();\n }\n\n onChangeLayoutSize(): Observable {\n return this.layoutSizeChange$.pipe(delay(1));\n }\n\n onSafeChangeLayoutSize(): Observable {\n return this.layoutSizeChange$.pipe(\n debounceTime(350),\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nexport class Track {\n name: string;\n artist: string;\n url: string;\n cover: string;\n}\n\n@Injectable()\nexport class PlayerService {\n current: number;\n playlist: Track[] = [\n {\n name: 'Don\\'t Wanna Fight',\n artist: 'Alabama Shakes',\n url: 'https://p.scdn.co/mp3-preview/6156cdbca425a894972c02fca9d76c0b70e001af',\n cover: 'assets/images/cover1.jpg',\n },\n {\n name: 'Harder',\n artist: 'Daft Punk',\n url: 'https://p.scdn.co/mp3-preview/92a04c7c0e96bf93a1b1b1cae7dfff1921969a7b',\n cover: 'assets/images/cover2.jpg',\n },\n {\n name: 'Come Together',\n artist: 'Beatles',\n url: 'https://p.scdn.co/mp3-preview/83090a4db6899eaca689ae35f69126dbe65d94c9',\n cover: 'assets/images/cover3.jpg',\n },\n ];\n\n random(): Track {\n this.current = Math.floor(Math.random() * this.playlist.length);\n return this.playlist[this.current];\n }\n\n next(): Track {\n return this.getNextTrack();\n }\n\n prev() {\n return this.getPrevTrack();\n }\n\n private getNextTrack(): Track {\n if (this.current === this.playlist.length - 1) {\n this.current = 0;\n } else {\n this.current++;\n }\n\n return this.playlist[this.current];\n }\n\n private getPrevTrack(): Track {\n if (this.current === 0) {\n this.current = this.playlist.length - 1;\n } else {\n this.current--;\n }\n\n return this.playlist[this.current];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { RippleGlobalOptions } from '@angular/material/core';\n\n@Injectable({providedIn: 'root'})\nexport class RippleService implements RippleGlobalOptions {\n public disabled: boolean = false;\n\n public toggle(enabled: boolean): void {\n this.disabled = !enabled;\n }\n}\n","import { Injectable, Inject, PLATFORM_ID, OnDestroy } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { NB_DOCUMENT } from '@nebular/theme';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class SeoService implements OnDestroy {\n\n private readonly destroy$ = new Subject();\n private readonly dom: Document;\n private readonly isBrowser: boolean;\n private linkCanonical: HTMLLinkElement;\n\n constructor(\n private router: Router,\n @Inject(NB_DOCUMENT) document,\n @Inject(PLATFORM_ID) platformId,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n this.dom = document;\n\n if (this.isBrowser) {\n this.createCanonicalTag();\n }\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n createCanonicalTag() {\n this.linkCanonical = this.dom.createElement('link');\n this.linkCanonical.setAttribute('rel', 'canonical');\n this.dom.head.appendChild(this.linkCanonical);\n this.linkCanonical.setAttribute('href', this.getCanonicalUrl());\n }\n\n trackCanonicalChanges() {\n if (!this.isBrowser) {\n return;\n }\n\n this.router.events.pipe(\n filter((event) => event instanceof NavigationEnd),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.linkCanonical.setAttribute('href', this.getCanonicalUrl());\n });\n }\n\n private getCanonicalUrl(): string {\n return this.dom.location.origin + this.dom.location.pathname;\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { of as observableOf, Observable, BehaviorSubject } from 'rxjs';\nimport { takeWhile } from 'rxjs/operators';\n\nimport { NbLayoutDirectionService, NbLayoutDirection } from '@nebular/theme';\n\n@Injectable()\nexport class StateService implements OnDestroy {\n\n protected layouts: any = [\n {\n name: 'One Column',\n icon: 'nb-layout-default',\n id: 'one-column',\n selected: true,\n },\n {\n name: 'Two Column',\n icon: 'nb-layout-two-column',\n id: 'two-column',\n },\n {\n name: 'Center Column',\n icon: 'nb-layout-centre',\n id: 'center-column',\n },\n ];\n\n protected sidebars: any = [\n {\n name: 'Sidebar at layout start',\n icon: 'nb-layout-sidebar-left',\n id: 'start',\n selected: true,\n },\n {\n name: 'Sidebar at layout end',\n icon: 'nb-layout-sidebar-right',\n id: 'end',\n },\n ];\n\n protected layoutState$ = new BehaviorSubject(this.layouts[0]);\n protected sidebarState$ = new BehaviorSubject(this.sidebars[0]);\n\n alive = true;\n\n constructor(directionService: NbLayoutDirectionService) {\n directionService.onDirectionChange()\n .pipe(takeWhile(() => this.alive))\n .subscribe(direction => this.updateSidebarIcons(direction));\n\n this.updateSidebarIcons(directionService.getDirection());\n }\n\n ngOnDestroy() {\n this.alive = false;\n }\n\n private updateSidebarIcons(direction: NbLayoutDirection) {\n const [ startSidebar, endSidebar ] = this.sidebars;\n const isLtr = direction === NbLayoutDirection.LTR;\n const startIconClass = isLtr ? 'nb-layout-sidebar-left' : 'nb-layout-sidebar-right';\n const endIconClass = isLtr ? 'nb-layout-sidebar-right' : 'nb-layout-sidebar-left';\n startSidebar.icon = startIconClass;\n endSidebar.icon = endIconClass;\n }\n\n setLayoutState(state: any): any {\n this.layoutState$.next(state);\n }\n\n getLayoutStates(): Observable {\n return observableOf(this.layouts);\n }\n\n onLayoutState(): Observable {\n return this.layoutState$.asObservable();\n }\n\n setSidebarState(state: any): any {\n this.sidebarState$.next(state);\n }\n\n getSidebarStates(): Observable {\n return observableOf(this.sidebars);\n }\n\n onSidebarState(): Observable {\n return this.sidebarState$.asObservable();\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-footer',\n styleUrls: ['./footer.component.scss'],\n template: `\n \n \n
\n
\n `,\n})\nexport class FooterComponent {\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NbMediaBreakpointsService, NbMenuService, NbSidebarService, NbThemeService } from '@nebular/theme';\n\nimport { UserData } from '../../../@core/data/users';\nimport { LayoutService } from '../../../@core/utils';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { Subject, Observable } from 'rxjs';\nimport { RippleService } from '../../../@core/utils/ripple.service';\nimport { Router } from '@angular/router';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { LoginService } from 'src/app/MasterService/Login.service';\nimport { UserService } from 'src/app/MasterService/user.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Component({\n selector: 'ngx-header',\n styleUrls: ['./header.component.scss'],\n templateUrl: './header.component.html',\n})\nexport class HeaderComponent implements OnInit, OnDestroy {\n\n private destroy$: Subject = new Subject();\n public readonly materialTheme$: Observable;\n userPictureOnly: boolean = false;\n user: any;\n UserName: any = '';\n showModalLogout: boolean;\n lblMessageLogout: string;\n DashboardDirection: string=\"RTL\";\n showLogout() { this.showModalLogout = true; }\n hideLogout() { this.showModalLogout = false; }\n LoginRoleName:any='';\n\n themes = [\n {\n value: 'default',\n name: 'Light',\n },\n {\n value: 'dark',\n name: 'Dark',\n },\n {\n value: 'cosmic',\n name: 'Cosmic',\n },\n {\n value: 'corporate',\n name: 'Corporate',\n },\n {\n value: 'material-light',\n name: 'Material Light',\n },\n {\n value: 'material-dark',\n name: 'Material Dark',\n },\n ];\n\n currentTheme = 'default';\n IsAdminDashboard:any;\n headingLabel:string;\n LastLoginDate:string;\n\n //userMenu = [ { title: 'Profile' },{ title: 'Log out' } ];\n \n public constructor(\n private sidebarService: NbSidebarService,\n private menuService: NbMenuService,\n private themeService: NbThemeService,\n private userService: UserData,\n private layoutService: LayoutService,\n private breakpointService: NbMediaBreakpointsService,\n private rippleService: RippleService,\n private router: Router,public _login: LoginService, \n public _user:UserService,public _encrypt:EncryptdecryptService\n ) {\n this.materialTheme$ = this.themeService.onThemeChange()\n .pipe(map(theme => {\n const themeName: string = theme?.name || '';\n return themeName.startsWith('material');\n }));\n }\n\n ngOnInit() {\n debugger;\n this.currentTheme = this.themeService.currentTheme;\n localStorage.setItem('_newTheme','');\n localStorage.setItem('_newTheme',this.currentTheme);\n // this.userService.getUsers()\n // .pipe(takeUntil(this.destroy$))\n // .subscribe((users: any) => this.user = users.nick);\n\n this.UserName = localStorage.getItem('LoginFirstName') + ' ' + localStorage.getItem('LoginLastName');\n this.LoginRoleName = this._encrypt.decryptUsingAES256(localStorage.getItem('LoginRoleName'));\n this.LastLoginDate = localStorage.getItem('LastLoginDate');\n\n if(localStorage.getItem('IsAdminDashboard') == '1')\n {\n this.headingLabel=\"Admin Dashboard\";\n } \n else if(localStorage.getItem('IsAdminDashboard') == '0'){\n this.headingLabel=\"Customer Dashboard\"; \n }\n $('.legend-labels').css('background-color','white'); \n // $('.RhtModelHeader').eq(0).css('display','none');\n // $('.RhtModelClose').eq(0).css('display','none');\n // $('.RhtModelFooter').eq(0).css('display','none');\n if(localStorage.getItem(\"DashboardDirection\")!=null){\n this.DashboardDirection=localStorage.getItem(\"DashboardDirection\");}\n if(this.DashboardDirection==\"RTL\"){\n $('.LogoutPopupContents').eq(0).css('float','left');\n $('.LeftLogoutPopupQueMark').eq(0).css('display','none');\n $('.RightLogoutPopupQueMark').eq(0).css('display','inline');\n $('.LeftModelHeader').eq(0).css('display','inline');\n $('.LeftModelClose').eq(0).css('display','inline');\n $('.RhtModelHeader').eq(0).css('display','none');\n $('.RhtModelClose').eq(0).css('display','none');\n $('.LeftModelFooter').eq(0).css('display','inline');\n $('.RhtModelFooter').eq(0).css('display','none'); \n }\n if(this.DashboardDirection==\"LTR\"){\n $('.LogoutPopupContents').eq(0).css('float','left');\n $('.RightLogoutPopupQueMark').eq(0).css('display','none');\n $('.LeftLogoutPopupQueMark').eq(0).css('display','inline');\n $('.LeftModelHeader').eq(0).css('display','none');\n $('.LeftModelClose').eq(0).css('display','none');\n $('.RhtModelHeader').eq(0).css('display','inline');\n $('.RhtModelClose').eq(0).css('display','inline');\n $('.LeftModelFooter').eq(0).css('display','none');\n $('.RhtModelFooter').eq(0).css('display','inline');\n } \n $('.LeftLogoutPopupQueMark').eq(0).css('display','none');\n $('.NgxBarVerticalStackedChartsCls').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'3px'}); \n $('.SweepVolumeAreaChartCls').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'3px'}); \n setTimeout(function(){ \n $('[class=\"progress-info ng-star-inserted\"]').find('[class=\"caption description\"]').find('bdi').css('color','#A52A2A'); \n $('.ngxChartsLineCharts').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'6px'}); \n }, 3000);\n \n this.user = {\n name: this.UserName,\n picture: \"assets/images/idbi-bank1.png\"\n }\n\n const { xl } = this.breakpointService.getBreakpointsMap();\n this.themeService.onMediaQueryChange()\n .pipe(\n map(([, currentBreakpoint]) => currentBreakpoint.width < xl),\n takeUntil(this.destroy$),\n )\n .subscribe((isLessThanXl: boolean) => this.userPictureOnly = isLessThanXl);\n\n this.themeService.onThemeChange()\n .pipe(\n map(({ name }) => name),\n takeUntil(this.destroy$),\n )\n .subscribe(themeName => {\n this.currentTheme = themeName;\n this.rippleService.toggle(themeName?.startsWith('material'));\n localStorage.setItem(\"CurrentThame\",themeName)\n });\n \n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n changeTheme(themeName: string) { \n debugger;\n localStorage.setItem(\"CurrentThame\",themeName)\n if(themeName=='dark' || themeName=='cosmic' || themeName=='material-dark'){\n $('.legend-label-text').css('color','white'); \n $('.progress-value').css('background-color','pink');\n $('.caption').css('color','white');\n $('.ngx-charts').find('text').css('fill','white');\n $('[class=\"progress-info ng-star-inserted\"]').find('[class=\"caption description\"]').find('bdi').css('color','white'); \n $('.legend-labels').css('background-color',''); \n $('.spinnercard').css('background-color','black');\n $('[class=\"delta down\"]').css('color','lightcoral');\n $('[class=\"progress-line-now failure\"]').css('background-color','lightcoral');\n /*-----------value Relationship graph----------------------------*/\n $('.ngxChartsLineCharts').find('.legend-label-text').css('color','white');\n $('.ngxChartsLineChartsInfo').find('.label').css('color','white');\n $('.ngxChartsLineChartsInfo').find('.caption').css('color','white');\n\n /*-----------Transaction graph----------------------------*/\n if (themeName=='dark') {\n $('.clscolor').css('background-color','#192038');\n $('.clscolor').css('border-color','#101426');\n $('.clscolor').css('color','#ffffff');\n } else if(themeName =='cosmic') {\n $('.clscolor').css('background-color','#252547');\n $('.clscolor').css('border-color','#13132b');\n $('.clscolor').css('color','#ffffff');\n } else if(themeName =='material-dark') {\n $('.clscolor').css('background-color','#353535');\n $('.clscolor').css('border-color','rgba(255, 255, 255, 0.7)');\n $('.clscolor').css('color','#ffffff');\n $('.clscolor').css('border-style','solid');\n $('.clscolor').css('border-width','0 0 1px 0');\n }\n /*-----------Transaction graph----------------------------*/\n }\n else{\n $('.spinnercard').css('background-color','black'); \n $('.legend-label-text').css('color','black'); \n $('.progress-value').css('background-color','#00836c61');\n $('.caption').css('color','black');\n $('.ngx-charts').find('text').css('fill','black');\n $('.legend-labels').css('background-color','white'); \n /*-----------value Relationship graph----------------------------*/\n $('.ngxChartsLineCharts').find('.legend-label-text').css('color','black');\n $('.ngxChartsLineChartsInfo').find('.label').css('color','black');\n $('.ngxChartsLineChartsInfo').find('.caption').css('color','black');\n\n if(themeName=='default' || themeName=='corporate'){\n $('[class=\"progress-info ng-star-inserted\"]').find('[class=\"caption description\"]').find('bdi').css('color','#A52A2A');\n }\n else{\n $('[class=\"progress-info ng-star-inserted\"]').find('[class=\"caption description\"]').find('bdi').css('color','black');\n }\n\n /*-----------Transaction graph----------------------------*/\n if (themeName =='default' || themeName=='corporate') {\n $('.clscolor').css('background-color','#f7f9fc');\n $('.clscolor').css('border-color','#e4e9f2');\n $('.clscolor').css('color','#222b45');\n $('.size-tiny, .size-small, .size-medium, .clscolor').css('border','0.0625rem solid #e4e9f2');\n }else{\n $('.clscolor').css('background-color','transparent');\n $('.clscolor').css('border-color','rgba(0, 0, 0, 0.42)');\n $('.clscolor').css('color','#424242');\n $('.clscolor').css('border-style','solid');\n $('.clscolor').css('border-width','0 0 1px 0');\n $('.size-tiny, .size-small, .size-medium, .clscolor').css('border','0.0625rem solid #e4e9f2');\n }\n /*-----------Transaction graph----------------------------*/\n }\n this.themeService.changeTheme(themeName);\n }\n count:string;\n counterValue:number=0; ToggleValue:boolean=true;\n toggleSidebar(): boolean { debugger; \n // this.ToggleValue;\n // this.counterValue=+sessionStorage.getItem('ChecktoggleClick');\n // this.counterValue =this.counterValue +1;\n // sessionStorage.setItem('ChecktoggleClick',this.counterValue.toString());\n $(\".menu-icon\").click(function(){\n $('#Dashboardlogout').css('display','block'); \n });\n if(this.counterValue ==0){\n this.counterValue =this.counterValue +1;\n $('#Dashboardlogout').css('display','none');\n }\n this.sidebarService.toggle(true, 'menu-sidebar');\n this.layoutService.changeLayoutSize();\n if($('nb-sidebar')[0].className==\"menu-sidebar start compacted\") {\n $('#Dashboardlogout').css('display','block');\n }\n if($('nb-sidebar')[0].className==\"menu-sidebar start expanded\"){\n $('#Dashboardlogout').css('display','none');\n }\n return false;\n // if(this.ToggleValue==true){\n // this.ToggleValue=false;\n // $('#Dashboardlogout').css('display','none');\n // }\n // if(this.ToggleValue==false){ \n // this.ToggleValue=true;\n // $('#Dashboardlogout').css('display','block');}\n \n // this.count=\"0\" ;\n // debugger; \n // if(this.counterValue ==0){\n // // this.counterValue =this.counterValue +1;\n // sessionStorage.setItem('ChecktoggleClick',this.counterValue.toString());\n // }\n // if(this.counterValue%2==0){\n // //this.counterValue =this.counterValue +1; \n // $('#Dashboardlogout').css('display','block'); \n // sessionStorage.setItem('ChecktoggleClick',this.counterValue.toString());\n // }\n // else{\n // //this.counterValue =this.counterValue +1;\n // $('#Dashboardlogout').css('display','none'); \n // sessionStorage.setItem('ChecktoggleClick',this.counterValue.toString()); \n // }\n\n \n \n // if($(\".nb-sidebar.menu-sidebar.start.compacted\")){debugger;\n // }\n // if($(\".nb-sidebar.menu-sidebar.start.compacted.expanded\")){debugger; \n // }\n // var test=this.toggleSidebar;\n \n // if($('.menu-sidebar start expanded').length){\n // $('#Dashboardlogout').css('display','none');\n // }\n // else if($('.menu-sidebar start compacted').length){\n // $('#Dashboardlogout').css('display','block');\n // }\n \n }\n\n navigateHome() {\n this.menuService.navigateHome();\n return false;\n }\n\n LogoutPopup() {\n this.lblMessageLogout = \"Are you sure, you want to Logout?\";\n this.showLogout();\n }\n\n Hide() {\n this.hideLogout();\n }\n\n YesLogout() { \n LoginDetails.UserId = 0;\n this._user.fnUpdateTokenInDb(localStorage.getItem('UID'), '').subscribe(data=>{ \n });\n this.hideLogout();\n localStorage.clear(); \n this.router.navigate([\"\"]);\n this._login.displaystart = true;\n this._login.displayLogin = false;\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]).then(()=> {location.reload()}); \n } \n }\n\n}\n\n","
\n
\n \n \n \n \n \"\"\n \n
\n \n {{ theme.name }}\n \n \n

{{headingLabel}}

\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessageLogout}}\n
\n
\n \n \n
\n
\n
\n
\n\n
\n \n\n \n \n \n \n \n\n {{UserName}}\n \n \n\n
\n","export * from './header/header.component';\nexport * from './footer/footer.component';\n//export * from './search-input/search-input.component';\n//export * from './tiny-mce/tiny-mce.component';\nexport * from './switcher/switcher.component';\nexport * from './layout-direction-switcher/layout-direction-switcher.component';\n","import { Component, OnDestroy, Input } from '@angular/core';\nimport { NbLayoutDirectionService, NbLayoutDirection } from '@nebular/theme';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'ngx-layout-direction-switcher',\n template: `\n \n \n `,\n})\nexport class LayoutDirectionSwitcherComponent implements OnDestroy {\n\n protected destroy$ = new Subject();\n\n directions = NbLayoutDirection;\n currentDirection: NbLayoutDirection;\n\n @Input() vertical: boolean = false;\n\n constructor(private directionService: NbLayoutDirectionService) {\n this.currentDirection = this.directionService.getDirection();\n\n this.directionService.onDirectionChange()\n .pipe(takeUntil(this.destroy$))\n .subscribe(newDirection => this.currentDirection = newDirection);\n }\n\n toggleDirection(newDirection) {\n if(newDirection == 'rtl'){\n //New Customers V/S Relationship Value\n localStorage.setItem(\"DashboardDirection\",\"LTR\")\n $('[class=\"legend-title ng-star-inserted\"]').eq(0).css('padding-right','25px');\n $('[class=\"legend-labels\"]').eq(0).css({'float':'right','padding-left':'40px'});\n $('[class=\"legend-label-text\"]').css('margin-right','2px');\n $('.NgxBarVerticalStackedChartsCls').eq(0).find('.legend-title').css({'display':'inline','float':'right','padding-top':'3px'});\n //Sweep Volume\n $('[class=\"legend-title ng-star-inserted\"]').eq(2).css('padding-right','17px');\n $('[class=\"legend-label ng-star-inserted\"]').eq(3).css('float','right');\n $('.SweepVolumeAreaChartCls').eq(0).find('.legend-title').css({'display':'inline','float':'right','padding-top':'3px'});\n //Relationship Value\n $('[class=\"legend-label ng-star-inserted\"]').eq(2).css('float','right');\n $('[class=\"legend-title ng-star-inserted\"]').eq(1).css('padding-right','17px');\n $('.RelationshipValueMonthChange').eq(0).css({'margin-left': '32px','float':'left'});\n $('.ngxChartsLineCharts').eq(0).find('.legend-title').css({'display':'inline','float':'right','padding-top':'6px'});\n $('[class=\"legend-labels\"]').eq(1).css({'margin-left':'100px'});\n $('[class=\"legend-labels\"]').eq(2).css({'margin-left':'100px'});\n //Transactions\n $('[class=\"legend-label ng-star-inserted\"]').eq(4).css('float','right');\n $('[class=\"legend-label ng-star-inserted\"]').eq(5).css('float','right');\n $('[class=\"legend-label ng-star-inserted\"]').eq(6).css('float','right');\n $('[class=\"legend-title ng-star-inserted\"]').eq(3).css('padding-right','17px');\n $('.TransactionPeriodChange').eq(0).css('float','left');\n $('.TransactionPeriodChange .clscolor').eq(0).css({'float':'left','position':'relative'});\n $('.testngxcls').find('.ngx-charts-outer').find('.chart-legend').find('div').eq(0).find('.legend-title').css({'display':'inline','float':'right','padding-top':'3px'});\n $(\".clscolor\").css({'direction':'ltr'});\n //User Analytics\n //$('[class=\"ngx-charts-outer ng-tns-c389-6 ng-trigger ng-trigger-animationState\"]').eq(0).css('width','400px');\n $('ngx-ecommerce-visitors-analytics').eq(0).find('.ngx-charts-outer').eq(0).css('width','400px');\n $('ngx-charts-advanced-pie-chart').children().eq(0).css('width','300px');\n $('ngx-charts-advanced-pie-chart').find('.nb-icon').css('arrow-forward-outline')\n //Customer dashboard - Monthly Sweep Volume\n $('ngx-monthlysweepvolumechartcomponent').find('[class=\"legend-label ng-star-inserted\"]').css('float','right');\n $('ngx-monthlysweepvolumechartcomponent').find('[class=\"legend-title ng-star-inserted\"]').css('float','right');\n \n //Dashboard Logout -------------RTL-----------------\n $('.LogoutPopupContents').eq(0).css('float','left');\n $('.RightLogoutPopupQueMark').eq(0).css('display','none');\n $('.LeftLogoutPopupQueMark').eq(0).css('display','inline');\n $('.LeftModelHeader').eq(0).css('display','none');\n $('.LeftModelClose').eq(0).css('display','none');\n $('.RhtModelHeader').eq(0).css('display','inline');\n $('.RhtModelClose').eq(0).css('display','inline');\n $('.LeftModelFooter').eq(0).css('display','none');\n $('.RhtModelFooter').eq(0).css('display','inline'); \n\n $('ngx-ecommerce-visitors-analytics').find('nb-icon').click();\n $('.SweepVolumeAreaChartCls').eq(0).find('text').css('transform', 'rotate(90deg)');\n $('.ngxChartsLineCharts').eq(0).find('text').css('transform', 'rotate(90deg)');\n }\n else{\n localStorage.setItem(\"DashboardDirection\",\"RTL\")\n //New Customers V/S Relationship Value\n $('[class=\"legend-labels\"]').eq(0).css({'float':'left','padding-left':'0px'});\n $('[class=\"legend-label-text\"]').css('margin-right','0px');\n $('.NgxBarVerticalStackedChartsCls').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'3px'});\n //Sweep Volume\n $('[class=\"legend-title ng-star-inserted\"]').eq(2).css('padding-right','0px');\n $('[class=\"legend-label ng-star-inserted\"]').eq(3).css('float','left');\n $('.SweepVolumeAreaChartCls').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'3px'});\n //Relationship Value\n $('[class=\"legend-label ng-star-inserted\"]').eq(2).css('float','left');\n $('[class=\"legend-title ng-star-inserted\"]').eq(1).css('padding-right','0px')\n $('.RelationshipValueMonthChange').eq(0).css('float','right');\n $('.ngxChartsLineCharts').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'6px'});\n $('.ngxChartsLineCharts').find('div').eq(1).find('.legend-labels').css('margin-left','0px');\n //Transactions\n $('[class=\"legend-label ng-star-inserted\"]').eq(4).css('float','left');\n $('[class=\"legend-label ng-star-inserted\"]').eq(5).css('float','left');\n $('[class=\"legend-label ng-star-inserted\"]').eq(6).css('float','left');\n $('[class=\"legend-title ng-star-inserted\"]').eq(3).css('padding-right','0px');\n $('.TransactionPeriodChange').eq(0).css('float','right');\n $('.TransactionPeriodChange .clscolor').eq(0).css({'float':'right','position':'relative'});\n $('.testngxcls').find('.ngx-charts-outer').find('.chart-legend').find('div').eq(0).find('.legend-title').css({'display':'inline','float':'left','padding-top':'3px'});\n $('[class=\"legend-labels\"]').eq(2).css({'margin-left':'0px'});\n //Customer dashboard - Monthly Sweep Volume\n $('ngx-monthlysweepvolumechartcomponent').find('[class=\"legend-label ng-star-inserted\"]').css('float','left');\n $('ngx-monthlysweepvolumechartcomponent').find('[class=\"legend-title ng-star-inserted\"]').css('float','left');\n \n //Dashboard Logout-- LTR -------------\n $('.LogoutPopupContents').eq(0).css('float','left');\n $('.LeftLogoutPopupQueMark').eq(0).css('display','none');\n $('.RightLogoutPopupQueMark').eq(0).css('display','inline');\n $('.LeftModelHeader').eq(0).css('display','inline');\n $('.LeftModelClose').eq(0).css('display','inline');\n $('.RhtModelHeader').eq(0).css('display','none');\n $('.RhtModelClose').eq(0).css('display','none');\n $('.LeftModelFooter').eq(0).css('display','inline');\n $('.RhtModelFooter').eq(0).css('display','none'); \n\n $('ngx-ecommerce-visitors-analytics').find('nb-icon').click();\n $('.SweepVolumeAreaChartCls').eq(0).find('text').css('transform', 'rotate(-90deg)');\n $('.ngxChartsLineCharts').eq(0).find('text').css('transform', 'rotate(-90deg)');\n }\n this.directionService.setDirection(newDirection);\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ngx-switcher',\n styleUrls: ['./switcher.component.scss'],\n template: `\n \n `,\n})\nexport class SwitcherComponent {\n @Input() firstValue: any;\n @Input() secondValue: any;\n\n @Input() firstValueLabel: string;\n @Input() secondValueLabel: string;\n\n @Input() vertical: boolean;\n\n @Input() value: any;\n @Output() valueChange = new EventEmitter();\n\n isFirstValue() {\n return this.value === this.firstValue;\n }\n\n isSecondValue() {\n return this.value === this.secondValue;\n }\n\n currentValueLabel() {\n return this.isFirstValue()\n ? this.firstValueLabel\n : this.secondValueLabel;\n }\n\n changeValue() {\n this.value = this.isFirstValue()\n ? this.secondValue\n : this.firstValue;\n\n this.valueChange.emit(this.value);\n }\n}\n","export * from './one-column/one-column.layout';\nexport * from './two-columns/two-columns.layout';\nexport * from './three-columns/three-columns.layout';\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NbSidebarService } from '@nebular/theme';\nimport { LayoutService } from 'src/app/@core/utils';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { LoginService } from 'src/app/MasterService/Login.service';\n\n@Component({\n selector: 'ngx-one-column-layout',\n styleUrls: ['./one-column.layout.scss'],\n template: `\n \n \n \n \n\n \n \n
\n \n Logout
\n
\n\n \n \n \n\n \n \n \n
\n\n
\n
\n
\n
\n\n

Confirmation

\n
\n
\n

Confirmation

\n \n
\n
\n
\n ?{{lblMessageLogout}}?\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n `,\n})\nexport class OneColumnLayoutComponent {\n showModalLogout: boolean;\n lblMessageLogout: string; \n showLogout() { this.showModalLogout = true; }\n hideLogout() { this.showModalLogout = false; }\n\n constructor(private router: Router,public _login: LoginService, private layoutService: LayoutService,private sidebarService: NbSidebarService,\n ){}\n\n LogoutPopup() {\n if($('nb-sidebar')[0].className==\"menu-sidebar start compacted\") {\n this.sidebarService.toggle(true, 'menu-sidebar');\n this.layoutService.changeLayoutSize();\n $('#Dashboardlogout').css('display','block');\n }\n this.lblMessageLogout = \"Are you sure, you want to Logout\";\n this.showLogout();\n }\n\n Hide() {\n this.hideLogout();\n }\n\n YesLogout() { \n LoginDetails.UserId = 0;\n this.hideLogout();\n localStorage.clear(); \n this.router.navigate([\"\"]);\n this._login.displaystart = true;\n this._login.displayLogin = false;\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]).then(()=> {location.reload()}); \n } \n }\n\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-three-columns-layout',\n styleUrls: ['./three-columns.layout.scss'],\n template: `\n \n \n \n \n\n \n \n \n\n \n \n\n \n \n \n\n \n \n\n \n \n \n \n `,\n})\nexport class ThreeColumnsLayoutComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-two-columns-layout',\n styleUrls: ['./two-columns.layout.scss'],\n template: `\n \n \n \n \n\n \n \n \n\n \n \n\n \n \n \n\n \n \n \n\n \n `,\n})\nexport class TwoColumnsLayoutComponent {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'ngxCapitalize' })\nexport class CapitalizePipe implements PipeTransform {\n\n transform(input: string): string {\n return input && input.length\n ? (input.charAt(0).toUpperCase() + input.slice(1).toLowerCase())\n : input;\n }\n}\n","export * from './capitalize.pipe';\nexport * from './plural.pipe';\nexport * from './round.pipe';\nexport * from './timing.pipe';\nexport * from './number-with-commas.pipe';\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'ngxNumberWithCommas' })\nexport class NumberWithCommasPipe implements PipeTransform {\n\n transform(input: number): string {\n return new Intl.NumberFormat().format(input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'ngxPlural' })\nexport class PluralPipe implements PipeTransform {\n\n transform(input: number, label: string, pluralLabel: string = ''): string {\n input = input || 0;\n return input === 1\n ? `${input} ${label}`\n : pluralLabel\n ? `${input} ${pluralLabel}`\n : `${input} ${label}s`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'ngxRound' })\nexport class RoundPipe implements PipeTransform {\n\n transform(input: number): number {\n return Math.round(input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'timing' })\nexport class TimingPipe implements PipeTransform {\n transform(time: number): string {\n if (time) {\n const minutes = Math.floor(time / 60);\n const seconds = Math.floor(time % 60);\n return `${this.initZero(minutes)}${minutes}:${this.initZero(seconds)}${seconds}`;\n }\n\n return '00:00';\n }\n\n private initZero(time: number): string {\n return time < 10 ? '0' : '';\n }\n}\n","import { NbJSThemeOptions } from '@nebular/theme';\n\nconst palette = {\n primary: '#e91d63',\n success: '#60af20',\n info: '#0495ee',\n warning: '#ff9f05',\n danger: '#b00020',\n};\n\nexport const baseTheme: NbJSThemeOptions = {\n name: 'material-dark',\n base: 'dark',\n variables: {\n fontMain: 'Roboto, sans-serif',\n fontSecondary: 'Roboto, sans-serif',\n\n bg: '#383838',\n bg2: '#292929',\n bg3: '#1f1f1f',\n bg4: '#141414',\n\n border: '#383838',\n border2: '#292929',\n border3: '#1f1f1f',\n border4: '#141414',\n border5: '#141414',\n\n fg: '#808080',\n fgHeading: '#ffffff',\n fgText: '#ffffff',\n fgHighlight: palette.primary,\n layoutBg: '#1f1f1f',\n separator: '#1f1f1f',\n\n primary: palette.primary,\n success: palette.success,\n info: palette.info,\n warning: palette.warning,\n danger: palette.danger,\n\n primaryLight: '#f24681',\n successLight: '#8fcf50',\n infoLight: '#40bbf4',\n warningLight: '#ffbe43',\n dangerLight: '#cf3341',\n },\n};\n\nconst baseThemeVariables = baseTheme.variables;\n\nexport const MATERIAL_DARK_THEME = {\n name: 'material-dark',\n base: 'default',\n variables: {\n temperature: {\n arcFill: [\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n ],\n arcEmpty: baseThemeVariables.bg2,\n thumbBg: baseThemeVariables.bg2,\n thumbBorder: baseThemeVariables.primary,\n },\n\n solar: {\n gradientLeft: baseThemeVariables.primary,\n gradientRight: baseThemeVariables.primary,\n shadowColor: 'rgba(0, 0, 0, 0)',\n secondSeriesFill: baseThemeVariables.bg2,\n radius: ['80%', '90%'],\n },\n\n traffic: {\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n yAxisSplitLine: baseThemeVariables.separator,\n\n lineBg: baseThemeVariables.border4,\n lineShadowBlur: '1',\n itemColor: baseThemeVariables.border4,\n itemBorderColor: baseThemeVariables.border4,\n itemEmphasisBorderColor: baseThemeVariables.primary,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\n gradFrom: baseThemeVariables.bg2,\n gradTo: baseThemeVariables.bg2,\n },\n\n electricity: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: baseThemeVariables.fgText,\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n axisLineColor: baseThemeVariables.border3,\n xAxisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n lineGradFrom: baseThemeVariables.primary,\n lineGradTo: baseThemeVariables.primary,\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.bg2,\n areaGradTo: baseThemeVariables.bg2,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n bubbleMap: {\n titleColor: baseThemeVariables.fgText,\n areaColor: baseThemeVariables.bg4,\n areaHoverColor: baseThemeVariables.fgHighlight,\n areaBorderColor: baseThemeVariables.border5,\n },\n\n profitBarAnimationEchart: {\n textColor: baseThemeVariables.fgText,\n\n firstAnimationBarColor: baseThemeVariables.primary,\n secondAnimationBarColor: baseThemeVariables.success,\n\n splitLineStyleOpacity: '1',\n splitLineStyleWidth: '1',\n splitLineStyleColor: baseThemeVariables.separator,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n\n trafficBarEchart: {\n gradientFrom: baseThemeVariables.warningLight,\n gradientTo: baseThemeVariables.warning,\n shadow: baseThemeVariables.warningLight,\n shadowBlur: '0',\n\n axisTextColor: baseThemeVariables.fgText,\n axisFontSize: '12',\n\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n },\n\n countryOrders: {\n countryBorderColor: baseThemeVariables.border4,\n countryFillColor: baseThemeVariables.bg3,\n countryBorderWidth: '1',\n hoveredCountryBorderColor: baseThemeVariables.primary,\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\n hoveredCountryBorderWidth: '1',\n\n chartAxisLineColor: baseThemeVariables.border4,\n chartAxisTextColor: baseThemeVariables.fg,\n chartAxisFontSize: '16',\n chartGradientTo: baseThemeVariables.primary,\n chartGradientFrom: baseThemeVariables.primaryLight,\n chartAxisSplitLine: baseThemeVariables.separator,\n chartShadowLineColor: baseThemeVariables.primaryLight,\n\n chartLineBottomShadowColor: baseThemeVariables.primary,\n\n chartInnerLineColor: baseThemeVariables.bg2,\n },\n\n echarts: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.fgText,\n splitLineColor: baseThemeVariables.separator,\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\n tooltipBackgroundColor: baseThemeVariables.primary,\n areaOpacity: '0.7',\n },\n\n chartjs: {\n axisLineColor: baseThemeVariables.separator,\n textColor: baseThemeVariables.fgText,\n },\n\n orders: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n\n // first line\n firstAreaGradFrom: baseThemeVariables.bg3,\n firstAreaGradTo: baseThemeVariables.bg3,\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // second line\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n\n secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',\n secondAreaGradTo: 'rgba(51, 102, 255, 0)',\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // third line\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',\n thirdAreaGradTo: 'rgba(0, 214, 143, 0)',\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n profit: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.border4,\n splitLineColor: baseThemeVariables.separator,\n areaOpacity: '1',\n\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n\n // first bar\n firstLineGradFrom: baseThemeVariables.bg3,\n firstLineGradTo: baseThemeVariables.bg3,\n firstLineShadow: 'rgba(0, 0, 0, 0)',\n\n // second bar\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n secondLineShadow: 'rgba(0, 0, 0, 0)',\n\n // third bar\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\n },\n\n orderProfitLegend: {\n firstItem: baseThemeVariables.success,\n secondItem: baseThemeVariables.primary,\n thirdItem: baseThemeVariables.bg3,\n },\n\n visitors: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '1',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: '#ffffff',\n lineGradTo: '#ffffff',\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.primary,\n areaGradTo: baseThemeVariables.primaryLight,\n\n innerLineStyle: 'solid',\n innerLineWidth: '1',\n\n innerAreaGradFrom: baseThemeVariables.success,\n innerAreaGradTo: baseThemeVariables.success,\n },\n\n visitorsLegend: {\n firstIcon: baseThemeVariables.success,\n secondIcon: baseThemeVariables.primary,\n },\n\n visitorsPie: {\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n firstPieRadius: ['70%', '90%'],\n\n secondPieGradientLeft: baseThemeVariables.warning,\n secondPieGradientRight: baseThemeVariables.warningLight,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n secondPieRadius: ['60%', '97%'],\n shadowOffsetX: '0',\n shadowOffsetY: '0',\n },\n\n visitorsPieLegend: {\n firstSection: baseThemeVariables.warning,\n secondSection: baseThemeVariables.success,\n },\n\n earningPie: {\n radius: ['65%', '100%'],\n center: ['50%', '50%'],\n\n fontSize: '22',\n\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n secondPieGradientLeft: baseThemeVariables.primary,\n secondPieGradientRight: baseThemeVariables.primary,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n thirdPieGradientLeft: baseThemeVariables.warning,\n thirdPieGradientRight: baseThemeVariables.warning,\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\n },\n\n earningLine: {\n gradFrom: baseThemeVariables.primary,\n gradTo: baseThemeVariables.primary,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n },\n} as NbJSThemeOptions;\n","import { NbJSThemeOptions } from '@nebular/theme';\n\nconst palette = {\n primary: '#6200ee',\n success: '#60af20',\n info: '#0495ee',\n warning: '#ff9f05',\n danger: '#b00020',\n};\n\nexport const baseTheme: NbJSThemeOptions = {\n name: 'material-light',\n base: 'default',\n variables: {\n fontMain: 'Roboto, sans-serif',\n fontSecondary: 'Roboto, sans-serif',\n\n bg: '#ffffff',\n bg2: '#f5f5f5',\n bg3: '#ebebeb',\n bg4: '#e0e0e0',\n\n border: '#ffffff',\n border2: '#f5f5f5',\n border3: '#ebebeb',\n border4: '#e0e0e0',\n border5: '#b3b3b3',\n\n fg: '#838383',\n fgHeading: '#1a2138',\n fgText: '#1a2138',\n fgHighlight: palette.primary,\n layoutBg: '#ebebeb',\n separator: '#ebebeb',\n\n primary: palette.primary,\n success: palette.success,\n info: palette.info,\n warning: palette.warning,\n danger: palette.danger,\n\n primaryLight: '#903df4',\n successLight: '#8fcf50',\n infoLight: '#40bbf4',\n warningLight: '#ffbe43',\n dangerLight: '#cf3341',\n },\n};\n\nconst baseThemeVariables = baseTheme.variables;\n\nexport const MATERIAL_LIGHT_THEME = {\n name: 'material-light',\n base: 'default',\n variables: {\n temperature: {\n arcFill: [\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n ],\n arcEmpty: baseThemeVariables.bg2,\n thumbBg: baseThemeVariables.bg2,\n thumbBorder: baseThemeVariables.primary,\n },\n\n solar: {\n gradientLeft: baseThemeVariables.primary,\n gradientRight: baseThemeVariables.primary,\n shadowColor: 'rgba(0, 0, 0, 0)',\n secondSeriesFill: baseThemeVariables.bg2,\n radius: ['80%', '90%'],\n },\n\n traffic: {\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n yAxisSplitLine: baseThemeVariables.separator,\n\n lineBg: baseThemeVariables.border4,\n lineShadowBlur: '1',\n itemColor: baseThemeVariables.border4,\n itemBorderColor: baseThemeVariables.border4,\n itemEmphasisBorderColor: baseThemeVariables.primary,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\n gradFrom: baseThemeVariables.bg2,\n gradTo: baseThemeVariables.bg2,\n },\n\n electricity: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: baseThemeVariables.fgText,\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n axisLineColor: baseThemeVariables.border3,\n xAxisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n lineGradFrom: baseThemeVariables.primary,\n lineGradTo: baseThemeVariables.primary,\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.bg2,\n areaGradTo: baseThemeVariables.bg2,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n bubbleMap: {\n titleColor: baseThemeVariables.fgText,\n areaColor: baseThemeVariables.bg4,\n areaHoverColor: baseThemeVariables.fgHighlight,\n areaBorderColor: baseThemeVariables.border5,\n },\n\n profitBarAnimationEchart: {\n textColor: baseThemeVariables.fgText,\n\n firstAnimationBarColor: baseThemeVariables.primary,\n secondAnimationBarColor: baseThemeVariables.success,\n\n splitLineStyleOpacity: '1',\n splitLineStyleWidth: '1',\n splitLineStyleColor: baseThemeVariables.separator,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n\n trafficBarEchart: {\n gradientFrom: baseThemeVariables.warningLight,\n gradientTo: baseThemeVariables.warning,\n shadow: baseThemeVariables.warningLight,\n shadowBlur: '0',\n\n axisTextColor: baseThemeVariables.fgText,\n axisFontSize: '12',\n\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n },\n\n countryOrders: {\n countryBorderColor: baseThemeVariables.border4,\n countryFillColor: baseThemeVariables.bg3,\n countryBorderWidth: '1',\n hoveredCountryBorderColor: baseThemeVariables.primary,\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\n hoveredCountryBorderWidth: '1',\n\n chartAxisLineColor: baseThemeVariables.border4,\n chartAxisTextColor: baseThemeVariables.fg,\n chartAxisFontSize: '16',\n chartGradientTo: baseThemeVariables.primary,\n chartGradientFrom: baseThemeVariables.primaryLight,\n chartAxisSplitLine: baseThemeVariables.separator,\n chartShadowLineColor: baseThemeVariables.primaryLight,\n\n chartLineBottomShadowColor: baseThemeVariables.primary,\n\n chartInnerLineColor: baseThemeVariables.bg2,\n },\n\n echarts: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.fgText,\n splitLineColor: baseThemeVariables.separator,\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\n tooltipBackgroundColor: baseThemeVariables.primary,\n areaOpacity: '0.7',\n },\n\n chartjs: {\n axisLineColor: baseThemeVariables.separator,\n textColor: baseThemeVariables.fgText,\n },\n\n orders: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n\n // first line\n firstAreaGradFrom: baseThemeVariables.bg3,\n firstAreaGradTo: baseThemeVariables.bg3,\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // second line\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n\n secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',\n secondAreaGradTo: 'rgba(51, 102, 255, 0)',\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // third line\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',\n thirdAreaGradTo: 'rgba(0, 214, 143, 0)',\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n profit: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.border4,\n splitLineColor: baseThemeVariables.separator,\n areaOpacity: '1',\n\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n\n // first bar\n firstLineGradFrom: baseThemeVariables.bg3,\n firstLineGradTo: baseThemeVariables.bg3,\n firstLineShadow: 'rgba(0, 0, 0, 0)',\n\n // second bar\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n secondLineShadow: 'rgba(0, 0, 0, 0)',\n\n // third bar\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\n },\n\n orderProfitLegend: {\n firstItem: baseThemeVariables.success,\n secondItem: baseThemeVariables.primary,\n thirdItem: baseThemeVariables.bg3,\n },\n\n visitors: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '1',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: '#ffffff',\n lineGradTo: '#ffffff',\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.primary,\n areaGradTo: baseThemeVariables.primaryLight,\n\n innerLineStyle: 'solid',\n innerLineWidth: '1',\n\n innerAreaGradFrom: baseThemeVariables.success,\n innerAreaGradTo: baseThemeVariables.success,\n },\n\n visitorsLegend: {\n firstIcon: baseThemeVariables.success,\n secondIcon: baseThemeVariables.primary,\n },\n\n visitorsPie: {\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n firstPieRadius: ['70%', '90%'],\n\n secondPieGradientLeft: baseThemeVariables.warning,\n secondPieGradientRight: baseThemeVariables.warningLight,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n secondPieRadius: ['60%', '97%'],\n shadowOffsetX: '0',\n shadowOffsetY: '0',\n },\n\n visitorsPieLegend: {\n firstSection: baseThemeVariables.warning,\n secondSection: baseThemeVariables.success,\n },\n\n earningPie: {\n radius: ['65%', '100%'],\n center: ['50%', '50%'],\n\n fontSize: '22',\n\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n secondPieGradientLeft: baseThemeVariables.primary,\n secondPieGradientRight: baseThemeVariables.primary,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n thirdPieGradientLeft: baseThemeVariables.warning,\n thirdPieGradientRight: baseThemeVariables.warning,\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\n },\n\n earningLine: {\n gradFrom: baseThemeVariables.primary,\n gradTo: baseThemeVariables.primary,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n },\n} as NbJSThemeOptions;\n","import { NbJSThemeOptions, CORPORATE_THEME as baseTheme } from '@nebular/theme';\n\nconst baseThemeVariables = baseTheme.variables;\n\nexport const CORPORATE_THEME = {\n name: 'corporate',\n base: 'corporate',\n variables: {\n temperature: {\n arcFill: [ '#ffa36b', '#ffa36b', '#ff9e7a', '#ff9888', '#ff8ea0' ],\n arcEmpty: baseThemeVariables.bg2,\n thumbBg: baseThemeVariables.bg2,\n thumbBorder: '#ffa36b',\n },\n\n solar: {\n gradientLeft: baseThemeVariables.primary,\n gradientRight: baseThemeVariables.primary,\n shadowColor: 'rgba(0, 0, 0, 0)',\n secondSeriesFill: baseThemeVariables.bg2,\n radius: ['80%', '90%'],\n },\n\n traffic: {\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n yAxisSplitLine: 'rgba(0, 0, 0, 0)',\n\n lineBg: baseThemeVariables.primary,\n lineShadowBlur: '0',\n itemColor: baseThemeVariables.border4,\n itemBorderColor: baseThemeVariables.border4,\n itemEmphasisBorderColor: baseThemeVariables.primaryLight,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\n gradFrom: baseThemeVariables.bg,\n gradTo: baseThemeVariables.bg,\n },\n\n electricity: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: baseThemeVariables.fgText,\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n axisLineColor: baseThemeVariables.border3,\n xAxisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n lineGradFrom: baseThemeVariables.primary,\n lineGradTo: baseThemeVariables.primary,\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: 'rgba(0, 0, 0, 0)',\n areaGradTo: 'rgba(0, 0, 0, 0)',\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n bubbleMap: {\n titleColor: baseThemeVariables.fgText,\n areaColor: baseThemeVariables.bg4,\n areaHoverColor: baseThemeVariables.fgHighlight,\n areaBorderColor: baseThemeVariables.border5,\n },\n\n profitBarAnimationEchart: {\n textColor: baseThemeVariables.fgText,\n\n firstAnimationBarColor: baseThemeVariables.primary,\n secondAnimationBarColor: baseThemeVariables.success,\n\n splitLineStyleOpacity: '1',\n splitLineStyleWidth: '1',\n splitLineStyleColor: baseThemeVariables.separator,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n\n trafficBarEchart: {\n gradientFrom: baseThemeVariables.warningLight,\n gradientTo: baseThemeVariables.warning,\n shadow: baseThemeVariables.warningLight,\n shadowBlur: '0',\n\n axisTextColor: baseThemeVariables.fgText,\n axisFontSize: '12',\n\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n },\n\n countryOrders: {\n countryBorderColor: baseThemeVariables.border4,\n countryFillColor: baseThemeVariables.bg4,\n countryBorderWidth: '1',\n hoveredCountryBorderColor: baseThemeVariables.primary,\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\n hoveredCountryBorderWidth: '1',\n\n chartAxisLineColor: baseThemeVariables.border4,\n chartAxisTextColor: baseThemeVariables.fg,\n chartAxisFontSize: '16',\n chartGradientTo: baseThemeVariables.primary,\n chartGradientFrom: baseThemeVariables.primaryLight,\n chartAxisSplitLine: baseThemeVariables.separator,\n chartShadowLineColor: baseThemeVariables.primaryLight,\n\n chartLineBottomShadowColor: baseThemeVariables.primary,\n\n chartInnerLineColor: baseThemeVariables.bg2,\n },\n\n echarts: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.fgText,\n splitLineColor: baseThemeVariables.separator,\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\n tooltipBackgroundColor: baseThemeVariables.primary,\n areaOpacity: '0.7',\n },\n\n chartjs: {\n axisLineColor: baseThemeVariables.separator,\n textColor: baseThemeVariables.fgText,\n },\n\n orders: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n\n // first line\n firstAreaGradFrom: baseThemeVariables.bg3,\n firstAreaGradTo: baseThemeVariables.bg3,\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // second line\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n\n secondAreaGradFrom: 'rgba(0, 0, 0, 0)',\n secondAreaGradTo: 'rgba(0, 0, 0, 0)',\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // third line\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n\n thirdAreaGradFrom: 'rgba(0, 0, 0, 0)',\n thirdAreaGradTo: 'rgba(0, 0, 0, 0)',\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n profit: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.border4,\n splitLineColor: baseThemeVariables.separator,\n areaOpacity: '1',\n\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n\n // first bar\n firstLineGradFrom: baseThemeVariables.bg3,\n firstLineGradTo: baseThemeVariables.bg3,\n firstLineShadow: 'rgba(0, 0, 0, 0)',\n\n // second bar\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n secondLineShadow: 'rgba(0, 0, 0, 0)',\n\n // third bar\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.success,\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\n },\n\n orderProfitLegend: {\n firstItem: baseThemeVariables.success,\n secondItem: baseThemeVariables.primary,\n thirdItem: baseThemeVariables.bg3,\n },\n\n visitors: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '1',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: '#ffffff',\n lineGradTo: '#ffffff',\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.primary,\n areaGradTo: baseThemeVariables.primaryLight,\n\n innerLineStyle: 'solid',\n innerLineWidth: '1',\n\n innerAreaGradFrom: baseThemeVariables.success,\n innerAreaGradTo: baseThemeVariables.success,\n },\n\n visitorsLegend: {\n firstIcon: baseThemeVariables.success,\n secondIcon: baseThemeVariables.primary,\n },\n\n visitorsPie: {\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n firstPieRadius: ['65%', '90%'],\n\n secondPieGradientLeft: baseThemeVariables.warning,\n secondPieGradientRight: baseThemeVariables.warningLight,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n secondPieRadius: ['63%', '92%'],\n shadowOffsetX: '-4',\n shadowOffsetY: '-4',\n },\n\n visitorsPieLegend: {\n firstSection: baseThemeVariables.warning,\n secondSection: baseThemeVariables.success,\n },\n\n earningPie: {\n radius: ['65%', '100%'],\n center: ['50%', '50%'],\n\n fontSize: '22',\n\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n secondPieGradientLeft: baseThemeVariables.primary,\n secondPieGradientRight: baseThemeVariables.primary,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n thirdPieGradientLeft: baseThemeVariables.warning,\n thirdPieGradientRight: baseThemeVariables.warning,\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\n },\n\n earningLine: {\n gradFrom: baseThemeVariables.primary,\n gradTo: baseThemeVariables.primary,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n },\n} as NbJSThemeOptions;\n","import { NbJSThemeOptions, COSMIC_THEME as baseTheme } from '@nebular/theme';\n\nconst baseThemeVariables = baseTheme.variables;\n\nexport const COSMIC_THEME = {\n name: 'cosmic',\n base: 'cosmic',\n variables: {\n temperature: {\n arcFill: [ '#2ec7fe', '#31ffad', '#7bff24', '#fff024', '#f7bd59' ],\n arcEmpty: baseThemeVariables.bg2,\n thumbBg: '#ffffff',\n thumbBorder: '#ffffff',\n },\n\n solar: {\n gradientLeft: baseThemeVariables.primary,\n gradientRight: baseThemeVariables.primary,\n shadowColor: 'rgba(0, 0, 0, 0)',\n secondSeriesFill: baseThemeVariables.bg2,\n radius: ['70%', '90%'],\n },\n\n traffic: {\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'box-shadow: 0px 2px 46px 0 rgba(50, 50, 89); border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n yAxisSplitLine: baseThemeVariables.separator,\n\n lineBg: baseThemeVariables.border2,\n lineShadowBlur: '14',\n itemColor: baseThemeVariables.border2,\n itemBorderColor: baseThemeVariables.border2,\n itemEmphasisBorderColor: baseThemeVariables.primary,\n shadowLineDarkBg: baseThemeVariables.border3,\n shadowLineShadow: baseThemeVariables.border3,\n gradFrom: baseThemeVariables.bg,\n gradTo: baseThemeVariables.bg2,\n },\n\n electricity: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: baseThemeVariables.fgText,\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'box-shadow: 0px 2px 46px 0 rgba(0, 255, 170, 0.35); border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n axisLineColor: baseThemeVariables.border3,\n xAxisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.border2,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: baseThemeVariables.success,\n lineGradTo: baseThemeVariables.warning,\n lineShadow: baseThemeVariables.bg4,\n\n areaGradFrom: baseThemeVariables.bg2,\n areaGradTo: baseThemeVariables.bg3,\n shadowLineDarkBg: baseThemeVariables.bg3,\n },\n\n bubbleMap: {\n titleColor: baseThemeVariables.fgText,\n areaColor: baseThemeVariables.bg4,\n areaHoverColor: baseThemeVariables.fgHighlight,\n areaBorderColor: baseThemeVariables.border5,\n },\n\n profitBarAnimationEchart: {\n textColor: baseThemeVariables.fgText,\n\n firstAnimationBarColor: baseThemeVariables.primary,\n secondAnimationBarColor: baseThemeVariables.success,\n\n splitLineStyleOpacity: '1',\n splitLineStyleWidth: '1',\n splitLineStyleColor: baseThemeVariables.border2,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n\n trafficBarEchart: {\n gradientFrom: baseThemeVariables.warningLight,\n gradientTo: baseThemeVariables.warning,\n shadow: baseThemeVariables.warningLight,\n shadowBlur: '5',\n\n axisTextColor: baseThemeVariables.fgText,\n axisFontSize: '12',\n\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n },\n\n countryOrders: {\n countryBorderColor: baseThemeVariables.border4,\n countryFillColor: baseThemeVariables.bg3,\n countryBorderWidth: '1',\n hoveredCountryBorderColor: baseThemeVariables.primary,\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\n hoveredCountryBorderWidth: '1',\n\n chartAxisLineColor: baseThemeVariables.border4,\n chartAxisTextColor: baseThemeVariables.fg,\n chartAxisFontSize: '16',\n chartGradientTo: baseThemeVariables.primary,\n chartGradientFrom: baseThemeVariables.primaryLight,\n chartAxisSplitLine: baseThemeVariables.separator,\n chartShadowLineColor: baseThemeVariables.primaryLight,\n\n chartLineBottomShadowColor: baseThemeVariables.primary,\n\n chartInnerLineColor: baseThemeVariables.bg2,\n },\n\n echarts: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.fgText,\n splitLineColor: baseThemeVariables.separator,\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\n tooltipBackgroundColor: baseThemeVariables.primary,\n areaOpacity: '1',\n },\n\n chartjs: {\n axisLineColor: baseThemeVariables.separator,\n textColor: baseThemeVariables.fgText,\n },\n\n orders: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n\n // first line\n firstAreaGradFrom: baseThemeVariables.bg2,\n firstAreaGradTo: baseThemeVariables.bg2,\n firstShadowLineDarkBg: baseThemeVariables.bg2,\n\n // second line\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n\n secondAreaGradFrom: 'rgba(161, 110, 255, 0.8)',\n secondAreaGradTo: 'rgba(161, 110, 255, 0.5)',\n secondShadowLineDarkBg: baseThemeVariables.primary,\n\n // third line\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.7)',\n thirdAreaGradTo: 'rgba(0, 214, 143, 0.4)',\n thirdShadowLineDarkBg: baseThemeVariables.success,\n },\n\n profit: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.border4,\n splitLineColor: baseThemeVariables.separator,\n areaOpacity: '1',\n\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n\n // first bar\n firstLineGradFrom: baseThemeVariables.bg2,\n firstLineGradTo: baseThemeVariables.bg2,\n firstLineShadow: 'rgba(0, 0, 0, 0)',\n\n // second bar\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n secondLineShadow: 'rgba(0, 0, 0, 0)',\n\n // third bar\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\n },\n\n orderProfitLegend: {\n firstItem: baseThemeVariables.success,\n secondItem: baseThemeVariables.primary,\n thirdItem: baseThemeVariables.bg2,\n },\n\n visitors: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '1',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: '#ffffff',\n lineGradTo: '#ffffff',\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.primary,\n areaGradTo: baseThemeVariables.primaryLight,\n\n innerLineStyle: 'solid',\n innerLineWidth: '1',\n\n innerAreaGradFrom: baseThemeVariables.success,\n innerAreaGradTo: baseThemeVariables.success,\n },\n\n visitorsLegend: {\n firstIcon: baseThemeVariables.success,\n secondIcon: baseThemeVariables.primary,\n },\n\n visitorsPie: {\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.successLight,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n firstPieRadius: ['70%', '90%'],\n\n secondPieGradientLeft: baseThemeVariables.warning,\n secondPieGradientRight: baseThemeVariables.warningLight,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n secondPieRadius: ['60%', '95%'],\n shadowOffsetX: '0',\n shadowOffsetY: '3',\n },\n\n visitorsPieLegend: {\n firstSection: baseThemeVariables.warning,\n secondSection: baseThemeVariables.success,\n },\n\n earningPie: {\n radius: ['65%', '100%'],\n center: ['50%', '50%'],\n\n fontSize: '22',\n\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n secondPieGradientLeft: baseThemeVariables.primary,\n secondPieGradientRight: baseThemeVariables.primary,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n thirdPieGradientLeft: baseThemeVariables.warning,\n thirdPieGradientRight: baseThemeVariables.warning,\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\n },\n\n earningLine: {\n gradFrom: baseThemeVariables.primary,\n gradTo: baseThemeVariables.primary,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n },\n} as NbJSThemeOptions;\n","import { NbJSThemeOptions, DARK_THEME as baseTheme } from '@nebular/theme';\n\nconst baseThemeVariables = baseTheme.variables;\n\nexport const DARK_THEME = {\n name: 'dark',\n base: 'dark',\n variables: {\n temperature: {\n arcFill: [\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n ],\n arcEmpty: baseThemeVariables.bg2,\n thumbBg: baseThemeVariables.bg2,\n thumbBorder: baseThemeVariables.primary,\n },\n\n solar: {\n gradientLeft: baseThemeVariables.primary,\n gradientRight: baseThemeVariables.primary,\n shadowColor: 'rgba(0, 0, 0, 0)',\n secondSeriesFill: baseThemeVariables.bg2,\n radius: ['80%', '90%'],\n },\n\n traffic: {\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n yAxisSplitLine: baseThemeVariables.separator,\n\n lineBg: baseThemeVariables.border4,\n lineShadowBlur: '1',\n itemColor: baseThemeVariables.border4,\n itemBorderColor: baseThemeVariables.border4,\n itemEmphasisBorderColor: baseThemeVariables.primary,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\n gradFrom: baseThemeVariables.bg2,\n gradTo: baseThemeVariables.bg2,\n },\n\n electricity: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: baseThemeVariables.fgText,\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n axisLineColor: baseThemeVariables.border3,\n xAxisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n lineGradFrom: baseThemeVariables.primary,\n lineGradTo: baseThemeVariables.primary,\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.bg2,\n areaGradTo: baseThemeVariables.bg2,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n bubbleMap: {\n titleColor: baseThemeVariables.fgText,\n areaColor: baseThemeVariables.bg4,\n areaHoverColor: baseThemeVariables.fgHighlight,\n areaBorderColor: baseThemeVariables.border5,\n },\n\n profitBarAnimationEchart: {\n textColor: baseThemeVariables.fgText,\n\n firstAnimationBarColor: baseThemeVariables.primary,\n secondAnimationBarColor: baseThemeVariables.success,\n\n splitLineStyleOpacity: '1',\n splitLineStyleWidth: '1',\n splitLineStyleColor: baseThemeVariables.separator,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n\n trafficBarEchart: {\n gradientFrom: baseThemeVariables.warningLight,\n gradientTo: baseThemeVariables.warning,\n shadow: baseThemeVariables.warningLight,\n shadowBlur: '0',\n\n axisTextColor: baseThemeVariables.fgText,\n axisFontSize: '12',\n\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n },\n\n countryOrders: {\n countryBorderColor: baseThemeVariables.border4,\n countryFillColor: baseThemeVariables.bg3,\n countryBorderWidth: '1',\n hoveredCountryBorderColor: baseThemeVariables.primary,\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\n hoveredCountryBorderWidth: '1',\n\n chartAxisLineColor: baseThemeVariables.border4,\n chartAxisTextColor: baseThemeVariables.fg,\n chartAxisFontSize: '16',\n chartGradientTo: baseThemeVariables.primary,\n chartGradientFrom: baseThemeVariables.primaryLight,\n chartAxisSplitLine: baseThemeVariables.separator,\n chartShadowLineColor: baseThemeVariables.primaryLight,\n\n chartLineBottomShadowColor: baseThemeVariables.primary,\n\n chartInnerLineColor: baseThemeVariables.bg2,\n },\n\n echarts: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.fgText,\n splitLineColor: baseThemeVariables.separator,\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\n tooltipBackgroundColor: baseThemeVariables.primary,\n areaOpacity: '0.7',\n },\n\n chartjs: {\n axisLineColor: baseThemeVariables.separator,\n textColor: baseThemeVariables.fgText,\n },\n\n orders: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n\n // first line\n firstAreaGradFrom: baseThemeVariables.bg3,\n firstAreaGradTo: baseThemeVariables.bg3,\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // second line\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n\n secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',\n secondAreaGradTo: 'rgba(51, 102, 255, 0)',\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // third line\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',\n thirdAreaGradTo: 'rgba(0, 214, 143, 0)',\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n profit: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.border4,\n splitLineColor: baseThemeVariables.separator,\n areaOpacity: '1',\n\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n\n // first bar\n firstLineGradFrom: baseThemeVariables.bg3,\n firstLineGradTo: baseThemeVariables.bg3,\n firstLineShadow: 'rgba(0, 0, 0, 0)',\n\n // second bar\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n secondLineShadow: 'rgba(0, 0, 0, 0)',\n\n // third bar\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\n },\n\n orderProfitLegend: {\n firstItem: baseThemeVariables.success,\n secondItem: baseThemeVariables.primary,\n thirdItem: baseThemeVariables.bg3,\n },\n\n visitors: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: '#ffffff',\n lineGradTo: '#ffffff',\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.primary,\n areaGradTo: baseThemeVariables.primaryLight,\n\n innerLineStyle: 'solid',\n innerLineWidth: '1',\n\n innerAreaGradFrom: baseThemeVariables.success,\n innerAreaGradTo: baseThemeVariables.success,\n },\n\n visitorsLegend: {\n firstIcon: baseThemeVariables.success,\n secondIcon: baseThemeVariables.primary,\n },\n\n visitorsPie: {\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n firstPieRadius: ['70%', '90%'],\n\n secondPieGradientLeft: baseThemeVariables.warning,\n secondPieGradientRight: baseThemeVariables.warningLight,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n secondPieRadius: ['60%', '97%'],\n shadowOffsetX: '0',\n shadowOffsetY: '0',\n },\n\n visitorsPieLegend: {\n firstSection: baseThemeVariables.warning,\n secondSection: baseThemeVariables.success,\n },\n\n earningPie: {\n radius: ['65%', '100%'],\n center: ['50%', '50%'],\n\n fontSize: '22',\n\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n secondPieGradientLeft: baseThemeVariables.primary,\n secondPieGradientRight: baseThemeVariables.primary,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n thirdPieGradientLeft: baseThemeVariables.warning,\n thirdPieGradientRight: baseThemeVariables.warning,\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\n },\n\n earningLine: {\n gradFrom: baseThemeVariables.primary,\n gradTo: baseThemeVariables.primary,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n },\n} as NbJSThemeOptions;\n","import { NbJSThemeOptions, DEFAULT_THEME as baseTheme } from '@nebular/theme';\n\nconst baseThemeVariables = baseTheme.variables;\n\nexport const DEFAULT_THEME = {\n name: 'default',\n base: 'default',\n variables: {\n temperature: {\n arcFill: [\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n ],\n arcEmpty: baseThemeVariables.bg2,\n thumbBg: baseThemeVariables.bg2,\n thumbBorder: baseThemeVariables.primary,\n },\n\n solar: {\n gradientLeft: baseThemeVariables.primary,\n gradientRight: baseThemeVariables.primary,\n shadowColor: 'rgba(0, 0, 0, 0)',\n secondSeriesFill: baseThemeVariables.bg2,\n radius: ['80%', '90%'],\n },\n\n traffic: {\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n yAxisSplitLine: baseThemeVariables.separator,\n\n lineBg: baseThemeVariables.border4,\n lineShadowBlur: '1',\n itemColor: baseThemeVariables.border4,\n itemBorderColor: baseThemeVariables.border4,\n itemEmphasisBorderColor: baseThemeVariables.primary,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\n gradFrom: baseThemeVariables.bg2,\n gradTo: baseThemeVariables.bg2,\n },\n\n electricity: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: baseThemeVariables.fgText,\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n axisLineColor: baseThemeVariables.border3,\n xAxisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n lineGradFrom: baseThemeVariables.primary,\n lineGradTo: baseThemeVariables.primary,\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.bg2,\n areaGradTo: baseThemeVariables.bg2,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n bubbleMap: {\n titleColor: baseThemeVariables.fgText,\n areaColor: baseThemeVariables.bg4,\n areaHoverColor: baseThemeVariables.fgHighlight,\n areaBorderColor: baseThemeVariables.border5,\n },\n\n profitBarAnimationEchart: {\n textColor: baseThemeVariables.fgText,\n\n firstAnimationBarColor: baseThemeVariables.primary,\n secondAnimationBarColor: baseThemeVariables.success,\n\n splitLineStyleOpacity: '1',\n splitLineStyleWidth: '1',\n splitLineStyleColor: baseThemeVariables.separator,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n\n trafficBarEchart: {\n gradientFrom: baseThemeVariables.warningLight,\n gradientTo: baseThemeVariables.warning,\n shadow: baseThemeVariables.warningLight,\n shadowBlur: '0',\n\n axisTextColor: baseThemeVariables.fgText,\n axisFontSize: '12',\n\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n },\n\n countryOrders: {\n countryBorderColor: baseThemeVariables.border4,\n countryFillColor: baseThemeVariables.bg3,\n countryBorderWidth: '1',\n hoveredCountryBorderColor: baseThemeVariables.primary,\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\n hoveredCountryBorderWidth: '1',\n\n chartAxisLineColor: baseThemeVariables.border4,\n chartAxisTextColor: baseThemeVariables.fg,\n chartAxisFontSize: '16',\n chartGradientTo: baseThemeVariables.primary,\n chartGradientFrom: baseThemeVariables.primaryLight,\n chartAxisSplitLine: baseThemeVariables.separator,\n chartShadowLineColor: baseThemeVariables.primaryLight,\n\n chartLineBottomShadowColor: baseThemeVariables.primary,\n\n chartInnerLineColor: baseThemeVariables.bg2,\n },\n\n echarts: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.fgText,\n splitLineColor: baseThemeVariables.separator,\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\n tooltipBackgroundColor: baseThemeVariables.primary,\n areaOpacity: '0.7',\n },\n\n chartjs: {\n axisLineColor: baseThemeVariables.separator,\n textColor: baseThemeVariables.fgText,\n },\n\n orders: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n\n // first line\n firstAreaGradFrom: baseThemeVariables.bg3,\n firstAreaGradTo: baseThemeVariables.bg3,\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // second line\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n\n secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',\n secondAreaGradTo: 'rgba(51, 102, 255, 0)',\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // third line\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',\n thirdAreaGradTo: 'rgba(0, 214, 143, 0)',\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n profit: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.border4,\n splitLineColor: baseThemeVariables.separator,\n areaOpacity: '1',\n\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n\n // first bar\n firstLineGradFrom: baseThemeVariables.bg3,\n firstLineGradTo: baseThemeVariables.bg3,\n firstLineShadow: 'rgba(0, 0, 0, 0)',\n\n // second bar\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n secondLineShadow: 'rgba(0, 0, 0, 0)',\n\n // third bar\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\n },\n\n orderProfitLegend: {\n firstItem: baseThemeVariables.success,\n secondItem: baseThemeVariables.primary,\n thirdItem: baseThemeVariables.bg3,\n },\n\n visitors: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '1',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: '#ffffff',\n lineGradTo: '#ffffff',\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.primary,\n areaGradTo: baseThemeVariables.primaryLight,\n\n innerLineStyle: 'solid',\n innerLineWidth: '1',\n\n innerAreaGradFrom: baseThemeVariables.success,\n innerAreaGradTo: baseThemeVariables.success,\n },\n\n visitorsLegend: {\n firstIcon: baseThemeVariables.success,\n secondIcon: baseThemeVariables.primary,\n },\n\n visitorsPie: {\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n firstPieRadius: ['70%', '90%'],\n\n secondPieGradientLeft: baseThemeVariables.warning,\n secondPieGradientRight: baseThemeVariables.warningLight,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n secondPieRadius: ['60%', '97%'],\n shadowOffsetX: '0',\n shadowOffsetY: '0',\n },\n\n visitorsPieLegend: {\n firstSection: baseThemeVariables.warning,\n secondSection: baseThemeVariables.success,\n },\n\n earningPie: {\n radius: ['65%', '100%'],\n center: ['50%', '50%'],\n\n fontSize: '22',\n\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n secondPieGradientLeft: baseThemeVariables.primary,\n secondPieGradientRight: baseThemeVariables.primary,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n thirdPieGradientLeft: baseThemeVariables.warning,\n thirdPieGradientRight: baseThemeVariables.warning,\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\n },\n\n earningLine: {\n gradFrom: baseThemeVariables.primary,\n gradTo: baseThemeVariables.primary,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n },\n} as NbJSThemeOptions;\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatRippleModule } from '@angular/material/core';\nimport {\n NbActionsModule,\n NbLayoutModule,\n NbMenuModule,\n NbSearchModule,\n NbSidebarModule,\n NbUserModule,\n NbContextMenuModule,\n NbButtonModule,\n NbSelectModule,\n NbIconModule,\n NbThemeModule,\n} from '@nebular/theme';\nimport { NbEvaIconsModule } from '@nebular/eva-icons';\nimport { NbSecurityModule } from '@nebular/security';\n\nimport {\n FooterComponent,\n HeaderComponent,\n LayoutDirectionSwitcherComponent,\n //SearchInputComponent,\n SwitcherComponent,\n} from './components';\nimport {\n CapitalizePipe,\n PluralPipe,\n RoundPipe,\n TimingPipe,\n NumberWithCommasPipe,\n} from './pipes';\nimport {\n OneColumnLayoutComponent,\n ThreeColumnsLayoutComponent,\n TwoColumnsLayoutComponent,\n} from './layouts';\nimport { DEFAULT_THEME } from './styles/theme.default';\nimport { COSMIC_THEME } from './styles/theme.cosmic';\nimport { CORPORATE_THEME } from './styles/theme.corporate';\nimport { DARK_THEME } from './styles/theme.dark';\nimport { MATERIAL_LIGHT_THEME } from './styles/material/theme.material-light';\nimport { MATERIAL_DARK_THEME } from './styles/material/theme.material-dark';\n\nconst NB_MODULES = [\n NbLayoutModule,\n NbMenuModule,\n NbUserModule,\n NbActionsModule,\n NbSearchModule,\n NbSidebarModule,\n NbContextMenuModule,\n NbSecurityModule,\n NbButtonModule,\n NbSelectModule,\n NbIconModule,\n NbEvaIconsModule,\n];\nconst COMPONENTS = [\n SwitcherComponent,\n LayoutDirectionSwitcherComponent,\n HeaderComponent,\n FooterComponent,\n //SearchInputComponent,\n OneColumnLayoutComponent,\n ThreeColumnsLayoutComponent,\n TwoColumnsLayoutComponent,\n];\nconst PIPES = [\n CapitalizePipe,\n PluralPipe,\n RoundPipe,\n TimingPipe,\n NumberWithCommasPipe,\n];\n\n@NgModule({\n imports: [CommonModule, MatRippleModule, ...NB_MODULES],\n exports: [CommonModule, MatRippleModule, ...PIPES, ...COMPONENTS],\n declarations: [...COMPONENTS, ...PIPES],\n})\nexport class ThemeModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeModule,\n providers: [\n ...NbThemeModule.forRoot(\n {\n name: 'default',\n },\n [ DEFAULT_THEME, COSMIC_THEME, CORPORATE_THEME, DARK_THEME, MATERIAL_LIGHT_THEME, MATERIAL_DARK_THEME ],\n ).providers,\n ],\n };\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { AccountLinkMasterService } from '../../MasterService/account-link-master.service';\nimport { AccountLinkMaster } from '../../MasterService/AccountLinkMaster'\nimport { Router, NavigationExtras } from '@angular/router';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { RoleAccessService } from '../../MasterService/role-access.service';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { WindowScrollingService } from 'src/app/MasterService/window-scrolling.service';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\ndeclare var sortTableAccountLinkMst: Function;\ndeclare const ClearAccLinkStatus: any;\n\n@Component({\n selector: 'app-account-link-master',\n templateUrl: './account-link-master.component.html',\n styleUrls: ['./account-link-master.component.css']\n})\nexport class AccountLinkMasterComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: { year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1 }\n\n\n // other options are here...\n };\n public acclinkId;\n // AccountLinkingList: AccountLinkMaster[];\n AccountLinkingList: any = [];\n showModal: boolean;\n showMsg: boolean;\n showerrormsg: boolean;\n lblMessage: string;\n // FilteredAccountLinkList: AccountLinkMaster[];\n FilteredAccountLinkList: any = [];\n RoleAccess: RoleAccess;\n allCustList: any = [];\n isActive: boolean;\n AllCheckAccount: boolean;\n showModalForAllDelete: boolean;\n AllSelected: boolean;\n ConfirmationMsg: string;\n SweepExecutionPrivillage: boolean;\n constructor(private router: Router, public _customerService: CustomerService, public _accountLinkMaster: AccountLinkMasterService, public _roleAccess: RoleAccessService, private _spinner: NgxSpinnerService, public _encrypt: EncryptdecryptService) { }\n EditPriv: boolean;\n DeletePrivllage: boolean;\n AddPrivillage: boolean;\n ViewPrivllage: boolean;\n config: any;\n lblMessageDelete: string;\n ddlshowStartValue: number;\n ddlshowvalue: number;\n searchCount: string;\n filterCount: string;\n lastSortedByField;\n ascendingOrder = true;\n\n // Bulk Delete fields\n accLinkSelected: boolean;\n IsaccLinkSelected: boolean;\n checkedList: any = [];\n listLengthForSelect: 0;\n BulkDelete: boolean = true;\n LoginUserID: number = 0;\n AccountLinkStatus: any = [];\n IsShowBulkExecutionToChecker: boolean = true;\n CheckerPrivillage:boolean;\n\n show() {\n this.showModal = true;\n $(document).ready(function () {\n $('#DeleteModel').eq(0).focus();\n });\n }\n hide() { this.showModal = false; }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n\n ngOnInit(): void {\n // If LoginUserId is null then it will return\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n\n this.LoginUserID = +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n // To display header\n if (!$('.js-sticky-header').is(':visible')) {\n $('.js-sticky-header').css('display', 'block');\n }\n // Setting default values\n this.AccountLink();//Rubina added\n ClearAccLinkStatus();\n\n this._spinner.show();\n\n this.onTop();\n\n localStorage.removeItem('ViewMode');\n localStorage.removeItem('AcLinkId');\n localStorage.removeItem('CustomerId');\n // Getting customer List\n this._customerService.fnGetCustomerDataForAClink(localStorage.getItem(\"LoginUserId\")).subscribe(customerList => {\n this.allCustList = customerList;\n // customerList.forEach(element => {\n // if(element[\"Status\"] == \"Active\")\n // {\n // this.allCustList.push(element);\n // }\n // });\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n // Getting PrivillageRole based on id\n this.GetPrivillageRoles();\n //this.AccountLinkList(); // added this function inside GetPrivillageRoles for synch call\n // Getting AccLink Status\n this.fnGetAccountLinkStatus();\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue = 10;\n this.ddlshowStartValue = 1;\n // Sorting table data\n sortTableAccountLinkMst(6, false);\n\n }\n\n // Page changed event function\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage * this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage - 1);\n if (this.FilteredAccountLinkList.length <= this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredAccountLinkList.length;\n }\n\n // Getting Privillage Roles\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), this.router.url).subscribe(roleAccess => {\n this.RoleAccess = roleAccess[0];\n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.EditPriv = this.RoleAccess.EditAccess;\n this.DeletePrivllage = this.RoleAccess.DeleteAccess;\n this.AddPrivillage = this.RoleAccess.AddAccess;\n this.SweepExecutionPrivillage = this.RoleAccess.SweepExecutionAccess;\n if (!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage = true;\n this.AccountLinkList();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n )\n }\n\n // Navigate to AccountLinkMaster page\n redirectToAccoulink() {\n localStorage.setItem('ViewMode', \"\");\n localStorage.setItem('AcLinkId', \"\");\n localStorage.setItem('CustomerId', \"\");\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['AccountLinkMaster']);\n // .then(() => {\n // location.reload();\n // });\n });\n }\n\n // Navigate to sweepExecution page\n redirectToSweepExecution() {\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['sweepExecution']);\n });\n }\n\n // Getting account link\n AccountLinkList() {\n this._accountLinkMaster.fnGetAccountLinkList(localStorage.getItem('LoginUserId')).subscribe(accountsLink => {\n this.AccountLinkingList = accountsLink;\n // this.FilteredAccountLinkList = this.AccountLinkingList;\n\n this.AccountLinkingList.forEach(ele => {\n // if (ele[\"status\"] == \"1\")\n // ele[\"status\"] = \"Pending\";\n // else if (ele[\"status\"] == \"2\")\n // ele[\"status\"] = \"Approved\";\n // else if (ele[\"status\"] == \"3\")\n // ele[\"status\"] = \"Rejected\";\n // else if (ele[\"status\"] == \"5\")\n // ele[\"status\"] = \"Pending for Approval\";\n // else if (ele[\"status\"] == \"7\")\n // ele[\"status\"] = \"Pending Sweep Balance for Approval\";\n // else if (ele[\"status\"] == \"8\")\n // ele[\"status\"] = \"Pending Reverse Balance for Approval\";\n // else if (ele[\"status\"] == \"9\")\n // ele[\"status\"] = \"Sweep Balance Approved\";\n // else if (ele[\"status\"] == \"10\")\n // ele[\"status\"] = \"Reverse Balance Approved\";\n // else if (ele[\"status\"] == \"11\")\n // ele[\"status\"] = \"Sweep Balance Rejected\";\n // else if (ele[\"status\"] == \"12\")\n // ele[\"status\"] = \"Reverse Balance Rejected\";\n\n if (ele[\"CustomerStatus\"] == \"Inactive\") {\n ele[\"InactiveCustomer\"] = \" - Inactive\";\n ele[\"IsEditDisabled\"] = true;\n }\n else if (ele[\"CustomerStatus\"] == \"Pending\") {\n ele[\"InactiveCustomer\"] = \" - Pending\";\n ele[\"IsEditDisabled\"] = true;\n }\n else {\n ele[\"InactiveCustomer\"] = \"\";\n ele[\"IsEditDisabled\"] = false;\n }\n });\n\n for (var i = 0; i < this.AccountLinkingList.length; i++) {\n this.AccountLinkingList[i].IsaccLinkSelected = false;\n if(this.AccountLinkingList[i].status == \"5\" || this.AccountLinkingList[i].status == \"13\"){\n this.AccountLinkingList[i].IsAuthorizeDisable = false;\n }\n else{\n this.AccountLinkingList[i].IsAuthorizeDisable = true;\n }\n \n if(this.AccountLinkingList[i].sweepStatus == 7){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Pending Sweep Approval\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 8){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Pending Reverse Sweep Approval\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 9){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Sweep Balance Approved\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 10){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Reverse Sweep Balance Approved\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 11){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Sweep Balance Rejected\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 12){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Reverse Sweep Balance Rejected\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 16){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Not Applicable\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 2){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Approved\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 14){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Delete Approved\";\n }\n else if(this.AccountLinkingList[i].sweepStatus == 3){\n this.AccountLinkingList[i].AccLinkSweepStatus = \"Rejected\";\n }\n //Gear menu show hide conditions.\n if(this.CheckerPrivillage){\n this.AccountLinkingList[i].isGearMenuVisible=true;\n }\n else{\n if((this.AccountLinkingList[i].AccLinkSweepStatus ==\"Pending Sweep Approval\" || this.AccountLinkingList[i].AccLinkSweepStatus ==\"Pending Reverse Sweep Approval\") && this.SweepExecutionPrivillage){\n this.AccountLinkingList[i].isGearMenuVisible=false;\n }\n else {\n this.AccountLinkingList[i].isGearMenuVisible=true;\n }\n }\n if(this.AccountLinkingList[i].AccLinkStatusName==\"Delete Approved\" || this.AccountLinkingList[i].AccLinkSweepStatus == \"Not Applicable\"){\n this.AccountLinkingList[i].isGearMenuVisible=false;\n }\n if(this.CheckerPrivillage && this.AccountLinkingList[i].CreatedById == this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))){\n this.AccountLinkingList[i].isAuthorizeVisible=false;\n }\n else if(this.CheckerPrivillage || (this.CheckerPrivillage && this.AccountLinkingList[i].CreatedById != this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))){\n this.AccountLinkingList[i].isAuthorizeVisible=true;\n }\n else{\n this.AccountLinkingList[i].isAuthorizeVisible=false;\n }\n }\n\n\n if (this.RoleAccess.CheckerAccess == true) {\n var aclinkinglist = this.AccountLinkingList.filter(row => {\n return ((row.CreatedById == +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))\n && (row.status == \"2\" || row.status == \"9\" || row.status == \"10\" || row.status == \"11\" || row.status == \"12\"))\n || (row.CreatedById != +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))\n && (row.status == \"7\" || row.status == \"8\" || row.status == \"9\" || row.status == \"10\" || row.status == \"11\" || row.status == \"12\")))\n });\n var lengthAcLinkList = aclinkinglist.length;\n if (lengthAcLinkList != undefined && lengthAcLinkList == 0) {\n this.IsShowBulkExecutionToChecker = false;\n }\n else {\n this.IsShowBulkExecutionToChecker = true;\n }\n }\n\n this.FilteredAccountLinkList = this.AccountLinkingList;\n this.listLengthForSelect = this.AccountLinkingList.length;\n\n this.OnSearch(\"\", \"\", \"\", \"\", \"\", \"Active\");\n setTimeout(() => {\n this._spinner.hide();\n }, 500);\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n )\n }\n // Filtering data from list\n OnSearch(status, CustomerName, Name, Date, CreatedName, CustomerStatus) {\n \n this.pageChanged(event);\n if (status == null || status == \"\") {\n this.FilteredAccountLinkList = this.AccountLinkingList.filter(row => {\n return row.AccLinkStatusName.match(status);\n });\n }\n else {\n this.FilteredAccountLinkList = this.AccountLinkingList.filter(row => {\n return row.AccLinkStatusName == status;\n });\n }\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.filter(row => {\n return row.CustomerName.match(CustomerName);\n });\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.filter(row => {\n return row.AccLinkName.toLocaleLowerCase().match(Name.toLocaleLowerCase());\n });\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.filter(row => {\n return row.CreatedBy.toLocaleLowerCase().match(CreatedName.toLocaleLowerCase());\n });\n if (Date != \"\" && Date != null) {\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.filter(row => {\n return row.CreatedDate.toLocaleLowerCase().match(Date.singleDate.formatted.toLocaleLowerCase());\n });\n }\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.filter(row => {\n return row.CustomerStatus.match(CustomerStatus);\n });\n // this.FilteredAccountLinkList = this.FilteredAccountLinkList.filter(row => {\n // return row.AccountType.match(AccountType);\n // });\n if (status != \"\" || CustomerName != \"\" || Name != \"\" || Date != \"\" || CreatedName != \"\" || CustomerStatus != \"\") {\n this.ddlshowvalue = this.FilteredAccountLinkList.length;;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage;\n this.ddlshowStartValue = 1;\n }\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage;\n // this.ddlshowStartValue = 1;\n this.searchCount = \"\";\n this.searchCount = this.FilteredAccountLinkList.length.toString();\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";\n } else {\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.AccountLinkingList.length.toString();\n this.filterCount = \"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage;\n this.ddlshowStartValue = 1;\n this.searchCount = this.AccountLinkingList.length.toString();\n this.filterCount = \"\";\n }\n\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage;\n // this.ddlshowStartValue = 1;\n // //this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // this.searchCount = this.AccountLinkingList.length.toString();\n // this.filterCount = \"\";\n }\n }\n\n // Navigate to AccountLinkMaster for edit\n editAccountLink(accountLinkMaster: AccountLinkMaster) {\n debugger;\n if (accountLinkMaster.AccountType == \"Saving Account\") {\n accountLinkMaster.AccountType = \"SavingAccount\";\n }\n if (accountLinkMaster.AccountType == \"Current Account\") {\n accountLinkMaster.AccountType = \"CurrentAccount\";\n }\n if (accountLinkMaster.AccountType == \"Loan Account\") {\n accountLinkMaster.AccountType = \"LoanAccount\";\n }\n if (accountLinkMaster.AccountType == \"Escorw Account\") {\n accountLinkMaster.AccountType = \"EscorwAccount\";\n }\n if (accountLinkMaster.AccountType == \"Correspondent Account\") {\n accountLinkMaster.AccountType = \"CorrespondentAccount\";\n }\n\n localStorage.setItem('ViewMode', 'edit');\n localStorage.setItem('AcLinkId', accountLinkMaster.AclinkId.toString());\n localStorage.setItem('CustomerId', accountLinkMaster.CustomerId.toString());\n this._accountLinkMaster.CustomerId = accountLinkMaster.CustomerId;\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['AccountLinkMaster']);\n // .then(() => {\n // location.reload();\n // });\n });\n\n }\n\n // Navigate to AccountLinkMaster for view\n viewAccountLink(accountLinkMaster: AccountLinkMaster) {\n localStorage.setItem('ViewMode', 'view');\n localStorage.setItem('AcLinkId', accountLinkMaster.AclinkId.toString());\n localStorage.setItem('CustomerId', accountLinkMaster.CustomerId.toString());\n this._accountLinkMaster.CustomerId = accountLinkMaster.CustomerId;\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['AccountLinkMaster']);\n // .then(() => {\n // location.reload();\n // });\n });\n\n }\n\n // Navigate to AccountLinkMaster for sweep\n sweepAccountLink(accountLinkMaster: AccountLinkMaster) {\n localStorage.setItem('ViewMode', 'sweep');\n // if ((accountLinkMaster.AccLinkStatusName == 'Pending' || accountLinkMaster.AccLinkStatusName == 'Pending for Approval') && accountLinkMaster.RefAclinkId > 0 && this.SweepExecutionPrivillage){\n // localStorage.setItem('AcLinkId', accountLinkMaster.RefAclinkId.toString());\n // }\n // else{\n localStorage.setItem('AcLinkId', accountLinkMaster.AclinkId.toString());\n //}\n localStorage.setItem('CustomerId', accountLinkMaster.CustomerId.toString());\n this._accountLinkMaster.CustomerId = accountLinkMaster.CustomerId;\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['AccountLinkMaster']);\n // .then(() => {\n // location.reload();\n // });\n });\n\n }\n\n // scroll function\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n AllDeletehide() {\n this.showModalForAllDelete = false;\n this.isActive = false;\n this.AllCheckAccount = false;\n\n }\n AllDeleteShow() {\n this.showModalForAllDelete = true;\n }\n AllDeleteConfirm() {\n this.FilteredAccountLinkList.forEach(element => {\n if (element.IsaccLinkSelected == true) {\n this._accountLinkMaster.fnDeleteAccountLinkMaster(element.AclinkId, localStorage.getItem('LoginUserId')).subscribe(res => {\n this.AccountLinkList();\n this.lblMessage = res.toString(); //\"All Selected Account Link Deleted Successfully.\"\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n });\n }\n SelectAllAccountLink() {\n this.isActive = true;\n this.AllCheckAccount = true;\n this.AllDeleteShow();\n }\n DeleteAccountLink(accountlinMaster: AccountLinkMaster) {\n\n this.acclinkId = accountlinMaster.AclinkId;\n this.lblMessageDelete = \"Are you sure you want to delete?\";\n this.show();\n }\n\n DeleteAccountLinkMasterMethod() {\n this._accountLinkMaster.fnDeleteAccountLinkMaster(this.acclinkId, localStorage.getItem('LoginUserId')).subscribe(res => {\n this.AccountLinkList();\n this.lblMessage = res.toString(); //\"Account Link Deleted Successfully.\"\n if (res == 'Account Link Deleted Successfully.') {\n this.showerrormsg = false;\n this.showMsg = true;\n }\n else {\n this.showMsg = false;\n this.showerrormsg = true;\n }\n this.hide();\n //this.showlbl();\n this.onTop();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n\n fnShowonchange(newObj) {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n\n // Sorting table data\n fnSortAccountLinkMaster(field, obj) {\n //sortTableAccountLinkMst(obj);\n debugger;\n if (this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableAccountLinkMst(obj, this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableAccountLinkMst(obj, this.ascendingOrder);\n }\n\n if (this.ascendingOrder) {\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.sort((a, b) => {\n\n if (field === 'Priority') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field === 'CreatedDate') {\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n }\n else {\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.sort((a, b) => {\n\n if (field === 'Priority') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field === 'CreatedDate') {\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n\n\n checkUncheckAllAccountLink() {\n this.AllSelected = true;\n this.isActive = true;\n this.accLinkSelected != this.accLinkSelected;\n\n if (this.FilteredAccountLinkList.length > 0) {\n for (var i = 0; i < this.FilteredAccountLinkList.length; i++) {\n this.FilteredAccountLinkList[i].IsaccLinkSelected = this.accLinkSelected;\n }\n }\n else {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.AccountLinkingList[i].IsaccLinkSelected = this.accLinkSelected;\n }\n }\n\n this.getCheckedItemList();\n }\n\n isChecked(UserId, status) {\n this.AllSelected = false;\n this.IsaccLinkSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.AccountLinkingList[i].IsaccLinkSelected == this.IsaccLinkSelected;\n }\n this.getCheckedItemList();\n }\n\n\n getCheckedItemList() {\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if (this.AccountLinkingList[i].IsaccLinkSelected == true)\n this.checkedList.push(this.AccountLinkingList[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n if (this.checkedList.length > 2) {\n this.BulkDelete = false;\n }\n else {\n this.BulkDelete = true;\n }\n }\n\n AllDeleteConfirmation() {\n if (this.AllSelected == true) {\n this.ConfirmationMsg = \"Are you sure you want to delete All records?\"\n }\n if (this.AllSelected == false) {\n this.ConfirmationMsg = \"Are you sure you want to delete selected records?\"\n }\n this.AllDeleteShow();\n }\n onKeyDown(event: KeyboardEvent) {\n debugger;\n let a = (event.charCode == 8 || event.charCode == 45 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n // Setting default values\n AccountLink() {\n this._accountLinkMaster.formData = {\n AclinkId: 0,\n CustomerId: 0,\n OutputJson: '',\n status: '',\n AccLinkName: '',\n CustomerName: '',\n Comments: '',\n AccountType: '',\n UserId: null,\n CreatedBy: '',\n CreatedDate: '',\n DateCreated: '',\n UpdatedBy: '',\n UpdatedDate: '',\n Oldcomment: '',\n StructorId: null,\n StructorName: '',\n Priority: null,\n CustomerStatus: 'Active',\n InactiveCustomer: '',\n IsEditDisabled: false,\n CreatedById: 0,\n UpdatedById: 0,\n SweepExecutionApproval: null,\n AccLinkStatusName: '',\n NewAccLinkName: '',\n IsAcLinkSelected: false,\n IsDisableCheckbox: false,\n SweepApprovalRequestedBy: 0,\n RefAclinkId: 0,\n IsLastApproved: 0,\n sweepStatus: 0\n }\n }\n\n // Getting AccountLinkStatus\n fnGetAccountLinkStatus() {\n this._accountLinkMaster.fnGetAccountLinkStatus().subscribe(accountsLinkStatus => {\n this.AccountLinkStatus = accountsLinkStatus;\n });\n }\n\n // date validation \n futureDateError: boolean;\n inputDate: Date;\n disabledsearchbtn: boolean;\n checkDateValidity(date) {\n debugger;\n const mxDate = new Date();\n\n if (date != null && date != \"\") {\n this.inputDate = date.singleDate.jsDate;\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else {\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n }\n else {\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError\n }\n\n Authorize(accountlinMaster: AccountLinkMaster) { \n let viewMode = 'authorize';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n if (viewMode == 'authorize') { \n localStorage.setItem('AcLinkId', accountlinMaster.AclinkId.toString());\n localStorage.setItem('CustomerId', accountlinMaster.CustomerId.toString());\n localStorage.setItem('ViewMode', 'authorize'); \n this.router.navigate([\"AccountLinkMaster\"], navigationExtras);\n }\n }\n\n\n}\n","
\n
\n
\n
\n

Account Link Master

\n
\n
\n\n \n\n
\n
\n ×\n Success! {{lblMessage}}\n
\n
\n
\n
\n ×\n {{lblMessage}}\n
\n
\n \n\n
\n
\n \n \n \n \n\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n Created Date should be less than or equal to current date\n
\n\n
\n
\n
\n
\n \n \n
\n Created by is not valid.\n
\n
\n
\n \n \n
\n
\n \n
\n \n
\n\n \n
\n \n \n \n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CustomerAccount Link NameStructure TypePriorityStatusCreated ByCreated / Updated Date & TimeSweep Status\n \n Action\n \n
{{accountlink.CustomerName}} {{accountlink.InactiveCustomer}} {{accountlink.AccLinkName}}{{accountlink.StructorName}}{{accountlink.Priority}}{{accountlink.AccLinkStatusName}}{{accountlink.CreatedBy}}{{accountlink.CreatedDate}}{{accountlink.AccLinkSweepStatus}}\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
No records found.
\n
\n
\n \n
\n\n
\n \n
\n \n
\n \n\n\n \n\n\n\n\n\n \n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{ConfirmationMsg}}

\n
\n
\n \n \n
\n
\n
\n
\n \n","import { Component, OnInit, AfterViewInit } from '@angular/core';\nimport { ViewEncapsulation } from '@angular/core';\nimport { HttpClientModule, HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Constants } from 'src/app/Common/constant';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { AccountMasterService } from '../../MasterService/account-master.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\nimport { AccountLinkMasterService } from 'src/app/MasterService/account-link-master.service';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AccountLinkMaster, AccoutnLinkClass } from 'src/app/MasterService/AccountLinkMaster';\nimport { WindowScrollingService } from 'src/app/MasterService/window-scrolling.service';\nimport { NgForm } from '@angular/forms';\nimport { SchemeAccountLinkService } from 'src/app/MasterService/scheme-account-link.service';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\ndeclare const Save: any;\ndeclare const ready: any;\ndeclare const GetAccounlinkMaster: any;\ndeclare const getAllProperties: any;\ndeclare const getAllPropertiesEdited:any;\ndeclare const getAllPropertiesOnSweepMode:any;\ndeclare const resetTree: any;\ndeclare const HideShowAccountsfromLeftPanel: any;\ndeclare var apiUrl: string;\ndeclare var viewModeAccess: string;\ndeclare const openNav: any;\ndeclare const closeNav: any;\ndeclare const GetAccounlinkMasterAfterSweep: any;\ndeclare const SaveAccountProperties: any;\ndeclare var IsCheckerRole: any;\ndeclare var AccountLinkStatus: any; declare var flowy: any;\ndeclare var IsCheckerCreate: any;\ndeclare var sweepMethodSelectedSiteConfig;\ndeclare var dbStructType: any;\ndeclare var sweepmethodList: any;\n\n@Component({\n selector: 'app-accountlink',\n templateUrl: './accountlink.component.html',\n styleUrls: ['./accountlink.component.css'],\n encapsulation: ViewEncapsulation.None\n})\n\nexport class AccountlinkComponent implements OnInit, AfterViewInit {\n allCustList: any = [];\n\n constructor(private httpService: HttpClient, private router: Router, public _customerService: CustomerService,\n public _AccountService: AccountMasterService, public _accountLinkMaster: AccountLinkMasterService,\n public _roleAccess: RoleAccessService, private _spinner: NgxSpinnerService, public _schemeLinkService: SchemeAccountLinkService,\n public _token: TokenService, public _encrypt: EncryptdecryptService) {\n // document.addEventListener(\"DOMContentLoaded\", function () {\n // ready();\n // });\n }\n\n readonly TTUMCopyUrl = Constants.TTUMUrl;\n ttumFile: any;\n disabledTTUMFile: boolean;\n TTUMnewUrl: any;\n TTUMfnName: any;\n newMsg: any;\n sweepmethodList: any = [];\n\n ngAfterViewInit(): void {\n ready();\n }\n showUpdatedDiv: boolean = false;\n showCreatedDiv: boolean = false;\n\n\n RoleAccess: RoleAccess;\n\n //for alert on Sweep button\n showModal: boolean;\n showSweepModal: boolean;\n showReverseSweepModal: boolean;\n showModalClearTree: boolean;\n showModalResetTree: boolean;\n showError: boolean;\n resetTreeLbl: string;\n lbltitle: string;\n //------------------------------\n lblMessage: string;\n divCommenthideshow: boolean = false;\n showSweepAndReversSweepButton: boolean = false;\n //--------------------------------\n AccountLinkClassObj: AccoutnLinkClass;\n\n Accounts: AccountMaster[];\n FilteredAccountList: AccountMaster[];\n CustomerId: number = null;\n AccounLinkName: string;\n Status: string = \"1\";\n Comments: string;\n AccountType: string = null;\n\n custpkId: string;\n acLinkId: string;\n // accType: string;\n IsEdit: boolean = false;\n viewMode: string;\n IsViewMode: boolean = false;\n CommentView: boolean = false;\n IsSendForApproval: boolean = false;\n IsSweepMode: boolean = false;\n AllStructorTypes: any = [];\n isSavePropertyButtonShow: boolean = true;\n // SaveButtonTittle: string = \"Submit\";\n\n //Account Type List------------------------\n AccountTypeList: any[] = [];\n FilteredAccountTypeList: any[] = [];\n\n // acLinkdetailsList: any[] = [];\n //----------------------------------------\n\n LoginUserId: string;\n lblerror1: string;\n lblerror2: string;\n IsCustomerInactive: boolean = false;\n aclinkname: boolean = false;\n IsCreatedByOtherChecker: boolean = false;\n buttonValue: string = \"Save Draft\";\n IsSweepReqByLoginUser: boolean = false;\n\n // sweep balance approval\n IsSweepBalanceApproved: boolean = false;\n SweepBalanceVerify: boolean = false;\n\n // reverse balance approval\n IsReverseBalanceApproved: boolean = false;\n ReverseBalanceVerify: boolean = false;\n DeleteVerify: boolean = false;\n // sweep balance approval\n // IsSweepBalanceApproved: boolean = false;\n // SweepBalanceVerify: boolean = false;\n OldAccLinkName: string = \"\";\n\n // reverse balance approval\n // IsReverseBalanceApproved: boolean = false;\n // ReverseBalanceVerify: boolean = false;\n\n BackPage: string;\n BackPageValue: string = \"\";\n IsAuthorize:boolean=false;\n\n ngOnInit(): void {\n // apiUrl = Constants.apiURL;\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n this._spinner.show();\n this.onTop();\n\n this.BackPageValue = localStorage.getItem(\"BackPage\");\n localStorage.setItem(\"BackPage\", \"\");\n debugger;\n\n this.viewMode = localStorage.getItem('ViewMode');\n if (this.viewMode == 'view') {\n this.IsViewMode = true;\n this.CommentView = true;\n viewModeAccess = this.viewMode;\n this.lbltitle = \"View\";\n }\n else if (this.viewMode == 'edit') {\n this.IsViewMode = false;\n viewModeAccess = 'edit';\n this.lbltitle = \"Edit\";\n }\n else if (this.viewMode == 'sweep') {\n this.IsSweepMode = true;\n viewModeAccess = 'view';\n this.lbltitle = \"Sweep\";\n }\n else if (this.viewMode == 'authorize') { \n this.IsAuthorize = true; \n this.IsViewMode = false;\n viewModeAccess = 'edit';\n this.lbltitle = \"Edit\";\n }\n else {\n this.lbltitle = \"Add\";\n }\n this.acLinkId = localStorage.getItem('AcLinkId');\n this.custpkId = localStorage.getItem('CustomerId');\n // this.accType = localStorage.getItem('AccountType');\n this.LoginUserId = localStorage.getItem('LoginUserId');\n if (this.acLinkId != \"\" && this.acLinkId != null) {\n this.IsEdit = true;\n this._accountLinkMaster.EditedformData = new AccountLinkMaster();\n this._accountLinkMaster.EditedformData.CustomerId = parseInt(this.custpkId);\n }\n else {\n this._accountLinkMaster.EditedformData = {\n AclinkId: 0,\n CustomerId: null,\n OutputJson: '',\n status: '1',\n AccLinkName: '',\n CustomerName: '',\n Comments: '',\n AccountType: null,\n UserId: this.LoginUserId,\n CreatedBy: '',\n CreatedDate: '',\n UpdatedBy: '',\n UpdatedDate: '',\n Oldcomment: '',\n StructorId: 1,\n StructorName: '',\n Priority: null,\n DateCreated: '',\n CustomerStatus: 'Active',\n InactiveCustomer: '',\n IsEditDisabled: false,\n CreatedById: 0,\n UpdatedById: 0,\n SweepExecutionApproval: null,\n AccLinkStatusName: '',\n NewAccLinkName: '',\n IsAcLinkSelected: false,\n IsDisableCheckbox: false,\n SweepApprovalRequestedBy: 0,\n RefAclinkId: 0,\n IsLastApproved: 0,\n sweepStatus:0\n }\n\n this.IsEdit = false;\n // this.SaveButtonTittle = \"Send for Approval\";\n }\n // Getting Privillage Roles based on id\n this.GetPrivillageRoles();\n // Getting Customer List\n this.GetCustomerList();\n // Getting Structor Type\n this.StructorType();\n // this.GetAccountListForAccLinkMaster();\n //this.GetAccountLinkingMasterData();\n\n // To download TTUM\n this.DownloadTTUM();\n // Sweep Method Site Configuration function\n this.fnGetSweepMethodSiteConfiguration();\n\n if (this.BackPageValue == \"\" || this.BackPageValue == null) {\n this.BackPage = \"/AccountLinkList\";\n }\n else {\n this.BackPage = \"/sweepExecution\";\n }\n }\n // Back button function\n backbutton() {\n if (localStorage.getItem(\"BackPage\") == \"\") {\n this.router.navigate([\"/AccountLinkList\"]);\n // this.BackPage = \"/AccountLinkList\";\n }\n else\n this.router.navigate([\"/sweepExecution\"]);\n }\n Is4eyeCustomer: boolean = false;\n // Sweep execution function\n SweepBalance(UserId) {\n this.hideSweep();\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n debugger;\n var userid = \"\";\n if (UserId == '0')\n userid = this.LoginUserId;\n else\n userid = UserId;\n this.httpService.get(Constants.apiURL + 'AccountMasterApi/SweepOnAccounts?AclinkId=' + this._encrypt.encryptUsingAES256(this.acLinkId) + '&UserId=' + userid, httpOptions).subscribe(\n data => {\n this.lblMessage = this.newMsg = data.toString();\n this.show();\n\n //seema 22/10/2020 --sweep execution approval 4 eye \n if (this._accountLinkMaster.EditedformData.SweepExecutionApproval == 2)\n this.Is4eyeCustomer = true;\n else\n this.Is4eyeCustomer = false;\n\n this._accountLinkMaster.fnGetAccountLinkMaster(this.acLinkId).subscribe(aclinkObj => {\n this.AccountLinkClassObj = aclinkObj;\n GetAccounlinkMasterAfterSweep(this.AccountLinkClassObj);\n\n //add by Nitin\n debugger;\n this.newMsg = this.newMsg.split(',');\n if (this.newMsg[0] === \"Sweep Execution Successful\" || this.newMsg[0] === \"Partial Sweep Execution Successful\") {\n this.DownloadTTUM();\n }\n\n });\n }\n )\n }\n\n // To save form data into database\n SaveFunction(form: NgForm, IsConfirm, IsSendForApproval) {\n debugger;\n var aclinkName = this._accountLinkMaster.EditedformData.AccLinkName;\n aclinkName = aclinkName.replace(/\\s/g, \"\");\n if (aclinkName == \"\") {\n this._accountLinkMaster.EditedformData.AccLinkName = aclinkName;\n }\n var lbl1 = \"\"; var lbl2 = \"\";\n if (this._accountLinkMaster.EditedformData.CustomerId == 0 || this._accountLinkMaster.EditedformData.AccLinkName == \"\") {\n\n // if(this._accountLinkMaster.formData.CustomerId == 0 || this._accountLinkMaster.formData.CustomerId == null)\n // lbl1 = \"This Customer Name is required\";\n\n // if(this._accountLinkMaster.formData.AccLinkName == \"\" || this._accountLinkMaster.formData.AccLinkName == null)\n // lbl2 = \"This Account Link Name is required\";\n\n // this.lblerror1 = lbl1;\n // this.lblerror2 =lbl2;\n // this.showlblerror();\n\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n\n return false;\n }\n else {\n\n this._accountLinkMaster.EditedformData.UserId = this.LoginUserId;\n if ((this.RoleAccess != undefined && this.RoleAccess.CheckerAccess == false) || (this.RoleAccess.CheckerAccess == true && this._accountLinkMaster.EditedformData.CreatedById == +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this._accountLinkMaster.EditedformData.status = \"1\";\n }\n\n\n // else if (this.RoleAccess != undefined && this.RoleAccess.CheckerAccess == true && this._accountLinkMaster.formData.status == \"1\") {\n // this._accountLinkMaster.formData.status = \"2\";\n // }\n if (IsSendForApproval) {\n this._accountLinkMaster.EditedformData.status = \"5\";\n }\n Save(this._accountLinkMaster.EditedformData, IsConfirm);\n }\n }\n\n // Reverse Sweep execution function\n ReverseSweepBalance() {\n this.hideRevserSweep();\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n this.httpService.get(Constants.apiURL + 'AccountMasterApi/ReverseSweepOnAccounts?AcLinkId=' + this._encrypt.encryptUsingAES256(this.acLinkId) + '&UserId=' + this.LoginUserId, httpOptions).subscribe(\n data => {\n this.lblMessage = data.toString();\n this.show();\n\n //seema 22/10/2020 --sweep execution approval 4 eye \n if (this._accountLinkMaster.EditedformData.SweepExecutionApproval == 2)\n this.Is4eyeCustomer = true;\n else\n this.Is4eyeCustomer = false;\n\n this._accountLinkMaster.fnGetAccountLinkMaster(this.acLinkId).subscribe(aclinkObj => {\n this.AccountLinkClassObj = aclinkObj;\n GetAccounlinkMasterAfterSweep(this.AccountLinkClassObj);\n });\n }\n )\n }\n\n // Resetting tree while selecting customer\n SelectCustomer() {\n debugger;\n setTimeout(() => {\n resetTree();\n }, 1)\n\n let list = this.allCustList.filter(x => x.CustomerName === this._accountLinkMaster.EditedformData.CustomerName)[0];\n if(list==undefined){ } \n else{\n this._accountLinkMaster.EditedformData.CustomerId = list.CustPkId;\n } \n this._spinner.show();\n if (this._accountLinkMaster.EditedformData.CustomerId > 0) {\n this._AccountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\"), this._accountLinkMaster.EditedformData.CustomerId.toString()).subscribe(response => {\n this.Accounts = response.AccountsList;\n this.AccountTypeList = response.AccountTypeList;\n this.FilteredAccountList = this.Accounts;\n this.FilteredAccountTypeList = this.AccountTypeList;\n\n this._accountLinkMaster.fnGetAccountLinkMasterMaxPriority(this._accountLinkMaster.EditedformData.CustomerId).subscribe(maxPriority => {\n this._accountLinkMaster.EditedformData.Priority = maxPriority;\n });\n\n this._accountLinkMaster.EditedformData.AccountType = null;\n // this.FilteredAccountTypeList = this.AccountTypeList.filter(row => { return row.CustomerId == this._accountLinkMaster.formData.CustomerId; });\n // this.FilteredAccountList = this.Accounts.filter(row => { return row.CustomerId == this._accountLinkMaster.formData.CustomerId; });\n\n // //seema 04/01/2021 19:29 PM\n // this._AccountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\"), this._accountLinkMaster.EditedformData.CustomerId.toString()).subscribe(response => {\n // this.Accounts = response.AccountsList;\n // this.AccountTypeList = response.AccountTypeList;\n // this.FilteredAccountList = this.Accounts;\n // this.FilteredAccountTypeList = this.AccountTypeList;\n // setTimeout(() => {\n // HideShowAccountsfromLeftPanel(this.FilteredAccountList, this._accountLinkMaster.EditedformData.AccountType, \"\", this.LoginUserId);\n // }, 100);\n // });\n\n setTimeout(() => {\n HideShowAccountsfromLeftPanel(this.FilteredAccountList, this._accountLinkMaster.EditedformData.AccountType, \"\", this.LoginUserId);\n }, 100);\n\n getAllProperties(this._accountLinkMaster.EditedformData.CustomerId);\n getAllPropertiesEdited(this._accountLinkMaster.EditedformData.CustomerId);\n openNav();\n this._spinner.hide();\n });\n }\n else {\n this.FilteredAccountList = [];\n this.AccountTypeList = [];\n closeNav();\n }\n this.fnDuplicateAccountLinkName();\n }\n\n // Account Type function\n SelectAccountType() {\n if (this._accountLinkMaster.EditedformData.CustomerId > 0) {\n this.FilteredAccountList = this.Accounts.filter(row => { return row.CustomerId == this._accountLinkMaster.EditedformData.CustomerId; });\n setTimeout(() => {\n HideShowAccountsfromLeftPanel(this.FilteredAccountList, this._accountLinkMaster.EditedformData.AccountType, \"\", this.LoginUserId);\n }, 10);\n openNav();\n }\n\n }\n\n // Getting customer list\n GetCustomerList() {\n this._customerService.fnGetCustomerDataForAClink(localStorage.getItem(\"LoginUserId\")).subscribe(customerList => {\n if (!this.IsEdit) {\n //this.allCustList = customerList;\n customerList.forEach(element => {\n if (element[\"Status\"] == \"Active\") {\n this.allCustList.push(element);\n }\n });\n }\n else {\n customerList.forEach(element => {\n if (element[\"Status\"] == \"Active\") {\n this.allCustList.push(element);\n }\n });\n }\n });\n }\n\n // Resetting tree function\n resetToOrginal() {\n this.hideResetTree();\n resetTree();\n this._accountLinkMaster.fnResetTree(this.acLinkId).subscribe(aclinkObj => {\n aclinkObj.AccLink.UserId = localStorage.getItem(\"LoginUserId\");\n GetAccounlinkMaster(aclinkObj);\n Save(aclinkObj.AccLink, 'true');\n //this.GetAccountLinkingMasterData();\n });\n\n }\n\n // Getting Account Linking Master Data\n GetAccountLinkingMasterData() {\n //seema 04/01/2021 19:29 PM\n if (this.custpkId != null && this.custpkId != \"\" && this.custpkId != undefined) {\n this._AccountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\"), this.custpkId).subscribe(response => {\n debugger;\n this.Accounts = response.AccountsList;\n this.AccountTypeList = response.AccountTypeList;\n //this.GetAccountTypeList(this.Accounts);\n if (this.IsEdit) {\n this.FilteredAccountList = this.Accounts.filter(row => { return (row.CustomerId == parseInt(this.custpkId)); });\n if (this.FilteredAccountList[0].CustomerStatus == \"0\") {\n this.IsCustomerInactive = true;\n }\n this.FilteredAccountTypeList = this.AccountTypeList.filter(row => { return row.CustomerId == parseInt(this.custpkId); });\n this._accountLinkMaster.fnGetAccountLinkMaster(this.acLinkId).subscribe(aclinkObj => {\n this._accountLinkMaster.formData = aclinkObj.AccLink;\n let list = this.allCustList.filter(x => x.CustPkId === this._accountLinkMaster.formData.CustomerId)[0];\n if(list==undefined){ } \n else{\n this._accountLinkMaster.formData.CustomerName = list.CustomerName;\n } \n debugger;\n this._accountLinkMaster.fnGetAccountLinkMasterEdited(this.acLinkId).subscribe(aclinkMasterObj => {\n if (this.IsSweepMode == true){\n this.AccountLinkClassObj = aclinkObj;\n this._accountLinkMaster.EditedformData = aclinkObj.AccLink; \n }\n else{\n this.AccountLinkClassObj = aclinkMasterObj;\n this._accountLinkMaster.EditedformData = aclinkMasterObj.AccLink;\n }\n let list1 = this.allCustList.filter(x => x.CustPkId === this._accountLinkMaster.EditedformData.CustomerId)[0];\n if(list1==undefined){ } \n else{\n this._accountLinkMaster.EditedformData.CustomerName = list1.CustomerName;\n } \n debugger;\n AccountLinkStatus = this._accountLinkMaster.EditedformData.status;\n this.isSavePropertyButtonShow = this._accountLinkMaster.EditedformData.status != '5';\n dbStructType = this._accountLinkMaster.EditedformData.StructorId;\n if (this._accountLinkMaster.EditedformData.status === '2') {\n this.showSweepAndReversSweepButton = true;\n }\n // if (this._accountLinkMaster.formData.status === '5') {\n // this.OldAccLinkName = this._accountLinkMaster.formData.AccLinkName;\n // this._accountLinkMaster.formData.AccLinkName = this._accountLinkMaster.formData.NewAccLinkName;\n // }\n\n if (this.RoleAccess.CheckerAccess == true && (this._accountLinkMaster.EditedformData.CreatedById != +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.IsCreatedByOtherChecker = true;\n this.buttonValue = \"Verify\";\n IsCheckerCreate = true;\n }\n else {\n this.IsCreatedByOtherChecker = false;\n this.buttonValue = \"Save Draft\";\n IsCheckerCreate = false;\n }\n\n if (this._accountLinkMaster.EditedformData.SweepApprovalRequestedBy == +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))) {\n this.IsSweepReqByLoginUser = true;\n }\n else {\n this.IsSweepReqByLoginUser = false;\n }\n // if (this._accountLinkMaster.formData.status === '1' || this._accountLinkMaster.formData.status === '3' || this._accountLinkMaster.formData.status === '5') {\n // this.divCommenthideshow = true;\n // }\n\n debugger;\n if (this.IsSweepMode && this._accountLinkMaster.EditedformData.sweepStatus == 7 && this.RoleAccess.CheckerAccess) {\n this.SweepBalanceVerify = true;\n this._accountLinkMaster.EditedformData.status = null;\n }\n\n if (this.IsSweepMode && this._accountLinkMaster.EditedformData.sweepStatus == 8 && this.RoleAccess.CheckerAccess) {\n this.ReverseBalanceVerify = true;\n this._accountLinkMaster.EditedformData.status = null;\n }\n\n if (this._accountLinkMaster.EditedformData.status == \"13\" && this.RoleAccess.CheckerAccess) {\n this.DeleteVerify = true;\n this._accountLinkMaster.EditedformData.status = null;\n }\n\n if (this._accountLinkMaster.EditedformData.status === '1' || this._accountLinkMaster.EditedformData.status === '2' || this._accountLinkMaster.EditedformData.status === '3' || this._accountLinkMaster.EditedformData.status === '5') {\n this.divCommenthideshow = true;\n this.CommentView = false;\n }\n if (this._accountLinkMaster.EditedformData.status == '5' && this.RoleAccess.CheckerAccess) {\n this._accountLinkMaster.EditedformData.status = null;\n this.CommentView = true;\n this.IsSendForApproval = true;\n }\n\n if (this.IsSweepMode == true && (this._accountLinkMaster.EditedformData.SweepExecutionApproval == 1 || this._accountLinkMaster.EditedformData.status == \"9\"))\n this.IsSweepBalanceApproved = true;\n\n\n\n if (this.IsSweepMode == true && (this._accountLinkMaster.EditedformData.SweepExecutionApproval == 1 || this._accountLinkMaster.EditedformData.status == \"10\"))\n this.IsReverseBalanceApproved = true;\n\n\n if(this.IsSweepMode == true){\n getAllPropertiesOnSweepMode(this.AccountLinkClassObj.AccLink.CustomerId);\n }\n else{\n getAllProperties(this.AccountLinkClassObj.AccLink.CustomerId);\n getAllPropertiesEdited(this.AccountLinkClassObj.AccLink.CustomerId);\n }\n \n //Rubina added\n if (this._accountLinkMaster.EditedformData.CreatedBy != null) {\n this.showCreatedDiv = true\n }\n if (this._accountLinkMaster.EditedformData.UpdatedBy != \" \" && this._accountLinkMaster.EditedformData.UpdatedBy != null) {\n this.showUpdatedDiv = true\n }\n //added\n // this.acLinkdetailsList = this.AccountLinkClassObj.AccLinkDetails;\n setTimeout(() => {\n HideShowAccountsfromLeftPanel(this.FilteredAccountList, null, this.AccountLinkClassObj.AccLink.AccLinkName, this.LoginUserId,\n this.AccountLinkClassObj.AccLink.StructorId, this.AccountLinkClassObj.AccLink.Priority);\n this.AccountLinkClassObj.AccLink[\"IsAuthorize\"] = this.IsAuthorize;\n GetAccounlinkMaster(this.AccountLinkClassObj);\n this._spinner.hide();\n }, 500);\n })\n })\n }\n });\n }\n else {\n this._spinner.hide();\n }\n }\n\n // Scroll function\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n\n }\n\n\n // Getting Privillage Roles function\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/AccountLinkList').subscribe(roleAccess => {\n this.RoleAccess = roleAccess[0];\n IsCheckerRole = this.RoleAccess.CheckerAccess\n this.GetAccountLinkingMasterData();\n })\n }\n\n\n\n show() {\n this.showModal = true;\n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n });\n }\n hide() { this.showModal = false; }\n\n showSweep() {\n this.showSweepModal = true;\n $(document).ready(function () {\n $('#IDshowSweepModal').eq(0).focus();\n });\n }\n hideSweep() { this.showSweepModal = false; }\n\n showReverseSweep() {\n this.showReverseSweepModal = true;\n $(document).ready(function () {\n $('#IDshowReverseSweepModal').eq(0).focus();\n });\n }\n hideRevserSweep() { this.showReverseSweepModal = false; }\n\n // showClearTree function\n showClearTree() {\n var data = flowy.output();\n if (data != undefined) {\n this.showModalClearTree = true;\n $(document).ready(function () {\n $('#IDshowModalClearTree').eq(0).focus();\n });\n }\n else {\n this.showModal = true;\n this.lblMessage = \"No tree available to clear\";\n }\n }\n hideClearTree() { this.showModalClearTree = false; }\n\n showlblerror() {\n this.showError = true;\n $(document).ready(function () {\n $('#IDshowError').eq(0).focus();\n });\n }\n hidelblerror() { this.showError = false; }\n\n // showResetTree function\n showResetTree() {\n this._accountLinkMaster.fnResetTreelable(this.acLinkId).subscribe(msg => {\n this.resetTreeLbl = msg;\n this.showModalResetTree = true;\n $(document).ready(function () {\n $('#IDshowModalResetTree').eq(0).focus();\n });\n });\n\n }\n hideResetTree() { this.showModalResetTree = false; }\n\n // Getting AccountTypeList function\n GetAccountTypeList(accountsList: AccountMaster[]) {\n\n accountsList.forEach(element => {\n var accountTypeObj = { AccountTypeName: \"\", AccountTypeValue: \"\", CustomerId: 0 };\n\n var accTypeValue = this.AccountTypeList.filter(row => { return row.AccountTypeValue == element.AccountType && row.CustomerId == element.CustomerId; })[0];\n //var accCustomerId = this.AccountTypeList.filter(row => { return row.customerId == element.CustomerId; })[0];\n\n if (accTypeValue == null || accTypeValue == undefined) {\n if (element.AccountType == \"SavingAccount\") {\n accountTypeObj.AccountTypeName = \"Saving Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"CurrentAccount\") {\n accountTypeObj.AccountTypeName = \"Current Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"LoanAccount\") {\n accountTypeObj.AccountTypeName = \"Loan Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"EscrowAccount\") {\n accountTypeObj.AccountTypeName = \"Escrow Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"CorrespondentAccount\") {\n accountTypeObj.AccountTypeName = \"Correspondent Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"VirtualAccount\") {\n accountTypeObj.AccountTypeName = \"Virtual Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n\n this.AccountTypeList.push(accountTypeObj);\n }\n });\n\n this.FilteredAccountTypeList = [];\n\n }\n\n // ClearTreeStructure function\n ClearTreeStructure() {\n this.hideClearTree();\n resetTree();\n }\n\n Commenthideshow() {\n this.CommentView = false;\n }\n\n // StructorType function\n StructorType() {\n this._schemeLinkService.fnGetStructorType().subscribe(data => {\n this.AllStructorTypes = data;\n });\n }\n\n // adding Account Properties\n AddAccountProperties() {\n debugger;\n //form added by Nitin 25-08-2020 because priority is set 0 by default\n var value = document.getElementById(\"FixedSweepAmount\")[\"value\"];\n if (this._accountLinkMaster.formData.StructorId == 3 && parseInt(value) < this.MinsweepAmountValue) {\n this.IsMinSweepAmountValue = false;\n return false;\n }\n else {\n this._accountLinkMaster.formData.UserId = this.LoginUserId;\n this._accountLinkMaster.formData.StructorId = this._accountLinkMaster.EditedformData.StructorId;\n this._accountLinkMaster.formData.Priority = this._accountLinkMaster.EditedformData.Priority;\n this._accountLinkMaster.formData.AccLinkName = this._accountLinkMaster.EditedformData.AccLinkName;\n SaveAccountProperties(this._accountLinkMaster.formData);\n }\n }\n\n // download TTUM function\n DownloadTTUM() {\n debugger;\n this._accountLinkMaster.fndownloadTTUM(localStorage.getItem('LoginUserId')).subscribe(data => {\n if (data != \"1\") {\n this.ttumFile = data;\n this.disabledTTUMFile = true;\n this.TTUMnewUrl = this.TTUMCopyUrl.toString().split('/api/');\n this.TTUMnewUrl = this.TTUMnewUrl[0];\n this.TTUMfnName = 'api/AccountMasterApi/FnDownloadTTUMTextFile';\n }\n else {\n this.disabledTTUMFile = false;\n }\n });\n }\n\n // download TTUM as text file\n DownloadTTUMTextFie() {\n debugger;\n location.href = $('#ttumtextFile').attr('href');\n }\n\n // Account link validation\n fnDuplicateAccountLinkName() {\n debugger;\n this._accountLinkMaster.fnAccountLinkNameduplicate(this._accountLinkMaster.EditedformData.AccLinkName, this._accountLinkMaster.EditedformData.AclinkId, this._accountLinkMaster.EditedformData.CustomerId).subscribe(data => {\n if (data != 0) {\n this.aclinkname = true;\n }\n else {\n this.aclinkname = false;\n }\n });\n }\n\n // Sweep Method Site Configuration function\n fnGetSweepMethodSiteConfiguration() {\n this._accountLinkMaster.fnGetSweepMethodSiteConfiguration().subscribe(data => {\n debugger;\n this.sweepmethodList = data[0].sweepName;\n sweepmethodList = this.sweepmethodList;\n });\n }\n\n // Send for Approval Function \n SendforApprovalFunction(form: NgForm, IsConfirm, status) {\n\n if (this._accountLinkMaster.formData.status == null || this._accountLinkMaster.formData.status == \"\") {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else {\n debugger;\n this._accountLinkMaster.formData.UserId = this.LoginUserId;\n if (status.toString() != '0')\n this._accountLinkMaster.formData.status = status.toString();\n Save(this._accountLinkMaster.formData, IsConfirm);\n\n if (this._accountLinkMaster.formData.status == \"9\") {\n this.SweepBalance(this._encrypt.encryptUsingAES256(this._accountLinkMaster.formData.CreatedById.toString()));\n }\n if (this._accountLinkMaster.formData.status == \"10\") {\n this.ReverseSweepBalance();\n }\n }\n }\n\n // Structor Type function\n SelectStructorType(StuctorId) {\n if (StuctorId == 3) {\n if (this._accountLinkMaster.formData.CustomerId > 0) {\n this.FilteredAccountList = this.Accounts.filter(row => { return (row.CustomerId == this._accountLinkMaster.formData.CustomerId && row.IsRTGSEnable == 1) });\n }\n }\n else {\n if (this._accountLinkMaster.formData.CustomerId > 0) {\n this.FilteredAccountList = this.Accounts.filter(row => { return (row.CustomerId == this._accountLinkMaster.formData.CustomerId) });\n }\n }\n }\n\n\n MinsweepAmountValue: number = 200000;\n IsMinSweepAmountValue: boolean;\n // Fixed Amount function\n FixedAmount() {\n var value = document.getElementById(\"FixedSweepAmount\")[\"value\"];\n if (parseInt(value) >= this.MinsweepAmountValue) {\n this.IsMinSweepAmountValue = true;\n }\n else\n this.IsMinSweepAmountValue = false;\n }\n\n // Trigger Point function\n changeTriggerPoint() {\n debugger;\n var triggerPoint = document.getElementById(\"triggerPoint\")[\"value\"];\n var sweepDirection = document.getElementById(\"sweepDirection\")[\"value\"];\n if (triggerPoint == \"MOD\") {\n document.getElementById(\"frequencyDiv\").style.display = \"none\";\n if (sweepDirection == \"Two-way Sweep\") {\n (document.getElementById(\"ReversSweepYes\") as any).disabled = false;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = false;\n (document.getElementById(\"ReversSweepYes\") as any).checked = true;\n (document.getElementById(\"ReversSweepNo\") as any).checked = false;\n }\n else {\n (document.getElementById(\"ReversSweepYes\") as any).disabled = true;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = true;\n (document.getElementById(\"ReversSweepYes\") as any).checked = false;\n (document.getElementById(\"ReversSweepNo\") as any).checked = true;\n }\n }\n else if (triggerPoint == \"BOD\") {\n document.getElementById(\"frequencyDiv\").style.display = \"block\";\n (document.getElementById(\"frequency\") as any).disabled = true;\n document.getElementById(\"frequency\")[\"value\"] = \"Daily\";\n (document.getElementById(\"ReversSweepYes\") as any).disabled = true;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = true;\n (document.getElementById(\"ReversSweepYes\") as any).checked = false;\n (document.getElementById(\"ReversSweepNo\") as any).checked = true;\n }\n else if (triggerPoint == \"EOD\") {\n document.getElementById(\"frequencyDiv\").style.display = \"block\";\n document.getElementById(\"frequency\")[\"value\"] = \"Daily\";\n (document.getElementById(\"frequency\") as any).disabled = false;\n if (sweepDirection == \"Two-way Sweep\") {\n (document.getElementById(\"ReversSweepYes\") as any).disabled = false;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = false;\n (document.getElementById(\"ReversSweepYes\") as any).checked = true;\n (document.getElementById(\"ReversSweepNo\") as any).checked = false;\n }\n else {\n (document.getElementById(\"ReversSweepYes\") as any).disabled = true;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = true;\n (document.getElementById(\"ReversSweepYes\") as any).checked = false;\n (document.getElementById(\"ReversSweepNo\") as any).checked = true;\n }\n }\n }\n\n // change Sweep Direction function\n changeSweepDirection() {\n var sweepDirection = document.getElementById(\"sweepDirection\")[\"value\"];\n if (sweepDirection == \"Two-way Sweep\") {\n (document.getElementById(\"ReversSweepYes\") as any).disabled = false;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = false;\n (document.getElementById(\"ReversSweepYes\") as any).checked = true;\n (document.getElementById(\"ReversSweepNo\") as any).checked = false;\n }\n else {\n (document.getElementById(\"ReversSweepYes\") as any).disabled = true;\n (document.getElementById(\"ReversSweepNo\") as any).disabled = true;\n (document.getElementById(\"ReversSweepYes\") as any).checked = false;\n (document.getElementById(\"ReversSweepNo\") as any).checked = true;\n }\n this.changeTriggerPoint();\n }\n\n}\n","\n
\n
\n
\n
\n \n \n
\n
\n

{{lbltitle}} Account Link

\n
\n \n
\n
\n
\n
\n \n \n \n \n
\n Customer Name is required\n
\n\n \n \n
\n
\n \n \n
\n
\n \n \n
This\n Structure Type is required
\n
\n
\n
\n \n \n \n
\n \n \n
\n
\n This Account Link Name is required \n
\n
\n Account Link Name already exists, Please enter new account link name\n
\n
\n
\n
\n \n = 48 && event.charCode <= 57\" [(ngModel)]=\"_accountLinkMaster.EditedformData.Priority\" class=\"form-control\" Placeholder=\"Priority\" maxlength=\"5\" \n title=\"Enter Priority\" \n [ngClass]=\"{'is-invalid': (form.submitted && Priority.invalid) || (Priority.invalid && Priority.touched)}\"\n required>\n
This\n Priority is required
\n
\n
\n\n \n
\n
\n \n \n \n \n \n
\n Please select Accept or Reject.\n
\n
\n \n\n
\n \n \n \n \n
\n Please select Accept or Reject.\n
\n
\n\n
\n \n \n \n \n
\n Please select Accept or Reject.\n
\n
\n\n
\n \n \n \n \n
\n Please select Accept or Reject.\n
\n
\n\n \n
\n \n \n\n \n \n\n
\n
\n \n \n\n \n\n \n
\n
\n \n\n \n
\n\n \n \n
\n \n \n\n \n \n \n \n \n \n \n \n
\n
\n \n
\n \n
\n\n
\n
\n
\n
\n\n
\n \n \n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n

\n A/C Name - {{account.CustomerName}}
\n A/C No - {{account.AccountNumber}}
\n Bank Name - {{account.BankName}}\n \n

\n

\n Balance - Rs ({{account.CurrentBalance}})\n

\n

\n Balance - Rs {{account.CurrentBalance}}\n

\n

\n
\n
\n \n \n \n
\n
\n
\n
\n\n
\n\n\n\n
\n \n \n
\n
\n
\n \n
\n
    \n
  • \n \n \n \n \n
  • \n
\n
\n
\n \n
\n\n
\n
\n Created By {{_accountLinkMaster.EditedformData.CreatedBy}} on\n {{_accountLinkMaster.EditedformData.CreatedDate}}\n
\n
\n Updated By {{_accountLinkMaster.EditedformData.UpdatedBy}} on\n {{_accountLinkMaster.EditedformData.UpdatedDate}}\n
\n \n
\n \n \n
\n \n
\n
\n\n
\n ×\n
\n \n\n \n \n

Properties

\n \n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n\n \n\n
\n
\n Minimum fixed sweep amount should be 200000.\n
\n
\n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n
\n
\n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n \n \n
\n
\n   \n Yes\n No\n \n
\n
\n
\n
\n \n \n \n
\n
\n\n
\n
\n \n \n \n
\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessage}}\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want Sweep Balance.

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to Reverse Sweep.

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to clear entire tree?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{resetTreeLbl}}

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Error

\n \n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n\n\n\n\n","import { Component, OnInit,Inject } from '@angular/core';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport { AccountMasterService } from '../../MasterService/account-master.service';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { EditedAccontMaster, AccountCreatedUpdated } from '../../MasterService/AccountMaster';\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport { Router } from '@angular/router';\nimport {ActivatedRoute} from \"@angular/router\";\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\nimport { DOCUMENT } from '@angular/common';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { element } from 'protractor';\nimport { UserService } from '../../MasterService/user.service';\nimport { debug } from 'console';\nimport * as CryptoJS from 'crypto-js';\n\n\n@Component({\n selector: 'app-add-account',\n templateUrl: './add-account.component.html',\n styleUrls: ['./add-account.component.css']\n})\n\n\nexport class AddAccountComponent implements OnInit {\n\n //#region \n disableButton: boolean;\n disableClear:boolean;\n disableStatus:boolean;\n showMsg:boolean;\n showerrormsg:boolean;\n ViewPrivllage:boolean;\n lblMessage:string; \n allCustList:any=[];\n allBranchList:any=[];\n viewMode:string;\n CheckerPrivillage:boolean;\n IsPendingStatus:string;\n pendingStatus:boolean;\n deletePending:boolean;\n editedAccountInfo:any=[];\n editemail:string;\n showApprovalInfo:string;\n data:string;\n data2:string;\n IsAccountNumberExist:number;\n lblTitle:string;\n btnTitle:string;\n buttonvalue:string;\n accountNumlength:number=20;\n\n AccountCreatedUpdated1:AccountCreatedUpdated[];\n createdBy:number;\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n IsViewMode:boolean;\n validStatus: boolean=true;\n loginUser_UserType: string;\n loginUser_UserTypeBranchId:string;\n branchselectblock:boolean;\n UserId:number;\n IsCustomerInActive:boolean=false;\n hiddenCurrentBalance:boolean = true;\n AccountExistInAclink :boolean = false;\n AccountLinkNameList : string = \"\";\n CurrentBalanceValue : string = \"0\";\n decryptUserID:number;\n isValueChange:boolean=false; \n AccNameContainsOnlySpace:boolean = false;\n //#endregion\n\n constructor(public _AccountService: AccountMasterService,private _roleAccess:RoleAccessService,private _spinner:NgxSpinnerService,\n private router: Router,private _routeWithQuerystring:ActivatedRoute,public _customerService:CustomerService,public _userService: UserService,\n @Inject(DOCUMENT) private document: Document) { }\n editedAcountId:number;\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n //decrypt function\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n\n ngOnInit(){ \n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n \n this.UserId = +this.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n this._spinner.show();\n this._AccountService.formData;\n this.editedAccountInfo;\n this.editedAcountId = +localStorage.getItem('accountDataId');//this._AccountService.formData.AccountId;\n this._routeWithQuerystring.queryParams.subscribe(params => { \n this.viewMode = params[\"viewMode\"];\n }); \n if(this.viewMode == 'view'){\n this.disableButton=true; \n this.disableClear=true; \n } \n // else if(this.viewMode == 'edit' ){ \n // }\n this.onTop(); \n \n if(this.editedAcountId > 0) {\n if(this.viewMode == 'view'){\n this.lblTitle=\"View Account Master\";\n this.IsViewMode = true;\n this.disableButton=true;\n this.disableClear=true;\n }else{\n this.lblTitle=\"Edit Account Master\";\n this.IsViewMode = false;\n this.disableButton = false;\n this.disableClear=false; \n \n }\n }\n else{\n this.lblTitle=\"Add Account Master\";\n this.disableButton = false;\n this.disableClear=false; \n \n }\n \n this.GetPrivillageRoles(); \n if(this.editedAcountId > 0){\n }\n this.fnGetCustomerName();\n this.fncheckUserType();\n this.fnGetBranchName();\n this.lblMessage = localStorage.getItem(\"Msg\");\n \n if (this.lblMessage == null || this.lblMessage == \"\") {\n \n }\n else if(this.lblMessage.includes('Please provide a valid Account Name')){\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = false;\n this.showerrormsg = true;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n else{ \n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n } \n }\n\n // get customer records function for customer dropdown \n fnGetCustomerName(){\n return this._customerService.fnGetCustomerListForDropdown(this.editedAcountId.toString(),localStorage.getItem('LoginUserId')).subscribe(data =>{\n data.forEach(element => {\n this.allCustList.push(element); \n if(element[\"Status\"]=='0'){\n this.IsCustomerInActive=true;\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n });\n }\n\n //#region \n fnHideSuccessMsg(event)\n { \n this.showMsg = false;\n this.showerrormsg = false; \n }\n\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n //#endregion\n\n // get Branch records function for Branch dropdown \n fnGetBranchName(){\n return this._AccountService.fnGetBranchName().subscribe(data =>{\n this.allBranchList = data;\n if(this.loginUser_UserType == \"3\")\n {\n this.allBranchList = this.allBranchList.filter(row=>{\n return row.BranchId == +this.loginUser_UserTypeBranchId;\n });\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n // check user type function\n fncheckUserType(){\n this._userService.fnGetUserData(localStorage.getItem('LoginUserId'),'Edit').subscribe(Users=>{\n this.loginUser_UserType = Users[0][\"UserType\"];\n this.loginUser_UserTypeBranchId = Users[0][\"BranchUser\"];\n \n if(this.loginUser_UserType == \"3\"){\n this.branchselectblock = false;\n this.editedAccountInfo.branchId = this.loginUser_UserTypeBranchId;\n }\n else{\n this.branchselectblock = true;\n }\n }),(err)=>{\n this.router.navigate([\"404\"]);\n };\n }\n\n IsAuthorize:boolean=false;\n // get account records by id\n fnGetAccountInfobyAccountId(editedAcountId){\n debugger;\n if(this.editedAcountId > 0){\n if (this.viewMode == \"view\") {\n this.disableButton = true;\n this.disableClear = true;\n }\n if(this.viewMode == \"authorize\")\n this.IsAuthorize = true;\n\n this.decryptUserID=+this.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n this._AccountService.fnGetAccountList(localStorage.getItem('LoginUserId'),editedAcountId.toString()).subscribe(accounts => {\n debugger;\n this._AccountService.formData = accounts[0];\n this.showApprovalInfo=this._AccountService.formData.AccountStatus;\n this.CurrentBalanceValue = this._AccountService.formData.CurrentBalance;\n if (this._AccountService.formData.AccountType == \"Saving A/c\") {\n this._AccountService.formData.AccountType = \"SavingAccount\";\n }\n if (this._AccountService.formData.AccountType == \"Current A/c\") {\n this._AccountService.formData.AccountType = \"CurrentAccount\";\n }\n if (this._AccountService.formData.AccountType == \"Loan A/c\") {\n this._AccountService.formData.AccountType = \"LoanAccount\";\n }\n if (this._AccountService.formData.AccountType == \"Escrow A/c\") {\n this._AccountService.formData.AccountType = \"EscrowAccount\";\n\n }\n if (this._AccountService.formData.AccountType == \"Correspondent A/c\") {\n this._AccountService.formData.AccountType = \"CorrespondentAccount\";\n }\n if (this._AccountService.formData.AccountType == \"Virtual A/c\") {\n this._AccountService.formData.AccountType = \"VirtualAccount\";\n }\n if (this._AccountService.formData.AccountStatus == \"InActive\") {\n this._AccountService.formData.AccountStatus = \"0\";\n }\n else if (this._AccountService.formData.AccountStatus == \"Active\") {\n this._AccountService.formData.AccountStatus = \"1\"\n }\n else {\n this._AccountService.formData.AccountStatus = \"2\";\n }\n \n debugger;\n this.IsPendingStatus=String(this._AccountService.formData.reviewStatus );\n \n this._AccountService.formData;\n this.editedAccountInfo;\n if(this.IsPendingStatus==\"1\" || this.IsPendingStatus==\"4\" || this.IsPendingStatus ==\"7\"){\n this.pendingStatus=true; \n this.showApprovalInfo=this.showApprovalInfo; \n }\n debugger;\n if(this.viewMode == \"view\")\n this.disableButton = true;\n else{\n if((this.IsPendingStatus == \"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && this._AccountService.formData.CreatedBy == +localStorage.getItem(\"LoginUserId\"))\n this.disableButton = true;\n else if((this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && !this.CheckerPrivillage)\n this.disableButton = true;\n // else if(!this.CheckerPrivillage && accounts[0][\"checkerAccess\"] && !accounts[0][\"adminAccess\"]){\n // this.disableButton = true;\n // }\n else \n this.disableButton = false; \n }\n\n if(this.IsPendingStatus ==\"7\"){\n this.deletePending=true; \n }\n if(this.CheckerPrivillage == true && (this._AccountService.formData.CreatedBy != this.decryptUserID))\n this.buttonvalue = \"Verify\";\n else\n this.buttonvalue = \"Submit\";\n \n if(this.IsPendingStatus ==\"8\"){\n this.disableButton=true; \n }\n if(this.IsPendingStatus ==\"9\" && !this.CheckerPrivillage == true && (this._AccountService.formData.CreatedBy != this.decryptUserID)){\n this.disableButton=false;\n }\n this._AccountService.formData.AccountNumber=this.decryptUsingAES256(this._AccountService.formData.AccountNumber);\n\n //this.fnIsIDBIBank(this._AccountService.formData.branchId);\n //this._AccountService.formData.AccountStatus=\"-1\";\n // }\n // this._AccountService.formData.reviewStatus=4;\n // if((this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && this.CheckerPrivillage == true &&\n // (this._AccountService.formData.CreatedBy != +localStorage.getItem(\"LoginUserId\"))){\n // this._AccountService.formData.AccountStatus = \"0\";\n // }\n\n this._userService.fnGetUserData(localStorage.getItem('LoginUserId'),'Edit').subscribe(Users=>{\n if(this.CheckerPrivillage){\n\n if(this.CheckerPrivillage && (this.IsPendingStatus == \"2\" || this.IsPendingStatus == \"3\" || this.IsPendingStatus == \"5\" || this.IsPendingStatus == \"6\"\n || this.IsPendingStatus == \"8\" || this.IsPendingStatus == \"9\") && this._AccountService.formData.CreatedBy != this.decryptUserID && !accounts[0][\"adminAccess\"]){\n this.disableButton = true;\n }\n else if(this.CheckerPrivillage && (this._AccountService.formData.CreatedBy == this.decryptUserID) && (this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && !accounts[0][\"adminAccess\"]){\n this.disableButton = true;\n this.disableStatus = true;\n if (this._AccountService.formData.AccountStatus == \"2\"){\n this._AccountService.formData.AccountStatus = null;\n }\n }\n else{\n if (this._AccountService.formData.AccountStatus == \"2\"){\n this._AccountService.formData.AccountStatus = null;\n }\n this.disableButton = false;\n }\n\n if(this.IsPendingStatus ==\"8\"){\n this.disableButton=true; \n }\n\n if(this.viewMode == \"edit\" && this.CheckerPrivillage && this._AccountService.formData.CreatedBy != this.decryptUserID){\n this.disableButton = true;\n }\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n });\n }\n else{\n this._AccountService.formData = {\n AccountId: 0,\n ContactPerson: '',\n MobileNumber: '',\n EmailId: '',\n AccountName: '',\n AccountNumber: '',\n AccountType: null,\n CustomerId: null,\n CustomerName: '',\n BranchName: '',\n AccountStatus: \"2\",\n CurrencyCode: 'INR',\n BaseCurrency: 'INR',\n ForeignCurrency: '',\n CurrentBalance: '0',\n AccountDiscription: '',\n BranchCode: '',\n CorporationCode: '',\n msg: '',\n lblTitle: 'Add Account Master',\n btnTitle: 'Submit',\n IsNegative: false,\n reviewStatus: 0,\n userId: 0,\n IsAccountTypeDisable: false,\n filterStatus: 0,\n branchId: null,\n filterNewStatus: '',\n CreatedBy:0,\n RequestType:'',\n UserName:'',\n CreatedDate:'',\n DateCreated:'',\n UpdatedDate:'',\n UpdatedName:'',\n IsAccountSelected:false,\n CustomerStatus:'',\n BankName:'',\n IFSCCode:'',\n IsRTGSEnable: null,\n IsCorrespondentBank: null,\n AccountlistCount:0,\n ParentAccountNumber:''\n }\n this.buttonvalue = \"Submit\"; \n }\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n \n }\n\n //get new Account records by id \n GetEditedAccountMasterValues(editedAccountId){ \n \n if(editedAccountId > 0){\n \n return this._AccountService.fnGetEditedAccountValue(editedAccountId).subscribe(data=>{ \n this.editedAccountInfo=data; \n this.editemail=this.editedAccountInfo.EmailId;\n // if(this.CheckerPrivillage == true && (this._AccountService.formData.CreatedBy != +localStorage.getItem(\"LoginUserId\")))\n // this.buttonvalue = \"Verify\";\n // else\n // this.buttonvalue = \"Submit\"; \n this.editedAccountInfo.AccountNumber=this.decryptUsingAES256(this.editedAccountInfo.AccountNumber);\n this.fnIsIDBIBank(this.editedAccountInfo.branchId);\n this.fnGetCreatedNUpdatedAccount();\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n return this.editedAccountInfo=this._AccountService.formData;\n } \n this.editedAccountInfo; \n }\n\n //back function\n BackButton(){\n localStorage.removeItem('accountDataId');\n this.router.navigate(['/ManageAccount']);\n }\n\n //Role privillage function\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),'/ManageAccount').subscribe(roleAccess=>{ \n this.CheckerPrivillage=roleAccess[0].CheckerAccess; \n \n this.fnGetAccountInfobyAccountId(this.editedAcountId); \n this.GetEditedAccountMasterValues(this.editedAcountId);\n },(err)=>{\n this.router.navigate([\"404\"]);\n }) ;\n }\n\n //number only function\n numberOnly(event,bal): boolean {\n \n const charCode = (event.which) ? event.which : event.keyCode; \n if (charCode != 46 && charCode > 23 && (charCode===189 || charCode===109) &&(charCode < 48 || charCode > 57)){\n\n return false;\n }\n this.addCurrency(bal);\n return true;\n }\n\n addCurrency(bal){\n if(this._AccountService.formData.CurrentBalance=='')\n {\n if(bal=='')\n {\n this._AccountService.formData.CurrentBalance='INR'+' '+'';\n }\n this._AccountService.formData.CurrentBalance.replace('INR','');\n }\n if(this._AccountService.formData.CurrentBalance!='')\n {\n if(bal==0)\n {\n this.editedAccountInfo.CurrentBalance='INR'+' '+'';\n }\n this.editedAccountInfo.CurrentBalance.replace('INR','');\n }\n }\n\n //reset form function\n resetForm(form?: NgForm) {\n \n if (this.viewMode == \"edit\" && this.editedAcountId > 0) {\n if (form != null) \n // form.resetForm();\n //this.editedAccountInfo.AccountStatus=\"2\";\n this.editedAccountInfo = {\n AccountId: this.editedAcountId,\n ContactPerson: '',\n MobileNumber: '',\n EmailId: '',\n AccountName: '',\n AccountNumber: '',\n AccountType: null,\n CustomerId: null,\n CustomerName: null,\n BranchName: null,\n AccountStatus: \"2\",\n CurrencyCode: 'INR',\n BaseCurrency: 'INR',\n ForeignCurrency: '',\n CurrentBalance: '',\n AccountDiscription: '',\n BranchCode: '',\n CorporationCode: '',\n msg: '',\n lblTitle: 'Edit Account Master',\n btnTitle: 'Submit',\n IsNegative: false,\n reviewStatus: 0,\n userId: 0,\n IsAccountTypeDisable: false,\n filterStatus: 0,\n branchId: null,\n filterNewStatus: '',\n CreatedBy:0,\n RequestType:''\n \n }\n if (this.viewMode == \"edit\" && this.editedAcountId == 0) {\n this.editedAcountId == this._AccountService.formData.AccountId;\n }\n this.showMsg = false;\n this.showerrormsg = false;\n \n //this._AccountService.formData.AccountStatus=\"2\";\n //this.editedAccountInfo.AccountStatus ==;\n \n }\n else{\n if (form != null) \n form.resetForm();\n\n this.editedAccountInfo = {\n AccountId: 0,\n ContactPerson: '',\n MobileNumber: '',\n EmailId: '',\n AccountName: '',\n AccountNumber: '',\n AccountType: null,\n CustomerId: null,\n CustomerName: null,\n BranchName: null,\n AccountStatus:\"2\",\n CurrencyCode: 'INR',\n BaseCurrency: 'INR',\n ForeignCurrency: '',\n CurrentBalance: '',\n AccountDiscription: '',\n BranchCode: '',\n CorporationCode: '',\n msg: '',\n lblTitle: 'Add Account Master',\n btnTitle: 'Submit',\n IsNegative: false,\n reviewStatus: 0,\n userId: 0,\n IsAccountTypeDisable: false,\n filterStatus: 0,\n branchId: null,\n filterNewStatus: '',\n CreatedBy:0,\n RequestType:''\n \n }\n }\n // this.validStatus=false;\n }\n\n //check status validity \n checkStatusVlidaity(acconutstatus)\n {\n this._AccountService.formData.AccountStatus=acconutstatus;\n if(this.CheckerPrivillage == true){\n if(acconutstatus== \"2\")\n {\n this.validStatus=false;\n } \n else if(acconutstatus==\"null\")\n {\n this._AccountService.formData.AccountStatus = null;\n }\n else{\n this.validStatus=true;\n }\n }\n \n }\n\n //onsubmit function\n onSubmit(form: NgForm) {\n debugger;\n if (form.valid ) {\n if( this.validStatus==true){\n this.disableButton = true;\n }\n }\n\n if(form.value[\"AccountType\"] == undefined)\n form.value[\"AccountType\"] = this.editedAccountInfo.AccountType;\n if(form.value[\"CustomerName\"] == undefined)\n form.value[\"CustomerName\"] = this.editedAccountInfo.CustomerName;\n if(form.value[\"BranchName\"] == undefined)\n form.value[\"BranchName\"] = this.editedAccountInfo.branchId;\n \n if(this.AccountExistInAclink == true){\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Can not change customer as Account used in following Account Link Master - '+ this.AccountLinkNameList;\n this.onTop();\n this.disableButton = false;\n return false;\n }\n\n \n if((form.value.AccountId == 0) && (form.value.AccountNumber.length > 0)){\n this._AccountService.fnAccountNameduplicate(form.value.AccountName,'0').subscribe(AccName => {\n\n if (AccName == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Account Name already exists, Please enter new account name.';\n this.onTop();\n this.disableButton = false;\n return false;\n }\n else{\n this._AccountService.fnAccountNumberduplicate(form.value.AccountNumber,'0',form.value.BranchName).subscribe(data => {\n this.IsAccountNumberExist = data;\n \n if (this.IsAccountNumberExist == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Account Number already exists, Please enter new account number.';\n this.onTop();\n this.disableButton = false;\n return false;\n }\n \n else if (this.IsAccountNumberExist == 0) {\n \n if(!this.CheckerPrivillage && this.viewMode==undefined){\n form.value.AccountStatus=\"2\";\n form.value.reviewStatus=1;\n }\n \n form.value.userId= localStorage.getItem('LoginUserId');\n if(this._AccountService.formData.AccountId>0)\n form.value.reviewStatus=this._AccountService.formData.reviewStatus; \n \n \n // if(this.CheckerPrivillage) {\n // if(this._AccountService.formData.AccountNumber != this.editedAccountInfo.AccountNumber){\n // this.isValueChange=true;\n // form.value.AccountNumber=this.editedAccountInfo.AccountNumber;\n // }\n \n \n // if(this._AccountService.formData.AccountName != this.editedAccountInfo.AccountName){\n // this.isValueChange=true;\n // form.value.AccountName=this.editedAccountInfo.AccountName;\n // }\n \n \n // if(this._AccountService.formData.AccountType != this.editedAccountInfo.AccountType){\n // this.isValueChange=true;\n // form.value.AccountType=this.editedAccountInfo.AccountType;\n // }\n \n \n // if(this._AccountService.formData.AccountDiscription != this.editedAccountInfo.AccountDiscription){\n // form.value.AccountDiscription=this.editedAccountInfo.AccountDiscription;\n // this.isValueChange=true;\n // }\n \n \n // if(this._AccountService.formData.CurrencyCode != this.editedAccountInfo.CurrencyCode){\n // form.value.CurrencyCode=this.editedAccountInfo.CurrencyCode;\n // this.isValueChange=true;\n // }\n \n \n // if(this._AccountService.formData.BaseCurrency != this.editedAccountInfo.BaseCurrency){\n // form.value.BaseCurrency=this.editedAccountInfo.BaseCurrency;\n // this.isValueChange=true;\n // }\n \n \n // if(this._AccountService.formData.ForeignCurrency != this.editedAccountInfo.ForeignCurrency){\n // form.value.ForeignCurrency=this.editedAccountInfo.ForeignCurrency;\n // this.isValueChange=true;\n // }\n \n // if(this._AccountService.formData.CurrentBalance != this.editedAccountInfo.CurrentBalance){\n // form.value.CurrentBalance=this.editedAccountInfo.CurrentBalance;\n // this.isValueChange=true;\n // }\n \n // if(this._AccountService.formData.MobileNumber != this.editedAccountInfo.MobileNumber){\n // form.value.Mob1ileNumber=this.editedAccountInfo.MobileNumber;\n // this.isValueChange=true;\n // }\n \n // if(this._AccountService.formData.ContactPerson != this.editedAccountInfo.ContactPerson){\n // this.isValueChange=true;\n // form.value.ContactPerson=this.editedAccountInfo.ContactPerson;\n // }\n \n \n // }\n \n if(!this.isValueChange && this.viewMode==\"edit\" && !this.CheckerPrivillage)\n form.value.reviewStatus=4;\n if(this.isValueChange && this.CheckerPrivillage && this._AccountService.formData.filterStatus==1) \n form.value.reviewStatus=5;\n if( this.viewMode==\"edit\" && this.CheckerPrivillage && this._AccountService.formData.filterStatus==2) \n form.value.reviewStatus=1\n \n form.value.CustomerId=this._AccountService.formData.CustomerId;\n form.value.BranchCode=this._AccountService.formData.BranchCode;\n if(form.value.reviewStatus==0 ){\n if(this.CheckerPrivillage && this._AccountService.formData.filterStatus==1)\n form.value.reviewStatus=3;\n }\n \n if (form.value.AccountType == null || form.value.AccountType == undefined) {\n \n form.value.AccountType = localStorage.getItem(\"_AccountType\");\n }\n // this.validStatus;\n\n form.value.CurrentBalance = form.value.hdnCurrentBalance;\n \n if(this.validStatus==true){\n let list = this.allCustList.filter(x => x.CustomerName === form.value.CustomerName)[0];\n if(list==undefined){ } \n else{\n form.value.CustomerId =list.CustPkId;\n } \n this._AccountService.fnSaveAccountMasterDetails(form.value).subscribe(data => {\n this.lblMessage = data.AccountName + \" \" + data.msg;\n this.fnPageRefresh(form);\n localStorage.setItem(\"Msg\",this.lblMessage);\n\n // this._AccountService.formData.AccountId = data.AccountId;\n //this._AccountService.formData.reviewStatus = data.reviewStatus;\n //this.editedAcountId = data.AccountId;\n // this.viewMode = \"edit\";\n // if(this.CheckerPrivillage && (data.reviewStatus == 2 || data.reviewStatus == 3 || data.reviewStatus == 5 || data.reviewStatus == 6\n // || data.reviewStatus == 8 || data.reviewStatus == 9)){\n // this.disableButton = true;\n // }\n // else{\n // this.disableButton = false;\n // }\n\n\n this.disableButton = false;\n // this.fnGetCreatedNUpdatedAccount();\n \n // this.showMsg = true;\n // this.showerrormsg = false;\n this.onTop();\n \n //this.fnPageRefresh(form);\n },\n \n (error)=>{ \n this.showMsg = false;\n this.showerrormsg = true;\n this.disableButton = false;\n this.lblMessage = 'An error occured.';\n this.onTop();\n }\n );\n }\n } \n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n \n }); //close line no 449\n \n } //close line no 447\n\n if ((form.value.AccountId != 0)) {\n \n this._AccountService.fnAccountNameduplicate(form.value.AccountName,form.value.AccountId).subscribe(AccName => {\n\n if (AccName == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Account Name already exists, Please enter new account name.';\n this.onTop();\n this.disableButton = false;\n return false;\n }\n else{\n\n this._AccountService.fnAccountNumberduplicate(form.value.AccountNumber,this._AccountService.formData.AccountId.toString(),form.value.BranchName).subscribe(data => {\n this.IsAccountNumberExist = data;\n if (this.IsAccountNumberExist == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Account Number already exists, Please enter new account number.';\n this.onTop();\n this.disableButton = false;\n return false;\n }\n \n else if (this.IsAccountNumberExist == 0) {\n \n if (form.value.AccountId == null) {\n form.value.AccountId = this._AccountService.formData.AccountId;\n }\n \n if(!this.CheckerPrivillage && this.viewMode==undefined){\n form.value.AccountStatus=\"2\";\n form.value.reviewStatus=1;\n } \n \n \n form.value.userId= localStorage.getItem('LoginUserId');\n if(this._AccountService.formData.AccountId>0)\n form.value.reviewStatus=this._AccountService.formData.reviewStatus; \n \n \n if(this.CheckerPrivillage) {\n if(this._AccountService.formData.AccountNumber != this.editedAccountInfo.AccountNumber){\n this.isValueChange=true;\n form.value.AccountNumber=this.editedAccountInfo.AccountNumber;\n }\n \n \n if(this._AccountService.formData.AccountName != this.editedAccountInfo.AccountName){\n this.isValueChange=true;\n form.value.AccountName=this.editedAccountInfo.AccountName;\n }\n \n \n if(this._AccountService.formData.AccountType != this.editedAccountInfo.AccountType){\n this.isValueChange=true;\n form.value.AccountType=this.editedAccountInfo.AccountType;\n }\n \n \n if(this._AccountService.formData.AccountDiscription != this.editedAccountInfo.AccountDiscription){\n form.value.AccountDiscription=this.editedAccountInfo.AccountDiscription;\n this.isValueChange=true;\n }\n \n \n if(this._AccountService.formData.CurrencyCode != this.editedAccountInfo.CurrencyCode){\n form.value.CurrencyCode=this.editedAccountInfo.CurrencyCode;\n this.isValueChange=true;\n }\n \n \n if(this._AccountService.formData.BaseCurrency != this.editedAccountInfo.BaseCurrency){\n form.value.BaseCurrency=this.editedAccountInfo.BaseCurrency;\n this.isValueChange=true;\n }\n \n \n if(this._AccountService.formData.ForeignCurrency != this.editedAccountInfo.ForeignCurrency){\n form.value.ForeignCurrency=this.editedAccountInfo.ForeignCurrency;\n this.isValueChange=true;\n }\n \n // if(this._AccountService.formData.CurrentBalance != this.editedAccountInfo.CurrentBalance){\n // form.value.CurrentBalance=this.editedAccountInfo.CurrentBalance;\n // this.isValueChange=true;\n // }\n \n if(this._AccountService.formData.MobileNumber != this.editedAccountInfo.MobileNumber){\n form.value.MobileNumber=this.editedAccountInfo.MobileNumber;\n this.isValueChange=true;\n }\n \n if(this._AccountService.formData.ContactPerson != this.editedAccountInfo.ContactPerson){\n this.isValueChange=true;\n form.value.ContactPerson=this.editedAccountInfo.ContactPerson;\n }\n }\n if(form.value.reviewStatus==1 ){\n if(this.viewMode==\"edit\" && this.CheckerPrivillage &&\n this._AccountService.formData.filterStatus==2 && this._AccountService.formData.reviewStatus==1)\n form.value.reviewStatus=1;\n }\n // / if(this.viewMode==\"edit\" && this.CheckerPrivillage && this._AccountService.formData.filterStatus==2 && this._AccountService.formData.reviewStatus==1)\n /// form.value.reviewStatus=1\n // if(this.viewMode==\"edit\" && this.CheckerPrivillage && this._AccountService.formData.filterStatus==1 && this._AccountService.formData.reviewStatus==2)\n //form.value.reviewStatus=2 \n \n if(!this.isValueChange && this.viewMode==\"edit\" && !this.CheckerPrivillage)\n form.value.reviewStatus=4;\n //if( this.CheckerPrivillage && this._AccountService.formData.filterStatus==1) \n //form.value.reviewStatus=5; //rubina\n if(form.value.reviewStatus==4 ){\n if(this.CheckerPrivillage && this._AccountService.formData.filterStatus==2)\n form.value.reviewStatus=4;\n }\n // if(form.value.reviewStatus==7 ){\n // if(this.CheckerPrivillage && this._AccountService.formData.filterStatus==2)\n // form.value.reviewStatus=8;\n // }\n //if( this.viewMode==\"edit\" && this.CheckerPrivillage && this._AccountService.formData.filterStatus==2 && this._AccountService.formData.reviewStatus==1) \n // form.value.reviewStatus=1\n \n form.value.CustomerId=this._AccountService.formData.CustomerId;\n form.value.BranchCode=this._AccountService.formData.BranchCode;\n if(form.value.reviewStatus==0 ){\n if(this.CheckerPrivillage && this._AccountService.formData.filterStatus==1)\n form.value.reviewStatus=3;\n }\n \n \n if (form.value.AccountType == null || form.value.AccountType == undefined) {\n \n form.value.AccountType = localStorage.getItem(\"_AccountType\");\n }\n form.value.CurrentBalance = form.value.hdnCurrentBalance;\n if(this.validStatus==true){\n \n let list = this.allCustList.filter(x => x.CustomerName === form.value.CustomerName)[0];\n if(list==undefined){ } \n else{\n form.value.CustomerId =list.CustPkId;\n } \n \n this._AccountService.fnSaveAccountMasterDetails(form.value).subscribe(data => {\n this.lblMessage = data.AccountName + \" \" + data.msg;\n\n this._AccountService.formData.AccountId = data.AccountId;\n this._AccountService.formData.reviewStatus = data.reviewStatus;\n this.editedAcountId = data.AccountId;\n // this.viewMode = \"edit\";\n if(this.CheckerPrivillage && (data.reviewStatus == 2 || data.reviewStatus == 3 || data.reviewStatus == 5 || data.reviewStatus == 6\n || data.reviewStatus == 8 || data.reviewStatus == 9)){\n this.disableButton = true;\n }\n else if(data.reviewStatus == 4){\n this.disableButton = true;\n }\n else{\n this.disableButton = false;\n }\n this.fnGetCreatedNUpdatedAccount();\n \n this.showMsg = true;\n this.showerrormsg = false;\n this.onTop();\n \n //this.fnPageRefresh(form);\n \n },\n (error)=>{ \n this.showMsg = false;\n this.showerrormsg = true;\n this.disableButton = false;\n this.lblMessage = 'An error occured.';\n this.onTop();\n }\n );\n } \n }\n });\n\n } // close line 609\n\n }); // close line 599\n \n } // close line 597\n}\n\n ClearButton(form){\n \n this.resetForm(form)\n this.onTop();\n \n //this.showApprovalInfo=\"\";\n this._AccountService.formData;\n this.editedAccountInfo.formData;\n \n // this._AccountService.formData.CurrencyCode='INR';\n //this._AccountService.formData.BaseCurrency='INR';\n \n this.showMsg = false;\n this.showerrormsg = false;\n }\n\n // scroll on top function\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n \n // create/update user history function\n fnGetCreatedNUpdatedAccount(){\n //\n \n this._AccountService.fnGetCreatedUpdateAccount(this.editedAcountId.toString()).subscribe(userdates=>{\n this.AccountCreatedUpdated1=userdates;\n \n if(this.AccountCreatedUpdated1[0].CreatedDate != ''){\n this.showCreatedDiv=true;\n this.createdDate=this.AccountCreatedUpdated1[0].CreatedDate;\n this.userNameCreated=this.AccountCreatedUpdated1[0].UserName;\n }\n if(this.AccountCreatedUpdated1[1].UpdatedDate != ''){\n this.showUpdatedDiv=true;\n this.usernameUpdte=this.AccountCreatedUpdated1[1].UserName;\n this.updtedDate=this.AccountCreatedUpdated1[1].UpdatedDate;\n }\n\n });\n }\n\n fnPageRefresh(form){\n if (this.viewMode==\"edit\" && this.editedAcountId != 0) { \n this.resetForm(form);\n this.onTop();\n } \n else {\n this.resetForm(form)\n this.onTop();\n \n document.location.reload();\n }\n this.fncheckUserType();\n }\n\n fnFetchBalance(){\n return this._AccountService.fnFetchBalance(this.editedAccountInfo.AccountNumber).subscribe(data =>{\n if(data != \"No balance found\"){\n this.editedAccountInfo.CurrentBalance = data;\n }\n else{\n alert(data);\n }\n });\n }\n\n //count length of accountnumber function\n countAccountNumber(AccNumber){\n if(AccNumber.includes(\"IDBI\")){\n this.accountNumlength = 20;\n }\n else{\n this.accountNumlength = 16;\n }\n }\n\n fnIsIDBIBank(obj){\n if(obj != null){\n return this._AccountService.fnIsIDBIBank(obj).subscribe(data =>{\n if(data == \"No\"){\n this.hiddenCurrentBalance = false;\n this.fnFetchBalance();\n }\n else{\n this.hiddenCurrentBalance = true;\n this.editedAccountInfo.CurrentBalance = '0';\n }\n });\n }\n }\n\n //check accountname field is empty \n fnAccountName(AccountName){\n if(AccountName.trim().length === 0){\n this.AccNameContainsOnlySpace = true;\n }\n else\n this.AccNameContainsOnlySpace = false;\n }\n\n fnAccountExistINAcLinkMaster(form: NgForm){\n if(form.value.AccountId != 0){\n if(form.value.CustomerName != '' && (parseInt(form.value.CustomerName) != this._AccountService.formData.CustomerId)){\n this._AccountService.fnAccountExistinAccountLink(form.value.AccountId).subscribe(aclinkNameList => {\n if (aclinkNameList != \"0\") {\n this.AccountLinkNameList = aclinkNameList;\n this.AccountExistInAclink = true;\n }\n });\n }\n else{\n this.AccountExistInAclink = false;\n }\n }\n }\n\n onBlurEvent(){\n if (this.editedAcountId > 0 && this.editedAccountInfo.branchId > 0) {\n this.fnIsIDBIBank(this.editedAccountInfo.branchId); \n }\n }\n\n handleKeyboardEvent(event) {\n event.returnValue = false;\n event.preventDefault();\n }\n}","
\n
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n

{{lblTitle}}

\n
\n
\n\n
\n
\n
\n\n\n\n
\n
\n
\n \n
\n
\n

* Marked Fields Are Mandatory.

\n\n
\n
\n \n \n\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Error! {{lblMessage}}.\n
\n \n \n
\n\n
\n \n
\n \n\n \n \n\n {{_AccountService.formData.AccountName}} \n
\n
\n This Account Name is required\n
\n
\n Please provide a valid Account Name\n
\n
\n
\n\n
\n \n \n {{_AccountService.formData.AccountNumber}} \n
\n
\n This Account Number is required\n
\n
\n Please provide a valid Account Number\n
\n
\n
\n
\n \n \n {{_AccountService.formData.AccountType}} \n
This\n Account Type is required
\n
\n\n
\n \n \n \n \n \n
\n Customer Name is required\n
\n {{_AccountService.formData.CustomerName}} \n \n \n
\n\n \n \n\n
\n \n \n {{_AccountService.formData.BranchName}} \n
This\n Branch Code is required
\n
\n\n \n\n
\n \n \n \n\n {{_AccountService.formData.ContactPerson}} \n\n
\n
\n This Contact Person is required\n
\n \n
\n
\n\n
\n \n \n {{_AccountService.formData.MobileNumber}} \n \n
\n
\n This Mobile no is required.\n
\n
\n Phone number should be only numbers.\n
\n
\n Phone number should be 10 digit.\n
\n
\n
\n\n
\n \n \n\n \n \n\n\n
\n
\n EmailId is required.\n
\n
\n Please provide a valid email address.\n
\n
\n
\n\n
\n \n \n \n {{_AccountService.formData.CurrentBalance}} \n
\n\n \n\n
\n \n \n {{_AccountService.formData.CurrencyCode}} \n
\n
\n \n \n {{_AccountService.formData.BaseCurrency}} \n
\n\n
\n \n \n {{_AccountService.formData.ForeignCurrency}} \n
\n\n
\n \n \n {{_AccountService.formData.AccountDiscription}} \n
\n\n
\n \n\n
\n \n {{showApprovalInfo}} \n\n\n
\n This Account Status is required
\n
\n\n
\n
\n \n {{showApprovalInfo}} \n \n\n\n
\n This Account Status is required
\n
\n
\n\n
\n\n\n \n\n \n\n\n \n\n\n \n
\n\n
\n
\n \n \n \n \n \n
\n
\n\n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n\n\n
\n \n
\n
\n
\n
\n\n\n\n\n\n\n \n ","import { Component, OnInit, Pipe,ViewChild, ElementRef, ViewEncapsulation } from '@angular/core';\nimport { AccountMasterService } from '../../MasterService/account-master.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { LoginDetails } from '../../Common/LoginDetail';\nimport { RoleAccessService } from '../../MasterService/role-access.service';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport * as CryptoJS from 'crypto-js';\nimport * as $ from 'jquery';\nimport{EncryptdecryptService} from 'src/app/MasterService/encryptdecrypt.service';\nimport { LoginService } from 'src/app/MasterService/Login.service';\nimport { debug } from 'console';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\nimport { NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\n\ndeclare var sortTableAccountMst: Function;\n\n\n@Component({\n selector: 'app-manage-account',\n templateUrl: './manage-account.component.html',\n styleUrls: ['./manage-account.component.css'],\n //encapsulation: ViewEncapsulation.None\n})\nexport class ManageAccountComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n // other options are here...\n };\n\n // #region \n Accounts: any=[];\n FilteredAccountList: any=[];\n\n RoleAccess: RoleAccess;\n ddlshowStartValue:number;\n ddlshowvalue: number;\n searchCount: string;\n filterCount: string;\n showerrormsg: boolean;\n fileName:string;\n lastSortedByField;\n ascendingOrder = true;\n AllAccchk: boolean;\n isActive: boolean;\n showModalForAllDelete: boolean;\n\n // Bulk Delete fields\n AccountSelected:boolean;\n IsAccountSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n AllSelected: boolean;\n ConfirmationMsg: string;\n AllDeleteCheck: boolean;\n\n ///Bulk Approval...................\n AddEditBulkApproval:boolean;\n AddEditBulkApprovalLabel: boolean;\n AuthorizeStatus: number;\n CheckerPrivillage:boolean;\n AccountReviewstatus: number;\n AccountStatus: string;\n lblMessageDeletesuccess:string;\n checkedBulkList: any[];\n HistoryPrivllage:boolean;\n LoginAccessList: any;\n IndentId:number;\n\n public accountId;\n showModalDelete: boolean;\n lblMessageDelete: string;\n\n showModal:boolean;\n showMsg:boolean;\n lblMessage:string;\n EmptyDataMsg:string;\n\n //role access ..........................................\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n AddImportAccess:boolean;\n AddExportAccess:boolean;\n PrivillageImportExportdv:boolean;\n\n showBackButton:boolean;\n status: string; \n ddlDropdownValue: any;\n \n // #endregion\n\n constructor(public _AccountService: AccountMasterService, private router: Router, public _roleAccess: RoleAccessService, \n private SpinnerService: NgxSpinnerService,private _encryption:EncryptdecryptService,public _login: LoginService,\n public _PaginationService:PaginationService , private ngbDateParserFormatter: NgbDateParserFormatter) { }\n config: any;\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n\n ngOnInit(): void {\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this.IndentId = +localStorage.getItem(\"IndentId\");\n localStorage.removeItem(\"IndentId\");\n\n this.SpinnerService.show();\n localStorage.removeItem('accountDataId');\n this.onTop();\n this.AccountMaster();\n this.GetPrivillageRoles();\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue = 10;\n this.ddlshowStartValue = 1;\n sortTableAccountMst(6,false);\n\n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n }\n \n // #region \n showDelete() { this.showModalDelete = true; }\n hideDelete() { this.showModalDelete = false; }\n\n show() { this.showModal = true; \n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n }); }\n hide() { this.showModal = false; }\n\n AllDeletehide(){this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllAccchk=false;\n }\n\n AllDeleteShow(){\n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.showModalForAllDelete=true\n }\n //#endregion\n\n // #region \n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n // #endregion\n\n // page change function\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // if(this.FilteredAccountList.length{ \n this.RoleAccess=roleAccess[0]; \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.AddImportAccess = this.RoleAccess.AddImportAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess;\n if(this.AddImportAccess || this.AddExportAccess){\n this.PrivillageImportExportdv=true;\n }\n else{\n this.PrivillageImportExportdv=false;\n \n }\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage=true;\n\n if(this.IndentId == null || this.IndentId == 0){\n this.AccountList(\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"1\",this.sortOrder,\"1\");\n //this.AccountListForExport();\n }\n else\n this.IndentRecordsList(); \n \n },(err)=>{\n this.router.navigate([\"404\"]);\n }); \n }\n //get Account data for Export\n ExportAccounts:any = [];\n FilterExportAccounts: any = [];\n// AccountListForExport(){\n// this._AccountService.fnGetAccountListForExport(localStorage.getItem('LoginUserId')).subscribe(account=>{\n// this.ExportAccounts = account;\n\n// for (var i = 0; i < this.ExportAccounts.length; i++) {\n// this.ExportAccounts[i].AccountNumber=this.decryptUsingAES256(this.ExportAccounts[i].AccountNumber);\n// if(this.ExportAccounts[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n// this.ExportAccounts[i].IsDisableAccount = true;\n// }\n// }\n\n// this.FilterExportAccounts = this.ExportAccounts;\n// this.FilterExportAccounts = this.FilterExportAccounts.filter(row=>{\n// return row.AccountStatus == \"Active\";\n// });\n// });\n// }\n\n\n //get Account data function\n AccountList(AccountName,AccountNumber,AccountType,BranchName,CreatedBy,CreatedData,CorpCode,requestType,status,\n SortOrder = \"\",pageNumber=\"\") {\n \n if(pageNumber != \"\")\n this.pageNo=pageNumber;\n this._AccountService.fnGetAccountList(localStorage.getItem('LoginUserId'),\"0\",this.pageNo,this.config.itemsPerPage.toString(),\n AccountName,AccountNumber,AccountType,BranchName,CreatedBy,CreatedData,CorpCode,requestType,status, SortOrder).subscribe(accounts => {\n this.Accounts = accounts;\n \n // this.FilteredAccountList = this.Accounts;\n\n for (var i = 0; i < this.Accounts.length; i++) {\n if(this.Accounts[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.Accounts[i].IsDisableAccount = true;\n }\n // if(this.Accounts[i].IsDisableAccount){\n // this.Accounts[i].IsDisableAccount = true;\n // }\n\n this.Accounts[i].AccountNumber=this.decryptUsingAES256(this.Accounts[i].AccountNumber);\n this.Accounts[i].IsAccountSelected = false;\n\n if(this.checkedList.length > 0){ \n for (var j = 0; j < this.checkedList.length; j++) {\n if(this.checkedList[j].AccountId == this.Accounts[i].AccountId){\n this.Accounts[i].IsAccountSelected = true; \n } \n } \n }\n\n if(this.Accounts[i].reviewStatus == 1 || this.Accounts[i].reviewStatus == 4 || this.Accounts[i].reviewStatus == 7)\n this.Accounts[i].IsAuthorizeDisable = false;\n else\n this.Accounts[i].IsAuthorizeDisable = true;\n\n if(this.Accounts[i].reviewStatus == 1 || this.Accounts[i].reviewStatus==4){\n this.Accounts[i].deleteIconDisable = true;\n }\n else if(this.Accounts[i].reviewStatus ==7 && (!this.CheckerPrivillage || this.Accounts[i].CreatedBy == +this.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.Accounts[i].deleteIconDisable = true;\n }\n else{this.Accounts[i].deleteIconDisable=false;}\n }\n\n this.FilteredAccountList = this.Accounts;\n this.listLengthForSelect = this.Accounts.length;\n\n if(accounts.length > 0){ \n this.totalCount = accounts[0].AccountlistCount;\n this.totalNoOfPages(); \n }\n else if(accounts.length == 0){\n this.totalCount =0;\n this.totalNoOfPages(); \n }\n //------page Listing Meassage------------------\n if(this.ddlDropdownValue==10 || this.ddlDropdownValue==undefined){\n if(this.FilteredAccountList.length<10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredAccountList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue == 25){\n if(this.FilteredAccountList.length< 25 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredAccountList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue == 50){\n if(this.FilteredAccountList.length < 50){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredAccountList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue == 100){\n if(this.FilteredAccountList.length < 100){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredAccountList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n // if(this.FilteredAccountList.length<10){\n // this.ddlshowvalue = this.totalCount;\n // }\n //this.OnSearch(\"\",\"1\", \"\", \"\", \"\", \"\", \"\",\"\",\"\");\n // ----checker side Bulk Authorize---------------------------\n this.getCheckedBulkAuthorize();\n if(this.FilteredAccountList.length!=0 && this.CheckerPrivillage==true && (\n this._AccountService.formData.RequestType==\"1\" || this._AccountService.formData.RequestType==\"4\") &&\n (this._AccountService.formData.AccountStatus==\"2\" || this._AccountService.formData.AccountStatus==\"\" ))\n {\n this.AddEditBulkApproval=true;\n }\n else{\n this.AddEditBulkApproval=false;\n this.AddEditBulkApprovalLabel=false;\n }\n //End-- checker side bulk Authorize---------------------------\n this.GetHistoryPrivillage(); \n setTimeout(() => {\n this.SpinnerService.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n //get account data function if these form is navigated by indent master\n IndentRecordsList(){\n if(this.IndentId != null && this.IndentId !=-0){\n this.showBackButton = true;\n }\n this._AccountService.fnGetIndentAccountList(this.IndentId.toString()).subscribe(accounts => {\n this.Accounts = accounts;\n \n \n for (var i = 0; i < this.Accounts.length; i++) {\n if(this.Accounts[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.Accounts[i].IsDisableAccount = true;\n }\n this.Accounts[i].AccountNumber=this.decryptUsingAES256(this.Accounts[i].AccountNumber);\n this.Accounts[i].IsAccountSelected = false;\n if(this.Accounts[i].reviewStatus == 1 || this.Accounts[i].reviewStatus==4){\n this.Accounts[i].deleteIconDisable = true;\n }\n else if(this.Accounts[i].reviewStatus ==7 && (!this.CheckerPrivillage || this.Accounts[i].CreatedBy == +this.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.Accounts[i].deleteIconDisable = true;\n }\n else{this.Accounts[i].deleteIconDisable=false;}\n }\n\n this.FilteredAccountList = this.Accounts;\n this.listLengthForSelect = this.Accounts.length;\n\n if(accounts.length > 0){ \n this.totalCount = 2;\n this.totalNoOfPages(); \n }\n\n // this.OnSearch(\"\",\"1\", \"\", \"\", \"\", \"\", \"\",\"\",\"\");\n this.GetHistoryPrivillage(); \n\n\n setTimeout(() => {\n this.SpinnerService.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n //back function if these form is navigated by indent master\n BackButton(){\n localStorage.setItem('newIndendentId',String(this.IndentId));\n localStorage.setItem('_Flag','Authorization');\n this.router.navigate(['/AddEditFundDisburs']);\n }\n\n // navigate to edit Account page\n EditAccountDetails(Account: AccountMaster) {\n // if (Account.AccountStatus.toLocaleLowerCase() == \"inactive\") {\n // Account.AccountStatus = \"0\";\n // }\n // else if(Account.AccountStatus.toLocaleLowerCase()==\"pending\"){\n // Account.AccountStatus=\"2\"\n // } \n // else {\n // Account.AccountStatus = \"1\";\n // }\n \n \n\n Account.userId = +localStorage.getItem('LoginUserId');\n \n\n let viewMode = 'edit';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n if (viewMode == 'edit') {\n localStorage.setItem('accountDataId',String(Account.AccountId));\n this.router.navigate([\"AddAccount\"], navigationExtras);\n }\n //this.router.navigate(['/AddAccount']);\n }\n\n // navigate to view Account page\n ViewAccountDetails(Account: AccountMaster) {\n // if (Account.AccountStatus == \"Inactive\") {\n // Account.AccountStatus = \"0\";\n // }\n // else if (Account.AccountStatus == \"Pending\") {\n // Account.AccountStatus = \"2\"\n // }\n // else {\n // Account.AccountStatus = \"1\";\n // }\n\n // if (Account.AccountType == \"Saving Account\") {\n // Account.AccountType = \"SavingAccount\";\n // }\n // if (Account.AccountType == \"Current Account\") {\n // Account.AccountType = \"CurrentAccount\";\n // }\n // if (Account.AccountType == \"Loan Account\") {\n // Account.AccountType = \"LoanAccount\";\n // }\n // if (Account.AccountType == \"Escrow Account\") {\n // Account.AccountType = \"EscrowAccount\";\n // }\n // if (Account.AccountType == \"Correspondent Account\") {\n // Account.AccountType = \"CorrespondentAccount\";\n // }\n\n // Account.lblTitle = \"View Account Master\";\n // Account.btnTitle = \"View Mode\";\n // this._AccountService.formData = Account;\n let viewMode = 'view';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n if (viewMode == 'view') {\n localStorage.setItem('accountDataId',String(Account.AccountId));\n this.router.navigate([\"AddAccount\"], navigationExtras);\n }\n }\n \n //Delete confirmation function \n DeleteAccount(Account: AccountMaster) {\n\n this.accountId = Account.AccountId;\n this.status = Account.AccountStatus;\n this.lblMessageDelete = \"Are you sure you want to delete?\";\n this.show();\n }\n\n //Delete function\n DeleteAccountMethod() {\n this._AccountService.fnDeleteAccount(this.accountId, this.status, localStorage.getItem('LoginUserId')).subscribe(res => {\n this._AccountService.formData.AccountStatus = \"1\";\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this.currentPage=1;\n this._AccountService.formData.AccountName =\"\" ;this._AccountService.formData.AccountNumber=\"\";\n this._AccountService.formData.AccountType=\"\"; this._AccountService.formData.BranchCode=\"\",\n this._AccountService.formData.CreatedBy=null ,this._AccountService.formData.CreatedDate=\"\",\n this._AccountService.formData.CorporationCode=\"\",this._AccountService.formData.RequestType =\"\",\n this._AccountService.formData.AccountStatus=\"1\";\n this.showFirstPage(this._AccountService.formData.AccountName,this._AccountService.formData.AccountNumber,\n this._AccountService.formData.AccountType,this._AccountService.formData.BranchCode,\n this._AccountService.formData.CreatedBy,this._AccountService.formData.CreatedDate,\n this._AccountService.formData.CorporationCode,this._AccountService.formData.RequestType ,\n this._AccountService.formData.AccountStatus);\n this.lblMessage = res;\n if(res == 'Account Deleted Successfully.')\n {\n this.showerrormsg = false;\n this.showMsg = true;\n }\n else {\n this.showMsg = false;\n this.showerrormsg = true;\n }\n this.hide();\n this.onTop();\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n // scroll on top function\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n //search function\n OnSearch(RequestType ,Status, AccountNumber, AccountName, AccountType, BranchCode, CorporationCode,CreatedDate,CreatedBy,SortOrder = \"\",pageNumber=\"\") {\n this.SpinnerService.show();\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n \n\n if(this.ComingFromExport == false){\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status,this.sortOrder,'1');\n this.pageChanged(1); \n // this.SpinnerService.hide();\n } \n // this.ComingFromExport = false;\n // this.pageChanged(event); //Adding line seema 21/05/2020 16:51\n // this.FilteredAccountList = this.Accounts.filter(row => {\n // if(Status == \"1\")\n // return row.filterNewStatus == Status;\n // else if(Status == \"InActive\")\n // return row.filterNewStatus == Status;\n // else\n // return row.filterNewStatus.match(Status);\n // });\n\n // if (Status == '1' || Status == 'InActive') {\n // this.FilteredAccountList = this.Accounts.filter(row => { return row.filterNewStatus == Status; });\n // }\n // else{\n // this.FilteredAccountList = this.Accounts.filter(row => {\n // return row.filterNewStatus.match(Status);\n // });\n // }\n //\n \n if(this.ComingFromExport == true){\n this.FilterExportAccounts = this.ExportAccounts.filter(row => {\n return row.AccountNumber.toLocaleLowerCase().match(AccountNumber.toLocaleLowerCase());\n });\n \n var status = \"\";\n if(Status !=\"\"){\n if(Status == \"1\") { status = \"Active\"; } \n else if(Status == \"2\") {status = \"Pending\"; } \n else if(Status == \"0\") {status=\"InActive\" }\n else{status=\"\"};\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.AccountStatus == status;\n });\n }\n else{\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.AccountStatus.toLocaleLowerCase().match(status.toLocaleLowerCase());\n });\n }\n \n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.AccountName.toLocaleLowerCase().match(AccountName.toLocaleLowerCase());\n });\n\n var accountType = \"\";\n if(AccountType !=\"\"){\n if(AccountType == \"1\"){ accountType = \"Saving A/c\"}\n else if(AccountType == \"2\"){ accountType = \"Current A/c\"}\n else if(AccountType == \"3\"){ accountType = \"Loan A/c\"}\n else if(AccountType == \"4\"){ accountType = \"Escrow A/c\"}\n else if(AccountType == \"5\"){ accountType = \"Correspondent A/c\"}\n else if(AccountType == \"6\"){ accountType = \"Virtual A/c\"}\n else{ accountType = \"\"}\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.AccountType.match(accountType);\n });\n \n }\n \n if(CreatedDate!=null && CreatedDate!=\"\"){\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.DateCreated == CreatedDate;\n });\n }\n if(CreatedBy != null && CreatedBy !=\"\"){\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.UserName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n });\n }\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.BranchName.toLocaleLowerCase().match(BranchCode.toLocaleLowerCase());\n });\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.CorporationCode.toLocaleLowerCase().match(CorporationCode.toLocaleLowerCase());\n });\n\n var requestType = \"\";\n if(RequestType == \"1\") { requestType = \"Add Approval Pending\"; } else if(RequestType == \"2\") {requestType = \"Add Approved\"; }\n else if(RequestType == \"3\") { requestType = \"Add Rejected\"; } else if(RequestType == \"4\") {requestType = \"Edit Approval Pending\"; }\n else if(RequestType == \"5\") { requestType = \"Edit Approved\"; } else if(RequestType == \"6\") {requestType = \"Edit Rejected\"; }\n else if(RequestType == \"7\") { requestType = \"Delete Approval Pending\"; } else if(RequestType == \"8\") {requestType = \"Delete Approved\"; }\n else if(RequestType == \"9\") { requestType = \"Delete Rejected\"; } else {RequestType = \"\"; }\n this.FilterExportAccounts = this.FilterExportAccounts.filter(row => {\n return row.RequestType.toLocaleLowerCase().match(requestType.toLocaleLowerCase());\n });\n this.ComingFromExport = false;\n }\n // this.SpinnerService.hide();\n // var j =0;\n // for (var i = 0; i < this.FilteredAccountList.length; i++) {\n // if(this.FilteredAccountList[i].IsDisableAccount){\n // j=j+1;\n // }\n // }\n // if(this.FilteredAccountList.length==j){\n // this.AllDeleteCheck=true;\n // }\n // else{\n // this.AllDeleteCheck=false;\n // }\n\n\n // if (AccountName != \"\" || AccountNumber != \"\" || AccountType != \"\" || BranchCode != \"\" || CorporationCode != \"\" || Status != \"\") {\n // this.ddlshowvalue=this.FilteredAccountList.length;\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage;\n // this.ddlshowStartValue = 1;\n // }\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage;\n // // this.ddlshowStartValue = 1;\n // this.searchCount = \"\";\n // this.searchCount = this.FilteredAccountList.length.toString();\n // this.filterCount = \"(filtered from \" + this.Accounts.length + \" total entries)\";\n // } \n // else {\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // this.searchCount = this.Accounts.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // this.searchCount = this.Accounts.length.toString();\n // this.filterCount =\"\";\n // }\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage;\n // // this.ddlshowStartValue = 1;\n // // //this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n // // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // // this.searchCount = this.Accounts.length.toString();\n // // this.filterCount = \"\";\n // }\n // this.getCheckedBulkAuthorize();\n // if (this.FilteredAccountList.length!=0 && this.CheckerPrivillage==true && (RequestType==\"Add approval pending\" || RequestType==\"Edit approval pending\") && (Status==\"Pending\" || Status==\"\" )){\n // this.AddEditBulkApproval=true;\n // }\n // else{\n // this.AddEditBulkApproval=false;\n // this.AddEditBulkApprovalLabel=false;\n // }\n\n \n }\n\n fnShowonchange(newObj,AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status) {\n // this.ddlshowvalue = 0;\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = newObj.target.value;\n this.ddlshowStartValue = 1;\n this.currentPage = 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status,this.sortOrder,\"1\");\n \n }\n \n //navigate to upload account form function\n AddbulkAccount() {\n this.router.navigate(['/UploadBulkAccount']);\n }\n\n \n // this lone for download PDF\n @ViewChild('tblAccountMasterhide', {static: false}) tblAccountMasterhide: ElementRef;\n @ViewChild('tblAccountMasterhidepdf', {static: false}) tblAccountMasterhidepdf: ElementRef;\n exportaccount(ddlValue){\n debugger;\n if(ddlValue === \"excel\"){\n this.fileName= 'AccountMasterReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblAccountMasterhide.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'AccountMasterReport.rtf';\n var ele = document.getElementById('tblAccountMasterhideRTF');\n var blob = new Blob([\"

Account Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'AccountMasterReport.html'; \n var ele = document.getElementById('tblAccountMasterhide');\n var blob = new Blob([\"

Account Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"pdf\"){\n this.SpinnerService.show();\n debugger\n let DATA = this.tblAccountMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblAccountMasterhidepdf');\n let doc = new jsPDF('l','mm',[2800,1500]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Account Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1500,\n 'elementHandlers': handleElement\n });\n doc.save('AccountMasterReport.pdf');\n this.SpinnerService.hide();\n }\n this.SpinnerService.hide();\n }\n\n // @ViewChild('tblAccountMasterhide') tblAccountMasterhide:ElementRef;\n ComingFromExport:boolean = false;\n fndownloadReport(ddlValue){ \n if(this.FilterExportAccounts.length == 0 || this.FilterExportAccounts == null || this.FilterExportAccounts == undefined){\n this.SpinnerService.show();\n this._AccountService.fnGetAccountListForExport(localStorage.getItem('LoginUserId')).subscribe(account=>{\n this.ExportAccounts = account;\n\n for (var i = 0; i < this.ExportAccounts.length; i++) {\n this.ExportAccounts[i].AccountNumber=this.decryptUsingAES256(this.ExportAccounts[i].AccountNumber);\n if(this.ExportAccounts[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportAccounts[i].IsDisableAccount = true;\n }\n }\n\n this.FilterExportAccounts = this.ExportAccounts;\n this.ComingFromExport = true;\n this.OnSearch(this._AccountService.formData.RequestType ,this._AccountService.formData.AccountStatus, this._AccountService.formData.AccountNumber\n , this._AccountService.formData.AccountName, this._AccountService.formData.AccountType , this._AccountService.formData.BranchCode\n , this._AccountService.formData.CorporationCode,this._AccountService.formData.CreatedDate,this._AccountService.formData.CreatedBy);\n \n setTimeout(() => {\n this.exportaccount(ddlValue);\n\n }, 500);\n });\n }\n else{\n this.SpinnerService.show();\n this.ComingFromExport = true;\n this.OnSearch(this._AccountService.formData.RequestType ,this._AccountService.formData.AccountStatus, this._AccountService.formData.AccountNumber\n , this._AccountService.formData.AccountName, this._AccountService.formData.AccountType , this._AccountService.formData.BranchCode\n , this._AccountService.formData.CorporationCode,this._AccountService.formData.CreatedDate,this._AccountService.formData.CreatedBy);\n setTimeout(() => {\n this.exportaccount(ddlValue); \n }, 500);\n }\n \n // if(ddlValue === \"pdf\"){\n // this.SpinnerService.show();\n // debugger\n // let DATA = this.tblAccountMasterhide.nativeElement;\n // var ele = document.getElementById('tblAccountMasterhide');\n // let doc = new jsPDF('p','pt',[4000,4000]);\n // var blob = new Blob([], {\n // });\n // let handleElement = {\n // '#editor':function(element,renderer){\n // return true;\n // }\n // };\n // doc.fromHTML(\"

Account Master's Report.


\"+ele.innerHTML+\"
\",15,15,{\n // //'width': 2000,\n // 'elementHandlers': handleElement\n // });\n // doc.save('AccountMasterReport.pdf');\n \n // // $(\"#dvAccountMasterhide\").css(\"display\", \"block\");\n // // this.fileName = 'AccountMasterReport.pdf';\n \n // //doc.save('AccountMasterReport.pdf');\n // this.SpinnerService.hide();\n \n // }\n\n \n } // fun closing\n\n // @ViewChild('tblAccountMasterhidepdf', {static: false}) tblAccountMasterhidepdf: ElementRef;\n fndownloadReportPdf(ddlValue){\n if(ddlValue === \"pdf\"){\n this.SpinnerService.show();\n debugger\n let DATA = this.tblAccountMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblAccountMasterhidepdf');\n let doc = new jsPDF('l','mm',[2800,1500]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Account Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1500,\n 'elementHandlers': handleElement\n });\n doc.save('AccountMasterReport.pdf');\n \n this.SpinnerService.hide();\n \n }\n }\n\n //grid record sort asc/desc function\n fnSortAccountMaster(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n \n sortTableAccountMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableAccountMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredAccountList = this.FilteredAccountList.sort((a, b) => {\n if(field == 'CurrentBalance'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if(field == 'CreatedDate'){\n if (a['DateCreated'].toLowerCase() < b['DateCreated'].toLowerCase())\n return -1;\n if (a['DateCreated'].toLowerCase() > b['DateCreated'].toLowerCase())\n return 1;\n \n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.FilteredAccountList = this.FilteredAccountList.sort((a, b) => {\n if(field == 'CurrentBalance'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if(field == 'CreatedDate'){\n if (a['DateCreated'].toLowerCase() < b['DateCreated'].toLowerCase())\n return 1;\n if (a['DateCreated'].toLowerCase() > b['DateCreated'].toLowerCase())\n return -1;\n \n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n return 0;\n }\n });\n }\n }\n \n//#region ----------------------------------------- \n AllDeleteConfirmation(){\n this.AllDeleteShow();\n }\n\n checkUncheckAllAccount() {\n this.AllSelected=true;\n this.isActive = true;\n // this.chkValue=true;\n\n this.AccountSelected != this.AccountSelected;\n\n if (this.FilteredAccountList.length > 0) {\n for (var i = 0; i < this.FilteredAccountList.length; i++) {\n if(this.FilteredAccountList[i].IsDisableAccount != true){\n this.FilteredAccountList[i].IsAccountSelected = this.AccountSelected;\n } \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.Accounts[i].IsDisableAccount != true){\n this.Accounts[i].IsAccountSelected = this.AccountSelected; \n }\n }\n }\n\n this.getCheckedItemList();\n }\n\n isChecked(UserId,status){\n this.AllSelected=false;\n this.IsAccountSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.Accounts[i].IsAccountSelected == this.IsAccountSelected; \n }\n this.getCheckedItemList();\n }\n\n getCheckedItemList(){\n\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.Accounts[i].IsAccountSelected == true)\n this.checkedList.push(this.Accounts[i]);\n }\n this.checkedList = this.checkedList;\n\n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n }\n\n AllDeleteConfirm(){\n this.FilteredAccountList.forEach(element => {\n if(element.IsAccountSelected == true){\n this._AccountService.fnBulkDeleteAccount(element.AccountId, element.AccountStatus, (localStorage.getItem('LoginUserId'))).subscribe(res => {\n this.AccountList(\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"1\",this.sortOrder,\"1\"); \n this.lblMessage = res;\n this.hide();\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n \n this.lblMessage=\"All Selected Accounts Deleted Successfully . \"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n });\n }\n\n SelectAllAccount(){\n this.isActive = true;\n this.AllAccchk=true;\n this.AllDeleteShow();\n }\n//#endregion\n\nonKeyDown(event: KeyboardEvent) {\n \n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\nreturn a;\n}\n\n//#region -----------------------------------------\ncheckall(){\n if (this.FilteredAccountList.length > 0) {\n for (var i = 0; i < this.FilteredAccountList.length; i++) {\n if(this.FilteredAccountList[i].IsDisableAccount != true){\n this.FilteredAccountList[i].IsAccountSelected = this.AccountSelected;\n } \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.Accounts[i].IsDisableAccount != true){\n this.Accounts[i].IsAccountSelected = this.AccountSelected; \n }\n }\n }\n if (this.FilterExportAccounts.length > 0) {\n for (var i = 0; i < this.FilterExportAccounts.length; i++) {\n if(this.FilterExportAccounts[i].IsDisableAccount != true){\n this.FilterExportAccounts[i].IsAccountSelected = this.AccountSelected;\n } \n }\n }\n else\n {\n for (var i = 0; i < this.ExportAccounts.length; i++) {\n if(this.ExportAccounts[i].IsDisableAccount != true){\n this.ExportAccounts[i].IsAccountSelected = this.AccountSelected; \n }\n }\n }\n this.getCheckedBulkAuthorize();\n}\ncheckUncheckAllBulkApproval() {\n if(this.FilterExportAccounts.length == 0 || this.FilterExportAccounts == null || this.FilterExportAccounts == undefined){\n this.SpinnerService.show();\n this._AccountService.fnGetAccountListForExport(localStorage.getItem('LoginUserId')).subscribe(account=>{\n this.ExportAccounts = account;\n\n for (var i = 0; i < this.ExportAccounts.length; i++) {\n this.ExportAccounts[i].AccountNumber=this.decryptUsingAES256(this.ExportAccounts[i].AccountNumber);\n if(this.ExportAccounts[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportAccounts[i].IsDisableAccount = true;\n }\n }\n\n this.FilterExportAccounts = this.ExportAccounts;\n this.ComingFromExport = true;\n this.OnSearch(this._AccountService.formData.RequestType ,this._AccountService.formData.AccountStatus, this._AccountService.formData.AccountNumber\n , this._AccountService.formData.AccountName, this._AccountService.formData.AccountType , this._AccountService.formData.BranchCode\n , this._AccountService.formData.CorporationCode,this._AccountService.formData.CreatedDate,this._AccountService.formData.CreatedBy);\n \n setTimeout(() => {\n this.checkall();\n this.SpinnerService.hide();\n }, 500);\n });\n }\n else{\n this.SpinnerService.show();\n this.ComingFromExport = true;\n this.OnSearch(this._AccountService.formData.RequestType ,this._AccountService.formData.AccountStatus, this._AccountService.formData.AccountNumber\n , this._AccountService.formData.AccountName, this._AccountService.formData.AccountType , this._AccountService.formData.BranchCode\n , this._AccountService.formData.CorporationCode,this._AccountService.formData.CreatedDate,this._AccountService.formData.CreatedBy);\n setTimeout(() => {\n this.checkall();\n this.SpinnerService.hide();\n }, 500);\n}\n \n // this.getCheckedItemList();\n\n// this.AccountSelected != this.AccountSelected;\n// if (this.FilteredAccountList.length > 0) {\n// for (var i = 0; i < this.FilteredAccountList.length; i++) {\n// this.FilteredAccountList[i].IsAccountSelected = this.AccountSelected; \n// }\n// }\n// if(this.AccountSelected==true){\n// this.AddEditBulkApprovalLabel=true;\n// }\n// else{\n// this.AddEditBulkApprovalLabel=false;\n// }\n\n}\n\nsingleCheck(AccountId,status){\n \n this.AllSelected=false;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.Accounts[i].AccountId == AccountId)\n this.Accounts[i].IsAccountSelected = status; \n }\n \n for (var i = 0; i < this.FilterExportAccounts.length; i++) {\n if(this.FilterExportAccounts[i].AccountId == AccountId)\n this.FilterExportAccounts[i].IsAccountSelected = status; \n }\n \n this.getCheckedBulkAuthorize();\n }\nIsBulkAutherizeCheck(AccountId,status){\n \n if(this.FilterExportAccounts.length == 0 || this.FilterExportAccounts == null || this.FilterExportAccounts == undefined){\n this.SpinnerService.show();\n this._AccountService.fnGetAccountListForExport(localStorage.getItem('LoginUserId')).subscribe(account=>{\n this.ExportAccounts = account;\n\n for (var i = 0; i < this.ExportAccounts.length; i++) {\n this.ExportAccounts[i].AccountNumber=this.decryptUsingAES256(this.ExportAccounts[i].AccountNumber);\n if(this.ExportAccounts[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportAccounts[i].IsDisableAccount = true;\n }\n }\n\n this.FilterExportAccounts = this.ExportAccounts;\n this.ComingFromExport = true;\n this.OnSearch(this._AccountService.formData.RequestType ,this._AccountService.formData.AccountStatus, this._AccountService.formData.AccountNumber\n , this._AccountService.formData.AccountName, this._AccountService.formData.AccountType , this._AccountService.formData.BranchCode\n , this._AccountService.formData.CorporationCode,this._AccountService.formData.CreatedDate,this._AccountService.formData.CreatedBy);\n \n setTimeout(() => {\n this.singleCheck(AccountId,status);\n this.SpinnerService.hide();\n }, 500);\n });\n }\n else{\n this.SpinnerService.show();\n this.ComingFromExport = true;\n this.OnSearch(this._AccountService.formData.RequestType ,this._AccountService.formData.AccountStatus, this._AccountService.formData.AccountNumber\n , this._AccountService.formData.AccountName, this._AccountService.formData.AccountType , this._AccountService.formData.BranchCode\n , this._AccountService.formData.CorporationCode,this._AccountService.formData.CreatedDate,this._AccountService.formData.CreatedBy);\n setTimeout(() => {\n this.singleCheck(AccountId,status);\n this.SpinnerService.hide();\n }, 500);\n }\n}\n\ngetCheckedBulkAuthorize(){\n this.checkedBulkList = [];\n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.Accounts[i].IsAccountSelected == true)\n // this.checkedBulkList.push(this.Accounts[i]);\n // }\n for (var i = 0; i < this.FilterExportAccounts.length; i++) {\n if(this.FilterExportAccounts[i].IsAccountSelected == true)\n this.checkedBulkList.push(this.FilterExportAccounts[i]);\n }\n \n this.checkedList = this.checkedBulkList;\n if(this.checkedBulkList.length >= 1){\n this.AddEditBulkApprovalLabel=true;\n }\n else{\n this.AddEditBulkApprovalLabel=false;\n }\n}\n\nselectAccountList:Account[];\nBulkAuthorizeConfirm(){\n \n// this.FilteredAccountList;\n this.selectAccountList=[];\n \n\n// for(var i=0;i0){\n this._AccountService.fnBulkAccountAuthorize(this.selectAccountList,localStorage.getItem('LoginUserId'),this.AuthorizeStatus).subscribe(res => { \n this.AccountList(\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"1\",\"Created_DESC\",\"1\");\n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.UncheckAllcheckbox();\n //this.OnSearch(\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"1\",\"Created_DESC\",\"1\");\n this.AddEditBulkApprovalLabel=false;\n this.showModalForAllDelete=false;\n this.onTop();\n \n this.showMsg=true;\n this.lblMessage=\"Bulk Authorize Completed For All Selected Records Succesfully\"; \n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n \n \n\n}\n\nApproved(){\n this.showModalForAllDelete = true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n});\n this.ConfirmationMsg = \"Approve\"\n this.AuthorizeStatus = 2;\n this._AccountService.formData.RequestType = \"\";\n this._AccountService.formData.AccountStatus = \"1\";\n}\n\nRejectd(){\n this.showModalForAllDelete = true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n});\n this.ConfirmationMsg = \"Reject\";\n this.AuthorizeStatus = 3;\n this._AccountService.formData.RequestType = \"\";\n this._AccountService.formData.AccountStatus = \"1\";\n}\n\nUncheckAllcheckbox(){\n this.AccountSelected=false;\n this.AddEditBulkApprovalLabel=false;\n for (var i = 0; i < this.FilteredAccountList.length; i++) {\n this.FilteredAccountList[i].IsAccountSelected = false;\n }\n for (var i = 0; i < this.FilterExportAccounts.length; i++) {\n this.FilterExportAccounts[i].IsAccountSelected = false;\n}\n}\n\n//#endregion Bulk Authorize -----------------------------------------\n\n//navigate to Accout audit ruport function\nAccounAuditHistory(AccountId){\n AccountId=this._encryption.encryptUsingAES256(AccountId)\n let navigationExtras: NavigationExtras = {\n queryParams: {\n AccountId\n }\n};\nthis.router.navigate([\"AccountAuditReportById\"], navigationExtras); \n //localStorage.setItem(\"AuditaccId\",String(acc.AccountId));\n // this.router.navigate(['/AccountAuditReport']);\n}\n\nGetHistoryPrivillage(){\n this.LoginAccessList= this._login.LoginAccessList;\n this.LoginAccessList.forEach(element => {\n if(element.menuName==\"Reports\")\n {\n element.moduleList.forEach(element => {\n if(element[\"moduleName\"]=='Account Audit Trail')\n { \n this.HistoryPrivllage=true;\n } \n });\n }\n });\n}\n\nfnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\"); \n}\n\nfnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n}\n\n\n\n//------------------method for pagination-------------------- \n//-------------------------pagination start------------------------------------------\n\n pageNo: any = 1; \n pageNumber: boolean[] = []; \n sortOrder: any = 'CreatedDate_DESC'; \n order:any='CreatedDate'; \n \n pageField = []; \n exactPageList: any; \n paginationData: number; \n orderBy: string='Desc'; \n \n totalCount: any; \n currentPage = 1; \n ComingFromLast:boolean = false;\n ComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \n if(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n }\n if(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n } \n this.filterCount = this.totalCount;\n this.paginationData = Number(this.totalCount/this.config.itemsPerPage); \n let tempPageData = this.paginationData.toFixed(); \n if (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n } else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n }\n if(this._PaginationService.exactPageList < 10){\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n }\n else{\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = 10;\n } \n this._PaginationService.pageOnLoad(); \n this.pageField = this._PaginationService.pageField; \n\n if(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n }\n} \n\nshowAccountsByPageNumber(page, i,AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status) { \n // this.FilteredAccountList = []; \n this.pageNumber = []; \n this.pageNumber[i] = true; \n this.pageNo = page; \n this.currentPage =page; \n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status, this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n\nshowPrevAccounts(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status) { \n \n if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status, this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n\n} \n\nshowFirstPage(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status){\n \n // if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n // this.pageNumber = []; \n // this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status, this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n // } \n}\n\nshowLastPage(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status){\n\n\n// if(this._PaginationService.disabledNextBtn == false){\n \n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n\n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n \n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status, this.sortOrder);\n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n\n// }\n}\n\nsortByHeading(value: string, id , AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableAccountMst(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableAccountMst(id,false); \n } \n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status,\n this.sortOrder); \n this.pageChanged(this.pageNo); \n\n} \n\nshowNext(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status) { \n\n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0]; \n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.AccountList(AccountName,AccountNumber,AccountType, BranchCode,CreatedBy,CreatedDate,CorporationCode,RequestType ,Status, this.sortOrder);\n this.pageChanged(this.pageNo); \n } \n} \n\nAuthorize(Account: AccountMaster) {\n Account.userId = +localStorage.getItem('LoginUserId');\n let viewMode = 'authorize';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n if (viewMode == 'authorize') {\n localStorage.setItem('accountDataId',String(Account.AccountId));\n this.router.navigate([\"AddAccount\"], navigationExtras);\n }\n}\n}\n\n","
\n
\n \n
\n
\n
\n \n
\n
\n

Account Master

\n
\n
\n
\n
\n\n
\n
\n
\n ×\n Success! {{lblMessage}}\n
\n\n
\n
\n
\n ×\n {{lblMessage}}\n
\n
\n \n \n
\n
\n \n \n\n
\n Please Enter a valid Account Name\n
\n
\n\n
\n \n \n\n
\n Please Enter a valid Account Number\n
\n
\n\n
\n \n \n
\n\n
\n \n \n\n
\n Please Enter a valid Branch Name\n
\n
\n\n
\n \n \n\n
\n Please Enter a valid Name\n
\n
\n\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n \n
\n \n
\n\n
\n \n \n\n
\n Please Enter a valid Corporation Code\n
\n
\n\n
\n
\n \n
\n \n
\n
\n \n
\n
\n \n \n \n \n
\n
\n
\n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n\n
\n \n
\n \n \n
\n \n
\n \n \n\n
\n
\n \n \n \n
\n
\n \n \n \n \n
\n \n
\n\n
\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Account NameAccount NumberAccount TypeCorporation CodeBalanceCreated ByCreated / Updated Date & TimeRequest TypeStatus\n \n Action\n \n \n
\n \n \n
\n
{{account.AccountName}}{{account.AccountNumber}}{{account.AccountType}}{{account.CorporationCode}}{{account.CurrentBalance}}{{account.UserName}}{{account.CreatedDate}}{{account.RequestType}}{{account.AccountStatus}}\n
\n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
No records found.
\n\n
\n
\n \n
\n
\n \n\n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n
\n \" class=\"nav-link\" class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\" \n style=\"margin-top: -0.25em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" \n aria-expanded=\"false\"/>\n \n \n \n \n \n \n \n
\n \n
\n \n \n\n \n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Account NameAccount NumberAccount TypeCustomer NameBranch NameContact PersonMobile NumberEmail Id Current BalanceCurrency CodeBase CurrencyForeign CurrencyAccount DescriptionStatusCreated ByCreated DateUpdated ByUpdated Date
{{account.AccountName}}{{account.AccountNumber}}{{account.AccountType}}{{account.CustomerName}}{{account.BranchName}}{{account.ContactPerson}}{{account.MobileNumber}}{{account.EmailId}}{{account.CurrentBalance}}{{account.CurrencyCode}}{{account.BaseCurrency}}{{account.ForeignCurrency}}{{account.AccountDiscription}}{{account.AccountStatus}}{{account.UserName}}{{account.CreatedDate}}{{account.UpdatedName}}{{account.UpdatedDate}}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Account NameAccount NumberAccount TypeCorporation CodeBalanceCreated ByCreated Date & TimeRequest TypeStatus
{{account.AccountName}}{{account.AccountNumber}}{{account.AccountType}}{{account.CorporationCode}}{{account.CurrentBalance}}{{account.UserName}}{{account.CreatedDate}}{{account.RequestType}}{{account.AccountStatus}}
\n\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Account NameAccount NumberAccount TypeCorporation CodeBalanceCreated ByCreated Date & TimeRequest TypeStatus
{{account.AccountName}}{{account.AccountNumber}}{{account.AccountType}}{{account.CorporationCode}}{{account.CurrentBalance}}{{account.UserName}}{{account.CreatedDate}}{{account.RequestType}}{{account.AccountStatus}}
\n\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete?

\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to {{ConfirmationMsg}} All Selected Records?

\n
\n
\n \n \n
\n
\n
\n
\n\n \n ","import { Component, OnInit , ViewEncapsulation} from '@angular/core';\nimport { AccountLinkMaster, SweepMethodClass } from 'src/app/MasterService/AccountLinkMaster';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { AccountLinkMasterService } from 'src/app/MasterService/account-link-master.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Router } from '@angular/router';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { AccountlinkComponent } from '../accountlink/accountlink.component';\nimport { throwIfAlreadyLoaded } from 'src/app/@core/module-import-guard';\nimport { stat } from 'fs';\nimport { IfStmt } from '@angular/compiler';\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\nimport { event } from 'jquery';\nimport { runInNewContext } from 'vm';\n\ndeclare var sortTableAccountLinkMst: Function;\ndeclare var showCustomerDropdown: any;\ndeclare var showTriggerPointDropdown: any;\n\n@Component({\n selector: 'app-sweep-execution',\n templateUrl: './sweep-execution.component.html',\n styleUrls: ['./sweep-execution.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SweepExecutionComponent implements OnInit {\n\n constructor(private router: Router, public _customerService: CustomerService, public _accountLinkMaster: AccountLinkMasterService, private _spinner: NgxSpinnerService, public _roleAccess: RoleAccessService, public _encrypt: EncryptdecryptService) { }\n\n //#region \n ddlshowStartValue: number;\n AccountLinkingList: AccountLinkMaster[];\n lblMessage: string;\n FilteredAccountLinkList: AccountLinkMaster[];\n lastSortedByField;\n ascendingOrder = true;\n showMsg: boolean;\n showErrorMsg: boolean;\n config: any;\n ddlshowvalue: number;\n searchCount: number;\n filterCount: string;\n allCustList: any = [];\n CustomerId: string = \"\";\n SelectStatus: number = 7;\n VerifyStatus: number = null;\n IsSubmitted: boolean = false;\n allStatus: any = [];\n\n showSweepModal: boolean;\n showReverseSweepModal: boolean;\n\n RoleAccess: RoleAccess;\n AddEditAccess: boolean = false;\n showSuccessModal: boolean;\n\n\n AccountLinkId: string;\n isCheckerBulkRequest: boolean = false;\n\n\n AllCustomerSelect: boolean = true;\n TriggerPointList: any = [];\n VerifyBulkApprovalLabel: boolean;\n isAlldisable: boolean;\n\n // #region \n CustselectedItems = [];\n TriggerPointselectedItems = [];\n CustomerdropdownSettings: IDropdownSettings = {};\n TriggerPointdropdownSettings: IDropdownSettings = {};\n // #endregion\n //#endregion\n\n ngOnInit(): void {\n this._spinner.show();\n this.onTop();\n this.GetPrivillageRoles(); // get role privillage\n this.fnGetSweepMethodSiteConfiguration(); //get sweep method from site config\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue = 10;\n\n sortTableAccountLinkMst(6, false); //sort the list in asc/desc order\n localStorage.setItem('BackPage', '');\n\n this.lblMessage = localStorage.getItem(\"Msg\");\n\n if (this.lblMessage == null || this.lblMessage == \"\") {\n\n } else {\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showErrorMsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n\n //set a status dropdown value \n this.allStatus = [\n { 'status': 7, 'AccLinkStatusName': 'Pending Sweep Approval' },\n { 'status': 9, 'AccLinkStatusName': 'Sweep Balance Approved' },\n { 'status': 11, 'AccLinkStatusName': 'Sweep Balance Rejected' },\n { 'status': 10, 'AccLinkStatusName': 'Reverse Sweep Balance Approved' },\n { 'status': 12, 'AccLinkStatusName': 'Reverse Sweep Balance Rejected' }\n ]\n\n //customer dropdown setting\n this.CustomerdropdownSettings = {\n singleSelection: false,\n idField: 'CustPkId',\n textField: 'CustomerName',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 1,\n allowSearchFilter: true,\n enableCheckAll: true,\n };\n\n }\n Opendropdown() {\n //$('.dropdown-list')[0].hidden=false;\n }\n\n onItemSelect(item: any) {\n console.log(item);\n }\n onSelectAll(items: any) {\n console.log(items);\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showErrorlbl() {\n this.showErrorMsg = true;\n }\n hideErrorlbl() {\n this.showErrorMsg = false;\n }\n\n AccountLinkList() {\n this.AccountLinkingList = [];\n this._accountLinkMaster.fnGetAccountLinkList(localStorage.getItem('LoginUserId')).subscribe(accountsLink => {\n\n if (this.RoleAccess.CheckerAccess == true) {\n accountsLink.forEach(ele => {\n if (\n (ele[\"status\"] == \"2\" || ele[\"status\"] == \"7\" || ele[\"status\"] == \"9\" || ele[\"status\"] == \"10\" || \n ele[\"status\"] == \"11\") || ele[\"status\"] == \"12\" || (ele[\"status\"] == \"5\" && ele[\"IsLastApproved\"] == 1) ||\n (ele[\"status\"] == \"3\" && ele[\"IsLastApproved\"] == 1))\n this.AccountLinkingList.push(ele);\n\n // if(ele[\"SweepApprovalRequestedBy\"] != +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")) && \n // (ele[\"status\"] == \"2\" || ele[\"status\"] == \"7\" || ele[\"status\"] == \"9\" || ele[\"status\"] == \"10\" || ele[\"status\"] == \"11\") || ele[\"status\"] == \"12\")\n // this.AccountLinkingList.push(ele);\n\n // if(this.ActionType == \"1\" && ele[\"SweepApprovalRequestedBy\"] != +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")) ){\n // this.AccountLinkingList.push(ele);\n // }\n });\n }\n else {\n //seema 13/01/2021 12:43 PM adding row.status == \"11\"\n //added condition for status=1\n this.AccountLinkingList = accountsLink.filter(row => {\n return ((row.status == \"2\") || (row.status == \"9\") || row.status == \"10\" || row.status == \"11\" || row.status == \"12\" || \n (row.status == \"5\" && row.IsLastApproved == 1) || (row.status == \"3\" && row.IsLastApproved == 1) || (row.status ==\"1\" && row.IsLastApproved == 1));\n });\n // this.AccountLinkingList = this.AccountLinkingList.filter(row => \n // { return (row.CreatedById == +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))) \n // });\n }\n\n this.FilteredAccountLinkList = this.AccountLinkingList;\n this.listLengthForSelect = this.AccountLinkingList.length;\n\n\n // if(this.RoleAccess.CheckerAccess && !this.AddEditAccess){\n // this.SelectCustomerType(\"4\"); \n // }\n // else\n this.SelectCustomerType(\"2\");\n // this.OnSearch(\"Approved\",\"\",\"\");\n setTimeout(() => {\n this._spinner.hide();\n }, 500);\n })\n }\n\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/AccountLinkList').subscribe(roleAccess => {\n this.RoleAccess = roleAccess[0];\n if (roleAccess[0].AddAccess && roleAccess[0].EditAccess) {\n this.AddEditAccess = true;\n }\n this.AccountLinkList(); //get account list\n });\n }\n\n is4EyeCustomer: boolean = false;\n OtherUserAccountLink: boolean = false;\n\n SelectCustomer() {\n this.showMsg = false;\n this.showErrorMsg = false;\n if (this.CustomerId != null && this.CustomerId != \"\") {\n // this.FilteredAccountLinkList = this.AccountLinkingList.filter(row => { return (row.CustomerId == this.CustomerId); });\n if (this.FilteredAccountLinkList[0].SweepExecutionApproval == 2)\n this.is4EyeCustomer = true;\n else\n this.is4EyeCustomer = false;\n }\n else {\n this.FilteredAccountLinkList = this.AccountLinkingList;\n this.is4EyeCustomer = false;\n }\n this.FilteredAccountLinkList.forEach(ele => {\n ele[\"IsAcLinkSelected\"] = false;\n var custObj = { CustPkId: 0, CustomerName: \"\", AccLinkStatusName: \"\", status: \"\", CreatedBy: \"\" };\n custObj.CustPkId = ele.CustomerId;\n custObj.CustomerName = ele.CustomerName;\n custObj.status = ele.status;\n custObj.AccLinkStatusName = ele[\"AccLinkStatusName\"];\n custObj.CreatedBy = this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n });\n\n\n if (this.is4EyeCustomer && (this.allStatus.length > 1 || this.OtherUserAccountLink))\n if (this.RoleAccess.CheckerAccess == false || (this.allStatus.length > 1 || this.OtherUserAccountLink)) {\n this.SelectStatus = null;\n }\n else {\n this.SelectStatus = 0;\n }\n }\n\n showSweep(triggerPoint) {\n this.triggerPoint = triggerPoint;\n this.AccountLinkId = \"\";\n this.IsSubmitted = true;\n\n this.AccountLinkingList.forEach(element => {\n if (element[\"IsAcLinkSelected\"] == true) {\n if (this.AccountLinkId == \"\")\n this.AccountLinkId += element[\"AclinkId\"];\n else\n this.AccountLinkId += \",\" + element[\"AclinkId\"];\n }\n });\n\n if (this.AccountLinkId != null && this.AccountLinkId != \"\") {\n this.showSweepModal = true;\n }\n }\n hideSweep() { this.showSweepModal = false; }\n\n ShowReverseSweep() {\n this.IsSubmitted = true;\n if (this.CustomerId != null && this.CustomerId != \"\") {\n this.showReverseSweepModal = true;\n }\n }\n hideReverseSweep() { this.showReverseSweepModal = false; }\n\n ShowSuccessModal() {\n this.showSuccessModal = true;\n }\n\n HideSuccessModal() {\n this.showSuccessModal = false;\n }\n\n triggerPoint: string = \"\";\n Sweep(UserId) {\n debugger;\n if (UserId == \"0\")\n UserId = localStorage.getItem('LoginUserId');\n\n this.hideSweep();\n if (this.triggerPoint == \"MOD\") {\n this._accountLinkMaster.fnSweepExecute(this.AccountLinkId, UserId).subscribe(message => {\n this.lblMessage = message;\n if (message == 'Today is a non working day, therefore sweep can not be executed.') {\n this.showErrorlbl();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(row=>{\n row.IsAcLinkSelected = false;\n });\n this.DisableSweepReverseButton = true;\n }\n else if (message == 'Customer is Inactive') {\n this.showErrorlbl();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(row=>{\n row.IsAcLinkSelected = false;\n });\n this.DisableSweepReverseButton = true;\n }\n else {\n this.lblMessage = \"Accounts with trigger point as \" + this.triggerPoint + \" will be executed. Please check Sweep Summary Report for more details.\";\n this.showlbl();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(row=>{\n row.IsAcLinkSelected = false;\n });\n this.DisableSweepReverseButton = true;\n }\n\n });\n }\n else {\n this._accountLinkMaster.fnBulkSweepExecute(this.AccountLinkId, this.triggerPoint).subscribe(message => {\n this.lblMessage = \"Accounts with trigger point as \" + this.triggerPoint + \" will be executed. Please check Sweep Summary Report for more details.\";\n this.showlbl();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(row=>{\n row.IsAcLinkSelected = false;\n });\n this.DisableSweepReverseButton = true;\n });\n }\n\n }\n\n ReverseSweep(UserId) {\n if (UserId == \"0\") {\n UserId = localStorage.getItem('LoginUserId');\n }\n this.hideReverseSweep();\n this._accountLinkMaster.fnReverseSweepExecute(this.FilteredAccountLinkList, UserId).subscribe(message => {\n this.lblMessage = message;\n if (message == 'Today is a non working day, therefore Reverse sweep can not be executed.') {\n this.showErrorlbl();\n }\n else if (message == 'Customer is Inactive') {\n this.showErrorlbl();\n }\n else if (message == 'No transaction for Reverse Sweep') {\n this.showErrorlbl();\n }\n else {\n this.showlbl();\n }\n });\n }\n\n BankButton() {\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['AccountLinkList']);\n });\n }\n\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage * this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage - 1);\n if (this.FilteredAccountLinkList.length <= this.ddlshowvalue) { this.ddlshowvalue = this.FilteredAccountLinkList.length; }\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n fnShowonchange(newObj) {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n\n fnSortAccountLinkMaster(field, obj) {\n //sortTableAccountLinkMst(obj);\n if (this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableAccountLinkMst(obj, this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableAccountLinkMst(obj, this.ascendingOrder);\n }\n\n if (this.ascendingOrder) {\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.sort((a, b) => {\n\n if (field === 'Priority') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field === 'CreatedDate') {\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n }\n else {\n this.FilteredAccountLinkList = this.FilteredAccountLinkList.sort((a, b) => {\n\n if (field === 'Priority') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field === 'CreatedDate') {\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n CustomerType: string = \"2\";\n SendforApprovalFunction(status) {\n\n var sts = \"\";\n this.AllDeletehide();\n for (var i = 0; i < this.FilteredAccountLinkList.length; i++) {\n if (this.FilteredAccountLinkList[i].IsAcLinkSelected == true) {\n this._accountLinkMaster.formData = this.FilteredAccountLinkList[i];\n this._accountLinkMaster.formData.UserId = localStorage.getItem('LoginUserId');\n if (status == 0) {\n if (this.ConfirmationMsg == \"Approve\" && this.FilteredAccountLinkList[i].status == \"7\") {\n this._accountLinkMaster.formData.status = \"9\";\n sts = \"9\";\n }\n if (this.ConfirmationMsg == \"Reject\" && this.FilteredAccountLinkList[i].status == \"7\") {\n this._accountLinkMaster.formData.status = \"11\";\n sts = \"11\";\n }\n }\n else {\n this._accountLinkMaster.formData.status = status.toString();\n }\n this.AccountlinkLists1.push(this._accountLinkMaster.formData);\n }\n }\n this._accountLinkMaster.fnUpdateBulkStatusOfAccountLink(this.AccountlinkLists1).subscribe(string => {\n if (status == \"7\") {\n this.lblMessage = \"Sweep Execution Approval Request Send Successfully.\";\n // localStorage.setItem(\"Msg\",this.lblMessage);\n // document.location.reload(); \n this.ShowSuccessModal();\n this.onTop();\n this.AccountLinkList();\n this.CustomerType = \"2\";\n }\n else if (this.SelectStatus == 7 && sts == \"9\") {\n this.lblMessage = \"Sweep Execution Approve Successfully.\";\n this.ShowSuccessModal();\n this.onTop();\n this.AccountLinkList();\n this.CustomerType = \"2\";\n this.VerifyBulkApprovalLabel = false;\n }\n else if (this.SelectStatus == 7 && sts == \"11\") {\n this.lblMessage = \"Sweep Execution Reject Successfully.\";\n this.ShowSuccessModal();\n this.onTop();\n this.AccountLinkList();\n this.CustomerType = \"2\";\n this.VerifyBulkApprovalLabel = false;\n }\n });\n\n\n\n // this.showlbl();\n // this.onTop();\n }\n\n\n showApprovalButton: boolean = false;\n fnSelectStatus(Status) {\n\n this.AccountLinkingList.forEach(ele => {\n ele[\"IsAcLinkSelected\"] = false;\n });\n\n this.FilteredAccountLinkList.forEach(ele => {\n ele[\"IsAcLinkSelected\"] = false;\n })\n\n this.AcLinkSelected = false;\n }\n\n AccountlinkLists1: any = [];\n\n fnVerifyFunction(SelectedStatus, status) {\n this.IsSubmitted = true;\n if (status == null) {\n return false;\n }\n else {\n if (SelectedStatus == \"7\" && status == \"1\")\n status = \"9\";\n else if (SelectedStatus == \"7\" && status == \"2\")\n status = \"11\";\n\n\n var userid = \"\";\n\n for (var i = 0; i < this.FilteredAccountLinkList.length; i++) {\n userid = this._encrypt.encryptUsingAES256(this.FilteredAccountLinkList[i].CreatedById.toString());\n this._accountLinkMaster.formData = this.FilteredAccountLinkList[i];\n this._accountLinkMaster.formData.UserId = localStorage.getItem('LoginUserId');\n this._accountLinkMaster.formData.status = status.toString();\n this.AccountlinkLists1.push(this._accountLinkMaster.formData);\n }\n\n\n if (status == \"9\") {\n this._accountLinkMaster.fnSweepExecute(this.CustomerId, userid).subscribe(message => {\n this.lblMessage = message;\n if (message == 'Today is a non working day, therefore sweep can not be executed.') {\n this.showErrorlbl();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(ele => {\n ele[\"status\"] = \"7\";\n ele.IsAcLinkSelected = false;\n });\n }\n else if (message == 'Customer is Inactive') {\n this.showErrorlbl();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(ele => {\n ele[\"status\"] = \"7\";\n ele.IsAcLinkSelected = false;\n });\n }\n else {\n // localStorage.setItem(\"Msg\",this.lblMessage);\n // document.location.reload(); \n this.ShowSuccessModal();\n this.fnUpdateStatus();\n this.onTop();\n this.AcLinkSelected = false;\n this.FilteredAccountLinkList.forEach(row=>{\n row.IsAcLinkSelected = false;\n });\n }\n });\n }\n\n\n if (status == \"11\") {\n this.lblMessage = \"Sweep Balance Rejected Successfully.\";\n // localStorage.setItem(\"Msg\",this.lblMessage);\n // document.location.reload();\n this.ShowSuccessModal();\n this.fnUpdateStatus();\n this.onTop();\n\n }\n }\n }\n\n\n fnUpdateStatus() {\n this._accountLinkMaster.fnUpdateBulkStatusOfAccountLink(this.AccountlinkLists1).subscribe(string => {\n });\n }\n\n isAccLinkApproved: boolean = false;\n fnFilterByStatus() {\n this.getCustomerList();\n\n if (this.SelectStatus == 9) {\n this.isAccLinkApproved = true;\n }\n else {\n this.isAccLinkApproved = false;\n }\n\n\n this.AccountLinkingList.forEach(ele => {\n ele[\"IsAcLinkSelected\"] = false;\n });\n this.FilteredAccountLinkList.forEach(ele => {\n ele[\"IsAcLinkSelected\"] = false;\n });\n this.AcLinkSelected = false;\n this.VerifyBulkApprovalLabel = false;\n this.DisableSweepReverseButton = true;\n }\n\n // #region \n SelectCustomers(Type, CustomerType) {\n this.FilteredAccountLinkList = [];\n if (Type == \"All\" && CustomerType == \"2\") {\n this.FilteredAccountLinkList = this.AccountLinkingList.filter(row => { return (row.SweepExecutionApproval == 1) });\n\n this.allCustList.forEach(element => {\n element[\"isCustomerSelected\"] = true;\n });\n\n }\n else if (Type == \"All\" && CustomerType == \"4\") {\n if ((this.RoleAccess.CheckerAccess && this.ActionType == \"1\") || (this.RoleAccess.CheckerAccess && !this.AddEditAccess)) {\n this.FilteredAccountLinkList = this.AccountLinkingList.filter(row => {\n return (row.SweepExecutionApproval == 2 && row.SweepApprovalRequestedBy != +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")) \n && row.status == this.SelectStatus.toString())\n });\n\n this.allCustList.forEach(element => {\n element[\"isCustomerSelected\"] = true;\n });\n\n }\n else {\n this.FilteredAccountLinkList = this.AccountLinkingList.filter(row => { return (row.SweepExecutionApproval == 2) });\n this.allCustList.forEach(element => {\n element[\"isCustomerSelected\"] = true;\n });\n\n }\n }\n else if (Type = \"AllUnselect\") {\n this.FilteredAccountLinkList = [];\n this.allCustList.forEach(element => {\n element[\"isCustomerSelected\"] = false;\n });\n this.AccountLinkingList.forEach(ele => {\n ele.IsAcLinkSelected = false;\n });\n this.AcLinkSelected = false;\n this.DisableSweepReverseButton = true;\n }\n\n if (this.FilteredAccountLinkList.length == 0)\n this.isAlldisable = true;\n else\n this.isAlldisable = false;\n\n this.pageChanged(event);\n this.ddlshowvalue = this.FilteredAccountLinkList.length;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n }\n\n CustomerSelect(event) {\n this.allCustList.forEach(element => {\n if (event.CustPkId == element[\"CustPkId\"]) {\n element[\"isCustomerSelected\"] = true;\n this.getCustomerList();\n }\n });\n }\n\n CustomerDeSelect(event) {\n\n this.allCustList.forEach(element => {\n if (event.CustPkId == element[\"CustPkId\"]) {\n element[\"isCustomerSelected\"] = false;\n this.getCustomerList();\n }\n });\n\n this.getCheckedBulkAuthorize();\n }\n\n getCustomerList() {\n this.FilteredAccountLinkList = [];\n\n if (!this.is4EyeCustomer || (!this.RoleAccess.CheckerAccess && this.is4EyeCustomer)) {\n this.allCustList.forEach(element => {\n if (element[\"isCustomerSelected\"] == true) {\n this.AccountLinkingList.filter(row => {\n return (row.CustomerId == element[\"CustPkId\"] && this.FilteredAccountLinkList.push(row));\n });\n }\n });\n }\n else if ((this.RoleAccess.CheckerAccess && this.ActionType == \"1\") || (this.RoleAccess.CheckerAccess && !this.AddEditAccess)) {\n this.allCustList.forEach(element => {\n if (element[\"isCustomerSelected\"] == true) {\n this.AccountLinkingList.filter(row => {\n if (this.SelectStatus != 10 && this.SelectStatus != 11 && this.SelectStatus != 12) {\n return (row.CustomerId == element[\"CustPkId\"] &&\n row.CreatedById != +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))\n && row.status == this.SelectStatus.toString() && this.FilteredAccountLinkList.push(row));\n }\n else {\n return (row.CustomerId == element[\"CustPkId\"] &&\n row.CreatedById != +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))\n && row.status == this.SelectStatus.toString() && (row.IsDisableCheckbox = true) && this.FilteredAccountLinkList.push(row));\n }\n });\n }\n });\n }\n else if (this.RoleAccess.CheckerAccess && this.ActionType == \"2\") {\n this.allCustList.forEach(element => {\n if (element[\"isCustomerSelected\"] == true) {\n this.AccountLinkingList.filter(row => {\n return (row.CustomerId == element[\"CustPkId\"]\n && this.FilteredAccountLinkList.push(row));\n //&& row.CreatedById == +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))\n });\n }\n });\n }\n\n if (this.FilteredAccountLinkList.length == 0 || (this.SelectStatus == 10 || this.SelectStatus == 11 || this.SelectStatus == 12)) {\n this.AcLinkSelected = false;\n this.AccountLinkingList.forEach(element => {\n element.IsAcLinkSelected = false;\n });\n this.isAlldisable = true;\n }\n else\n this.isAlldisable = false;\n\n this.pageChanged(event);\n this.ddlshowvalue = this.FilteredAccountLinkList.length;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n }\n //#endregion\n\n ActionType: string;\n\n // #region \n SelectCustomerType(CustomerType) {\n\n this.DisableSweepReverseButton = true;\n this.AccountLinkingList.forEach(element => {\n element[\"IsAcLinkSelected\"] = false;\n });\n this.AcLinkSelected = false;\n this.ActionType = \"1\";\n this.fnActionType();\n if (this.ActionType == \"2\") {\n this.isCheckerBulkRequest = true;\n }\n else\n this.isCheckerBulkRequest = false;\n this.SelectStatus = 7;\n\n\n if (CustomerType == \"2\") {\n this.allCustList = [];\n\n this.AccountLinkingList.forEach(ele => {\n var custObj = { CustPkId: 0, CustomerName: \"\" };\n custObj.CustPkId = ele.CustomerId;\n custObj.CustomerName = ele.CustomerName;\n\n var isExistCustomer = this.allCustList.filter(row => { return (row.CustPkId == custObj.CustPkId); });\n if (isExistCustomer.length == 0 && ele[\"SweepExecutionApproval\"] == 1) {\n this.allCustList.push(custObj);\n }\n\n });\n }\n else {\n this.allCustList = [];\n\n this.AccountLinkingList.forEach(ele => {\n var custObj = { CustPkId: 0, CustomerName: \"\" };\n custObj.CustPkId = ele.CustomerId;\n custObj.CustomerName = ele.CustomerName;\n\n var isExistCustomer = this.allCustList.filter(row => { return (row.CustPkId == custObj.CustPkId); });\n if (isExistCustomer.length == 0 && ele[\"SweepExecutionApproval\"] == 2\n && this.RoleAccess.CheckerAccess) {\n this.allCustList.push(custObj);\n }\n else if (isExistCustomer.length == 0 && !this.RoleAccess.CheckerAccess\n && ele[\"SweepExecutionApproval\"] == 2) {\n this.allCustList.push(custObj);\n }\n\n });\n }\n\n\n if (CustomerType == \"2\") {\n this.SelectCustomers(\"All\", \"2\");\n this.is4EyeCustomer = false;\n }\n else {\n this.SelectCustomers(\"All\", \"4\");\n this.is4EyeCustomer = true;\n }\n\n this.CustselectedItems = this.allCustList;\n\n if (this.allCustList.length > 0) {\n this.allCustList.forEach(element => {\n if (this.AllCustomerSelect == true) {\n element[\"isCustomerSelected\"] = true;\n }\n });\n }\n this.pageChanged(event);\n this.ddlshowvalue = this.FilteredAccountLinkList.length;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n }\n //#endregion\n\n // #region \n TriggerPointSelect(event) {\n this.TriggerPointList.forEach(element => {\n if (element[\"Id\"] == event.Id) {\n element[\"IsSelected\"] = true;\n }\n });\n }\n\n TriggerPointDeSelect(event) {\n this.TriggerPointList.forEach(element => {\n if (element[\"Id\"] == event.Id) {\n element[\"IsSelected\"] = false;\n }\n });\n }\n // #endregion \n\n // #region \n checkedBulkList: any[];\n checkedList: any = [];\n AcLinkSelected: boolean = false;\n listLengthForSelect: number;\n\n DisableSweepReverseButton: boolean = true;\n\n checkUncheckAllBulkApproval() {\n this.AcLinkSelected = !this.AcLinkSelected;\n if (this.FilteredAccountLinkList.length > 0) {\n for (var i = 0; i < this.FilteredAccountLinkList.length; i++) {\n // if(this.FilteredAccountLinkList[i].IsDisableCheckbox == false){\n this.FilteredAccountLinkList[i].IsAcLinkSelected = this.AcLinkSelected;\n // }\n }\n }\n else {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.AccountLinkingList[i].IsDisableCheckbox == false){\n this.AccountLinkingList[i].IsAcLinkSelected = this.AcLinkSelected;\n // }\n }\n }\n this.getCheckedBulkAuthorize();\n }\n\n IsaccountlinkCheck(acLinkId, status) {\n for (var i = 0; i < this.FilteredAccountLinkList.length; i++) {\n if (this.FilteredAccountLinkList[i].AclinkId == acLinkId)\n this.FilteredAccountLinkList[i].IsAcLinkSelected = !status;\n }\n this.getCheckedBulkAuthorize();\n }\n\n getCheckedBulkAuthorize() {\n\n this.checkedBulkList = [];\n for (var i = 0; i < this.FilteredAccountLinkList.length; i++) {\n if (this.FilteredAccountLinkList[i].IsAcLinkSelected == true)\n this.checkedBulkList.push(this.FilteredAccountLinkList[i]);\n } \n this.checkedList = JSON.stringify(this.checkedBulkList);\n if (this.checkedBulkList.length >= 1) {\n this.DisableSweepReverseButton = false;\n }\n else {\n this.DisableSweepReverseButton = true;\n }\n if (this.FilteredAccountLinkList.length == this.checkedBulkList.length){ \n this.AcLinkSelected=true;\n }else{\n this.AcLinkSelected=false;\n }\n if (((this.RoleAccess.CheckerAccess && this.ActionType == \"1\" ) || (this.RoleAccess.CheckerAccess && !this.AddEditAccess)) && this.checkedBulkList.length > 0 && this.SelectStatus == 7 && this.is4EyeCustomer)\n this.VerifyBulkApprovalLabel = true;\n else\n this.VerifyBulkApprovalLabel = false;\n\n \n }\n // #endregion\n\n\n\n showModalForAllDelete: boolean;\n ConfirmationMsg: string;\n\n Approved() {\n this.showModalForAllDelete = true;\n this.ConfirmationMsg = \"Approve\";\n }\n\n Rejectd() {\n this.showModalForAllDelete = true;\n this.ConfirmationMsg = \"Reject\";\n\n }\n\n\n AllDeletehide() {\n this.showModalForAllDelete = false;\n }\n AllDeleteShow() {\n this.showModalForAllDelete = true;\n }\n\n\n // #region \n fnActionType() {\n if (this.ActionType == \"2\") {\n this.isCheckerBulkRequest = true;\n }\n else\n this.isCheckerBulkRequest = false;\n\n this.FilteredAccountLinkList = [];\n\n if (this.ActionType == \"1\") {\n this.AccountLinkingList.filter(row => {\n return (row.SweepApprovalRequestedBy != +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))\n && row.SweepExecutionApproval == 2 && row.status == this.SelectStatus.toString()\n && this.FilteredAccountLinkList.push(row));\n });\n\n this.allCustList = [];\n this.AccountLinkingList.forEach(ele => {\n if (ele.SweepApprovalRequestedBy != +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n var custObj = { CustPkId: 0, CustomerName: \"\" };\n custObj.CustPkId = ele.CustomerId;\n custObj.CustomerName = ele.CustomerName;\n\n var isExistCustomer = this.allCustList.filter(row => { return (row.CustPkId == custObj.CustPkId); });\n if (isExistCustomer.length == 0 && ele[\"SweepExecutionApproval\"] == 2) {\n this.is4EyeCustomer = true;\n this.allCustList.push(custObj);\n }\n }\n });\n }\n else {\n this.AccountLinkingList.filter(row => {\n return (row.SweepExecutionApproval == 2 && row.status != \"7\" && this.FilteredAccountLinkList.push(row));\n });\n\n this.allCustList = [];\n this.FilteredAccountLinkList.forEach(ele => {\n // if(ele.CreatedById == +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n var custObj = { CustPkId: 0, CustomerName: \"\" };\n custObj.CustPkId = ele.CustomerId;\n custObj.CustomerName = ele.CustomerName;\n\n var isExistCustomer = this.allCustList.filter(row => { return (row.CustPkId == custObj.CustPkId); });\n if (isExistCustomer.length == 0 && ele[\"SweepExecutionApproval\"] == 2) {\n this.is4EyeCustomer = true;\n this.allCustList.push(custObj);\n }\n // }\n });\n }\n\n\n\n this.allCustList.forEach(element => {\n if (this.AllCustomerSelect == true) {\n element[\"isCustomerSelected\"] = true;\n }\n });\n this.CustselectedItems = this.allCustList;\n this.ddlshowvalue = this.FilteredAccountLinkList.length;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountLinkList.length;\n this.filterCount = \"(filtered from \" + this.AccountLinkingList.length + \" total entries)\";;\n }\n\n }\n //#endregion\n\n sweepmethodList: SweepMethodClass;\n fnGetSweepMethodSiteConfiguration() {\n this._accountLinkMaster.fnGetSweepMethodSiteConfiguration().subscribe(data => {\n this.sweepmethodList = data[0];\n });\n }\n\n\n\n viewAccountLink(accountLinkMaster: AccountLinkMaster) {\n localStorage.setItem('ViewMode', 'view');\n localStorage.setItem('BackPage', 'sweepExecution');\n localStorage.setItem('AcLinkId', accountLinkMaster.AclinkId.toString());\n localStorage.setItem('CustomerId', accountLinkMaster.CustomerId.toString());\n this._accountLinkMaster.CustomerId = accountLinkMaster.CustomerId;\n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['AccountLinkMaster']);\n });\n\n }\n\n}\n\n\n\n","
\n
\n
\n \n\n
\n
\n
\n \n
\n
\n

Bulk Sweep Execution

\n
\n
\n
\n
\n

* Marked Fields Are Mandatory.

\n\n
\n
\n
\n
\n
\n
\n ×\n Success! {{lblMessage}}\n
\n
\n

\n
\n
\n
\n
\n ×\n Error! {{lblMessage}}\n
\n
\n

\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n \n \n
\n
\n \n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\"\n data-toggle=\"dropdown\" aria-haspopup=\"true\" [disabled]=\"DisableSweepReverseButton\"\n aria-expanded=\"false\" />\n \n
\n\n
\n \n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\"\n data-toggle=\"dropdown\" aria-haspopup=\"true\" [disabled]=\"DisableSweepReverseButton\"\n aria-expanded=\"false\" />\n
    \n
  • BOD
  • \n
  • MOD
  • \n
  • EOD
  • \n
\n
\n\n
\n \n \n
\n\n
\n \n
\n
\n
\n
\n\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CustomerAccount Link\n NameStructure Type\n PriorityStatusCreated ByCreated /\n Updated Date & Time\n
\n \n \n
\n
{{accountlink.CustomerName}}{{accountlink.AccLinkName}}{{accountlink.StructorName}}{{accountlink.Priority}}{{accountlink.AccLinkStatusName}}{{accountlink.CreatedBy}}{{accountlink.CreatedDate}}\n \n
\n \n \n
\n
No records found.
\n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\"\n data-toggle=\"dropdown\"\n style=\"margin-top: -0.65em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\"\n aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n
\n
\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to execute Sweep?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to execute Reverse Sweep?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{lblMessage}}

\n
\n
\n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to\n {{ConfirmationMsg}} All Selected Records?\n

\n
\n
\n \n \n
\n
\n
\n
\n\n\n\n","export class LoginDetails {\n\n public static UserId: number =0;\n public static Email: string='' ;\n public static FirstName: string='' ;\n public static LastName:string='';\n //public static LoginAccessData:[];\n \n}\n","export class Constants {\n public static apiURL: string = localStorage.getItem('baseUriLMS') + \"api/\";\n public static tokenURL: string = localStorage.getItem('baseUriLMS');\n public static InvoiceCopyUrl: string = localStorage.getItem('baseUriLMS') + \"/InvoiceCopy/\";\n public static TTUMUrl: string = localStorage.getItem('baseUriLMS') + \"/api/\";\n public static tokenExpiryTime: string = localStorage.getItem('tokenExpiryTimeForCalutation');//This valuse is in minutes.\n}\n","import { Directive, Input } from '@angular/core';\nimport { NG_VALIDATORS, Validator, ValidationErrors, FormGroup } from '@angular/forms';\n\nimport { MustMatch } from './must-match.validator';\n\n@Directive({\n selector: '[mustMatch]',\n providers: [{ provide: NG_VALIDATORS, useExisting: MustMatchDirective, multi: true }]\n})\nexport class MustMatchDirective implements Validator {\n @Input('mustMatch') mustMatch: string[] = [];\n\n validate(formGroup: FormGroup): ValidationErrors {\n return MustMatch(this.mustMatch[0], this.mustMatch[1])(formGroup);\n }\n}","import { FormGroup } from '@angular/forms';\n\n// custom validator to check that two fields match\nexport function MustMatch(controlName: string, matchingControlName: string) {\n return (formGroup: FormGroup) => {\n const control = formGroup.controls[controlName];\n const matchingControl = formGroup.controls[matchingControlName];\n\n // return null if controls haven't initialised yet\n if (!control || !matchingControl) {\n return null;\n }\n\n // return null if another validator has already found an error on the matchingControl\n if (matchingControl.errors && !matchingControl.errors.mustMatch) {\n return null;\n }\n\n // set error on matchingControl if validation fails\n if (control.value !== matchingControl.value) {\n matchingControl.setErrors({ mustMatch: true });\n } else {\n matchingControl.setErrors(null);\n }\n }\n}","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n selector: 'input[numbersOnly]'\n})\nexport class NumberDirective {\n\n constructor(private _el: ElementRef) { }\n\n @HostListener('input', ['$event']) onInputChange(event) {\n const initalValue = this._el.nativeElement.value;\n this._el.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');\n if ( initalValue !== this._el.nativeElement.value) {\n event.stopPropagation();\n }\n }\n\n}","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-error-page',\n templateUrl: './error-page.component.html',\n styleUrls: ['./error-page.component.css']\n})\nexport class ErrorPageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n\n \n \n \n \n
\n
4
\n \n
4
\n
Sorry, we have technical issue at moment.

Let's go home and try from there.

\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { HolidayService } from 'src/app/MasterService/Holiday.service';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { LoginService } from 'src/app/MasterService/Login.service';\n\n@Component({\n selector: 'app-index',\n templateUrl: './index.component.html',\n styleUrls: ['./index.component.css']\n})\nexport class IndexComponent implements OnInit {\n\n constructor( public _login: LoginService) { }\n public userID = LoginDetails.UserId ;\n public UserName= LoginDetails.FirstName+ ' '+LoginDetails.LastName; \n\n ngOnInit(): void {\n \n this.onTop();\n //this._login.fnGetLoginUserID(localStorage.getItem('LoginUserId'));\n \n \n if((localStorage.getItem('LoginUserId'))==null)\n {\n // this._login.fnGetLoginUserID(localStorage.getItem('LoginUserId'));\n this.UserName= ''; \n\n // LoginDetails.LoginAccessData=[];\n this._login.displaystart=true;\n this._login.displayLogin=false;\n \n }\n if((localStorage.getItem('LoginUserId'))!=null)\n {\n this._login.displaystart=false;\n this._login.displayLogin=true;\n this._login.fnGetLoginUserID(localStorage.getItem('LoginUserId'));\n //this.ngOnInit();\n this.UserName= localStorage.getItem('LoginFirstName')+ ' '+localStorage.getItem('LoginLastName'); \n // this.ngOnInit();\n \n \n }\n \n }\n\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n}\n","\n
\n
\n
\n \n
\n

co-operate fund management system

\n \n
\n
\n\n \n\n \n
\n
\n
\n\n \n \n \n \n \n
\n\n\n","
\n
\n
\n
\n
\n\n
\n

Login

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n Please enter User Name\n
\n\n \n
\n \n \n
\n Password is required\n \n \n
\n \n
\n
\n \n Remember me\n
\n \n
\n
\n \n
\n \n \n \n \n \n
\n
\n \n
\n

OTP Authentication

\n \n
\n
\n
\n \n \n OTP sent Successfully.\n
\n
\n
\n \n
\n Time Remaining = \n
\n
\n
\n \n \n
\n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n

Forgot Password

\n \n
\n
\n
\n \n
\n
\n
\n \n
\n \n \n \n
\n
\n Email Id is required.\n
\n
\n Please provide a valid email address.\n
\n
\n
\n
\n
\n \n
\n \n Mobile Number is required\n
\n
\n
\n \n\n \n
\n
\n
\n
\n\n
\n\n
\n
\n\n
\n

Reset Password

\n\n \n
\n\n
\n
\n \n
\n\n
\n\n \n\n \n\n
\n \n
\n\n \n
\n\n
\n\n
\n \n\n \n
\n\n
\n
\n\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n Timeout for OTP\n
\n
\n \n\n \n
\n
\n
\n
\n\n\n \n","import { Component, OnInit } from '@angular/core';\nimport { __values } from 'tslib';\nimport { HttpClientModule, HttpClient, HttpHeaders } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormControl, FormsModule, NgForm } from '@angular/forms';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { Constants } from 'src/app/Common/constant';\nimport { LoginService } from 'src/app/MasterService/Login.service';\nimport { CookieService } from 'ngx-cookie-service';\nimport { Login, ForgotPassword } from 'src/app/MasterService/Login';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport * as CryptoJS from 'crypto-js';\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\nimport{UserService} from 'src/app/MasterService/user.service';\n\n\ndeclare var OTPtimer:Function;\n\n@Component({\n selector: 'app-login-page',\n templateUrl: './login-page.component.html',\n styleUrls: ['./login-page.component.css'],\n})\nexport class LoginPageComponent implements OnInit {\n http: any;\n readonly rootURL = Constants.apiURL;\n constructor(\n private httpService: HttpClient,\n private router: Router,\n public _login: LoginService,\n private _cookie: CookieService,\n private _spinner: NgxSpinnerService,\n public _token:TokenService,\n private _user:UserService\n ) {}\n LoginData = [];\n public isLogin = '';\n public Invalid = '';\n public DisbaleID = '';\n public errorMsg = '';\n emailpattern = \"^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$\";\n mobNumberPattern = \"^((\\\\+91-?)|0)?[0-9]{10}$\";\n //ok\n\n ///\n isRememberme: boolean = false;\n loginUserName: string = '';\n dateTime: Date;\n InvaidAttempt = [];\n loginUserType: string = '1';\n isCorporateUser: boolean = false;\n userOtp: number = null;\n showOTPSuccess: boolean = false;\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n // Methods for the encrypt and decrypt Using AES\n encryptUsingAES256(password: string) {\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(JSON.stringify(password)), this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n });\n return encrypted.toString();\n }\n encryptPass: string;\n\n async onSubmit(form: NgForm) {\n debugger;\n if((document.getElementById('actPswd')).value.includes(\"|\")){\n (document.getElementById('actPswd')).value=(document.getElementById('actPswd')).value.slice(0, -1);\n }\n\n form.value.username = form.value.username.replace(/\\s/g, \"\");\n form.value.username = form.value.username.toString().trim();\n\n this.encryptPass = this.encryptUsingAES256((document.getElementById('actPswd')).value);\n try {\n debugger;\n let data = await this._token.GetToken(form.value.username, this.encryptPass, form.value.usertype);\n if (data != null) {\n localStorage.setItem('TID', data.access_token);\n this._token.token = data.token_type + ' ' + data.access_token;\n this.dateTime = new Date();\n sessionStorage.setItem('TExp', this.dateTime.toString());\n sessionStorage.setItem('UID', form.value.username);\n localStorage.setItem('UID', form.value.username);\n localStorage.setItem('UType', form.value.usertype);\n localStorage.setItem('PID',this.encryptPass);\n //this._user.fnUpdateTokenInDb(form.value.username, data.access_token).subscribe(data=>{\n this.Login(form.value.username, this.encryptPass, form.value.usertype);\n //});\n }\n } catch (error) {\n this.Invalid = '';\n this.errorMsg = error\n }\n}\n\n Login(username, password, usertype) {\n debugger;\n if (this.isRememberme) {\n this._cookie.delete('LMSUserName');\n this._cookie.delete('LMSPassword');\n this._cookie.set('LMSUserName', username);\n this._cookie.set('LMSPassword', password, 50);\n } else {\n this._cookie.delete('LMSUserName');\n this._cookie.delete('LMSPassword');\n }\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token,\n 'Cache-Control': 'no-store' \n })\n };\n // this._login.fnGetLohinData(username).subscribe()\n return this.httpService\n .post(this.rootURL + 'UserLoginAPi/GetLoginData?username=' + this.encryptUsingAES256(username) + '&usertype=' + this.encryptUsingAES256(usertype) + '&password=' + password,null, httpOptions)\n .subscribe((data) => {\n debugger;\n this.LoginData = data as [];\n if (this.LoginData['ErrorMsg'] != '' && this.LoginData['ErrorMsg'] != null) {\n this.errorMsg = this.LoginData['ErrorMsg'];\n } else {\n var Return_Device;\n if (/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|android|iemobile|w3c|acs\\-|alav|alca|amoi|audi|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd\\-|dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg\\-c|lg\\-d|lg\\-g|lge\\-|maui|maxo|midp|mits|mmef|mobi|mot\\-|moto|mwbp|nec\\-|newt|noki|palm|pana|pant|phil|play|port|prox|qwap|sage|sams|sany|sch\\-|sec\\-|send|seri|sgh\\-|shar|sie\\-|siem|smal|smar|sony|sph\\-|symb|t\\-mo|teli|tim\\-|tosh|tsm\\-|upg1|upsi|vk\\-v|voda|wap\\-|wapa|wapi|wapp|wapr|webc|winw|winw|xda|xda\\-) /i.test(navigator.userAgent)) {\n if (/(tablet|ipad|playbook)|(android(?!.*(mobi|opera mini)))/i.test(navigator.userAgent)) {\n Return_Device = 'Tablet';\n }\n else {\n Return_Device = 'Mobile';\n }\n }\n else if (/(tablet|ipad|playbook)|(android(?!.*(mobi|opera mini)))/i.test(navigator.userAgent)) {\n Return_Device = 'Tablet';\n }\n else {\n Return_Device = 'Desktop';\n }\n debugger;\n\n if (this.LoginData['Email'] != null) {\n // if (this.LoginData['Email'].lowercase == username.lowercase) {\n\n if (this.LoginData['IsActive'] == 1) {\n debugger;\n localStorage.setItem('UserTypeVal', this.LoginData['UserType'].toString()); // get user type for sweep charges report\n if (this.LoginData['UserType'] == 2 && this.LoginData['IsIDBI'] == true) {\n this.errorMsg = '';\n localStorage.setItem('LoginUserIdForOTP', this.LoginData[\"UserId\"]);\n localStorage.setItem('LoginMobileNoForOTP', this.LoginData[\"MobileNumber\"]);\n localStorage.setItem('LastLoginDate', this.LoginData[\"LastLoginDate\"]);\n localStorage.setItem('LoginUser', \"Yes\");\n this.isCorporateUser = true;\n this.showOTPSuccess = true;\n this.timer(120);\n this.Invalid = '';\n }\n else {\n this.isLogin = 'Login Successfull';\n //this._login.currentUser();\n localStorage.setItem('LoginUserId', this.encryptUsingAES256(this.LoginData[\"UserId\"]) );\n localStorage.setItem('LoginFirstName', this.LoginData[\"FirstName\"]);\n localStorage.setItem('LoginLastName', this.LoginData[\"LastName\"]);\n localStorage.setItem('LoginRoleName', this.LoginData[\"RoleName\"]);\n localStorage.setItem('PID', this.LoginData[\"encryptPassword\"]);\n localStorage.setItem('LoginUser', \"Yes\");\n localStorage.setItem('LastLoginDate', this.LoginData[\"LastLoginDate\"]);\n this._login.fnGetLoginUserID(\n localStorage.getItem('LoginUserId')\n );\n this.Invalid = '';\n this.errorMsg = '';\n //This when device is mobile redirect to dashboard.\n if (Return_Device == 'Mobile') {\n this.router.navigate(['Dashboard/dashboard']);\n } else {\n this.NavigateToIndex();\n }\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n this.httpService.get(this.rootURL + '/UnSuccessAtmApi/RemoveUnSuccess?username=' + username, httpOptions).subscribe((data) => { });\n // } else {\n // this.Invalid = 'Invalid Credential';\n // this.httpService.get(this.rootURL + '/UnSuccessAtmApi/AddInavlidAttempt?username=' + username + '&password=' + password)\n // .subscribe((data) => {\n // if (data == 1) {\n // this.errorMsg = '';\n // this.DisbaleID =\n // 'Your UserId is disable please contact with system adminstrator';\n // this.isLogin = '';\n // this.Invalid = '';\n // }\n // });\n // }\n }\n } else {\n this.errorMsg = '';\n this.DisbaleID =\n \"Your UserId is inactive, please contact System Administrator.\";\n this.isLogin = '';\n this.Invalid = '';\n }\n }\n else {\n if (usertype == \"0\") {\n this.errorMsg = '';\n this.Invalid = 'Entered User Id is not Corporate customer'; //Invalid Credential\n this.isLogin = '';\n this.DisbaleID = '';\n } else if (usertype == \"1\") {\n this.errorMsg = '';\n this.Invalid = 'Entered User Id is not Bank User'; //Invalid Credential\n this.isLogin = '';\n this.DisbaleID = '';\n }\n else{\n this.errorMsg = '';\n this.Invalid = 'Invalid Credential'; //Invalid Credential\n this.isLogin = '';\n this.DisbaleID = '';\n }\n }\n }\n });\n }\n\n\n VerifyOTP() {\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n // this._login.fnGetLohinData(username).subscribe()\n return this.httpService\n .get(this.rootURL + 'UserLoginAPi/VerifyOTPNumber?UserId=' + localStorage.getItem(\"LoginUserIdForOTP\") + '&otpNumber=' + this.userOtp, httpOptions)\n .subscribe((data) => {\n\n\n this.LoginData = data as [];\n if (this.LoginData['ErrorMsg'] != '' && this.LoginData['ErrorMsg'] != null) {\n this.errorMsg = this.LoginData['ErrorMsg'];\n } else {\n this.isLogin = 'Login Successfull';\n //this._login.currentUser();\n localStorage.setItem('LoginUserId', this.encryptUsingAES256(this.LoginData[\"UserId\"]));\n localStorage.setItem('LoginFirstName', this.LoginData[\"FirstName\"]);\n localStorage.setItem('LoginLastName', this.LoginData[\"LastName\"]);\n localStorage.setItem('LoginRoleName', this.LoginData[\"RoleName\"]);\n localStorage.setItem('PID', this.LoginData[\"encryptPassword\"]);\n this._login.fnGetLoginUserID(\n localStorage.getItem('LoginUserId')\n );\n this.Invalid = '';\n this.errorMsg = '';\n this.NavigateToIndex();\n }\n });\n }\n\n ResendOTP() {\n this.errorMsg = null;\n this.userOtp = null;\n this.showOTPSuccess = false;\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.httpService\n .get(this.rootURL + 'UserLoginAPi/ResendOTPNumber?UserId=' + localStorage.getItem(\"LoginUserIdForOTP\") + '&mobileNumber=' + localStorage.getItem(\"LoginMobileNoForOTP\"), httpOptions)\n .subscribe((data) => {\n this.showOTPSuccess = true;\n });\n }\n\n checkCheckBoxvalue(event) {\n if (event.currentTarget.checked) {\n this.isRememberme = true;\n }\n }\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n}\n\n userNameFromCookie: string = '';\n passwordFromCookie: string = '';\n loginPassword: string = '';\n showForgotPass:boolean;\n ngOnInit(): void {\n this.onTop(); \n // localStorage.setItem(\n // 'LoginDataAccess',\n // JSON.stringify(this._login.LoginAccessList)\n // );\n this.showForgotPass=false;\n this.userNameFromCookie = this._cookie.get('LMSUserName');\n this.passwordFromCookie = this._cookie.get('LMSPassword');\n if (this.userNameFromCookie != '') {\n this.loginUserName = this.userNameFromCookie;\n this.loginPassword = this.decryptUsingAES256(this.passwordFromCookie);\n this.loginPassword=this.loginPassword.slice(1, -1);\n var element = document.getElementById('chkRememberMe');\n element.checked = true;\n this.isRememberme = true;\n }\n }\n ChangeUserType(usertype){\n if(usertype==0){\n this.showForgotPass=true;\n }\n else if(usertype==1){\n this.showForgotPass=false;\n }\n }\n NavigateToIndex() {\n this.router.navigate(['/']).then(() => {\n localStorage.setItem('Refresh', 'true');\n location.reload();\n });\n }\n\n // NavigateToIndex() {\n\n // this.router.navigate([\"/\"], );\n // }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n }\n forgotPasswordShowModal: boolean = false;\n forgotPasswordMobileNumber: number;\n forgotPasswordUserName: string;\n ForgotPassWord(username: string,username1:any,MobileNumber:any) {\n username1.control.markAsUntouched();\n MobileNumber.control.markAsUntouched();\n this.forgotPasswordShowModal = true;\n }\n\n ForgotPasswordHideModal() {\n this.forgotPasswordShowModal = false;\n this.forgotPasswordUserName = '';\n this.validationMessage = '';\n this.forgotPasswordMobileNumber = null;\n }\n\n userExist: boolean;\n resetUserid: number;\n validationMessage: string = '';\n forgotPassWordModal = ForgotPassword;\n\n ForgotPasswordValidation(username: string, mobileNumber: number,UserName:any,MobileNumber:any) {\n UserName.control.markAsTouched();\n MobileNumber.control.markAsTouched();\n\n this._spinner.show();\n\n if ((username == undefined && mobileNumber == undefined) || (username === \"\" && mobileNumber.toString() == \"0\")) {\n this._spinner.hide();\n // this.validationMessage = 'Please enter Email Id and Mobile Number.';\n return false;\n }\n \n if (username == undefined || username === \"\") {\n this._spinner.hide();\n // this.validationMessage = 'Email Id is required.';\n return false;\n }\n \n if (mobileNumber == undefined || mobileNumber.toString() === \"0\" || mobileNumber.toString() === \"\") {\n this._spinner.hide();\n // this.validationMessage = 'Mobile Number is required.';\n return false;\n }\n\n // if(this.emailpattern.match(username)){\n // this._spinner.hide();\n // this.validationMessage='Please provide a valid email address.';\n // return false;\n // }\n\n // if(!this.mobNumberPattern.match(mobileNumber.toString())){\n // this._spinner.hide();\n // this.validationMessage='Please provide a valid Mobile Number.';\n // return false;\n // }\n\n\n if (username == undefined && mobileNumber == undefined) {\n this._spinner.hide();\n // this.validationMessage = 'Please enter Email-Id and Mobile Number.';\n }\n \n \n this._login.fnForgotPassword(username,mobileNumber.toString()).subscribe(data => { \n this.forgotPassWordModal=data[0];\n this.resetUserid=data.userId;\n this.userExist=data.userExist;\n if(!this.userExist)\n this.validationMessage='Email Id and Mobile Number does not match.';\n else{\n this.validationMessage='';\n localStorage.setItem(\"resetUserId\",String( this.resetUserid));\n this.ForgotPasswordHideModal();\n this.resetOTPShowmodal();\n }\n this._spinner.hide();\n });\n }\n\n resetOTPModal: boolean;\n resetOTPValue: number;\n resetOTPHideModal() {\n this.resetOTPModal = false;\n }\n\n resetOTPShowmodal() {\n this.resetOTPModal = true;\n }\n\n tokenMatched: boolean;\n _tokenMsg: string;\n ValidateToken(token: number) {\n debugger;\n if (token != undefined) {\n this._tokenMsg = \"\";\n this._login.fnValidateToken(token.toString(), localStorage.getItem(\"resetUserId\")).subscribe(data => {\n\n this.tokenMatched = data.tokenMatched;\n\n if (this.tokenMatched) {\n this.router.navigate(['/ResetPassword']);\n }\n else {\n this._tokenMsg = \"Invalid OTP. Please check your code\";\n }\n });\n }\n else {\n this._tokenMsg = \"OTP is required\";\n }\n }\n\n numberOnly(event): boolean {\n const charCode = (event.which) ? event.which : event.keyCode;\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n return false;\n }\n return true;\n }\n\n timer(obj){\n OTPtimer(obj);\n }\n\n passwordToStar(){\n var pswd = (document.getElementById('pswdField'));\n var actpswd = (document.getElementById('actPswd'));\n var fval = '';\n for(var i = 0;i { \n localStorage.removeItem(\"resetUserId\");\n this.router.navigate([\"/LoginPage\"]); \n }); \n }\n}\n","
\n
\n
\n
\n
\n
\n\n
\n
\n \n\n \n\n \n Password is required\n \n\n
\n\n
\n\n \n\n \n\n
\n Confirm Password is required\n Confirm Password do not match\n
\n\n
\n
\n\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport {FormControl,FormGroup} from '@angular/forms';\nimport { UserService} from '../../MasterService/user.service';\n\n@Component({\n selector: 'app-sign-up',\n templateUrl: './sign-up.component.html',\n styleUrls: ['./sign-up.component.css']\n})\nexport class SignUpComponent implements OnInit {\n\n signUpForm:FormGroup;\n\n constructor(private _userServive:UserService) { }\n\n ngOnInit(): void {\n this.onTop();\n\n this.signUpForm = new FormGroup({\n FirstName:new FormControl(),\n MiddleName:new FormControl(),\n LastName:new FormControl(),\n Password:new FormControl(),\n CnfrmPassword:new FormControl(),\n Gender:new FormControl(),\n BirthDate:new FormControl(),\n EmailId:new FormControl(),\n MobileNumber:new FormControl(),\n AltMobileNumber:new FormControl(),\n Address:new FormControl(),\n AltAddress:new FormControl(),\n CountryId:new FormControl(),\n StateId:new FormControl(),\n CityId:new FormControl(),\n Pincode:new FormControl(),\n });\n }\n\n onSubmit():void{\n this._userServive.fnUserRegisteration(this.signUpForm.value).subscribe(data=>{\n alert(\"User Register Successful.\");\n });\n }\n\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n}\n","
\n \n
\n
\n
\n
\n \n

SignUp

\n

* Marked Fields Are Mandatory.

\n \n
\n
\n \n \n
\n\n
\n \n \n
\n \n
\n \n \n
\n
\n \n
\n
\n \n \n
\n \n
\n \n \n
\n\n
\n \n
\n \n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n\n
\n \n \n
\n \n
\n \n \n
\n
\n \n
\n
\n \n \n
\n \n
\n \n \n
\n\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { Router } from '@angular/router';\nimport { SiteConfigurationService } from 'src/app/MasterService/SiteConfiguration.Service';\nimport { NgForm } from '@angular/forms';\nimport { data } from 'jquery';\nimport * as moment from 'moment';\nimport { SiteConfigCreatedUpdated } from 'src/app/MasterService/SiteConfiguration';\n\n@Component({\n selector: 'app-site-configuration',\n templateUrl: './site-configuration.component.html',\n styleUrls: ['./site-configuration.component.css']\n})\nexport class SiteConfigurationComponent implements OnInit {\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n // other options are here...\n };\n FinancialCalender:string;\n newdate1: string;\n newdate2: string;\n showMsg:boolean;\n showerrormsg:boolean;\n lblMessage:string;\n SweepTransaction:boolean=false;\n BODTimeTrue:boolean;\n EODTimeTrue: boolean;\n ModalForBOD:boolean;\n Message:string;\n newBODTime: string;\n newEODTime: string;\n BODSweepExecution_value: string;\n EODSweepExecution_value: string;\n\n // created and updated:\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n SiteconfigCreatedUpdated: SiteConfigCreatedUpdated[];\n EditSiteconfig: number;\n\n constructor(private router: Router,public _Siteconfig: SiteConfigurationService) { }\n ngOnInit(): void {\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n this.GetSiteConfiguration();\n this.GetSiteConfigurationDetail();\n this.showMsg = false;\n }\n hidelbl(){\n this.showMsg = false;\n }\n close(){\n this.ModalForBOD=false;\n }\n BODchangeToAuto(BODvalue){debugger\n if(BODvalue==\"1\"){\n this.BODTimeTrue=false;\n // this.ModalForBOD=true;\n } \n if(BODvalue==\"2\"){\n this.BODTimeTrue=true;\n this._Siteconfig.formData.BODTime =null;\n }\n if(BODvalue==\"0\"){\n this.BODTimeTrue=true;\n this._Siteconfig.formData.BODExecutionType=\"2\";\n // this.ModalForBOD=true;\n } \n }\n BODSweepExecutionchange(BODvalue){\n this.showMsg=false;\n this.showerrormsg=false;\n if(BODvalue==\"1\"){\n this.BODTimeTrue=false;\n var defaultBODTime=\"09:30\"\n var _savedTimeBOD = defaultBODTime.split(\":\");\n var _savedBODTimeObject = {hour: 0, minute: 0};\n _savedBODTimeObject.hour = +_savedTimeBOD[0];\n _savedBODTimeObject.minute = +_savedTimeBOD[1];\n this._Siteconfig.formData.BODTime =_savedBODTimeObject;\n } \n if(BODvalue==\"2\"){\n this.BODTimeTrue=true;\n this._Siteconfig.formData.BODTime =null;\n }\n }\n EODchangeToAuto(EODvalue){debugger\n if(EODvalue==\"1\"){\n this.EODTimeTrue=false;\n } \n if(EODvalue==\"2\"){\n this.EODTimeTrue=true;\n this._Siteconfig.formData.EODTime =null;\n }\n if(EODvalue==\"0\"){\n this.EODTimeTrue=true;\n this._Siteconfig.formData.EODExecutionType=\"2\";\n // this.ModalForBOD=true;\n } \n }\n EODSweepExecutionchange(EODvalue){\n this.showMsg=false;\n this.showerrormsg=false;\n if(EODvalue==\"1\"){\n this.EODTimeTrue=false;\n var defaultEODTime=\"17:30\"\n var _savedTimeEOD = defaultEODTime.split(\":\");\n var _savedEODTimeObject = {hour: 0, minute: 0};\n _savedEODTimeObject.hour = +_savedTimeEOD[0];\n _savedEODTimeObject.minute = +_savedTimeEOD[1];\n this._Siteconfig.formData.EODTime =_savedEODTimeObject;\n }\n if(EODvalue==\"2\"){\n this.EODTimeTrue=true;\n this._Siteconfig.formData.EODTime =null;\n }\n }\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n GetSiteConfiguration(){\n this._Siteconfig.formData = {\n SiteConfId: 0,\n SweepMethod: null,\n SweepTransactionToCustomer: false,\n DateFrom:'',\n DateTo:'',\n IsFinancialYear:'yes',\n CBSIntegration:'',\n CreatedBy:'',\n CreatedDate:'',\n UpdatedBy:'',\n UpdatedDate:'',\n message:'',\n BODExecutionType:\"2\",\n BODTime: '',\n EODExecutionType:\"2\",\n EODTime: ''\n }\n }\n checkUncheckSweepTransaction(value){\n debugger\n if(value==true || value==\"Yes\"){\n this._Siteconfig.formData.SweepTransactionToCustomer=true;\n this.SweepTransaction=true;\n }\n if(value==false || value==\"no\"){\n this._Siteconfig.formData.SweepTransactionToCustomer=false;\n this.SweepTransaction=false;\n }\n}\nCalenderchecklabel(value){\n if(value=='Yes'){ this.FinancialCalender='Financial Year'}\n if(value=='No'){this.FinancialCalender='Calender Year';}\n \n}\nCalendercheck(value){\n this.showMsg=false;\n this.showerrormsg=false;\n if(value=='Yes'){\n debugger;\n this.FinancialCalender='Financial Year'\n var _savedStartDateFROM = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n var Datefrom=\"04-01-2019\";\n var newObj = moment(Datefrom).toObject();\n _savedStartDateFROM.singleDate.date.day = newObj.date;\n _savedStartDateFROM.singleDate.date.month = newObj.months+1;\n _savedStartDateFROM.singleDate.date.year = newObj.years;\n this._Siteconfig.formData.DateFrom =_savedStartDateFROM; \n var _savedStartDateTO = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n var DateTo=\"03-31-2020\";\n var newObj1 = moment(DateTo).toObject();\n _savedStartDateTO.singleDate.date.day = newObj1.date;\n _savedStartDateTO.singleDate.date.month = newObj1.months+1;\n _savedStartDateTO.singleDate.date.year = newObj1.years;\n this._Siteconfig.formData.DateTo =_savedStartDateTO; \n }\n if(value=='No'){\n this.FinancialCalender='Calender Year';\n var _savedStartDateFROM = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n var Datefrom=\"01-01-2020\";\n var newObj = moment(Datefrom).toObject();\n _savedStartDateFROM.singleDate.date.day = newObj.date;\n _savedStartDateFROM.singleDate.date.month = newObj.months+1;\n _savedStartDateFROM.singleDate.date.year = newObj.years;\n this._Siteconfig.formData.DateFrom =_savedStartDateFROM; \n var _savedStartDateTO = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n var DateTo=\"12-31-2020\";\n var newObj1 = moment(DateTo).toObject();\n _savedStartDateTO.singleDate.date.day = newObj1.date;\n _savedStartDateTO.singleDate.date.month = newObj1.months+1;\n _savedStartDateTO.singleDate.date.year = newObj1.years;\n this._Siteconfig.formData.DateTo =_savedStartDateTO; \n \n }\n}\n GetSiteConfigurationDetail()\n {\n this._Siteconfig.fnGetSiteConfigurationDetails(localStorage.getItem('LoginUserId')).subscribe(data=>{\n this._Siteconfig.formData=data;\n //localStorage.setItem('Siteconfig',this._Siteconfig.formData.SiteConfId.toString());\n this.BODSweepExecution_value=this._Siteconfig.formData.BODExecutionType;\n this.EODSweepExecution_value=this._Siteconfig.formData.EODExecutionType;\n if(this._Siteconfig.formData.SiteConfId!=0){\n this.fnGetCreatedNUpdatedSiteconfigutaion(this._Siteconfig.formData.SiteConfId.toString());\n if (data.DateTo != \"\") {\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n this._Siteconfig.formData.DateTo = data.DateTo;\n var newObj = moment(data.DateTo).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n this._Siteconfig.formData.DateTo =_savedStartDate; \n }\n if (this._Siteconfig.formData.DateFrom != \"\") {\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n this._Siteconfig.formData.DateFrom = data.DateFrom;\n var newObj = moment(data.DateFrom).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n this._Siteconfig.formData.DateFrom =_savedStartDate; \n }\n this.Calenderchecklabel(this._Siteconfig.formData.IsFinancialYear);\n this.checkUncheckSweepTransaction(this._Siteconfig.formData.SweepTransactionToCustomer);\n this.BODchangeToAuto(this._Siteconfig.formData.BODExecutionType);\n this.EODchangeToAuto(this._Siteconfig.formData.EODExecutionType);\n \n if (this._Siteconfig.formData.BODTime != null) {\n var _savedStartTime = this._Siteconfig.formData.BODTime.split(\":\");\n var _savedStartTimeObject = {hour: 0, minute: 0};\n _savedStartTimeObject.hour = +_savedStartTime[0];\n _savedStartTimeObject.minute = +_savedStartTime[1];\n this._Siteconfig.formData.BODTime =_savedStartTimeObject; \n }\n if (this._Siteconfig.formData.EODTime != null) {\n var _savedStartTime1 = this._Siteconfig.formData.EODTime.split(\":\");\n var _savedStartTimeObject1 = {hour: 0, minute: 0};\n _savedStartTimeObject1.hour = +_savedStartTime1[0];\n _savedStartTimeObject1.minute = +_savedStartTime1[1];\n this._Siteconfig.formData.EODTime =_savedStartTimeObject1; \n }\n }\n else{\n this.GetSiteConfiguration();\n this.Calenderchecklabel('Yes');\n this.checkUncheckSweepTransaction(false);\n debugger;\n this.BODchangeToAuto(this._Siteconfig.formData.BODExecutionType);\n this.EODchangeToAuto(this._Siteconfig.formData.EODExecutionType);\n }\n\n });\n }\n BankButton(){\n this.router.navigate(['']);\n }\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n onSubmit(form: NgForm){\n debugger;\n this.BODSweepExecution_value;\n this.EODSweepExecution_value;\n if(this._Siteconfig.formData.SiteConfId === 0)\n form.value[\"CreatedBy\"]=localStorage.getItem('LoginUserId');\n else\n form.value[\"UpdatedBy\"]=localStorage.getItem('LoginUserId');\n // this._Siteconfig.formData.SweepTransactionToCustomer.checker\nif(this.SweepTransaction==true){\n form.value.SweepTransactionToCustomer='Yes'\n}\nif(this.SweepTransaction==false){\n form.value.SweepTransactionToCustomer='No'\n}\n if (form.value.DateFrom.singleDate.date.month >= \"10\") {\n this.newdate1 = form.value.DateFrom.singleDate.date.year+\"-\"+form.value.DateFrom.singleDate.date.month+\"-\"+form.value.DateFrom.singleDate.date.day;\n form.value.DateFrom = this.newdate1;\n }\n else {\n this.newdate1 = form.value.DateFrom.singleDate.date.year+\"-0\"+form.value.DateFrom.singleDate.date.month+\"-\"+form.value.DateFrom.singleDate.date.day;\n form.value.DateFrom = this.newdate1;\n }\n \n if (form.value.DateTo.singleDate.date.month >= \"10\") {\n this.newdate2 = form.value.DateTo.singleDate.date.year+\"-\"+form.value.DateTo.singleDate.date.month+\"-\"+form.value.DateTo.singleDate.date.day;\n form.value.DateTo = this.newdate2;\n }\n else {\n this.newdate2 = form.value.DateTo.singleDate.date.year+\"-0\"+form.value.DateTo.singleDate.date.month+\"-\"+form.value.DateTo.singleDate.date.day;\n form.value.DateTo = this.newdate2;\n }\n debugger;\n if(this._Siteconfig.formData.BODTime==null || this._Siteconfig.formData.BODTime==\"\"){ form.value[\"BODTime\"] =\"\"}\n if(this._Siteconfig.formData.EODTime==null || this._Siteconfig.formData.EODTime==\"\"){ form.value[\"EODTime\"] =\"\"}\n \n if (form.value.BODTime != \"\") {\n if(form.value.BODTime.minute==0){form.value.BODTime.minute=\"00\"}\n this.newBODTime = form.value.BODTime.hour+\":\"+form.value.BODTime.minute;\n\n form.value[\"BODTime\"] = this.newBODTime;\n }\n else{ form.value[\"BODTime\"] = \"\";}\n if (form.value.EODTime != \"\") {\n if(form.value.EODTime.minute==0){form.value.EODTime.minute=\"00\"}\n this.newEODTime = form.value.EODTime.hour+\":\"+form.value.EODTime.minute;\n form.value[\"EODTime\"] = this.newEODTime;\n }\n else{ form.value[\"EODTime\"] = \"\";}\n \n debugger\n this._Siteconfig.fnSaveSiteConfigurationDetails(form.value).subscribe(res => {\n // this.lblMessage='Added Successfully';\n this.lblMessage=res.message;\n this._Siteconfig.formData.SiteConfId=res.SiteConfId;\n this.showMsg=true;\n this.onTop();\n var _savedStartTime = res.BODTime.split(\":\");\n var _savedStartTimeObject = {hour: 0, minute: 0};\n _savedStartTimeObject.hour = +_savedStartTime[0];\n _savedStartTimeObject.minute = +_savedStartTime[1];\n form.value.BODTime =_savedStartTimeObject;\n\n var _savedStartTime1 = res.EODTime.split(\":\");\n var _savedStartTimeObject1 = {hour: 0, minute: 0};\n _savedStartTimeObject1.hour = +_savedStartTime1[0];\n _savedStartTimeObject1.minute = +_savedStartTime1[1];\n form.value.EODTime =_savedStartTimeObject1;\n if(this.BODSweepExecution_value!=this._Siteconfig.formData.BODExecutionType &&\n this.EODSweepExecution_value!=this._Siteconfig.formData.EODExecutionType){\n this.ModalForBOD=true;\n this.Message=\"Changes made to BOD/EOD Sweep Execution will effect post 24 hours.\"; \n }\n else if(this.BODSweepExecution_value!=this._Siteconfig.formData.BODExecutionType){\n this.ModalForBOD=true;\n this.Message=\"Changes made to BOD Sweep Execution will effect post 24 hours.\";\n }\n else if(this.EODSweepExecution_value!=this._Siteconfig.formData.EODExecutionType){\n this.ModalForBOD=true;\n this.Message=\"Changes made to EOD Sweep Execution will effect post 24 hours\";\n }\n this.GetSiteConfigurationDetail();\n // this.fnGetCreatedNUpdatedSiteconfigutaion();\n });\n debugger\n this._Siteconfig.formData.SiteConfId\n }\n\n \n CancelButton(){\n this.router.navigate(['']);\n }\n fnGetCreatedNUpdatedSiteconfigutaion(Siteconfig){ \n this._Siteconfig.fnGetCreatedUpdateSiteConfig(Siteconfig.toString()).subscribe(userdates=>{\n this.SiteconfigCreatedUpdated=userdates;\n if(this.SiteconfigCreatedUpdated[0].CreatedDate != ''){\n this.showCreatedDiv = true;\n this.createdDate = this.SiteconfigCreatedUpdated[0].CreatedDate;\n this.userNameCreated = this.SiteconfigCreatedUpdated[0].UserName;\n }\n if(this.SiteconfigCreatedUpdated[1].UpdatedDate != ''){\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.SiteconfigCreatedUpdated[1].UserName;\n this.updtedDate = this.SiteconfigCreatedUpdated[1].UpdatedDate;\n }\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n}\n","
\n
\n\n
\n
\n
\n \n \n
\n
\n

Site Configuration

\n
\n
\n
\n
\n\n
\n\n \n
\n \n\n
\n
\n\n
\n ×\n Success! {{ lblMessage }}.\n
\n\n
\n ×\n Error! {{ lblMessage }}.\n
\n\n
\n
\n \n
\n \n
\n
\n \n
\n
\n \n
Sweep Method is required
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n Year Selection is required\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n From Date is required\n
\n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n To Date is required\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n CBS Integration Selection is required\n
\n
\n \n
\n\n
\n \n
\n \n
\n \n
\n
\n \n
\n \n
\n \n
\n
\n \n
\n\n \n
\n \n \n
\n BOD Time is required.\n
\n
\n\n
\n
\n\n\n
\n\n
\n \n
\n \n
\n \n
\n
\n \n
\n \n
\n \n
\n
\n \n
\n\n \n
\n \n \n
\n EOD Time is required.\n
\n
\n\n
\n \n
\n
\n \n \n
\n
\n\n\n \n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n \n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{Message}}

\n
\n
\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { BranchService} from '../../MasterService/branch.service';\nimport {BranchMaster, BranchCreatedUpdated} from '../../MasterService/branch-master';\nimport { FormGroup,FormControl,Validators, NgForm} from '@angular/forms';\nimport { AllMasterApiService } from 'src/app/MasterService/all-master-api.service';\nimport {ActivatedRoute} from \"@angular/router\";\nimport { Router,NavigationExtras } from '@angular/router';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { toInteger } from '@ng-bootstrap/ng-bootstrap/util/util';\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport { EncryptdecryptService} from '../../MasterService/encryptdecrypt.service';\nimport { delay } from 'rxjs/operators';\nimport { throwIfAlreadyLoaded } from 'src/app/@core/module-import-guard';\nimport { formatNumber } from '@angular/common';\nimport { isFunction } from 'jquery';\n\n@Component({\n selector: 'app-branch-master',\n templateUrl: './branch-master.component.html',\n styleUrls: ['./branch-master.component.css']\n})\nexport class BranchMasterComponent implements OnInit {\n bankNameDisable :boolean=true;\n buttonvalue:string;\n submitted = false;\n disbankNameDisable:boolean;\n CorrespondentBank=\"No\";\n branchForm:FormGroup;\n disableButton: boolean;\n disableClear:boolean;\n HiddenClr:boolean = false;\n lblMessage:string;\n showModal: boolean;\n showMsg:boolean;\n showerrormsg:boolean;\n countryList:any = [];\n stateList:any = [];\n cityList:any =[];\n viewMode:boolean;\n isDisabledState:boolean=false;\n branchFlag:string;\n disableStatus:boolean;\n BranchCreatedUpdated1:BranchCreatedUpdated[];\n createdBy:number;\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n isValidbank: boolean=true;\n CheckerPrivillage:boolean;\n reviewStatus:number;\n showStatusDiv:boolean = false;\n editedBranchInfo:any=[];\n iUserId:number;\n showApprovalInfo:string;\n lblTitle:string;\n\n // ifsc code\n showIfscCode:boolean;\n// FilterIFSCCode:any;\n IFSCCodes:any;\n validStatus: boolean=true;\n IsAnyOneSelected: boolean=false;\n NoOneSelected: string;\n\n constructor(public _branchService:BranchService,private router: Router ,public _allServiceMasterApi:AllMasterApiService,\n private _routeWithQuerystring:ActivatedRoute,public _spinner:NgxSpinnerService,private _roleAccess:RoleAccessService,\n public _encreptdecrept:EncryptdecryptService) {}\n editedBranchId:number;\n\n ngOnInit(): void {\n // If LoginUserId is null then it will return\n if(localStorage.getItem('LoginUserId') == null){\n this.router.navigate([\"\"]);\n return;\n }\n \n this._spinner.show();\n this.iUserId = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n this.editedBranchId = +localStorage.getItem('branchDataId');\n this.branchFlag = localStorage.getItem('branchFlag');\n this.disableButton = false;\n this.onTop();\n \n if(this.editedBranchId >0){\n // Getting created and updated history\n this.fnGetCreatedNUpdatedBranch();\n }\n else{\n this.lblTitle='Add Branch Master';\n this.disableStatus = true;\n this.editedBranchInfo.BankName = 'IDBI Bank';\n this.editedBranchInfo.Correspondent = this.editedBranchInfo.Correspondent == undefined ? 'No':this.editedBranchInfo.Correspondent;\n this.editedBranchInfo.RTGS = this.editedBranchInfo.RTGS == undefined ? '1' : this.editedBranchInfo.RTGS;\n this.editedBranchInfo.CountryId = null;\n this.editedBranchInfo.StateId = null;\n this.editedBranchInfo.CityId = null;\n this.buttonvalue = \"Submit\";\n this.NewBranchMaster();\n }\n //Getting country data from database\n this.fncountry();\n\n this.lblMessage = localStorage.getItem(\"Msg\");\n \n if (this.lblMessage == null || this.lblMessage == \"\") {\n \n }else{\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n // Getting Privillage based on id\n this.GetPrivillageRoles();\n }\n OLDRTGS:string='';\n IsAuthorize:boolean=false;\n IsCheckerCustomer: boolean = false;\n //Getting branch data from database\n GetBranchInformation(){\n if(this.editedBranchId > 0){\n this._branchService.fnGetBranchData(this.editedBranchId.toString()).subscribe(allbranchdetails=>{\n debugger;\n this._branchService.formData = allbranchdetails[0];\n\n if(this.branchFlag == \"edit\"){\n this.lblTitle='Edit Branch Master';\n this.viewMode=false;\n this.HiddenClr = true;\n }\n else if(this.branchFlag == \"view\"){\n this.lblTitle= 'View Branch Master';\n this.isDisabledState=true;\n this.disableButton=true; \n this.disableClear=true;\n this.viewMode=true;\n this.bankNameDisable = true;\n }\n if(this.branchFlag == \"authorize\")\n this.IsAuthorize = true;\n this.lblTitle='Edit Branch Master';\n\n if (this._branchService.formData.Correspondent == \"No\" || (this.editedBranchId > 0 && this.editedBranchInfo.Correspondent == \"No\")) {\n this.bankNameDisable=true;\n }\n if (this._branchService.formData.Correspondent == \"Yes\" || (this.editedBranchId > 0 && this.editedBranchInfo.Correspondent == \"Yes\") ) {\n this.bankNameDisable=false;\n }\n\n this.reviewStatus = +this._branchService.formData.ReviewStatus;\n\n if(this.reviewStatus==1 || this.reviewStatus==4 || this.reviewStatus==7 ){\n this.showStatusDiv = true;\n }\n\n if(this._branchService.formData.Status == \"InActive\"){\n this._branchService.formData.Status = \"0\";\n }\n else if(this._branchService.formData.Status==\"Active\"){\n this._branchService.formData.Status = \"1\";\n }\n else{\n this._branchService.formData.Status=\"2\";\n }\n\n if(this._branchService.formData.RTGS == \"1\")\n this.OLDRTGS = \"Yes\"\n else\n this.OLDRTGS = \"No\";\n\n if(!this.CheckerPrivillage && this._branchService.formData.Status==\"2\"){\n this.disableButton = true;\n }\n else if(this.CheckerPrivillage && this._branchService.formData.Status != \"2\" && (this._branchService.formData.CreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))){\n this.disableButton = true;\n }\n else if(this.branchFlag == \"edit\" && this.CheckerPrivillage && (this._branchService.formData.CreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))){\n this.disableButton = true;\n }\n else\n this.disableButton = false;\n \n if (this.CheckerPrivillage && (this._branchService.formData.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))\n && this._branchService.formData.Status == '2') {\n this.disableButton = true;\n this.IsCheckerCustomer = true;\n }\n\n if(this.CheckerPrivillage == true && (this._branchService.formData.CreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))){\n this.buttonvalue = \"Verify\";\n this.showApprovalInfo = \"Pending\";\n }\n else{\n this.buttonvalue = \"Submit\";\n this.showApprovalInfo = \"\";\n }\n\n if(this.CheckerPrivillage && this._branchService.formData.Status == \"2\" && (this._branchService.formData.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))){\n this.showStatusDiv = true;\n this.disableStatus = true;\n this.disableButton = true;\n }\n\n if(this.CheckerPrivillage && this._branchService.formData.Status==\"2\")\n this._branchService.formData.Status = \"2\";\n\n if (this.reviewStatus == 8) {\n this.disableButton = true;\n }\n\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n // Getting edited data from database\n this.GetEditedBranchMasterValues(this.editedBranchId);\n }\n else{\n this._branchService.formData = {\n\n BranchId:0,\n Correspondent:'No',\n BankName:'IDBI Bank',\n BranchCode:'',\n BranchName:'',\n BICCode:'',\n IFSCCode:'',\n MICRCode:'',\n Address1:'',\n Address2:'',\n CountryId:null,\n Country:'',\n StateId:null,\n State:'',\n CityId:null,\n City:'',\n lblTitle:'Add Branch Master',\n msg:'',\n CurrentBranchId:null,\n IsBranchExistInAccount:true, \n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName :'',\n DateCreated :'',\n UpdatedName:'',\n Status:'2',\n ReviewStatus:null,\n LoggedInUser:null,\n RequestType:'',\n BranchNewStatus:'Active',\n RTGS:'1'\n }\n this.viewMode=false;\n }\n this._spinner.hide();\n }\n\n EnableTextbox(){\n this.bankNameDisable = false;\n this._branchService.formData.BankName = '';\n this.editedBranchInfo.BankName = '';\n // this.editedBranchInfo.RTGS = \"\";\n }\n\n DisableTextbox(){\n this.bankNameDisable = true;\n this._branchService.formData.BankName = 'IDBI Bank';\n this.editedBranchInfo.BankName = 'IDBI Bank';\n this.editedBranchInfo.RTGS = \"1\";\n }\n \n EnableDisableTextBox(_val){\n if (_val == \"Yes\") {\n this.disbankNameDisable = false;\n }\n else{\n this.disbankNameDisable = true;\n }\n }\n //get lblTitle() { return this._br77anchService.formData.lblTitle }\n \n show()\n {\n this.showModal = true; // Show-Hide Modal Check \n }\n\n hide(){\n this.showModal = false;\n }\n\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n\n showIfscModal(){\n this.showIfscCode = true;\n $(document).ready(function () {\n $('#ModalIfscCode').eq(0).focus();\n });\n }\n hideIfscModal(){\n this.showIfscCode = false;\n $(document).ready(function () {\n $('#BICCode').eq(0).focus();\n });\n }\n\n get f() {\n return this.branchForm.controls; \n }\n// after submit page refresh method is called\n fnPageRefresh(form){\n if (this.branchFlag == \"edit\" && this.editedBranchId>0) { \n this.resetForm(form);\n this.onTop();\n } \n else {\n this.resetForm(form)\n this.onTop();\n\n document.location.reload();\n // setTimeout(function(){\n // this.document.location.reload();\n // }, 1000);\n }\n }\n // To reset form\n resetForm(form?: NgForm) {\n \n if (this.branchFlag == \"edit\" && this.editedBranchId > 0) {\n if (form != null) \n // form.resetForm();\n this._branchService.formData = {\n BranchId:this.editedBranchId,\n Correspondent:'No',\n BankName:'IDBI Bank',\n BranchCode:'',\n BranchName:'',\n BICCode:'',\n IFSCCode:'',\n MICRCode:'',\n Address1:'',\n Address2:'',\n CountryId:null,\n Country:'',\n StateId:null,\n State:'',\n CityId:null,\n City:'',\n lblTitle:'Edit Branch Master',\n msg:'',\n CurrentBranchId:null,\n IsBranchExistInAccount:true, \n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName :'',\n DateCreated :'',\n UpdatedName:'',\n Status:'2',\n ReviewStatus:null,\n LoggedInUser:null,\n RequestType:'',\n BranchNewStatus:'Active',\n RTGS:'1'\n }\n this.showMsg=false;\n this.showerrormsg = false;\n\n if (this.editedBranchId == 0) {\n this.editedBranchId == this._branchService.formData.BranchId;\n }\n if(this._branchService.formData.Correspondent==\"No\")\n {\n this.bankNameDisable=true;\n }\n else{\n this.bankNameDisable=false;\n }\n \n }\n else{\n if (form != null) \n form.resetForm();\n this._branchService.formData = {\n BranchId:0,\n Correspondent:'No',\n BankName:'IDBI Bank',\n BranchCode:'',\n BranchName:'',\n BICCode:'',\n IFSCCode:'',\n MICRCode:'',\n Address1:'',\n Address2:'',\n CountryId:null,\n Country:'',\n StateId:null,\n State:'',\n CityId:null,\n City:'',\n lblTitle:'Add Branch Master',\n msg:'',\n CurrentBranchId:null,\n IsBranchExistInAccount:true, \n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName :'',\n DateCreated :'',\n UpdatedName:'',\n Status:'2',\n ReviewStatus:null,\n LoggedInUser:null,\n RequestType:'',\n BranchNewStatus:'Active',\n RTGS:'1'\n } \n }\n }\n// submitting form data into database\n onSubmit(form: NgForm){\n form.value[\"BranchCode\"] = this.editedBranchInfo.BranchCode; \n form.value[\"IFSCCode\"] = this.editedBranchInfo.IFSCCode;\n if(form.value[\"CountryId\"] == undefined)\n form.value[\"CountryId\"] = this.editedBranchInfo.CountryId;\n if(form.value[\"StateId\"] == undefined)\n form.value[\"StateId\"] = this.editedBranchInfo.StateId;\n if(form.value[\"CityId\"] == undefined)\n form.value[\"CityId\"] = this.editedBranchInfo.CityId;\n if(form.value[\"Correspondent\"] == undefined)\n form.value[\"Correspondent\"] = this.editedBranchInfo.Correspondent;\n \n if (form.controls.BranchId.value > 0 && this.CheckerPrivillage && this._branchService.formData.Status == \"2\") {\n this.validStatus = false;\n return;\n }\n if(form.valid && this.validStatus){\n if(form.value[\"Correspondent\"] == \"Yes\" && form.value[\"BankName\"].toLowerCase() == \"idbi bank\")\n {\n this.showerrormsg = true;\n this.lblMessage = \"If Correspondent Bank is YES then Bank Name should not be IDBI Bank\";\n this.onTop();\n this.disableButton = false;\n return false;\n } \n this.disableButton = true;\n\n if(!this.CheckerPrivillage){\n form.value[\"Status\"] = 2;\n\n if(this.reviewStatus ==5 || this.reviewStatus==6){\n form.value[\"ReviewStatus\"]=4;//Edit approval pending\n }\n else if(this.reviewStatus==2 || this.reviewStatus==3){ \n form.value[\"ReviewStatus\"]=4;\n }\n else if(this.reviewStatus==8 || this.reviewStatus==9){ \n form.value[\"ReviewStatus\"]=4;\n }\n else{ \n form.value[\"ReviewStatus\"]=1;\n }\n }\n else{\n debugger;\n if(form.value[\"Status\"] ==1 && this.reviewStatus ==undefined ){\n form.value[\"ReviewStatus\"]=2;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus ==undefined){\n form.value[\"ReviewStatus\"]=3;\n }\n if(form.value[\"Status\"] ==1 && this.reviewStatus==1){\n form.value[\"ReviewStatus\"]=2;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus==1){\n form.value[\"ReviewStatus\"]=3;\n }\n \n if(form.value[\"Status\"] ==1 && this.reviewStatus==4){\n form.value[\"ReviewStatus\"]=5;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus==4){\n form.value[\"ReviewStatus\"]=6;\n }\n \n if(form.value[\"Status\"] ==1 && this.reviewStatus==7){\n form.value[\"ReviewStatus\"]=8;\n form.value[\"Status\"] = 0;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus==7){\n form.value[\"ReviewStatus\"]=9;\n form.value[\"Status\"] = 1;\n }\n\n // for add by checker add\n if(form.value[\"Status\"] == undefined && this.reviewStatus == undefined){\n form.value[\"ReviewStatus\"]= 1;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && (this.reviewStatus==2 || this.reviewStatus==3)){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && (this.reviewStatus==5 || this.reviewStatus==6)){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 0 && this.reviewStatus==3){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 0 && (this.reviewStatus==5 || this.reviewStatus==6)){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 0 && this.reviewStatus==8){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && this.reviewStatus==9){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 2 && (this.reviewStatus == undefined || this.reviewStatus == 1 || this.reviewStatus == null)){\n form.value[\"ReviewStatus\"] = 1;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && this.reviewStatus == 2){\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n }\n\n form.value[\"LoggedInUser\"] = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n\n this.isValidbank=true;\n this.submitted = true;\n\n if(this.editedBranchId === 0){\n this._branchService.fnIsBranchCodeExists(form.controls.BranchCode.value).subscribe(data=>{\n \n if (data == 0) {\n\n if(this.isValidbank==true && this.validStatus==true){\n\n if (form.valid){\n let a =localStorage.getItem('LoginUserId');\n form.value[\"RTGS\"]=this.editedBranchInfo.RTGS;\n form.value[\"BranchCode\"]=this.editedBranchInfo.BranchCode;\n form.value[\"IFSCCode\"]=this.editedBranchInfo.IFSCCode;\n form.value[\"BankName\"]=this.editedBranchInfo.BankName;\n if(this.editedBranchId === 0)\n form.value.CreatedBy = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n else\n form.value.UpdatedBy = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n \n this._branchService.fnSaveBranchMasterDetails(form.value).subscribe(data=>{\n \n if(this.CheckerPrivillage && this.editedBranchId > 0 && (data.ReviewStatus == 2 || data.ReviewStatus == 3 || \n data.ReviewStatus == 5 || data.ReviewStatus == 6 || data.ReviewStatus == 8 || data.ReviewStatus == 9)){\n this.disableButton = true;\n }\n else{\n this.disableButton = false; \n }\n\n this.fnPageRefresh(form);\n this.lblMessage=data.BranchName+ \" \"+ data.msg;\n localStorage.setItem(\"Msg\",this.lblMessage);\n this.onTop();\n\n this._branchService.formData.Correspondent === \"No\";\n },(error)=>{\n this.showMsg = false;\n //this.showerrormsg = true;\n //this.lblMessage = 'An error occured.';\n this.onTop();\n this.router.navigate([\"404\"]);\n });\n \n }\n } // isvalid bank\n }\n else{\n this.disableButton = false;\n this.lblMessage = \"Branch Code already exists\";\n this.showMsg = false;\n this.showerrormsg = true;\n this.onTop(); \n }\n\n }, (err) => {\n this.router.navigate([\"404\"]);\n });//\n}\nelse{\n if(this.isValidbank==true && this.validStatus==true){\n this._branchService.fnIsBranchCodeExistsEditMode(this.editedBranchId.toString(), form.controls.BranchCode.value).subscribe(data=>{\n if (data == 0) {\n if (form.valid){\n let a =localStorage.getItem('LoginUserId');\n form.value[\"RTGS\"]=this.editedBranchInfo.RTGS;\n //seema 18/12/2020 \n form.value[\"BranchCode\"]=this.editedBranchInfo.BranchCode;\n form.value[\"IFSCCode\"]=this.editedBranchInfo.IFSCCode;\n if(this.editedBranchId === 0)\n form.value.CreatedBy = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n else\n form.value.UpdatedBy = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\ndebugger;\n this._branchService.fnSaveBranchMasterDetails(form.value).subscribe(data=>{\n debugger;\n if(this.CheckerPrivillage && this.editedBranchId > 0 && (data.ReviewStatus == 2 || data.ReviewStatus == 3 || \n data.ReviewStatus == 5 || data.ReviewStatus == 6 || data.ReviewStatus == 8 || data.ReviewStatus == 9)){\n this.disableButton = true;\n }\n else if(this.editedBranchId > 0 && data.ReviewStatus == 4){\n this.disableButton = true;\n }\n else{\n this.disableButton = false;\n }\n this._branchService.formData.BranchId=data.CurrentBranchId;\n this.editedBranchId = data.CurrentBranchId;\n this.fnGetCreatedNUpdatedBranch()\n this.lblMessage=data.BranchName+ \" \"+ data.msg;\n this.showMsg = true;\n this.showerrormsg = false;\n this.onTop();\n },\n (error)=>{\n this.showMsg = false;\n //this.showerrormsg = true;\n //this.lblMessage = 'An error occured.';\n this.onTop();\n this.router.navigate([\"404\"]);\n});\n} //ntn\n }\n else{\n this.disableButton = false;\n this.lblMessage = \"Branch Code already exists\";\n this.showMsg = false;\n this.showerrormsg = true;\n this.onTop(); \n }\n}, (err) => {\n this.router.navigate([\"404\"]);\n});\n} // isvalid bank\n}\n}\n\n}\n\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n\n StateCity(){\n this.editedBranchInfo.StateId = null;\n this.editedBranchInfo.CityId = null;\n this.cityList =null;\n }\n\n OnStatechange(){\n this.editedBranchInfo.CityId = null;\n }\n // Getting country data\n fncountry(){\n debugger;\n this._allServiceMasterApi.fnGetCountryMaster().subscribe(allCountry => {\n this.countryList = allCountry;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n// Getting state data\n fnstate(id){\n debugger;\n if (id != null) {\n this._allServiceMasterApi.fnGetStateMaster(id).subscribe(allState => {\n this.stateList = allState;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else{\n this.stateList.length=0;\n }\n }\n // Getting city data\n fncity(id){\n if (id != null) {\n this._allServiceMasterApi.fnGetCityMaster(id).subscribe(allCity => {\n this.cityList = allCity;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else{\n this.cityList.length=0;\n }\n }\n\n omit_special_char(event){ \n this.showMsg = false;\n this.showerrormsg = false;\n var k; \n k = event.charCode; //k = event.keyCode; (Both can be used)\n return((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 32 || (k >= 48 && k <= 57)); \n \n\n }\n\n BackButton(){\n localStorage.removeItem('branchDataId');\n this.router.navigate(['/ManageBranchMaster']);\n }\n// Getting created and updated history\n fnGetCreatedNUpdatedBranch(){ \n this._branchService.fnGetCreatedUpdateBranchc(this.editedBranchId.toString()).subscribe(userdates=>{\n this.BranchCreatedUpdated1=userdates;\n\n if(this.BranchCreatedUpdated1[0].CreatedDate != ''){\n this.showCreatedDiv = true;\n this.createdDate = this.BranchCreatedUpdated1[0].CreatedDate;\n this.userNameCreated = this.BranchCreatedUpdated1[0].UserName;\n }\n if(this.BranchCreatedUpdated1[1].UpdatedDate != ''){\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.BranchCreatedUpdated1[1].UserName;\n this.updtedDate = this.BranchCreatedUpdated1[1].UpdatedDate;\n }\n\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n \n NewBranchMaster() {\n this._branchService.formData = {\n \n BranchId:0,\n Correspondent:'No',\n BankName:'IDBI Bank',\n BranchCode:'',\n BranchName:'',\n BICCode:'',\n IFSCCode:'',\n MICRCode:'',\n Address1:'',\n Address2:'',\n CountryId:null,\n Country:'',\n StateId:null,\n State:'',\n CityId:null,\n City:'',\n lblTitle:'Add Branch Master',\n msg:'',\n CurrentBranchId:null,\n IsBranchExistInAccount:true, \n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName :'',\n DateCreated :'',\n UpdatedName:'',\n Status:null,\n ReviewStatus:null,\n LoggedInUser:null,\n RequestType:'',\n BranchNewStatus:'Active',\n RTGS:'1'\n }\n }\n//Getting privillage based on id\n GetPrivillageRoles(){\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),'/ManageBranchMaster').subscribe(roleAccess=>{ \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n // Getting branch data from database\n this.GetBranchInformation();\n this._branchService.formData.Correspondent = '';\n }, (err) => {\n this.router.navigate([\"404\"]);\n }) ;\n }\n// Getting edited data from database\n GetEditedBranchMasterValues(editedBranchId){ \n if(editedBranchId > 0){\n return this._branchService.fnGetEditedBranchValue(editedBranchId).subscribe(data=>{\n this.editedBranchInfo = data;\n \n if (this.editedBranchInfo.Correspondent == \"No\") {\n this.bankNameDisable=true;\n }\n if (this.editedBranchInfo.Correspondent == \"Yes\") {\n this.bankNameDisable=false;\n }\n\n this.GetBranchStateNCountry();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else{\n return this.editedBranchInfo = this._branchService.formData;\n }\n }\n\n GetBranchStateNCountry() {\n if (this.editedBranchInfo.StateId != null)\n this.fnstate(this.editedBranchInfo.CountryId);\n \n if (this.editedBranchInfo.CityId != null)\n this.fncity(this.editedBranchInfo.StateId);\n }\n RemoveIFSCCOde(){\n if(this.editedBranchInfo.BankName != null && this.editedBranchInfo.BankName != \"\" \n && this.editedBranchInfo.BranchName != null && this.editedBranchInfo.BranchName != \"\"){\n this.editedBranchInfo.IFSCCode='';\n // this.editedBranchInfo.RTGS='';\n this.editedBranchInfo.BranchCode = '';\n }\n }\n fnIFSCCodeList(){\n debugger\n this.IFSCCodes = [];\n if(this.editedBranchInfo.BankName != null && this.editedBranchInfo.BankName != \"\" \n && this.editedBranchInfo.BranchName != null && this.editedBranchInfo.BranchName != \"\"){\n this._branchService.fnGetIFSCCode(this.editedBranchInfo.BankName, this.editedBranchInfo.BranchName).subscribe(ifscData=>{\n this.IFSCCodes = ifscData[\"Table\"];\n for (var i = 0; i < this.IFSCCodes.length; i++) {\n this.IFSCCodes[i].IsSelected = false;\n if(this.editedBranchInfo.IFSCCode == this.IFSCCodes[i].IDI_IFSC_CODE){\n this.IFSCCodes[i].IsSelected = true;\n }\n } \n });\n }\n this.showIfscModal();\n }\n\n // filterIfscCodeList(){\n // this.FilterIFSCCode = [];\n // this.showIfscModal();\n // for (var i = 0; i < this.IFSCCode.length; i++) {\n // if(this.IFSCCode[i].IDI_BANK_NAME == this.editedBranchInfo.BankName && this.IFSCCode[i].IDI_BRANCH_NAME == this.editedBranchInfo.BranchName){\n // this.FilterIFSCCode.push(this.IFSCCode[i]);\n // } \n // }\n\n // for (var i = 0; i < this.FilterIFSCCode.length; i++) {\n // if(this.FilterIFSCCode[i].IDI_BANK_NAME == this.editedBranchInfo.BankName && \n // this.FilterIFSCCode[i].IDI_BRANCH_NAME == this.editedBranchInfo.BranchName &&\n // this.editedBranchInfo.IFSCCode == this.FilterIFSCCode[i].IDI_IFSC_CODE){\n // this.FilterIFSCCode[i].IsSelected = true;\n // } \n // }\n // }\n\n isChecked(ifsccode){\n debugger\n for (var i = 0; i < this.IFSCCodes.length; i++) {\n if(this.IFSCCodes[i].IsSelected == true){\n this.IFSCCodes[i].IsSelected = false;\n this.IsAnyOneSelected=false;\n }\n else if(this.IFSCCodes[i].IDI_IFSC_CODE == ifsccode){\n this.IFSCCodes[i].IsSelected = true;\n this.NoOneSelected=\"\";\n // this.IsAnyOneSelected=false;\n } \n else{\n this.IFSCCodes[i].IsSelected = false;\n } \n }\n }\n\n isselect(res){\n //this.hideIfscModal();\n debugger\n if(res == \"1\"){\n for (var i = 0; i < this.IFSCCodes.length; i++) {\n if(this.IFSCCodes[i].IsSelected == true){\n this.hideIfscModal();\n this.NoOneSelected=\"\";\n this.IsAnyOneSelected=true;\n this.editedBranchInfo.IFSCCode = this.IFSCCodes[i].IDI_IFSC_CODE;\n // if(this.editedBranchInfo.BranchCode == \"\" || this.editedBranchInfo.BranchCode == null)\n this.editedBranchInfo.BranchCode = this.IFSCCodes[i].IDI_BRANCH_CODE\n this._branchService.fnselectIFSCCode(this.IFSCCodes[i].IDI_IFSC_CODE, \"RTGS\").subscribe(ifscData=>{\n var ifscData1 = ifscData[0][\"bankIfscStatus\"];\n if(ifscData1 == \"VALID\")\n this.editedBranchInfo.RTGS = \"1\"\n else\n this.editedBranchInfo.RTGS = \"0\"\n });\n }\n }\n if(this.IsAnyOneSelected == false){\n this.NoOneSelected=\"please Select IFSC Code\";\n }\n if(this.IsAnyOneSelected == true){\n this.NoOneSelected=\"\";\n }\n }\n else{\n if(this.IFSCCodes.length>0){\n for (var i = 0; i < this.IFSCCodes.length; i++) {\n this.IFSCCodes[i].IsSelected == false;\n this.editedBranchInfo.IFSCCode = \"\";\n this.hideIfscModal();\n // if(this.editedBranchInfo.BranchCode == \"\" || this.editedBranchInfo.BranchCode == null)\n this.editedBranchInfo.BranchCode = \"\";\n }\n }\n else{\n this.hideIfscModal();\n }\n }\n }\n\n ifsccodevalue(){\n if(this.editedBranchInfo.BankName == \"\" || this.editedBranchInfo.BranchName == \"\"){\n this.editedBranchInfo.IFSCCode = \"\";\n // this.editedBranchInfo.RTGS = \"\";\n this.editedBranchInfo.BranchCode = \"\";\n }\n }\n checkStatusVlidaity(status) {\n this._branchService.formData.Status = status;\n if (this.CheckerPrivillage == true) {\n if (status == \"2\") {\n this.validStatus = false;\n }\n else {\n this.validStatus = true;\n }\n }\n }\n CorrespondentRadio(){\n \n jQuery('input:radio[value=Yes]').prop('checked', true);\n this._branchService.formData.Correspondent='Yes'\n this.EnableTextbox();\n //\n jQuery('input:radio[value=M]').blur(function() {\n \n });\n }\n handleKeyboardEvent(event) {\n event.returnValue = false;\n event.preventDefault();\n }\n}\n","
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n

\n {{ lblTitle }}\n

\n
\n
\n
\n
\n \n \n \n \n\n
\n
\n

\n * Marked Fields Are Mandatory.\n

\n
\n \n\n \n ×\n Error! {{ lblMessage }}.\n
\n
\n
\n\n
\n
\n \n
\n \n
\n \n
\n \n\n
\n \n\n \n
\n
\n \n
\n
\n \n
\n \n
\n \n
\n \n\n
\n \n\n \n
\n
\n \n
\n
\n\n
\n
\n \n \n
\n \n \n \n \n \n
\n
\n Bank Name is required.\n
\n
\n Please provide a valid Bank Name.\n
\n
\n
\n\n \n
\n\n
\n \n\n \n\n \n\n
\n
\n Branch Name is required.\n
\n
\n Please provide a valid Branch Name.\n
\n
\n
\n\n \n
\n \n\n \n\n \n\n
\n
\n Branch Code is required.\n
\n
\n Please provide a valid Branch Code.\n
\n
\n
\n
\n\n
\n
\n \n \n \n \n\n \n\n
\n
\n IFSC Code is required.\n
\n
\n Please provide a valid IFSC Code.\n
\n
\n
\n
\n \n
\n\n\n
\n \n \n\n \n\n
\n
\n BIC Code should be 8 To 11 digit.\n
\n\n
\n Please provide a valid BIC Code.\n
\n
\n
\n\n
\n \n\n \n \n \n\n
\n
\n MICR Code should be only numbers.\n
\n
\n MICR Code should be 9 digit.\n
\n
\n
\n
\n\n
\n
\n \n\n \n\n \n\n
\n Country is required\n
\n
\n\n
\n \n\n \n\n \n\n
\n State is required\n
\n
\n\n
\n \n \n\n \n\n
\n City is required\n
\n
\n
\n\n
\n
\n \n\n \n\n \n\n
\n \n
\n Please provide a valid Address.\n
\n
\n
\n\n
\n \n \n \n
\n
\n Please provide a valid Address.\n
\n
\n
\n\n
\n \n\n \n\n \n \n
\n Status is required\n
\n\n
\n
\n\n
\n
\n\n \n\n
\n \n \n
\n\n
\n
\n\n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n \n
\n \n \n\n\n\n\n
\n
\n
\n

Confirmation

\n \n ×\n \n
\n
\n {{ lblMessage }}\n
\n
\n \n Close\n \n
\n
\n
\n\n\n
\n
\n
\n
\n

Select IFSC Code

\n \n ×\n \n
\n
\n
\n \n
\n \n \n
\n
\n\n
\n
\n
No IFSC code found.
\n
\n
\n \n\n
\n
\n {{NoOneSelected}}\n
\n \n
\n \n Select\n \n \n Cancel\n \n
\n
\n
\n
\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { UserCustomerService } from '../../MasterService/user-customer.service'\nimport { AllMasterApiService } from '../../MasterService/all-master-api.service';\nimport {ActivatedRoute} from \"@angular/router\";\nimport { isBoolean } from 'util';\nimport { Router } from '@angular/router';\nimport { parse } from 'path';\nimport { StateMaster } from '../../MasterService/state-master';\nimport * as CryptoJS from 'crypto-js';\n\n@Component({\n selector: 'app-customer-mapping',\n templateUrl: './customer-mapping.component.html',\n styleUrls: ['./customer-mapping.component.css']\n})\nexport class CustomerMappingComponent implements OnInit {\n CustomersForSelect:any =[];\n FilterCustomer:any=[];\n AllSelectedFilterCustomer:any=[];\n cityList: any=[];\n StateList: StateMaster[];\n _custfillter:any=[];\n userId :number=0;\n UserName:string;\n customerSelected:boolean;\n IsCustomerSelected:boolean;\n listLengthForSelect: 0;\n _mapCutomerType:Boolean;\n checkedList:any=[];\n config: any;\n lblMessage:string;\n showMsg:boolean;\n showerrormsg:boolean;\n showValidation:boolean;\n disableButton:boolean;\n mspCustomer :boolean = false;\n ddlshowvalue:number;\n decryptUserId:string;\n \n constructor(public _UserCustomerService : UserCustomerService,private route: ActivatedRoute, public _allMasterApiService:AllMasterApiService,public router:Router) { }\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n}\nencryptUserId:string;\n\n ngOnInit(): void {\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n this.disableButton=false;\n this.onTop();\n this.fnGetAllCity(\"\");\n this.fnGetAllState();\n\n this.route.queryParams.subscribe(params => {\n this.encryptUserId=params[\"id\"];\n this.decryptUserId=this.decryptUsingAES256(params[\"id\"])\n this.userId = (+this.decryptUserId);\n this.UserName = params[\"name\"];\n });\n\n this.fnGetAllCustomer();\n this.customerSelected = false;\n \n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n }\n\n BackButton(){\n this.router.navigate(['/ManageUserMaster']);\n }\n\n pageChanged(event) {\n this.config.currentPage = event;\n }\n\n fnGetAllCustomer(){\n this._UserCustomerService.fnGetCustomerListForUser(this.encryptUserId).subscribe(data=>{\n this.CustomersForSelect = data;\n // for (var i = 0; i < this.CustomersForSelect.length; i++) {\n // if(this.CustomersForSelect[i].isCustomerSelected == true){\n // this.CustomersForSelect[i].isCustomerCheckboxhide = true;\n // this.CustomersForSelect[i].isCustomerDeletehide = false;\n // }\n // else{\n // this.CustomersForSelect[i].isCustomerCheckboxhide = false;\n // this.CustomersForSelect[i].isCustomerDeletehide = true;\n // }\n // }\n\n this.FilterCustomer = this.CustomersForSelect;\n this.listLengthForSelect = this.CustomersForSelect.length;\n\n this.AllSelectedFilterCustomer = this.FilterCustomer.filter(row=>{\n return row.isCustomerSelected == true;\n });\n\n if(this.AllSelectedFilterCustomer.length == this.FilterCustomer.length)\n this.customerSelected = true;\n\n\n this.OnSearch(\"\",\"\",\"\",\"\",\"\",\"\");\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n OnSearch(Name,CorpCode,State,City,mapCustomer,Status){\n debugger;\n this.pageChanged(event);\n var StateN = [];\n\n if(mapCustomer == \"\"){\n if ((Name != \"\" || CorpCode != \"\" || State != \"\" || City != \"\" || Status!=\"\") && mapCustomer == \"\") {\n this.mspCustomer = true;\n }\n else {\n this.mspCustomer = false;\n }\n }\n\n if(mapCustomer == \"true\")\n this.mspCustomer = true;\n else if(mapCustomer == \"false\")\n this.mspCustomer = false;\n\n if(!Name && !CorpCode && !City && State==0 && !mapCustomer && !Status){\n this.FilterCustomer = this.CustomersForSelect;\n } \n else{\n this.FilterCustomer = this.CustomersForSelect.filter(row=>{\n return row.CustomerName.toLocaleLowerCase().match(Name.toLocaleLowerCase());\n });\n this.FilterCustomer = this.FilterCustomer.filter(row=>{\n return row.CorporationCode.toLocaleLowerCase().match(CorpCode.toLocaleLowerCase());\n });\n \n \n StateN = this.StateList.filter(row=>{\n return row.StateId == parseInt(State);\n })\n if(State>0){\n this.FilterCustomer = this.FilterCustomer.filter(row=>{\n return row.State.match(StateN[0][\"StateName\"]);\n });\n }\n \n if(mapCustomer!=\"\"){\n this.FilterCustomer = this.FilterCustomer.filter(row=>{\n this._mapCutomerType = row.isCustomerSelected;\n if(this._mapCutomerType == false){\n if(mapCustomer == \"true\"){\n this.mspCustomer = true;\n }\n else{\n this.mspCustomer = false;\n }\n }\n return row.isCustomerSelected === this.mspCustomer;\n });\n }\n // this.FilterCustomer = this.FilterCustomer.filter(row=>{\n // return row.StateId==State;\n // });\n this.FilterCustomer = this.FilterCustomer.filter(row=>{\n return row.City.match(City);\n });\n this.FilterCustomer = this.FilterCustomer.filter(row=>{\n return row.Status.match(Status);\n });\n }\n}\n\n checkUncheckAllCustomer() {\n this.customerSelected != this.customerSelected;\n\n if (this.FilterCustomer.length > 0) {\n for (var i = 0; i < this.FilterCustomer.length; i++) {\n this.FilterCustomer[i].isCustomerSelected = this.customerSelected; \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.CustomersForSelect[i].isCustomerSelected = this.customerSelected; \n }\n }\n\n this.getCheckedItemList();\n }\n\n isChecked(CustomerId,status){\n debugger;\n this.IsCustomerSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.CustomersForSelect[i].isCustomerSelected == this.IsCustomerSelected; \n }\n this.getCheckedItemList();\n }\n\n\n getCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.CustomersForSelect[i].isCustomerSelected == true)\n this.checkedList.push(this.CustomersForSelect[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n}\n\n showlbl(){\n this.showMsg = true;\n}\nhidelbl(){\n this.showMsg = false;\n}\nshowerror(){\n this.showerrormsg = true;\n}\nhideerror(){\n this.showerrormsg = false;\n}\nshowValidationmsg(){\n this.showValidation = true;\n}\nhideValidationmsg(){\n this.showValidation = false;\n}\n\n Save(){\n debugger;\n this.disableButton=true;\n var postData = {};\n var custList = [];\n\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.CustomersForSelect[i].isCustomerSelected == true){\n var CustObj = {};\n CustObj[\"UserId\"] = this.userId;\n CustObj[\"CustomerId\"] = this.CustomersForSelect[i].CustomerId;\n custList.push(CustObj);\n }\n }\n\n if (custList.length > 0) {\n postData[\"UserId\"]= this.userId;\n postData[\"CustomerId\"]= 0;\n // postData[\"flag\"]= \"INSERT\";\n postData[\"UserCustomerlist\"]= custList;\n // if(custList.length != 0){\n \n this._UserCustomerService.fnAddUserCustomer(postData).subscribe(data=>{\n this.disableButton=false;\n this.lblMessage= data.msg;\n this.fnGetAllCustomer();\n this.showMsg = true;\n this.showerrormsg = false;\n this.hideValidationmsg();\n this.onTop(); \n}, (error)=>{\n this.disableButton=false;\n this.showMsg = false;\n this.router.navigate([\"404\"]);\n //this.showerrormsg = true;\n //this.lblMessage = 'An error occured.';\n this.onTop();\n}); \n }\n else {\n this.disableButton=false;\n //this.showValidationmsg();\n this.lblMessage= \"Select atleast one customer for mapping\";\n this.showMsg =false;\n this.showerrormsg = true;\n this.onTop();\n }\n \n // }\n // else{\n // this.disableButton=false;\n // this.showValidationmsg();\n // // this.lblMessage= \"Please select Customer.\";\n // this.onTop();\n // }\n debugger;\n this.customerSelected = false;\n\n }\n\n// Delete(customerID){\n// debugger;\n// var postData = {};\n// var custList = [];\n\n// postData[\"UserId\"]= this.userId;\n// postData[\"CustomerId\"]= customerID;\n// postData[\"flag\"]= \"DELETE\";\n// postData[\"UserCustomerlist\"]= custList;\n\n// this._UserCustomerService.fnAddUserCustomer(postData).subscribe(data=>{\n// this.lblMessage= \"Customer mapping delete successful.\";\n// this.fnGetAllCustomer();\n// this.showMsg = true;\n// this.showerrormsg = false;\n// this.onTop(); \n// },\n// (error)=>{\n// this.showMsg = false;\n// this.showerrormsg = true;\n// this.lblMessage = 'An error occured.';\n// this.onTop();\n// });\n// }\n\n\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n}\n\n\nfnGetAllCity(State){\n if(State == \"\")\n this._allMasterApiService.fnGetAllCityMaster().subscribe(AllCity => {\n this.cityList = AllCity;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n else{\n this._allMasterApiService.fnGetCityMaster(+State).subscribe(allCity => {\n this.cityList = allCity;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n}\n\nfnGetAllState(){\n this._allMasterApiService.fnGetAllStateMaster().subscribe(AllState => {\n this.StateList = AllState;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n}\n\nfnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n}\n}\n","\n
\n
\n\n \n\n
\n
\n
\n \n
\n
\n

Customer Mapping for User {{UserName}}

\n
\n \n
\n\n
\n\n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n \n
\n ×\n Error! {{lblMessage}}.\n
\n\n
\n
\n\n
\n
\n \n \n
\n \n\n
\n \n \n
\n \n
\n \n
\n\n
\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n validation! {{lblMessage}}.\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameCorporation CodeStateCityStatus\n
\n \n \n
\n Action
{{_cust.CustomerName}}{{_cust.CorporationCode}}{{_cust.State}}{{_cust.City}}{{_cust.Status}}\n
\n \n \n \n
\n
No records found.
\n
\n
\n \n
\n\n
\n \n
\n
\n \n
\n \n \n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { Router } from '@angular/router';\nimport { RoleAccessService } from '../../MasterService/role-access.service';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { ActivatedRoute } from \"@angular/router\";\nimport { AllMasterApiService } from 'src/app/MasterService/all-master-api.service';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { CustomerCreatedUpdated } from '../../MasterService/customer';\nimport * as moment from 'moment';\nimport { NgbDateCustomParserFormatter } from '../../MasterService/date-format';\nimport { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { UserService } from 'src/app/MasterService/user.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Component({\n selector: 'app-customer-master',\n templateUrl: './customer-master.component.html',\n styleUrls: ['./customer-master.component.css'],\n})\nexport class CustomerMasterComponent implements OnInit {\n\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n // other options are here...\n };\n\n model: IMyDateModel = null;\n\n validDate: boolean = true;\n maxDate: object;\n inputDate: any;\n IsCheckerCustomer: boolean = false;\n\n constructor(public _customerService: CustomerService, private router: Router, public _roleAccess: RoleAccessService\n , public _allServiceMasterApi: AllMasterApiService, private _roleQuerystring: ActivatedRoute,\n public _spinner: NgxSpinnerService, private _routeWithQuerystring: ActivatedRoute, public _userService: UserService,public _encrypt:EncryptdecryptService) {\n this.maxDate = { year: new Date().getFullYear(), month: new Date().getMonth() + 1, day: new Date().getDate() }\n }\n\n showModal: boolean;\n showMsg: boolean;\n showerrormsg: boolean;\n lblMessage: string;\n EmptyDataMsg: string;\n ViewPrivllage: boolean;\n disableButton: boolean;\n disableClear: boolean = false;\n viewMode: boolean = false;\n countryList: any = [];\n stateList: any = [];\n cityList: any = [];\n today: any;\n error: any = { isError: false, errorMessage: '' };\n isCodeExist: any;\n futureDateError: boolean = false;\n editedCustomerId: number;\n CustomerFlag: string;\n lblTitle: string;\n newdate: string;\n EshtablishmentDate: string;\n EditedEshtablishmentDate: string;\n HideClr: boolean = false;\n CheckerPrivillage: boolean = false;\n viewModeValue: string;\n IsPendingStatus: string;\n pendingStatus: boolean = false;\n showApprovalInfo: string;\n deletePending: boolean = false;\n buttonvalue: string = 'Submit';\n disableStatus: boolean;\n editedCustomerInfo: any = [];\n validStatus: boolean = true;\n UserId: number;\n sweepapproval:string;\n fundapproval:string;\n\n BankButton() {\n localStorage.removeItem('CustomerDataId');\n this.router.navigate(['/ManageCustomer']);\n }\n ngOnInit(): void {\n // If LoginUserId is null then it will return\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n this._spinner.show();\n this.UserId = +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n this.editedCustomerId = +localStorage.getItem('CustomerDataId');\n this.CustomerFlag = localStorage.getItem('CustomerFlag');\n this.disableButton = false;\n // getting view mode value from query string\n this._routeWithQuerystring.queryParams.subscribe(params => {\n this.viewModeValue = params[\"viewMode\"];\n });\n if (this.viewModeValue == 'view') {\n this.disableButton = true;\n this.disableClear = true;\n }\n //Getting country data from database\n this.fncountry();\n // Getting Privillage based on id\n this.GetPrivillageRoles();\n // Getting customer data from database\n this.GeCustomerInfo();\n // Getting customer created and updated history\n this.GetEditedCustomerInfo();\n\n this.onTop();\n // this._roleQuerystring.queryParams.subscribe(params => { \n // this.viewMode = params[\"viewMode\"];\n // }); \n // if(this.viewMode=='view'){\n // this.disableButton=true; \n // } \n\n this.lblMessage = localStorage.getItem(\"Msg\");\n if (this.lblMessage == null || this.lblMessage == \"\") {\n\n } else {\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n\n if (this.editedCustomerId > 0) {\n if (this.viewModeValue == 'view') {\n this.lblTitle = \"View Customer Master\";\n this.viewMode = true;\n this.disableButton = true;\n this.disableClear = true;\n } else {\n this.lblTitle = \"Edit Customer Master\";\n //this.viewMode = false;\n //this.disableButton = false;\n this.disableClear = false;\n }\n }\n else {\n this.lblTitle = \"Add Customer Master\";\n this.disableButton = false;\n this.disableClear = false;\n this._spinner.hide();\n }\n\n // if(this.editedCustomerId ===0){\n // //this.GetCustomerStateNCountry();\n // this.lblTitle='Add Customer Master';\n // this._spinner.hide();\n // } \n }\n createdBy: number;\n createdDate: string;\n userNameCreated: string;\n usernameUpdte: string;\n updtedDate: string;\n showCreatedDiv: boolean = false;\n showUpdatedDiv: boolean = false;\n\n CustomerCreatedUpdated: CustomerCreatedUpdated[];\n // Getting privillage based on id\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/ManageCustomer').subscribe(roleAccess => {\n this.CheckerPrivillage = roleAccess[0].CheckerAccess;\n // Getting user edited data from database\n this.GetEditedCustomerMasterValues();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n// Getting user edited data from database\n GetEditedCustomerMasterValues() {\n\n if (this.editedCustomerId > 0) {\n return this._customerService.fnGetEditedCustomerMasterValues(this.editedCustomerId).subscribe(data => {\n \n this.editedCustomerInfo = data;\n\n if (this.editedCustomerInfo.Status == \"Pending\" && this.CheckerPrivillage && this._customerService.formData.CreatedBy == this.UserId) {\n this.buttonvalue = \"Submit\";\n }\n else if (this.editedCustomerInfo.Status == \"Pending\" && this.CheckerPrivillage && this._customerService.formData.CreatedBy != this.UserId) {\n this.buttonvalue = \"Verify\";\n }\n\n if (this.editedCustomerInfo.Status == \"Pending\") {\n this.editedCustomerInfo.Status = \"2\";\n }\n\n if (this.editedCustomerInfo.DateOfEshtablishment != null) {\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(this.editedCustomerInfo.DateOfEshtablishment).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this.editedCustomerInfo.DateOfEshtablishment = _savedStartDate;\n }\n if (this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.month >= \"10\") {\n this.EditedEshtablishmentDate = this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.day + \"-\" +\n this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.month + \"-\" + this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.year;\n }\n else {\n this.EditedEshtablishmentDate = this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.day + \"-0\" +\n this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.month + \"-\" + this.editedCustomerInfo.DateOfEshtablishment.singleDate.date.year;\n }\n \n if (this.CheckerPrivillage && this.UserId == this.editedCustomerInfo.CreatedBy && this.editedCustomerInfo.Status == '2') {\n this.disableButton = true;\n this.IsCheckerCustomer = true;\n }\n else if (this.CheckerPrivillage && this.UserId != this.editedCustomerInfo.CreatedBy\n && this.editedCustomerInfo.Status != '2') {\n this.disableButton = true;\n // this.viewMode = true;\n this.buttonvalue = \"Verify\";\n }\n else if (!this.CheckerPrivillage && this.editedCustomerInfo.Status == \"2\") {\n this.disableButton = true;\n }\n\n if(this.CustomerFlag == \"edit\" && this.CheckerPrivillage && this.UserId != this.editedCustomerInfo.CreatedBy){\n this.disableButton = true;\n }\n //Defect 1979 checker to chekcer flow ---01/02/2021 --Rubina \n if(this.CustomerFlag == \"edit\" && this.CheckerPrivillage && \n this.UserId == this.editedCustomerInfo.CreatedBy && this.editedCustomerInfo.Status != \"2\"){\n this.disableButton = false;\n }\n \n \n \n this.GetCustomerStateNCountry();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n else {\n return this.editedCustomerInfo = this._customerService.formData;\n }\n }\n\n GetEditedCustomerInfo() {\n if (this.editedCustomerId != null && this.editedCustomerId != 0) {\n this._customerService.fnGetCreatedNUpatedDateOfCustomerMaster(this.editedCustomerId).subscribe(data => {\n this.CustomerCreatedUpdated = data;\n\n if (this.CustomerCreatedUpdated[0].CreatedDate != '') {\n this.showCreatedDiv = true;\n this.createdDate = this.CustomerCreatedUpdated[0].CreatedDate;\n this.userNameCreated = this.CustomerCreatedUpdated[0].UserName;\n }\n\n if (this.CustomerCreatedUpdated[1].UpdatedDate != '') {\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.CustomerCreatedUpdated[1].UserName;\n this.updtedDate = this.CustomerCreatedUpdated[1].UpdatedDate;\n }\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n }\n\n IsAuthorize:boolean=false;\n GeCustomerInfo() {\n if (this.editedCustomerId != null && this.editedCustomerId != 0) {\n this._customerService.fnGetCustomerData(localStorage.getItem(\"LoginUserId\"), this.editedCustomerId,\"1\",\"100\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\").subscribe(allCustomers => {\n this._customerService.formData = allCustomers[0];\n\n if (allCustomers[0].DateOfEshtablishment != null) {\n\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(allCustomers[0].DateOfEshtablishment).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._customerService.formData.DateOfEshtablishment = _savedStartDate;\n\n //var _savedStartDate = moment(allCustomers[0].DateOfEshtablishment).toObject();\n\n //var _savedStartDateObject = {day:0,month:0,year:0};\n\n //_savedStartDateObject.day = _savedStartDate.date;\n //_savedStartDateObject.month = _savedStartDate.months+1;\n //_savedStartDateObject.year = _savedStartDate.years;\n //this._customerService.formData.DateOfEshtablishment=_savedStartDateObject; \n\n\n if (this._customerService.formData.DateOfEshtablishment.singleDate.date.month >= \"10\") {\n this.EshtablishmentDate = this._customerService.formData.DateOfEshtablishment.singleDate.date.day + \"-\" +\n this._customerService.formData.DateOfEshtablishment.singleDate.date.month + \"-\" + this._customerService.formData.DateOfEshtablishment.singleDate.date.year;\n }\n else {\n this.EshtablishmentDate = this._customerService.formData.DateOfEshtablishment.singleDate.date.day + \"-0\" +\n this._customerService.formData.DateOfEshtablishment.singleDate.date.month + \"-\" + this._customerService.formData.DateOfEshtablishment.singleDate.date.year;\n }\n\n }\n\n this.showApprovalInfo = this._customerService.formData.Status;\n\n if (this._customerService.formData.Status.toLocaleLowerCase() == \"inactive\") {\n this._customerService.formData.Status = \"0\";\n }\n else if (this._customerService.formData.Status == \"Active\") {\n this._customerService.formData.Status = \"1\"\n }\n else {\n this._customerService.formData.Status = \"2\";\n }\n\n this.IsPendingStatus = String(this._customerService.formData.ReviewStatus);\n\n if (this.IsPendingStatus == \"1\" || this.IsPendingStatus == \"4\" || this.IsPendingStatus == \"7\") {\n this.pendingStatus = true;\n this.showApprovalInfo = this.showApprovalInfo;\n }\n\n if(this._customerService.formData.SweepExecutionApproval == \"1\")\n this.sweepapproval = \"2 Eye\";\n else\n this.sweepapproval = \"4 Eye\";\n\n if(this._customerService.formData.FundDisbursementApproval == \"1\")\n this.fundapproval = \"4 Eye\";\n else\n this.fundapproval = \"6 Eye\";\n \n // if(this.viewModeValue == \"view\")\n // this.disableButton = true;\n // else{\n // if((this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && this._customerService.formData.CreatedBy == +localStorage.getItem(\"LoginUserId\"))\n // this.disableButton = true;\n // else if(!this.CheckerPrivillage && allCustomers[0][\"checkerAccess\"] && !allCustomers[0][\"adminAccess\"]){\n // this.disableButton = true;\n // }\n // else \n // this.disableButton = false; \n // }\n\n if (this.IsPendingStatus == \"7\") {\n this.deletePending = true;\n }\n\n if (this.IsPendingStatus == \"8\") {\n this.disableButton = true;\n }\n // if(this.CheckerPrivillage == true && (this._customerService.formData.CreatedBy != +localStorage.getItem(\"LoginUserId\")))\n // this.buttonvalue = \"Verify\";\n // else\n // this.buttonvalue = \"Submit\"; \n\n // this._userService.fnGetUserData(+localStorage.getItem('LoginUserId'),'Edit').subscribe(Users=>{\n // if(this.CheckerPrivillage){\n // if(this.CheckerPrivillage && (this.IsPendingStatus == \"2\" || this.IsPendingStatus == \"3\" || this.IsPendingStatus == \"5\" || this.IsPendingStatus == \"6\"\n // || this.IsPendingStatus == \"8\" || this.IsPendingStatus == \"9\") && this._customerService.formData.CreatedBy != +localStorage.getItem(\"LoginUserId\") && !allCustomers[0][\"adminAccess\"]){\n // this.disableButton = true;\n // }\n // else if(this.CheckerPrivillage && (this._customerService.formData.CreatedBy == +localStorage.getItem(\"LoginUserId\")) && (this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && !allCustomers[0][\"adminAccess\"]){\n // this.disableButton = true;\n // this.disableStatus = true;\n // }\n // else if(!this.CheckerPrivillage && (this._customerService.formData.CreatedBy == +localStorage.getItem(\"LoginUserId\")) && (this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && !allCustomers[0][\"adminAccess\"])\n // {\n // this.disableButton = true;\n // }\n // else{\n // this.disableButton = false;\n // }\n // }\n // });\n\n if (this.CustomerFlag == \"edit\") {\n this.lblTitle = 'Edit Customer Master';\n // if(this._customerService.formData.Status==\"Active\"){\n // this._customerService.formData.Status=\"1\"\n // }\n // else{\n // this._customerService.formData.Status=\"0\"\n // }\n //this.viewMode = false;\n this.HideClr = true;\n }\n else if(this.CustomerFlag == \"authorize\")\n this.IsAuthorize = true;\n else {\n this.lblTitle = 'View Customer Master';\n this.viewMode = true;\n this.disableButton = true;\n this.disableClear = true;\n }\n // this.GetCustomerStateNCountry();\n this._spinner.hide();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n else {\n this._customerService.formData = {\n Status: '2',\n CustPkId: 0,\n CustomerId: '',\n BranchName: '',\n UserName: '',\n CustomerName: '',\n ContactPerson: '',\n CorporationCode: '',\n DateOfEshtablishment: '',\n EmailId: '',\n MobileNumber: '',\n Address1: '',\n Address2: '',\n CountryId: null,\n StateId: null,\n CityId: null,\n Country: '',\n State: '',\n City: '',\n Pincode: '',\n lblTitle: 'Add Customer Master',\n Description: '',\n SweepChargeId: 0,\n SweepChargeType: '',\n Rate: 0,\n msg: '',\n CreatedBy: 0,\n UpdatedBy: 0,\n CreatedDate: '',\n UpdatedDate: '',\n CreatedName: '',\n UpdatedName: '',\n DateCreated: '',\n IsCustomerSelected: false,\n ReviewStatus: 1,\n LoggedInUser: 0,\n RequestType: '',\n SweepExecutionApproval:'1',\n FundDisbursementApproval:'2',\n SweepChargeStatus:'',\n SweepChargereviewstatus:0,\n }\n //this.viewMode = false;\n this.buttonvalue = \"Submit\";\n }\n this._spinner.hide();\n }\n\n GetCustomerStateNCountry() {\n\n // if(this._customerService.formData.StateId != null)\n // this.fnstate(this._customerService.formData.CountryId);\n\n // if(this._customerService.formData.CityId != null)\n // this.fncity(this._customerService.formData.StateId);\n\n if (this.editedCustomerInfo.StateId != null)\n this.fnstate(this.editedCustomerInfo.CountryId);\n\n if (this.editedCustomerInfo.CityId != null)\n this.fncity(this.editedCustomerInfo.StateId);\n\n var d = new Date(),\n month = ('0' + (d.getMonth() + 1)).slice(-2),\n day = ('0' + d.getDate()).slice(-2),\n year = d.getFullYear();\n\n this.today = year + \"-\" + month + \"-\" + day;\n }\n\n\n checkDateValidity(date) {\n\n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n }\n else {\n this.futureDateError = false;\n }\n return this.futureDateError\n\n }\n\n show() {\n this.showModal = true;\n }\n hide() {\n this.showModal = false;\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n // after submit page refresh method is called\n fnPageRefresh(form) {\n if (this.CustomerFlag == \"edit\" && this.editedCustomerId > 0) {\n this.resetForm(form);\n this.onTop();\n }\n else {\n this.resetForm(form)\n this.onTop();\n setTimeout(function () {\n this.document.location.reload();\n }, 1000);\n }\n }\n // To reset form\n resetForm(form?: NgForm) {\n if (this.CustomerFlag == \"edit\" && this.editedCustomerId > 0) {\n if (form != null)\n // form.resetForm();\n this._customerService.formData = {\n Status: '2',\n CustPkId: this.editedCustomerId,\n CustomerId: '',\n BranchName: '',\n UserName: '',\n CustomerName: '',\n ContactPerson: '',\n CorporationCode: '',\n DateOfEshtablishment: '',\n EmailId: '',\n MobileNumber: '',\n Address1: '',\n Address2: '',\n CountryId: null,\n StateId: null,\n CityId: null,\n Country: '',\n State: '',\n City: '',\n Pincode: '',\n Description: '',\n lblTitle: '',\n SweepChargeId: 0,\n SweepChargeType: '',\n Rate: 0,\n msg: '',\n CreatedBy: 0,\n UpdatedBy: 0,\n CreatedDate: '',\n UpdatedDate: '',\n CreatedName: '',\n UpdatedName: '',\n DateCreated: '',\n IsCustomerSelected: false,\n ReviewStatus: 1,\n LoggedInUser: 0,\n RequestType: '',\n SweepExecutionApproval:'1',\n FundDisbursementApproval:'2',\n SweepChargeStatus:'',\n SweepChargereviewstatus:0,\n }\n this.showMsg = false;\n this.showerrormsg = false;\n\n }\n else {\n if (form != null)\n form.resetForm();\n this._customerService.formData = {\n Status: '2',\n CustPkId: 0,\n CustomerId: '',\n BranchName: '',\n UserName: '',\n CustomerName: '',\n ContactPerson: '',\n CorporationCode: '',\n DateOfEshtablishment: '',\n EmailId: '',\n MobileNumber: '',\n Address1: '',\n Address2: '',\n CountryId: null,\n StateId: null,\n CityId: null,\n Country: '',\n State: '',\n City: '',\n Pincode: '',\n Description: '',\n lblTitle: '',\n SweepChargeId: 0,\n SweepChargeType: '',\n Rate: 0,\n msg: '',\n CreatedBy: 0,\n UpdatedBy: 0,\n CreatedDate: '',\n UpdatedDate: '',\n CreatedName: '',\n UpdatedName: '',\n DateCreated: '',\n IsCustomerSelected: false,\n ReviewStatus: 1,\n LoggedInUser: 0,\n RequestType: '',\n SweepExecutionApproval:'1',\n FundDisbursementApproval:'2',\n SweepChargeStatus:'',\n SweepChargereviewstatus:0,\n }\n }\n }\n getDate(date) {\n if (date.year >= 9999 || date.year <= 999) {\n this.validDate = false;\n }\n else {\n this.validDate = true;\n }\n }\n\n checkStatusVlidaity(status) {\n this._customerService.formData.Status = status;\n if (this.CheckerPrivillage == true) {\n if (status == \"2\") {\n this.validStatus = false;\n }\n else {\n this.validStatus = true;\n }\n }\n }\n\n // submitting form data into database\n isValueChange: boolean = false;\n checkFormData: any = [];\n onSubmit(form: NgForm) {\n \n var CustomerId = this.editedCustomerInfo.CustomerId;\n var CorporationCode = this.editedCustomerInfo.CorporationCode;\n var ContactPerson = this.editedCustomerInfo.ContactPerson;\n var Address1 = this.editedCustomerInfo.Address1;\n var Address2 = this.editedCustomerInfo.Address2;\n var Description = this.editedCustomerInfo.Description;\n \n CustomerId = CustomerId.replace(/\\s/g, \"\");\n CorporationCode = CorporationCode.replace(/\\s/g, \"\"); \n ContactPerson = ContactPerson.replace(/\\s/g, \"\");\n Address1 = Address1.replace(/\\s/g, \"\");\n Address2 = Address2.replace(/\\s/g, \"\");\n Description = Description.replace(/\\s/g, \"\");\n\n if (CustomerId == \"\") { this.editedCustomerInfo.CustomerId = CustomerId; }\n if (CorporationCode == \"\") { this.editedCustomerInfo.CorporationCode = CorporationCode; }\n if (ContactPerson == \"\") { this.editedCustomerInfo.ContactPerson = ContactPerson; }\n if (Address1 == \"\") { this.editedCustomerInfo.Address1 = Address1; }\n if (Address2 == \"\") { this.editedCustomerInfo.Address2 = Address2; }\n if (Description == \"\") { this.editedCustomerInfo.Description = Description; }\n \n if (this.editedCustomerInfo.CustomerId == \"\" || this.editedCustomerInfo.CorporationCode == \"\" ||\n this.editedCustomerInfo.ContactPerson == \"\" || this.editedCustomerInfo.Address1 == \"\") {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else{\n this.validStatus == true;\n if (form.controls.CustPkId.value > 0 && this.CheckerPrivillage && this._customerService.formData.Status == \"2\") {\n this.validStatus = false;\n return;\n }\n\n if (form.valid) {\n if (this.validStatus == true) {\n this.disableButton = true;\n }\n }\n\n //Maker flow\n if (!this.CheckerPrivillage) {\n form.value.Status = 2;//pending\n if (this._customerService.formData.ReviewStatus == 2 || this._customerService.formData.ReviewStatus == 3 || this._customerService.formData.ReviewStatus == 5 ||\n this._customerService.formData.ReviewStatus == 6 || this._customerService.formData.ReviewStatus == 8 || this._customerService.formData.ReviewStatus == 9) {\n form.value.ReviewStatus = 4;//Edit approval pending\n }\n else {\n form.value.ReviewStatus = 1;//Add approval pending\n }\n }\n else {\n //checker flow\n //this when checker is creating an user\n if (this._customerService.formData.Status == \"2\" && this._customerService.formData.ReviewStatus == 1) {\n form.value[\"ReviewStatus\"] = 1;//add approved\n form.value[\"Status\"] = 2;\n }\n else if (this._customerService.formData.Status == \"1\" && (this._customerService.formData.ReviewStatus == 2\n || this._customerService.formData.ReviewStatus == 5 || this._customerService.formData.ReviewStatus == 6\n || this._customerService.formData.ReviewStatus == 9)) {\n form.value.ReviewStatus = 4;\n form.value.Status = 2;\n }\n else if (this._customerService.formData.Status == \"0\" && this._customerService.formData.ReviewStatus == 3) {\n form.value.ReviewStatus = 4;\n form.value.Status = 2;\n }\n else if(this._customerService.formData.Status == \"0\" && this._customerService.formData.ReviewStatus == 6) {\n form.value.ReviewStatus = 4;//edit approval pendingb for edit rejected and Inactive status\n form.value.Status = 2;\n }\n\n //IsActive is approved\n if (this._customerService.formData.Status == \"1\" && this._customerService.formData.ReviewStatus == 1) {\n form.value.ReviewStatus = 2;//Add approved \n form.value.Status = 1;\n }\n else if (this._customerService.formData.Status == \"0\" && this._customerService.formData.ReviewStatus == 1) {\n form.value.ReviewStatus = 3;//Add rejected\n form.value.Status = 0;\n }\n\n if (this._customerService.formData.Status == \"1\" && this._customerService.formData.ReviewStatus == 4) {\n form.value.ReviewStatus = 5;//edit approved\n form.value.Status = 1;\n }\n else if (this._customerService.formData.Status == \"0\" && this._customerService.formData.ReviewStatus == 4) {\n form.value.ReviewStatus = 6;//edit rejected\n form.value.Status = 1;\n }\n if (this._customerService.formData.Status == \"1\" && this._customerService.formData.ReviewStatus == 7) {\n form.value.ReviewStatus = 8;//delete approved\n form.value.Status = 0;\n }\n else if (this._customerService.formData.Status == \"0\" && this._customerService.formData.ReviewStatus == 7) {\n form.value.ReviewStatus = 9;//deleted rejected\n form.value.Status = 1;\n }\n }\n\n\n if (form.valid && this.futureDateError == false && this.validDate == true) {\n this.disableButton = true;\n }\n\n if (form.value.DateOfEshtablishment.singleDate.date.month >= \"10\") {\n this.newdate = form.value.DateOfEshtablishment.singleDate.date.year + \"-\" + form.value.DateOfEshtablishment.singleDate.date.month + \"-\" + form.value.DateOfEshtablishment.singleDate.date.day;\n }\n else {\n this.newdate = form.value.DateOfEshtablishment.singleDate.date.year + \"-0\" + form.value.DateOfEshtablishment.singleDate.date.month + \"-\" + form.value.DateOfEshtablishment.singleDate.date.day;\n }\n\n form.value[\"DateOfEshtablishment\"] = this.newdate;\n if (form.valid && this.futureDateError == false && this.validDate == true) {\n\n\n\n if (this.editedCustomerId == undefined && this.editedCustomerId == null) {\n this.editedCustomerId = 0;\n }\n\n // if(this.CheckerPrivillage){\n // if(this._customerService.formData.CustomerId != this.editedCustomerInfo.CustomerId){\n // this.isValueChange=true;\n // form.value.CustomerId=this.editedCustomerInfo.CustomerId;\n // }\n // if(this._customerService.formData.CustomerName != this.editedCustomerInfo.CustomerName){\n // this.isValueChange=true;\n // form.value.CustomerName=this.editedCustomerInfo.CustomerName;\n // }\n // if(this._customerService.formData.CorporationCode != this.editedCustomerInfo.CorporationCode){\n // this.isValueChange=true;\n // form.value.CorporationCode=this.editedCustomerInfo.CorporationCode;\n // }\n // if(this._customerService.formData.DateOfEshtablishment != this.editedCustomerInfo.DateOfEshtablishment){\n // form.value.DateOfEshtablishment=this.editedCustomerInfo.DateOfEshtablishment;\n // this.isValueChange=true;\n // }\n // if(this._customerService.formData.ContactPerson != this.editedCustomerInfo.ContactPerson){\n // form.value.ContactPerson=this.editedCustomerInfo.ContactPerson;\n // this.isValueChange=true;\n // }\n // if(this._customerService.formData.MobileNumber != this.editedCustomerInfo.MobileNumber){\n // form.value.MobileNumber=this.editedCustomerInfo.MobileNumber;\n // this.isValueChange=true;\n // }\n // if(this._customerService.formData.EmailId != this.editedCustomerInfo.EmailId){\n // form.value.EmailId=this.editedCustomerInfo.EmailId;\n // this.isValueChange=true;\n // } \n // if(this._customerService.formData.Address1 != this.editedCustomerInfo.Address1){\n // form.value.Address1=this.editedCustomerInfo.Address1;\n // this.isValueChange=true;\n // } \n // if(this._customerService.formData.Address2 != this.editedCustomerInfo.Address2){\n // form.value.Address2=this.editedCustomerInfo.Address2;\n // this.isValueChange=true;\n // } \n // if(this._customerService.formData.CountryId != this.editedCustomerInfo.CountryId){\n // this.isValueChange=true;\n // form.value.CountryId=this.editedCustomerInfo.CountryId;\n // }\n // if(this._customerService.formData.StateId != this.editedCustomerInfo.StateId){\n // this.isValueChange=true;\n // form.value.StateId=this.editedCustomerInfo.StateId;\n // }\n // if(this._customerService.formData.City != this.editedCustomerInfo.City){\n // this.isValueChange=true;\n // form.value.City=this.editedCustomerInfo.City;\n // }\n // if(this._customerService.formData.Pincode != this.editedCustomerInfo.Pincode){\n // this.isValueChange=true;\n // form.value.Pincode=this.editedCustomerInfo.Pincode;\n // }\n // if(this._customerService.formData.Description != this.editedCustomerInfo.Description){\n // this.isValueChange=true;\n // form.value.Description=this.editedCustomerInfo.Description;\n // }\n // }\n\n // if(!this.isValueChange && this.viewModeValue==\"edit\" && !this.CheckerPrivillage)\n // form.value.ReviewStatus=4;\n // if(this.isValueChange && this.CheckerPrivillage && this._customerService.formData.Status==\"Active\") \n // form.value.ReviewStatus=5;\n // if( this.viewModeValue==\"edit\" && this.CheckerPrivillage && this._customerService.formData.Status==\"Pending\") \n // form.value.ReviewStatus=1\n\n // if(this.CheckerPrivillage && this._customerService.formData.Status==\"Active\")\n // form.value.ReviewStatus=3;\n\n // if(!this.CheckerPrivillage && this.viewModeValue==undefined){\n // form.value.Status=\"2\";\n // form.value.ReviewStatus=1;\n // }\n // if(this._customerService.formData.CustPkId>0)\n // form.value.ReviewStatus=2; \n\n // if(this.viewModeValue==\"edit\" && this.CheckerPrivillage &&\n // this._customerService.formData.Status==\"Pending\" && this._customerService.formData.ReviewStatus==1)\n // form.value.ReviewStatus=1;\n\n // if(!this.isValueChange && this.viewModeValue==\"edit\" && !this.CheckerPrivillage)\n // form.value.ReviewStatus=4;\n\n // if(form.value.ReviewStatus==4 ){\n // if(this.CheckerPrivillage && this._customerService.formData.Status==\"Pending\")\n // form.value.ReviewStatus=4;\n // }\n\n // if(form.value.ReviewStatus==0 ){\n // if(this.CheckerPrivillage && this._customerService.formData.Status==\"Active\")\n // form.value.ReviewStatus=3;\n // }\n\n // if(this.CheckerPrivillage && this._customerService.formData.Status==\"Pending\")\n // form.value.ReviewStatus=2;\n\n\n\n form.value.LoggedInUser = localStorage.getItem('LoginUserId');\n this.checkFormData = form.value;\n this._customerService.fnCheckCorporationCodeExists(form.controls.CorporationCode.value,\n this.editedCustomerId).subscribe(res => {\n this.isCodeExist = res;\n form.value.Status = this.checkFormData.Status;\n form.value.ReviewStatus = this.checkFormData.ReviewStatus;\n form.value.LoggedInUser = this.checkFormData.LoggedInUser;\n\n if (form.controls.CustPkId.value == null || form.controls.CustPkId.value === 0)\n form.value.createdBy = this.UserId;\n else\n form.value.UpdatedBy = this.UserId;\n\n if (this.isCodeExist == '0') {\n form.value[\"DateOfEshtablishment\"] = this.newdate;\n form.value[\"CorporationCode\"] = form.controls.CorporationCode.value;\n form.value[\"CustomerId\"] = form.controls.CustomerId.value;\n form.value[\"CustomerName\"] = form.controls.CustomerName.value;\n form.value[\"UserId\"] = localStorage.getItem(\"LoginUserId\");\n\n if (this.validStatus == true) {\n if(form.value[\"CountryId\"] == undefined)\n form.value[\"CountryId\"] = this.editedCustomerInfo.CountryId;\n if(form.value[\"StateId\"] == undefined)\n form.value[\"StateId\"] = this.editedCustomerInfo.StateId;\n if(form.value[\"CityId\"] == undefined)\n form.value[\"CityId\"] = this.editedCustomerInfo.CityId;\n if(form.value[\"SweepExecutionApproval\"] == undefined)\n form.value[\"SweepExecutionApproval\"] = this.editedCustomerInfo.SweepExecutionApproval;\n if(form.value[\"FundDisbursementApproval\"] == undefined)\n form.value[\"FundDisbursementApproval\"] = this.editedCustomerInfo.FundDisbursementApproval;\n this._customerService.fnSaveCustomerMasterDetails(form.value).subscribe(data => { \n // this.disableButton=false;\n if (this.CheckerPrivillage && (data.ReviewStatus == 2 || data.ReviewStatus == 3 || data.ReviewStatus == 5 || data.ReviewStatus == 6\n || data.ReviewStatus == 8 || data.ReviewStatus == 9)) {\n this.disableButton = true;\n }\n else if (data.ReviewStatus == 4) {\n this.disableButton = true;\n }\n else {\n this.disableButton = false;\n }\n // this._customerService.formData.CustPkId = data.CustPkId;\n\n this.lblMessage = data.CustomerName + \" \" + data.msg;\n //this.editedCustomerId = data.CustPkId;\n\n if (this.editedCustomerId > 0) {\n this.GetEditedCustomerInfo();\n\n\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(data.DateOfEshtablishment).toObject();\n\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n form.value.DateOfEshtablishment = _savedStartDate;\n this.showMsg = true;\n this.showerrormsg = false;\n this.onTop();\n }\n else {\n document.location.reload();\n localStorage.setItem(\"Msg\", this.lblMessage);\n this.onTop();\n }\n\n this.error = { isError: false, errorMessage: '' };\n },\n (error) => {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'An error occured.';\n this.onTop();\n this.router.navigate([\"404\"]);\n }\n );\n }\n }\n else {\n this.disableButton = false;\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Customer with same Corporation Code already exists, please enter unique Corporation Code';\n this.onTop();\n }\n });\n }\n }\n }\n\n fnHideSuccessMsg(event) {\n this.showMsg = false;\n this.showerrormsg = false;\n\n }\n\n // Scroll function\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n //get lblTitle() { return this._customerService.formData.lblTitle }\n StateCity() {\n this.editedCustomerInfo.StateId = null;\n this.editedCustomerInfo.CityId = null;\n this.cityList = null;\n }\n OnStatechange() {\n this.editedCustomerInfo.CityId = null;\n }\n // Getting country\n fncountry() {\n this._allServiceMasterApi.fnGetCountryMaster().subscribe(allCountry => {\n this.countryList = allCountry;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n //Getting state\n fnstate(id){\n if (id != null) {\n this._allServiceMasterApi.fnGetStateMaster(id).subscribe(allState => {\n this.stateList = allState;\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n\n if(id=\"\"){\n this.fncity(0);\n }\n }\n else{\n this.stateList.length=0;\n }\n }\n//Getting city\n fncity(id){\n if (id != null) {\n this._allServiceMasterApi.fnGetCityMaster(id).subscribe(allCity => {\n this.cityList = allCity;\n },(err)=>{\n this.router.navigate([\"404\"]);\n }); \n }\n else{\n this.cityList.length=0;\n }\n }\n \n onKeyDown(event: KeyboardEvent) { let a = (event.charCode == 8 || event.charCode == 45 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n // Pincode validation function\n isnum:boolean = false;\n fnzipcode(Pincode){\n this.isnum = false; \n if(/^\\d+$/.test(Pincode))\n this.isnum = true; \n }\n}","
\n
\n
\n\n
\n\n
\n
\n
\n \n \n
\n
\n

{{lblTitle}}

\n
\n
\n
\n
\n\n
\n\n\n\n
\n\n
\n
\n

* Marked Fields Are Mandatory.

\n\n
\n
{{error.errorMessage}}
\n
\n\n \n\n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n {{lblMessage}}.\n
\n\n
\n \n
\n\n\n\n
\n \n \n\n
\n
\n \n \n\n {{_customerService.formData.CustomerId}} \n \n\n
\n
\n Customer Id is required.\n
\n
\n Please provide a valid Customer Id.\n
\n
\n \n \n
\n
\n \n \n \n\n {{_customerService.formData.CustomerName}} \n \n\n
\n
\n Customer Name is required.\n
\n
\n Please provide a valid Customer Name.\n
\n
\n \n \n
\n \n
\n \n \n\n {{_customerService.formData.CorporationCode}} \n \n\n
\n
\n Corporation Code is required.\n
\n
\n Please provide a valid Corporation Code.\n
\n
\n \n \n
\n \n\n
\n
\n \n
\n \n\n \n\n \n\n
\n \n\n
\n \n
\n \n
\n\n \n \n {{EshtablishmentDate}} \n \n \n
\n Date of Establishment should be less than or equal to current date\n
\n
\n
\n Enter a valid date in DD-MM-YYYY format \n
\n
\n
\n Enter a valid date in YYYY-MM-DD format \n
\n\n
\n
\n Date of Establishment is required\n
\n
\n
\n\n
\n \n \n \n \n {{_customerService.formData.ContactPerson}} \n \n\n
\n
\n Contact Person is required.\n
\n \n
\n Please provide a valid Contact Person.\n
\n
\n \n
\n \n
\n \n \n \n \n {{_customerService.formData.MobileNumber}} \n \n\n
\n
\n Phone Number field is required.\n
\n
\n Phone number should be only numbers.\n
\n
\n Phone number should be 10 digit.\n
\n
\n
\n\n
\n
\n \n \n
\n \n \n \n \n \n
\n
\n EmailId is required.\n
\n
\n Please provide a valid email address.\n
\n
\n
\n \n \n \n \n\n
\n \n \n
\n
\n This Address is required.\n
\n
\n Please provide a valid Address.\n
\n
\n \n {{_customerService.formData.Address1}} \n \n \n
\n\n
\n \n \n \n {{_customerService.formData.Address2}} \n \n
\n
\n Please provide a valid Address.\n
\n
\n
\n
\n\n
\n \n \n
\n
\n \n\n {{_customerService.formData.Country}} \n \n\n
Country is required
\n
\n
\n \n \n\n {{_customerService.formData.State}} \n \n\n
State is required
\n
\n\n
\n \n \n\n {{_customerService.formData.City}} \n \n\n
City is required
\n
\n \n \n
\n
\n
\n \n \n\n {{_customerService.formData.Pincode}} \n \n\n
\n
\n Zip Code should be 6 digit.\n
\n
\n Please provide a valid Zip Code .\n
\n
\n\n
\n
\n \n
\n
\n \n
\n \n \n
\n \n\n \n
\n \n
\n
\n
\n \n
\n
\n \n
\n \n
\n \n\n \n
\n \n
\n
\n
\n
\n
\n \n \n \n {{_customerService.formData.Description}} \n \n
\n
\n Please provide a valid Description.\n
\n
\n
\n\n
\n \n \n
\n \n {{showApprovalInfo}} \n
\n This Status is required
\n
\n \n
\n \n \n
\n \n {{showApprovalInfo}} \n
\n This Status is required
\n
\n
\n \n\n \n \n
\n
\n \n \n \n \n
\n \n
\n\n
\n
\n \n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n \n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n \n
\n
\n \n\n\n \n","import { Component, OnInit } from '@angular/core';\nimport { BranchService} from '../../MasterService/branch.service';\nimport {BranchMaster} from '../../MasterService/branch-master';\nimport { FormGroup,FormControl} from '@angular/forms';\nimport {ActivatedRoute} from \"@angular/router\";\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-edit-branch-master',\n templateUrl: './edit-branch-master.component.html',\n styleUrls: ['./edit-branch-master.component.css']\n})\nexport class EditBranchMasterComponent implements OnInit {\n\n branchForm:FormGroup;\n disableButton: boolean;\n lblMessage:string;\n showModal: boolean;\n _BranchId:string;\n showMsg:boolean;\n showerrormsg:boolean;\n\n constructor(private _branchService:BranchService,private router: Router ,private route: ActivatedRoute) { }\n\n ngOnInit(): void { \n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n this.onTop();\n\n this.disableButton = false;\n\n this.branchForm = new FormGroup({\n BranchId:new FormControl(),\n Correspondent:new FormControl(),\n BankName:new FormControl(),\n BranchCode:new FormControl(),\n BranchName:new FormControl(),\n BICCode:new FormControl(),\n IFSCCode:new FormControl(),\n MICRCode:new FormControl(),\n Address1:new FormControl(),\n Address2:new FormControl(),\n CountryId:new FormControl(),\n StateId:new FormControl(),\n CityId:new FormControl(),\n });\n\n this.route.queryParams.subscribe(params => {\n this._BranchId = params[\"id\"];\n });\n\n this.fnViewBranchMaster();\n }\n\n show()\n {\n this.showModal = true; // Show-Hide Modal Check \n }\n hide(){\n this.showModal = false;\n }\n\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n\n fnViewBranchMaster(){\n this._branchService.fnGetBranchDetailsById(this._BranchId).subscribe(data=>{\n this.branchForm.setValue({\n BranchId:data.BranchId,\n Correspondent:data.Correspondent,\n BankName:data.BankName,\n BranchCode:data.BranchCode,\n BranchName:data.BranchName,\n BICCode:data.BICCode,\n IFSCCode:data.IFSCCode,\n MICRCode:data.MICRCode,\n Address1:data.Address1,\n Address2:data.Address2,\n CountryId:data.CountryId,\n StateId:data.StateId,\n CityId:data.CityId,\n });\n });\n }\n\n onSubmit():void{\n this._branchService.fnSaveBranchMasterDetails(this.branchForm.value).subscribe(data=>{\n this.disableButton = true;\n this.lblMessage=\"Branch Details Update Successful.\";\n this.showMsg = true;\n this.showerrormsg = false;\n this.onTop();\n },\n (error)=>{\n debugger;\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'An error occured.';\n this.onTop();\n });\n }\n\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n\n}\n","
\n
\n
\n
\n
\n

Edit Branch Master

\n \n\n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Error! {{lblMessage}}.\n
\n\n
\n
\n

* Marked Fields Are Mandatory.

\n
\n
\n \n
\n
\n \n
\n \n
\n \n
\n\n \n
\n \n
\n
\n
\n
\n\n
\n\n
\n \n \n
\n\n
\n \n \n
\n \n
\n \n \n
\n\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n

Address Details

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessage}}\n
\n
\n \n
\n
\n
\n
","import { Component, OnInit, DebugElement } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { HolidayService } from 'src/app/MasterService/Holiday.service';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { AllMasterApiService } from 'src/app/MasterService/all-master-api.service';\nimport { Router,NavigationExtras,ActivatedRoute } from '@angular/router';\nimport { HolidayCreatedUpdated } from 'src/app/MasterService/Holiday';\nimport * as moment from 'moment';\nimport { truncate } from 'fs';\nimport { NgbDateCustomParserFormatter} from '../../MasterService/date-format';\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\nimport {IAngularMyDpOptions, IMyDateModel} from 'angular-mydatepicker';\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport { debug } from 'console';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Component({\n selector: 'app-holiday-master-setup',\n templateUrl: './holiday-master-setup.component.html',\n styleUrls: ['./holiday-master-setup.component.css'],\n})\nexport class HolidayMasterSetupComponent implements OnInit {\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n };\n\npublic fromDate=\"\";OnInit\npublic toDate=\"\";\npublic NoOfDays;\npublic disbaleName=false;\nbankNameDisable :boolean=true;\npublic oneDayOption;\npublic moreDayOption;\nHolidayWorkingDisable:true;\nshowModal: boolean;\ndisableButton:boolean;\ndisableClear:boolean;\ncountryList:any = [];\nstateList:any = [];\ncityList:any =[];\nlblMessage:string;\nYESWorkingHoliday:boolean;\nshowMsg:boolean;\nshowerrormsg:boolean;\ntoday:any;\nerror:any={isError:false,errorMessage:''};\nisValidDate:boolean=true;\nisAllDataValid:boolean=true;\nIsViewMode:boolean;\nviewMode: string;\nHolidayEditView: string;\nnewdate:string;\nnewdate1:string;\nnewdate2:string;\nvalidDate: boolean=true;\nvalidDateFrom: boolean=true;\nvalidDateTo: boolean=true;\nFirst: string;\nSecond: string;\nfirstDate: string;\nsecondDate: string;\nHideClr :boolean= false;\nisValidbank: boolean=true;\ndisableStatus:boolean;\nCheckerPrivillage:boolean;\nIsPendingStatus:string;\npendingStatus:boolean;\nshowApprovalInfo:string;\ndeletePending:boolean;\neditedHolidayInfo:any=[];\neditemail:string;\nUserId:number;\nisValueChange:boolean=false; \nallBranchList:any=[];\nfilterBranchList:any=[];\nvBranchCode:boolean;\nbuttonvalue:string;\nreviewStatus:number;\nshowStatusDiv:boolean = false;\nshowModalWoking:boolean;\nlblMessageWorking:string;\nlblTitle:string;\neditedHolidayId:number;\ncreatedBy:number;\ncreatedDate:string;\nuserNameCreated:string;\nusernameUpdte:string;\nupdtedDate:string;\nholidayDate:HolidayCreatedUpdated[];\nshowUpdatedDiv:boolean=false;\nshowCreatedDiv:boolean=false;\niUserId:number;\nIsSingleDay:boolean=false;\nIsMultiDay:boolean=false;\nleave:string=\"\";\n \n public display: true; \n inputDate: any;\n futureDateError: boolean=true;\n futureDateErrorTo: boolean=true;\n futureDateErrorFrom: boolean=true;\n validStatus: boolean=true;\n DupHolidayId: any;\n DunLeanve: any;\n DubBankName: any;\n Date: any;\n DubBranchName: any;\n DubLeave: any;\n HolidayExist: boolean;\n dubDateFrom: any;\n dubDateTo: any;\n DecryptUserId: number;\n constructor(public _holidayService: HolidayService,private router: Router,private _routeWithQuerystring: ActivatedRoute,\n public _encryption: EncryptdecryptService, public _customerService: CustomerService,public _allServiceMasterApi:AllMasterApiService,private _roleAccess:RoleAccessService) { }\n\n\n ngOnInit(): void {\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n this.iUserId = +localStorage.getItem('LoginUserId');\n this.DecryptUserId = +this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n this.showMsg = false;\n this.showerrormsg = false;\n this.hidelbl();\n this.hideerror();\n this.disableButton = false; \n this.disableClear=false;\n this.editedHolidayId = +localStorage.getItem('HoildayDataId');\n this.HolidayEditView = localStorage.getItem('HolidayViewMode');\n this._routeWithQuerystring.queryParams.subscribe(params => {\n this.viewMode = params[\"viewMode\"];\n });\n\n if (this.viewMode == 'view') {\n this.disableButton = true;\n this.disableClear=true;\n }\n //this.GetHoildayDetails();\n this.onTop();\n this.fncountry();\n this.lblMessage = localStorage.getItem(\"Msg\"); \n if (this.lblMessage == null || this.lblMessage == \"\") {\n \n }\n else{\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n if(this.editedHolidayId == 0){\n \n this.lblTitle='Add Holiday Master';\n this.disableStatus = true;\n this.editedHolidayInfo.CorrespondentBank = \"0\";\n this.editedHolidayInfo.IsHolidayWorking = \"0\";\n this.editedHolidayInfo.BankName='IDBI Bank';\n this.buttonvalue = \"Submit\";\n this.editedHolidayInfo.BranchId = null;\n this.editedHolidayInfo.CountryId = null;\n this.editedHolidayInfo.StateId = null;\n this.editedHolidayInfo.CityId = null;\n this.editedHolidayInfo.HolidayType = \"\";\n }\n this.GetPrivillageRoles();\n this.UserId = +localStorage.getItem('LoginUserId');\n this.vBranchCode = true;\n }\n\n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n\n showwoking() { this.showModalWoking = true; }\n hidewoking() { this.showModalWoking = false; }\n//------------IDBI Textbox Enabel--------------------------------\n EnableTextbox()\n { this.showMsg = false;\n this.showerrormsg = false;\n\n this.bankNameDisable = false;\n this.editedHolidayInfo.BranchId=null;\n this.editedHolidayInfo.BranchCode=null;\n //this._holidayService.formData.BankName='';\n this.editedHolidayInfo.BankName = '';\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"Yes\"; });\n }\n //------------IDBI Textbox Disable--------------------------------\n DisableTextbox()\n { this.showMsg = false;\n this.showerrormsg = false;\n this.editedHolidayInfo.BranchId=null;\n this.editedHolidayInfo.BranchCode=null;\n\n this.bankNameDisable =true;\n //this._holidayService.formData.BankName='IDBI Bank'\n this.editedHolidayInfo.BankName='IDBI Bank';\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"No\"; });\n }\n //-----------------When Multiple holiday select------------------\n morechk()\n {this.showMsg = false;\n this.showerrormsg = false;\n \n // this._holidayService.formData.Date=null\n // this._holidayService.formData.DateFrom=''\n // this._holidayService.formData.DateTo=''\n // this._holidayService.formData.NoDays=0\n // this._holidayService.formData.HolidayType=''\n // this._holidayService.formData.Holiday=''\n // this.moreDayOption=true;\n // this.oneDayOption=false;\n this.editedHolidayInfo.Date=''\n this.editedHolidayInfo.DateFrom=''\n this.editedHolidayInfo.DateTo=''\n this.editedHolidayInfo.NoDays=0\n this.editedHolidayInfo.HolidayType=''\n this.editedHolidayInfo.Holiday=''\n this.moreDayOption = true;\n this.oneDayOption = false;\n this.futureDateError=true;\n this.futureDateErrorTo=true;\n this.futureDateErrorFrom=true;\n\n }\n//------------------When single Holiday Select---------------------\n onechk(){\n this.showMsg = false;\n this.showerrormsg = false;\n \n // this._holidayService.formData.Date=null\n // this._holidayService.formData.DateFrom=''\n // this._holidayService.formData.DateTo=''\n // this._holidayService.formData.NoDays=0\n // this._holidayService.formData.HolidayType=''\n // this._holidayService.formData.Holiday=''\n // this.moreDayOption=false\n // this.oneDayOption=true;\n this.editedHolidayInfo.Date=''\n this.editedHolidayInfo.DateFrom=''\n this.editedHolidayInfo.DateTo=''\n this.editedHolidayInfo.NoDays=0\n this.editedHolidayInfo.HolidayType=''\n this.editedHolidayInfo.Holiday=''\n this.moreDayOption = false\n this.oneDayOption = true;\n this.futureDateError=true;\n this.futureDateErrorTo=true;\n this.futureDateErrorFrom=true;\n\n }\n //-------------------Count Number Of Days----------------------------------\n CountDays(fromDate,toDate){\n const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds\n // this.validateDates(fromDate,toDate);\n if(fromDate==null || toDate==null ){ this.editedHolidayInfo.NoDays=null}\n \n if (fromDate.singleDate.date.month >= \"10\") {\n this.First = fromDate.singleDate.date.year+\"-\"+fromDate.singleDate.date.month+\"-\"+ fromDate.singleDate.date.day;\n this.firstDate = this.First;\n }\n else {\n this.First = fromDate.singleDate.date.year+\"-0\"+fromDate.singleDate.date.month+\"-\"+fromDate.singleDate.date.day;\n this.firstDate = this.First;\n }\n\n if (toDate.singleDate.date.month >= \"10\") {\n this.Second = toDate.singleDate.date.year+\"-\"+toDate.singleDate.date.month+\"-\"+ toDate.singleDate.date.day;\n this.secondDate = this.Second;\n }\n else {\n this.Second = toDate.singleDate.date.year+\"-0\"+toDate.singleDate.date.month+\"-\"+toDate.singleDate.date.day;\n this.secondDate = this.Second;\n }\n\n const firstDateFrom = new Date(this.firstDate);\n const secondDateTo = new Date(this.secondDate);\n this.validateDates(firstDateFrom,secondDateTo);\n if(this.isValidDate == true){\n \n this._holidayService.formData.NoDays = (Math.round(Math.abs((+firstDateFrom- +secondDateTo) / oneDay)))+1;\n this.editedHolidayInfo.NoDays=this._holidayService.formData.NoDays\n }\n };\n\n HolidayAsWorkingDay(){\n this.lblMessageWorking=\"Are you sure, you want to mark Holiday as working day?\";\n this.YESWorkingHoliday=true;\n this.showwoking();\n\n }\n//------------------------------get holiday data method----------------------------\nIsAuthorize:boolean=false;\n GetHoildayDetails(){\n if(this.editedHolidayId>0){ \n if (this.viewMode == 'view') {\n this.lblTitle='View Holiday Master';\n this.IsViewMode = true;\n }\n else{\n this.lblTitle='Edit Holiday Master';\n this.IsViewMode = false;\n this.HideClr=true;\n }\n\n if(this.HolidayEditView == \"authorize\")\n this.IsAuthorize = true;\n\n this.getHolidayHistory();\n this._holidayService.fnGetHolidayData(localStorage.getItem('HoildayDataId')).subscribe(allHoliday => {\n this._holidayService.formData = allHoliday[0];\n this.reviewStatus = +this._holidayService.formData.ReviewStatus;\n if(this.reviewStatus==1 || this.reviewStatus==4 || this.reviewStatus==7 ){\n this.showStatusDiv = true; \n }\n if (this._holidayService.formData.Status == \"InActive\") {\n this._holidayService.formData.Status = \"0\";\n }\n else if (this._holidayService.formData.Status == \"Active\") {\n this._holidayService.formData.Status = \"1\"\n }\n else {\n this._holidayService.formData.Status = \"2\";\n }\n\n if(!this.CheckerPrivillage && this._holidayService.formData.Status==\"2\"){\n this.disableButton = true;\n }\n else if(this.CheckerPrivillage && this._holidayService.formData.Status != \"2\" && ((this._encryption.encryptUsingAES256(this._holidayService.formData.CreatedBy) != localStorage.getItem(\"LoginUserId\")))){\n this.disableButton = true;\n }\n // else{\n // this.disableButton = false;\n // }\n\n if(this.HolidayEditView == \"edit\" && this.CheckerPrivillage && ((this._encryption.encryptUsingAES256(this._holidayService.formData.CreatedBy) != localStorage.getItem(\"LoginUserId\"))))\n this.disableButton = true;\n\n if(this.CheckerPrivillage == true && (this._encryption.encryptUsingAES256(this._holidayService.formData.CreatedBy) != localStorage.getItem(\"LoginUserId\"))){\n this.buttonvalue = \"Verify\";\n this.showApprovalInfo = \"Pending\";\n }\n else{\n this.buttonvalue = \"Submit\";\n this.showApprovalInfo = \"\";\n }\n\n if(this.CheckerPrivillage && this._holidayService.formData.Status==\"2\" && ((this._encryption.encryptUsingAES256(this._holidayService.formData.CreatedBy) == localStorage.getItem(\"LoginUserId\")))){\n this.showStatusDiv = false;\n this.disableButton = true;\n }\n \n // if (this._holidayService.formData.Status==\"2\") {\n\n // if (this._holidayService.formData.Leave === \"Single\") {\n // this.IsSingleDay = false;\n // this.IsMultiDay = true;\n // }\n\n // if (this._holidayService.formData.Leave === \"Multiple\") {\n // this.IsMultiDay = false;\n // this.IsSingleDay = true;\n // }\n\n // }\n if(this.CheckerPrivillage && this._holidayService.formData.Status == \"2\" && (this._holidayService.formData.CreatedBy == +this._encryption.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))){\n this.showStatusDiv = true;\n this.disableStatus = true;\n this.disableButton = true;\n }\n\n if(this.CheckerPrivillage && this._holidayService.formData.Status==\"2\")\n this._holidayService.formData.Status = null;\n\n if (this.reviewStatus == 8) {\n this.disableButton = true;\n }\n\n if(this.viewMode == \"view\"){\n this.disableButton = true;\n }\n else{\n \n // if((this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && this._holidayService.formData.CreatedBy == +localStorage.getItem(\"LoginUserId\"))\n // this.disableButton = true;\n // else if(!this.CheckerPrivillage && allHoliday[0][\"checkerAccess\"] && !allHoliday[0][\"adminAccess\"]){\n // this.disableButton = true;\n // }\n // else if(!this.CheckerPrivillage && this._holidayService.formData.Status==\"2\"){\n // this.disableButton = true;\n // }\n // else{\n // //this.disableButton = false;\n // }\n }\n\n\n this._holidayService.formData.CountryName = allHoliday[0].CountryName;\n if (allHoliday[0].Date != \"\") {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n this._holidayService.formData.formatedDate = allHoliday[0].formatedDate;\n var newObj = moment(allHoliday[0].Date).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._holidayService.formData.Date =_savedStartDate; \n }\n\n if (allHoliday[0].DateFrom != \"\") {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n this._holidayService.formData.formatedFrDate = allHoliday[0].formatedFrDate;\n var newObj = moment(allHoliday[0].formatedFrDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._holidayService.formData.DateFrom =_savedStartDate;\n }\n\n if (allHoliday[0].DateTo != \"\") {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n this._holidayService.formData.formatedToDate = allHoliday[0].formatedToDate;\n var newObj = moment(allHoliday[0].formatedToDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._holidayService.formData.DateTo =_savedStartDate; \n }\n\n\n if(this._holidayService.formData.CorrespondentBank==\"0\"){\n this.bankNameDisable =true;\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"No\"; });\n }\n if(this._holidayService.formData.CorrespondentBank==\"1\"){\n this.bankNameDisable =false;\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"Yes\"; });\n }\n\n // if(this.editedHolidayInfo.StateId != null)\n // this.fnstate(this.editedHolidayInfo.CountryId);\n \n // if(this.editedHolidayInfo.CityId != null)\n // this.fncity(this.editedHolidayInfo.StateId);\n\n var d = new Date(),\n month = ('0' + (d.getMonth() + 1)).slice(-2),\n day = ('0' + d.getDate()).slice(-2),\n year = d.getFullYear();\n \n this.today = year + \"-\" + month + \"-\" + day; \n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n this.GetEditedHolidayMasterValues(this.editedHolidayId);\n }\n else{\n this._holidayService.formData = {\n HolidayId: 0,\n CountryId: null,\n StateId: null,\n CityId: null,\n CorrespondentBank: '0',\n BankName: 'IDBI BANK',\n BranchName: '',\n BranchCode: '',\n Correspondent:'',\n\n Leave: '',\n Date: null,\n HolidayType: \"\",\n Holiday: '',\n\n DateFrom: '',\n DateTo: '',\n NoDays: 0,\n IsHolidayWorking: '0',\n displaycheckboxForHoliday:true,\n lblTitle:'Add Holiday Master',\n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName:'',\n DateCreated:'',\n UpdatedName:'',\n IsHolidaySelected : null,\n Status:null,\n ReviewStatus:null,\n UserId:'',\n Message:'',\n formatedDate:'',\n formatedFrDate:'',\n formatedToDate:'',\n CountryName:'',\n StateName:'',\n CityName:'',\n BranchId:null,\n CorrespondentName:'',\n IsHolidayWorkingName:'',\n HolidayNewStatus:'Active',RequestType :''\n }\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"No\"; });\n }\n }\n//---------------------------Get Created and Last updated by ------------------------\n getHolidayHistory(){\n this._holidayService.fnGetCreatedNUpatedDateOfHolidayMaster(this.editedHolidayId.toString()).subscribe(data => {\n this.holidayDate=data; \n if(this.holidayDate[0].CreatedDate != ''){\n this.showCreatedDiv=true;\n this.createdDate=this.holidayDate[0].CreatedDate;\n this.userNameCreated=this.holidayDate[0].UserName;\n }\n if(this.holidayDate[1].UpdatedDate != ''){\n this.showUpdatedDiv=true;\n this.usernameUpdte=this.holidayDate[1].UserName;\n this.updtedDate=this.holidayDate[1].UpdatedDate;\n }\n \n // this.YESWorking=true;\n\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n//-------------------Hide success & Error Message---------------------------------\n fnHideSuccessMsg()\n { \n this.showMsg = false;\n this.showerrormsg = false;\n }\n //---------------Back Button code-----------------------------------------\n BankButton(){\n localStorage.removeItem('HoildayDataId');\n localStorage.removeItem('HolidayViewMode');\n this.router.navigate(['/HolidayMaster']);\n }\n\n YESWorking(holidayId){\n this.YESWorkingHoliday=false;\n this._holidayService.fnSaveHolidayAsWorking(holidayId).subscribe(res => {\n this.YESWorkingHoliday=true;\n });\n this.hidewoking();\n }\n YesHoliday()\n {\n this.YESWorkingHoliday=false;\n this.hidewoking();\n }\n hidelbl(){\n this.showMsg = false;\n }\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n\n getDate(date){\n if(date.year >= 9999 || date.year<=999){ this.validDate=false; }\n else{this.validDate = true;}\n }\n\n getDateFrom(date){\n if(date.year >= 9999 || date.year<=999){ this.validDateFrom=false; }\n else{this.validDateFrom = true;}\n }\n\n getDateTo(date){\n if(date.year >= 9999 || date.year<=999){ this.validDateTo=false; }\n else{this.validDateTo = true;}\n }\n\n onSubmit(form: NgForm) {\n debugger;\n form.value[\"BranchCode\"] = this.editedHolidayInfo.BranchCode;\n if(form.value[\"BranchId\"] == undefined)\n form.value[\"BranchId\"] = this.editedHolidayInfo.BranchId;\n if(form.value[\"CountryId\"] == undefined)\n form.value[\"CountryId\"] = this.editedHolidayInfo.CountryId;\n if(form.value[\"StateId\"] == undefined)\n form.value[\"StateId\"] = this.editedHolidayInfo.StateId;\n if(form.value[\"CityId\"] == undefined)\n form.value[\"CityId\"] = this.editedHolidayInfo.CityId;\n if(form.value[\"HolidayType\"] == undefined)\n form.value[\"HolidayType\"] = this.editedHolidayInfo.HolidayType;\n if(form.value[\"Leave\"] == undefined)\n form.value[\"Leave\"] = this.editedHolidayInfo.Leave;\n if(form.value[\"CorrespondentBank\"] == undefined)\n form.value[\"CorrespondentBank\"] = this.editedHolidayInfo.CorrespondentBank;\n if(form.value[\"IsHolidayWorking\"] == undefined)\n form.value[\"IsHolidayWorking\"] = this.editedHolidayInfo.IsHolidayWorking;\n\n var BankName = this.editedHolidayInfo.BankName;\n var Holiday = this.editedHolidayInfo.Holiday;\n BankName = BankName.replace(/\\s/g, \"\");\n Holiday = Holiday.replace(/\\s/g, \"\");\n if (BankName == \"\") {\n this.editedHolidayInfo.BankName= BankName ;\n }\n if (Holiday == \"\") {\n this.editedHolidayInfo.Holiday= Holiday ;\n }\n if (this.editedHolidayInfo.Holiday == \"\" ) {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else if (this.editedHolidayInfo.BankName == \"\" ) {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else {\n this.isValidbank = true;\n\n if((form.value[\"CorrespondentBank\"] === \"1\") && (form.value[\"BankName\"].toLowerCase() === \"idbi bank\" || form.value[\"BankName\"].toLowerCase() === \"idbi\")){\n this.isValidbank = false;\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'If Correspondent Bank is YES then Bank Name should not be IDBI Bank';\n this.disableButton = false;\n this.onTop();\n }\n\n if (form.valid && this.validStatus == true && this.isValidDate == true && this.futureDateError == true && this.futureDateErrorFrom == true && this.futureDateErrorTo == true && this.isValidbank == true) {\n this.disableButton = true;\n\n if (this.editedHolidayInfo.Leave === \"Single\") {\n\n if (form.value.Date.singleDate.date.month >= \"10\") {\n this.newdate = form.value.Date.singleDate.date.year+\"-\"+form.value.Date.singleDate.date.month+\"-\"+form.value.Date.singleDate.date.day;\n form.value.Date = this.newdate;\n }\n else {\n this.newdate = form.value.Date.singleDate.date.year+\"-0\"+form.value.Date.singleDate.date.month+\"-\"+form.value.Date.singleDate.date.day;\n form.value.Date = this.newdate;\n }\n\n }\n\n if (this.editedHolidayInfo.Leave === \"Multiple\") {\n\n if (form.value.DateFrom.singleDate.date.month >= \"10\") {\n this.newdate1 = form.value.DateFrom.singleDate.date.year+\"-\"+form.value.DateFrom.singleDate.date.month+\"-\"+form.value.DateFrom.singleDate.date.day;\n form.value.DateFrom = this.newdate1;\n }\n else {\n this.newdate1 = form.value.DateFrom.singleDate.date.year+\"-0\"+form.value.DateFrom.singleDate.date.month+\"-\"+form.value.DateFrom.singleDate.date.day;\n form.value.DateFrom = this.newdate1;\n }\n \n if (form.value.DateTo.singleDate.date.month >= \"10\") {\n this.newdate2 = form.value.DateTo.singleDate.date.year+\"-\"+form.value.DateTo.singleDate.date.month+\"-\"+form.value.DateTo.singleDate.date.day;\n form.value.DateTo = this.newdate2;\n }\n else {\n this.newdate2 = form.value.DateTo.singleDate.date.year+\"-0\"+form.value.DateTo.singleDate.date.month+\"-\"+form.value.DateTo.singleDate.date.day;\n form.value.DateTo = this.newdate2;\n }\n } \n \n\n \n if(!this.CheckerPrivillage){\n form.value[\"Status\"] = 2;\n\n if(this.reviewStatus ==5 || this.reviewStatus==6){\n form.value[\"ReviewStatus\"]=4;//Edit approval pending\n }\n else if(this.reviewStatus==2 || this.reviewStatus==3){ \n form.value[\"ReviewStatus\"]=4;\n }\n else if(this.reviewStatus==8 || this.reviewStatus==9){ \n form.value[\"ReviewStatus\"]=4;\n }\n else{ \n form.value[\"ReviewStatus\"]=1;\n }\n }\n else{\n if(form.value[\"Status\"] ==1 && this.reviewStatus ==undefined ){\n form.value[\"ReviewStatus\"]=2;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus ==undefined){\n form.value[\"ReviewStatus\"]=3;\n }\n if(form.value[\"Status\"] ==1 && this.reviewStatus==1){\n form.value[\"ReviewStatus\"]=2;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus==1){\n form.value[\"ReviewStatus\"]=3;\n }\n\n if(form.value[\"Status\"] ==1 && this.reviewStatus==4){\n form.value[\"ReviewStatus\"]=5;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus==4){\n form.value[\"ReviewStatus\"]=6;\n }\n\n if(form.value[\"Status\"] ==1 && this.reviewStatus==7){\n form.value[\"ReviewStatus\"]=8;\n form.value[\"Status\"] = 0;\n }\n else if(form.value[\"Status\"]==0 && this.reviewStatus==7){\n form.value[\"ReviewStatus\"]=9;\n form.value[\"Status\"] = 1;\n }\n\n // for add by checker add\n if(form.value[\"Status\"] == undefined && this.reviewStatus == undefined){\n form.value[\"ReviewStatus\"]= 1;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && (this.reviewStatus==2 || this.reviewStatus==3)){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && (this.reviewStatus==5 || this.reviewStatus==6)){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 0 && this.reviewStatus==3){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 0 && (this.reviewStatus==5 || this.reviewStatus==6)){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 0 && this.reviewStatus==8){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n if(form.value[\"Status\"] == 1 && this.reviewStatus==9){\n form.value[\"ReviewStatus\"]= 4;\n form.value[\"Status\"] = 2;\n }\n \n }\n \n \n if (form.valid && this.validStatus == true && this.isValidDate == true && this.futureDateError == true && this.futureDateErrorFrom == true && this.futureDateErrorTo == true && this.isValidbank == true) \n {\n this.DupHolidayId=form.value.HolidayId;\n this.DubLeave= form.value.Leave;\n this.DubBankName=form.value.BankName;\n this.DubBranchName=form.value.BranchCode;\n this.Date=form.value.Date;\n this.dubDateFrom=form.value.DateFrom;\n this.dubDateTo=form.value.DateTo;\n \n this._holidayService.fnGHolidayAlreadyExist(this.DupHolidayId.toString(),this.DubLeave.toString(),this.DubBankName.toString(),\n this.DubBranchName.toString(), this.Date,this.dubDateFrom,this.dubDateTo).subscribe(IsHolidayExist=>{\n debugger\n if(IsHolidayExist==1){\n debugger;\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Holiday already exists.';\n this.onTop();\n this.disableButton = false;\n this.HolidayExist=true;\n // return false;\n }\n else{\n if(this._holidayService.formData.IsHolidayWorking==\"1\") {\n this.YESWorkingHoliday=false;\n this._holidayService.fnSaveHolidayAsWorking(this._holidayService.formData.HolidayId.toString()).subscribe(res => {\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n if(this.editedHolidayId === 0)\n form.value.CreatedBy=localStorage.getItem('LoginUserId');\n else\n form.value.UpdatedBy=localStorage.getItem('LoginUserId');\n form.value.UserId = localStorage.getItem('LoginUserId');\n \n this._holidayService.fnSaveHolidayMasterDetails(form.value).subscribe(res => {\n\n if(this.editedHolidayId > 0){\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n \n var newObj = moment(res.DateFrom).toObject();\n \n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n form.value.DateFrom = _savedStartDate;\n \n \n var _savedStartDate1 = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n \n var newObj1 = moment(res.DateTo).toObject();\n \n _savedStartDate1.singleDate.date.day = newObj1.date;\n _savedStartDate1.singleDate.date.month = newObj1.months+1;\n _savedStartDate1.singleDate.date.year = newObj1.years;\n form.value.DateTo = _savedStartDate1;\n \n var _savedStartDate2 = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n \n var newObj2 = moment(res.Date).toObject();\n \n _savedStartDate2.singleDate.date.day = newObj2.date;\n _savedStartDate2.singleDate.date.month = newObj2.months+1;\n _savedStartDate2.singleDate.date.year = newObj2.years;\n form.value.Date = _savedStartDate2;\n \n this.getHolidayHistory();\n \n this.lblMessage = res.Holiday+' '+ res.Message; //\" Holiday Updated Successfully\";\n this.showMsg = true;\n \n this.showerrormsg = false;\n }\n else{ \n this.lblMessage = res.Holiday+' '+ res.Message;//\" Holiday Added Successfully\";\n localStorage.setItem(\"Msg\",this.lblMessage); \n document.location.reload(); \n this.DisableTextbox();\n }\n \n if(this.CheckerPrivillage && this.editedHolidayId > 0 && (res.ReviewStatus == 2 || res.ReviewStatus == 3 || \n res.ReviewStatus == 5 || res.ReviewStatus == 6 || res.ReviewStatus == 8 || res.ReviewStatus == 9)){\n this.disableButton = true;\n }\n else if (res.ReviewStatus == 4) {\n this.disableButton = true;\n }else{\n this.disableButton = false;\n }\n this.onTop();\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n }); \n \n}\n }\n }// closing line no 413\n}\n\n//--------------------On Top Method-------------------------\nonTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n}\n//------------------page Refresh Method---------------------\nfnPageRefresh(form){\n \n if (this.HolidayEditView == \"edit\" && this.editedHolidayId > 0) { \n this.resetForm(form);\n this.onTop();\n } \n else {\n this.resetForm(form)\n this.onTop();\n setTimeout(function(){\n this.document.location.reload();\n }, 1000);\n }\n}\n//---------------------Reset Method------------------------------\nresetForm(form?: NgForm) {\n \n if (this.HolidayEditView == \"edit\" && this.editedHolidayId > 0) {\n if (form != null) \n // form.resetForm();\n this._holidayService.formData = {\n HolidayId: this.editedHolidayId,\n CountryId: null,\n StateId: null,\n CityId: null,\n CorrespondentBank: '0',\n BankName: 'IDBI BANK',\n BranchName: '',\n BranchCode: '',\n Correspondent:'',\n Leave: '',\n Date: null,\n HolidayType: \"\",\n Holiday: '',\n DateFrom: '',\n DateTo: '',\n NoDays: 0,\n IsHolidayWorking: '0',\n displaycheckboxForHoliday:true,\n lblTitle:'Edit Holiday Master',\n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName:'',\n DateCreated:'',\n UpdatedName:'',\n IsHolidaySelected:null,\n Status:null,\n ReviewStatus:null,\n UserId:'',\n Message:'',\n formatedDate:'',\n formatedFrDate:'',\n formatedToDate:'',\n CountryName:'',\n StateName:'',\n CityName:'',\n BranchId:null,\n CorrespondentName:'',\n IsHolidayWorkingName:'',\n HolidayNewStatus:'Active',RequestType:''\n }\n this.showMsg = false;\n this.showerrormsg = false;\n if (this.editedHolidayId == 0) {\n this.editedHolidayId == this._holidayService.formData.HolidayId;\n }\n if(this._holidayService.formData.CorrespondentBank==\"0\"){\n this.bankNameDisable=true;\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"No\"; });\n }\n else{\n this.bankNameDisable=false;\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"Yes\"; });\n }\n this._holidayService.formData;\n }\n else{\n if (form != null) \n form.resetForm();\n this._holidayService.formData = {\n HolidayId: 0,\n CountryId: null,\n StateId: null,\n CityId: null,\n CorrespondentBank: '0',\n BankName: 'IDBI BANK',\n BranchName: '',\n BranchCode: '',\n Correspondent:'',\n Leave: '',\n Date: null,\n HolidayType: \"\",\n Holiday: '',\n DateFrom: '',\n DateTo: '',\n NoDays: 0,\n IsHolidayWorking: '0',\n displaycheckboxForHoliday:true,\n lblTitle:'Add Holiday Master',\n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName:'',\n DateCreated:'',\n UpdatedName:'',\n IsHolidaySelected: null,\n Status:null,\n ReviewStatus:null,\n UserId:'',\n Message:'',\n formatedDate:'',\n formatedFrDate:'',\n formatedToDate:'',\n CountryName:'',\n StateName:'',\n CityName:'',\n BranchId:null,\n CorrespondentName:'',\n IsHolidayWorkingName:'',\n HolidayNewStatus:'Active',RequestType:''\n }\n }\n }\n//---------------------country State & City Method--------------------\n StateCity(){\n this.editedHolidayInfo.StateId = null;\n this.editedHolidayInfo.CityId = null;\n this.cityList =null;\n}\nOnStatechange(){\n this.editedHolidayInfo.CityId = null;\n}\nfncountry(){\n this._allServiceMasterApi.fnGetCountryMaster().subscribe(allCountry => {\n this.countryList = allCountry;\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\n\nfnstate(id){ this.showMsg = false;\n this.showerrormsg = false;\n\n if (id != null) {\n this._allServiceMasterApi.fnGetStateMaster(id).subscribe(allState => {\n this.stateList = allState;\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n }); \n }\n else{\n this.stateList.length=0;\n }\n}\n\nfncity(id){ this.showMsg = false;\n this.showerrormsg = false;\n\n if (id != null) {\n this._allServiceMasterApi.fnGetCityMaster(id).subscribe(allCity => {\n this.cityList = allCity;\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n }); \n }\n else{\n this.cityList.length=0;\n }\n}\n//------------------From date to date vlaidation-------------\nvalidateDates(sDate, eDate){\n if((sDate != null && eDate !=null) && ((eDate) <= (sDate) || (eDate) == (sDate))){\n this.error={isError:true,errorMessage:'To date should be greater than From date.'};\n this.isValidDate = false;\n }\n else{\n this.error={isError:true,errorMessage:\"\"};\n this.isValidDate = true;\n }\n return this.isValidDate;\n}\n//-------------------GetPrivillageRoles Method------------------\nGetPrivillageRoles(){\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId').toString(),'/HolidayMaster').subscribe(roleAccess=>{ \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.fnGetBranchName();\n \n } ,(err)=>{\n this.router.navigate([\"404\"]);\n }) ;\n}\n//-----------------Get Holiday By ID---------------------\nGetEditedHolidayMasterValues(editedHolidayId){ \n \n if(editedHolidayId > 0){\n \n return this._holidayService.fnGetEditedHolidayValue(editedHolidayId.toString()).subscribe(data=>{ \n \n this.editedHolidayInfo = data;\n\n if(this.editedHolidayInfo.CorrespondentBank==\"0\"){\n this.bankNameDisable = true;\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"No\"; });\n }\n if(this.editedHolidayInfo.CorrespondentBank==\"1\"){\n this.bankNameDisable = false;\n this.filterBranchList = this.allBranchList.filter(row => { return row.Correspondent == \"Yes\"; });\n }\n\n // \n // if (this.editedHolidayInfo.Status == \"2\") {\n // if (this.editedHolidayInfo.Leave === \"Single\") {\n // this.IsSingleDay = false;\n // this.IsMultiDay = true;\n // }\n // if (this.editedHolidayInfo.Leave === \"Multiple\") {\n // this.IsMultiDay = false;\n // this.IsSingleDay = true;\n // }\n // }\n\n if (this.editedHolidayInfo.Date != null) {\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n\n var newObj = moment(this.editedHolidayInfo.Date).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this.editedHolidayInfo.Date =_savedStartDate; \n }\n\n if (this.editedHolidayInfo.DateFrom != null) {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n\n var newObj = moment(this.editedHolidayInfo.DateFrom).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this.editedHolidayInfo.DateFrom =_savedStartDate;\n }\n\n if (this.editedHolidayInfo.DateTo != null) {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n\n var newObj = moment(this.editedHolidayInfo.DateTo).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this.editedHolidayInfo.DateTo =_savedStartDate; \n }\n\n if(this.editedHolidayInfo.StateId != null)\n this.fnstate(this.editedHolidayInfo.CountryId);\n\n if(this.editedHolidayInfo.CityId != null)\n this.fncity(this.editedHolidayInfo.StateId);\n\n this.editemail = this.editedHolidayInfo.EmailId;\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n return this.editedHolidayInfo = this._holidayService.formData;\n }\n}\n//-------Get Branch Name----------------------------------\nfnGetBranchName(){\n return this._holidayService.fnGetBranchName().subscribe(data =>{\n this.allBranchList = data;\n this.filterBranchList = data;\n // this.allBranchList = this.allBranchList.filter(row=>{\n // return row.BranchId == +this.loginUser_UserTypeBranchId;\n // });\n\n this.GetHoildayDetails();\n this._holidayService.formData.BankName = \"\";\n this._holidayService.formData.NoDays = null;\n \n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\n//-------Get Branch Code Method---------------------------\nfnBranchCode(brcId){\n this.showMsg = false;\n this.showerrormsg = false;\n if (brcId != 'null') {\n return this._holidayService.fnBranchCode(brcId.toString()).subscribe(data =>{\n this.editedHolidayInfo.BranchCode = data;\n });\n }else{\n this.editedHolidayInfo.BranchCode = null;\n this.editedHolidayInfo.BranchId = null;\n }\n}\n\n//---------------------Only Number On key Press-----------\nonKeyDown(event: KeyboardEvent) {\n let a= (event.charCode == 8 || event.charCode == 0 || event.charCode == 45 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n}\n//------------- Date validation---------------------------\ncheckDateValidity(date){ \n const mxDate = new Date();\n this.inputDate =date.singleDate.jsDate;\n if (this.inputDate <= mxDate) {\n this.futureDateError = false;\n }\n else{\n this.futureDateError = true;\n }\n return this.futureDateError\n}\n\n//--------------From Date validation----------------------\ncheckFromDateValidity(date){ \n const mxDate = new Date();\n this.inputDate =date.singleDate.jsDate;\n\n if (this.inputDate <= mxDate) {\n this.futureDateErrorFrom = false;\n }\n else{\n this.futureDateErrorFrom = true;\n }\n return this.futureDateErrorFrom\n \n} \n//--------------To Date validation-------------------------\n checkToDateValidity(date){ \n const mxDate = new Date();\n this.inputDate =date.singleDate.jsDate;\n if (this.inputDate <= mxDate) {\n this.futureDateErrorTo = false;\n }\n else{\n this.futureDateErrorTo = true;\n }\n return this.futureDateErrorTo \n}\n//-------------------Check status is valid or Not----------\ncheckStatusVlidaity(status) {\n this._holidayService.formData.Status = status;\n if (this.CheckerPrivillage == true) {\n if (status == \"null\") {\n this.validStatus = false;\n }\n else {\n this.validStatus = true;\n }\n }\n}\n//--------------------------------------------\nCorrespondentRadio(){\n jQuery('CorrespondentBank:radio[value=1]').prop('checked', true);\n this._holidayService.formData.CorrespondentBank='1'\n this.EnableTextbox();\n}\n//------------------------------\nhandleKeyboardEvent(event) {\n event.returnValue = false;\n event.preventDefault();\n }\n}","
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n\n

\n {{ lblTitle }}\n

\n
\n
\n
\n
\n\n
\n
\n
\n

\n * Marked Fields Are Mandatory.\n

\n
\n
\n\n
\n
\n\n
\n ×\n Success! {{ lblMessage }}.\n
\n\n
\n ×\n Error! {{ lblMessage }}.\n
\n\n
\n
\n\n
\n\n
\n \n
\n \n
\n \n
\n\n \n
\n \n\n \n
\n
\n
\n\n
\n \n\n
\n \n\n
\n \n
\n\n \n
\n \n\n \n
\n
\n
\n\n
\n \n\n \n\n \n
\n Status is required\n
\n\n
\n\n
\n\n
\n
\n \n \n\n {{_holidayService.formData.BankName}} \n\n
\n
\n Bank Name is required.\n
\n
\n Please provide a valid Bank Name.\n
\n
\n\n
\n\n
\n \n\n \n\n {{_holidayService.formData.BranchName}} \n\n
\n
\n Branch Name is required.\n
\n
\n Please provide a valid Branch Name.\n
\n
\n
\n\n
\n \n\n \n\n {{_holidayService.formData.BranchCode}} \n\n \n \n \n \n
\n
\n\n
\n
\n \n\n \n\n {{_holidayService.formData.CountryName}} \n\n
\n Country is required\n
\n
\n\n
\n \n\n \n\n {{_holidayService.formData.StateName}} \n\n
\n State is required\n
\n
\n\n
\n \n\n \n\n {{_holidayService.formData.CityName}} \n \n
\n City is required\n
\n
\n
\n\n
\n
\n
\n \n
One Day
\n
\n
\n
\n\n
\n\n
\n \n\n
\n \n\n
\n \n
\n
\n\n {{_holidayService.formData.formatedDate}} \n\n
\n Date is required\n
\n
\n Enter a valid date in DD-MM-YYYY format \n
\n
\n Enter a valid date in YYYY-MM-DD format \n
\n
\n Date should be greater than current date\n
\n
\n\n
\n \n\n \n\n {{_holidayService.formData.HolidayType}} \n\n
\n Holiday Type is required\n
\n
\n\n
\n \n \n\n {{_holidayService.formData.Holiday}} \n \n
\n
\n Holiday is required.\n
\n
\n Please provide a valid Holiday.\n
\n
\n
\n
\n\n
\n\n
\n\n
\n\n \n\n
Multi Day
\n \n
\n\n
\n Leave Selection is required\n
\n\n
\n
\n\n
\n\n
\n\n \n
\n \n\n
\n \n
\n
\n {{_holidayService.formData.formatedFrDate}} \n\n
\n From Date is required\n
\n
\n Enter a valid date in DD-MM-YYYY format\n
\n
\n Enter a valid date in YYYY-MM-DD format \n
\n
\n From Date should be greater than current date\n
\n
\n\n
\n\n \n
\n \n\n
\n \n
\n
\n\n {{_holidayService.formData.formatedToDate}} \n\n
\n To Date is required\n
\n
\n Enter a valid date in DD-MM-YYYY format\n
\n
\n Enter a valid date in YYYY-MM-DD format \n
\n
\n To Date should be greater than to current date\n
\n
\n {{ error.errorMessage }}\n
\n\n
\n\n
\n \n\n \n\n \n\n
\n Number of days is required\n
\n
\n\n
\n \n\n \n {{_holidayService.formData.HolidayType}} \n\n
\n Holiday Type is required\n
\n
\n\n
\n \n \n \n\n {{_holidayService.formData.Holiday}} \n \n
\n
\n Holiday is required.\n
\n
\n Please provide a valid Holiday.\n
\n
\n
\n
\n\n
\n\n
\n
\n \n\n
\n \n
\n
\n
\n\n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
\n

Confirmation

\n \n ×\n \n
\n
\n {{ lblMessage }}\n
\n
\n \n Close\n \n
\n
\n
\n\n\n\n
\n
\n
\n

Confirmation

\n \n ×\n \n
\n
\n {{ lblMessageWorking }}\n
\n
\n \n OK\n \n \n Cancel\n \n
\n
\n
\n\n","import { Component, OnInit,ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { Router,NavigationExtras } from '@angular/router';\nimport { Holiday } from 'src/app/MasterService/Holiday';\nimport { HolidayService } from 'src/app/MasterService/Holiday.service';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { AllMasterApiService } from 'src/app/MasterService/all-master-api.service';\nimport { format } from 'path';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { StateService } from 'src/app/@core/utils';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\n\ndeclare var sortTableHolidayMst: Function;\n\n@Component({\n selector: 'app-holiday-master',\n templateUrl: './holiday-master.component.html',\n styleUrls: ['./holiday-master.component.css']\n})\nexport class HolidayMasterComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n };\n myDpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n };\n todayDate : Date = new Date();\n public oneDayOption;\n public moreDayOption;\n public HolidayId;\n HolidayWorkingDisable: boolean;\n showModal: boolean;\n lblMessage: string;\n showMsg:boolean;\n lblMessageDeletesuccess:string;\n countryList:any = [];\n FilteredHolidayList:any=[];\n allHoliday:any=[];\n lastSortedByField;\n ascendingOrder = true;\n isActive: boolean;\n AllHolidayCheck: boolean;\n showModalForAllDelete: boolean;\n BulkDelete:boolean = true;\n HolidaySelected:boolean;\n listLengthForSelect: 0;\n IsHolidaySelected:boolean;\n checkedList:any=[];\n redlblMessage:string;\n p: number = 1;\n config: any;\n ddlshowStartValue:number;\n ddlshowvalue:number;\n searchCount:string;\n filterCount:string;\n ///chnagessss...................\n\n public display: true;\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n MappingPriv:boolean;\n AddImportAccess:boolean;\n AddExportAccess:boolean;\n RoleAccess:RoleAccess;\n fileName:string;\n PrivillageImportExportdv:boolean;\n inputDate: any;\n futureDateError: boolean;\n AllSelected: boolean;\n ConfirmationMsg: string;\n ///Bulk Approval...................\n AddEditBulkApproval:boolean;\n AddEditBulkApprovalLabel: boolean;\n AuthorizeStatus: number;\n CheckerPrivillage:boolean;\n showerrormsg: boolean;\n HolidayReviewstatus: number;\n HolidayStatus: string;\n deleteDisable:boolean;\n checkedBulkList: any[];\n selectHolidayList:any[];\n ddlDropdownValue: any;\n DateFroExportSearch: any;\n HolidayDateFroExportSearch: any;\n constructor(public _holidayService: HolidayService, private router: Router, public _spinner:NgxSpinnerService,public _allServiceMasterApi:AllMasterApiService,\n public _roleAccess:RoleAccessService,private _encryption:EncryptdecryptService,\n public _PaginationService:PaginationService, private ngbDateParserFormatter: NgbDateParserFormatter) { }\n\n ngOnInit(): void {\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this._spinner.show();\n this.Holiday();\n localStorage.removeItem('HoildayDataId');\n this.onTop();\n this.GetPrivillageRoles();\n // this.fncountry();\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.ddlshowStartValue = 1;\n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n sortTableHolidayMst(8,false);\n }\n\n show() { this.showModal = true; \n $(document).ready(function () {\n $('#idshowModal').eq(0).focus();\n });}\n hide() { this.showModal = false; }\n showlbl(){ this.showMsg = true;}\n hidelbl(){ this.showMsg = false;}\n showerror(){this.showerrormsg=true;}\n hideerror() {this.showerrormsg=false;}\n\n//---------------------on page load NgModel bind---------------------\n Holiday() {\n this.display = true;\n this._holidayService.formData = {\n HolidayId: 0,\n CountryId: null,\n StateId: null,\n CityId: null,\n CorrespondentBank: '0',\n BankName: '',\n BranchName: '',\n BranchCode: '',\n Correspondent:'',\n Leave: '',\n Date: null,\n HolidayType: \"\",\n Holiday: '',\n DateFrom: '',\n DateTo: '',\n NoDays: 0,\n IsHolidayWorking: '0',\n displaycheckboxForHoliday:true,\n lblTitle:'',\n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName:'',\n DateCreated:'',\n UpdatedName:'',\n IsHolidaySelected: null,\n Status:\"1\",\n ReviewStatus:null,\n UserId:'',\n Message:'',\n formatedDate:'',\n formatedFrDate:'',\n formatedToDate:'',\n CountryName:'',\n StateName:'',\n CityName:'',\n BranchId:null,\n CorrespondentName:'',\n IsHolidayWorkingName:'',\n HolidayNewStatus:'Active',\n RequestType:''\n }\n } \n//-------------On Add Holday Button On Click--------------------------\n NewHoliday() {\n this.display = true;\n this._holidayService.formData = {\n HolidayId: 0,\n CountryId: null,\n StateId: null,\n CityId: null,\n CorrespondentBank: '0',\n BankName: 'IDBI BANK',\n BranchName: '',\n BranchCode: '',\n Correspondent:'',\n Leave: '',\n Date: null,\n HolidayType: \"\",\n Holiday: '',\n DateFrom: '',\n DateTo: '',\n NoDays: 0,\n IsHolidayWorking: '0',\n displaycheckboxForHoliday:true,\n lblTitle:'Add Holiday Master',\n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName:'',\n DateCreated:'',\n UpdatedName:'',\n IsHolidaySelected: null,\n Status:'1',\n ReviewStatus:null,\n UserId:'',\n Message:'',\n formatedDate:'',\n formatedFrDate:'',\n formatedToDate:'',\n CountryName:'',\n StateName:'',\n CityName:'',\n BranchId:null,\n CorrespondentName:'',\n IsHolidayWorkingName:'',\n HolidayNewStatus:'Active',RequestType:''\n }\n this.router.navigate([\"/AddHolidayMaster\"])\n }\n\n//---------------On EDIT Icon on Click---------------------------------\n EditHoliday(holiday: Holiday) {\n localStorage.setItem('HoildayDataId',String( holiday.HolidayId));\n localStorage.setItem('HolidayViewMode',String(\"edit\"));\n this.router.navigate(['/AddHolidayMaster']);\n }\n\n//----------------on Authorize icon click------------------------------------\nAuthorize(holiday: Holiday) {\n localStorage.setItem('HoildayDataId',String( holiday.HolidayId));\n localStorage.setItem('HolidayViewMode',String(\"authorize\"));\n this.router.navigate(['/AddHolidayMaster']);\n} \n\n//----------------On VIEW Icon on Click------------------------------\n ViewHolidayDetails(holiday: Holiday){\n localStorage.setItem('HoildayDataId',String( holiday.HolidayId));\n let viewMode = 'view';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n if(viewMode == 'view'){\n this.router.navigate(['/AddHolidayMaster'], navigationExtras);\n }\n }\n\n//-------------Closed Model Popup of Bulk Authorize--------------------\n AllDeletehide(){\n this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllHolidayCheck=false;\n }\n\n//-------------After delete confirrmation =>delete Method-------------\n DeleteHolidayMethod() {\n this._holidayService.fnDeleteHoliday(this.HolidayId.toString(),localStorage.getItem('LoginUserId').toString(),this.HolidayReviewstatus.toString()).subscribe(res => {\n //(res);\n //this.fnGetAllHolidayDetails('', '', '','','','','','1'); \n this._holidayService.formData.BankName=\"\",this._holidayService.formData.Holiday=\"\",\n this._holidayService.formData.HolidayType=\"\",this._holidayService.formData.CreatedDate=\"\",\n this._holidayService.formData.Date=\"\",this._holidayService.formData.CreatedName=\"\",\n this._holidayService.formData.RequestType=\"\",this._holidayService.formData.Status=\"1\"\n this.showFirstPage(this._holidayService.formData.BankName,this._holidayService.formData.Holiday,\n this._holidayService.formData.HolidayType,this._holidayService.formData.CreatedDate,\n this._holidayService.formData.Date,this._holidayService.formData.CreatedName,\n this._holidayService.formData.RequestType,this._holidayService.formData.Status);\n this.hide();\n if (res == 'Holiday Deleted Successfully') {\n this.showlbl();\n this.lblMessageDeletesuccess = res;\n //\"Holiday Deleted Successfully\"\n \n }else{\n this.redlblMessage = res;\n this.showerror();\n }\n this.onTop();\n //this.redlblMessage = res;//\"Holiday Deleted Successfully\"\n //this.showerror();\n \n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\n\n//---------------On Top method------------------------------------------\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n//----------- Delete Icon On Click------------------------------------------\n DeleteHolidayMaster(holiday: Holiday) {\n this.HolidayId = holiday.HolidayId;\n this.HolidayReviewstatus=holiday.ReviewStatus;\n this.lblMessage = \"Are you sure you want to delete?\";\n this.show();\n }\n\n//----------pageChanged => -------------------------------------------\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // if(this.FilteredHolidayList.length<=this.ddlshowvalue)\n // this.ddlshowvalue = this.FilteredHolidayList.length;\n }\n//-------------------Get Holiday data in grid ------------------------------------------\n fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,SortOrder = \"\",pageNumber=\"\") {\n if(pageNumber != \"\")\n this.pageNo=pageNumber;\n this._holidayService.fnGetHolidayData('0',this.pageNo, this.config.itemsPerPage.toString(),\n BankName,HolidayName,HolidayType,CreatedName,CreatedDate, HolidayDate,RequestType,Status,this.sortOrder).subscribe(allHoliday => {\n this.allHoliday = allHoliday;\n this.FilteredHolidayList = this.allHoliday;\n for (var i = 0; i < this.allHoliday.length; i++) {\n \n if(this.allHoliday[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.allHoliday[i].IsholidayDisabled = true;\n }//this.allHoliday[i].IsUserSelected = false;\n if(this.checkedList.length > 0){ \n for (var j = 0; j < this.checkedList.length; j++) {\n if(this.checkedList[j].HolidayId == this.allHoliday[i].HolidayId){\n this.allHoliday[i].IsHolidaySelected = true; \n } \n }\n } \n\n // if(this.allHoliday[i].CreatedBy == localStorage.getItem('LoginUserId')){ \n // this.allHoliday[i].makerchecherDisabled = true;\n // } else \n if(this.allHoliday[i].RequestType == 'Add Approval Pending' || this.allHoliday[i].RequestType == 'Edit Approval Pending'){\n this.allHoliday[i].makerchecherDisabled = true;\n }\n else if(this.allHoliday[i].RequestType == 'Delete Approval Pending' && \n (!this.CheckerPrivillage || this.allHoliday[i].CreatedBy == +this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.allHoliday[i].makerchecherDisabled = true;\n }\n else{\n this.allHoliday[i].makerchecherDisabled = false;\n\n if(this.allHoliday[i].RequestType == 'Add Approval Pending' || this.allHoliday[i].RequestType == 'Edit Approval Pending' || this.allHoliday[i].RequestType == 'Delete Approval Pending'){\n this.allHoliday[i].IsAuthorizeDisable = false;\n }\n else\n this.allHoliday[i].IsAuthorizeDisable = true;\n } } \n this.listLengthForSelect = this.allHoliday.length;\n if(this.allHoliday.length > 0){ \n this.totalCount = this.allHoliday[0].HolidayListCount;\n this.totalNoOfPages(); \n } else if(this.allHoliday.length == 0){\n this.totalCount = 0;\n this.totalNoOfPages(); \n }\n if(this._holidayService.formData.ReviewStatus==1 || this._holidayService.formData.ReviewStatus==4){this.deleteDisable=true;}\n \n \n if(this.ddlDropdownValue==10 || this.ddlDropdownValue == undefined ){\n if(this.FilteredHolidayList.length <10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredHolidayList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n else if(this.ddlDropdownValue== 25 ){\n if(this.FilteredHolidayList.length < 25 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredHolidayList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n else if(this.ddlDropdownValue== 50 ){\n if(this.FilteredHolidayList.length < 50){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredHolidayList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n else if(this.ddlDropdownValue== 100 ){\n if(this.FilteredHolidayList.length < 100){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredHolidayList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n //-------------------checker side Bulk Authorize---------------------\n this.getCheckedBulkAuthorize();\n if ( this.FilteredHolidayList.length!=0 && this.CheckerPrivillage==true &&\n (this._holidayService.formData.RequestType ==\"1\" || this._holidayService.formData.RequestType ==\"4\")\n && (this._holidayService.formData.Status==\"2\" || this._holidayService.formData.Status==\"\")){\n this.AddEditBulkApproval=true;\n }\n else{\n this.AddEditBulkApproval=false;\n this.AddEditBulkApprovalLabel=false;\n }\n //End-- checker side bulk Authorize---------------------------\n // this.OnSearch(this._holidayService.formData.BankName,this._holidayService.formData.Holiday\n // ,this._holidayService.formData.HolidayType,this._holidayService.formData.CreatedDate,\n // this._holidayService.formData.Date,\n // this._holidayService.formData.CreatedName,\n // this._holidayService.formData.RequestType,this._holidayService.formData.Status); \n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n }\n //-----Get Branch Data for Export----------------\n ExportHoliday:any = [];\n FilterExportHoliday: any = [];\n HolidayListForExport(){\n this._holidayService.fnGetHolidayDataForExport().subscribe(Holiday=>{\n this.ExportHoliday = Holiday;\n this.FilterExportHoliday = Holiday;\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row=>{\n return row.Status == \"Active\"; \n });\n this.FilterExportHoliday.length;\n for(var i = 0; i < this.ExportHoliday.length; i++){\n if(this.ExportHoliday[i].CreatedBy== this._encryption.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportHoliday[i].IsUserDisabled = true;\n }\n // this.ExportUsers[i].RoleName=this.decryptUsingAES256(this.ExportUsers[i].RoleName);\n // this.ExportUsers[i].RoleNames=this.decryptUsingAES256(this.ExportUsers[i].RoleNames);\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n //-----------------Search Method----------------------------------------\n OnSearch(BankName,Holiday,HolidayType,CreatedDate,HolidayDate,CreatedName,ReqType,status){\n this.currentPage = 1;\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n this.DateFroExportSearch=CreatedDate;\n this.HolidayDateFroExportSearch=HolidayDate;\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName,Holiday,HolidayType,CreatedDate,HolidayDate,CreatedName,ReqType,status,this.sortOrder,\"1\");\n this.pageChanged(1); \n //--------------Export search------------------------------------\n this.FilterExportHoliday = this.ExportHoliday.filter(row=>{\n return row.BankName.toLocaleLowerCase().match(BankName.toLocaleLowerCase());\n });\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row=>{\n return row.Holiday.toLocaleLowerCase().match(Holiday.toLocaleLowerCase());\n }); \n if (HolidayType != \"\") {\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row=>{\n return row.HolidayType == HolidayType;\n });\n }\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row=>{\n return row.CreatedName.toLocaleLowerCase().match(CreatedName.toLocaleLowerCase());\n });\n if (this.DateFroExportSearch != \"\" && this.DateFroExportSearch!=null) {\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(this.DateFroExportSearch.singleDate.formatted.toLocaleLowerCase());\n }); \n }\n if(status != \"\"){\n if(status ==\"1\"){\n status=\"Active\"\n } \n else if(status ==\"0\"){\n status=\"InActive\"\n }\n else if(status==\"2\"){\n status=\"Pending\"}\n else status=\"\";\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row => {\n return row.Status == status;\n });\n }\n if(ReqType != \"\"){\n if(ReqType==\"1\"){ReqType =\"Add Approval Pending\"}\n else if(ReqType==\"2\"){ReqType =\"Add Approved\"} \n else if(ReqType==\"3\"){ReqType =\"Add Rejected\"}\n else if(ReqType==\"4\"){ReqType =\"Edit Approval Pending\"}\n else if(ReqType==\"5\"){ReqType =\"Edit Approved\"}\n else if(ReqType=\"6\"){ReqType =\"Edit Rejected\"}\n else if(ReqType==\"7\"){ReqType =\"Delete Approval Pending\"}\n else if(ReqType==\"8\"){ReqType =\"Delete Approved\"} \n else if(ReqType==\"9\"){ReqType =\"Delete Rejected\"}\n else ReqType=\"\"\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row => {\n return row.RequestType == ReqType;\n });\n }\n if (this.HolidayDateFroExportSearch != \"\" && this.HolidayDateFroExportSearch != null) {\n this.FilterExportHoliday = this.FilterExportHoliday.filter(row=>{\n return row.formatedDate.toLocaleLowerCase().match(this.HolidayDateFroExportSearch.singleDate.formatted.toLocaleLowerCase()\n ) || \n row.formatedFrDate.toLocaleLowerCase().match(this.HolidayDateFroExportSearch.singleDate.formatted.toLocaleLowerCase()\n ) \n }); \n }\n debugger;\n this.FilterExportHoliday.length;\n\n \n // debugger;\n // this.removeonchange();//this.AddEditBulkApprovalLabel=false;\n // this.pageChanged(event);\n // // if(City==\"null\"){\n // // City = \"\";\n // // }\n \n // if(!BankName && !Holiday && !HolidayType && (!CreatedDate || CreatedDate==null) && (!HolidayDate || HolidayDate==null) && !CreatedName && ReqType==null && !status){\n // this.FilteredHolidayList = this.allHoliday;\n // }\n // else{\n // this.FilteredHolidayList = this.allHoliday.filter(row=>{\n // return row.BankName.toLocaleLowerCase().match(BankName.toLocaleLowerCase());\n // });\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // return row.Holiday.toLocaleLowerCase().match(Holiday.toLocaleLowerCase());\n // });\n // // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // // return row.City.match(City);\n // // });\n // if (HolidayType != \"\") {\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // return row.HolidayType == HolidayType;\n // });\n // }\n // else {\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // return row.HolidayType.toLocaleLowerCase().match(HolidayType.toLocaleLowerCase());\n // });\n // }\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // return row.CreatedName.toLocaleLowerCase().match(CreatedName.toLocaleLowerCase());\n // });\n // if (CreatedDate != \"\" && CreatedDate!=null) {\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // return row.CreatedDate.toLocaleLowerCase().match(CreatedDate.singleDate.formatted.toLocaleLowerCase());\n // }); \n // }\n // if(status != \"\"){\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row => {\n // return row.Status == status;\n // });\n // }\n // else{\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row => {\n // return row.Status.toLocaleLowerCase().match(status.toLocaleLowerCase());\n // });\n \n // }\n\n // if(ReqType != \"\"){\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row => {\n // return row.RequestType == ReqType;\n // });\n // }\n // else{\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row => {\n // return row.RequestType.toLocaleLowerCase().match(ReqType.toLocaleLowerCase());\n // });\n // }\n // if (HolidayDate != \"\" && HolidayDate != null) {\n // this.FilteredHolidayList = this.FilteredHolidayList.filter(row=>{\n // return row.formatedDate.toLocaleLowerCase().match(HolidayDate.singleDate.formatted.toLocaleLowerCase()\n // ) || \n // row.formatedFrDate.toLocaleLowerCase().match(HolidayDate.singleDate.formatted.toLocaleLowerCase()\n // ) \n // }); \n // }\n // }\n // if (BankName !=\"\" || Holiday !=\"\" || HolidayType != \"\" || CreatedDate!= \"\"|| CreatedName != \"\" || ReqType!=\"\"||status!=\"\") {\n // this.ddlshowvalue = this.FilteredHolidayList.length;\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // }\n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // this.searchCount = \"\";\n // this.searchCount = this.FilteredHolidayList.length;\n // this.filterCount = \"(filtered from \"+ this.allHoliday.length +\" total entries)\";\n // }else{\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // this.searchCount = this.allHoliday.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // this.searchCount = this.allHoliday.length.toString();\n // this.filterCount =\"\";\n // } //this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n \n // // // this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n // // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // // this.searchCount = this.allHoliday.length;\n // // this.filterCount =\"\";\n // }\n // this.getCheckedBulkAuthorize();\n // if ( this.FilteredHolidayList.length!=0 && this.CheckerPrivillage==true && (ReqType==\"Add Approval Pending\" || ReqType==\"Edit Approval Pending\") && (status==\"Pending\" || status==\"\")){\n // this.AddEditBulkApproval=true;\n // }\n // else{\n // this.AddEditBulkApproval=false;\n // this.AddEditBulkApprovalLabel=false;\n // }\n\n }\n \n //----------------Pagination DropDown -------------------------------\n fnShowonchange(newObj,BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status){\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.currentPage= 1;\n this.ddlshowStartValue = 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n } \n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,\n RequestType,Status,this.sortOrder,\"1\");\n }\n //------------Open Holiday Import page----------------------------------\n AddbulkHoliday() {\n this.router.navigate(['/UploadBulkHoliday']);\n }\n\n //-------------GetPrivillage Method-------------------------------------\n GetPrivillageRoles(){\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),this.router.url).subscribe(roleAccess=>{\n this.RoleAccess=roleAccess[0];\n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.EditPriv =this.RoleAccess.EditAccess;\n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.MappingPriv=this.RoleAccess.MappingPriv;\n this.AddImportAccess = this.RoleAccess.AddImportAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess;\n this.fnGetAllHolidayDetails('', '', '','','','','','1');\n this.HolidayListForExport();\n if(this.AddImportAccess || this.AddExportAccess){\n this.PrivillageImportExportdv=true;\n }\n else{\n this.PrivillageImportExportdv=false;\n }\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage=true;\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n//-------------For HTML ,RTF anf Excel Dwonload----------------------------\n @ViewChild('tblHolidayMasterhide') tblHolidayMasterhide:ElementRef;\n fndownloadReport(ddlValue){\n if(ddlValue === \"excel\"){\n this.fileName= 'HolidayMasterReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblHolidayMasterhide.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n\n // if(ddlValue === \"pdf\"){\n // this._spinner.show();\n // $(\"#dvholidayMasterhide\").css(\"display\", \"block\");\n // this.fileName = 'HolidayMasterReport.pdf';\n // var data = document.getElementById('tblHolidayMasterhide');\n // html2Canavas(data).then(canvas => {\n // // Few necessary setting options \n // var imgWidth = 208;\n // var pageHeight = 295;\n // var imgHeight = canvas.height * imgWidth / canvas.width;\n // var heightLeft = imgHeight;\n\n // const contentDataURL = canvas.toDataURL('image/png')\n // let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n // var position = 0;\n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n // pdf.save(this.fileName); // Generated PDF \n // $(\"#dvholidayMasterhide\").css(\"display\", \"none\");\n // this._spinner.hide();\n // });\n // }\n\n if(ddlValue === \"rtf\"){\n this.fileName = 'HolidayMasterReport.rtf';\n var ele = document.getElementById('tblHolidayMasterhideRTF');\n var blob = new Blob([\"

Holiday Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'HolidayMasterReport.html';\n var ele = document.getElementById('tblHolidayMasterhide');\n var blob = new Blob([\"

Holiday Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n } \n\n//-------------For PDF Dwonload----------------------------------------\n @ViewChild('tblHolidayMasterhidepdf', {static: false}) tblHolidayMasterhidepdf: ElementRef;\nfndownloadReportPdf(ddlValue){\n if(ddlValue === \"pdf\"){\n\n let DATA = this.tblHolidayMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblHolidayMasterhidepdf');\n let doc = new jsPDF('l','mm',[2700,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Holiday Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('HolidayMasterReport.pdf');\n \n }\n\n\n}\n\n//--------------------Grid Sorting Method-----------------------------------\n fnSortHolidayMaster(field,obj){\n //sortTableHolidayMst(obj);\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n sortTableHolidayMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n sortTableHolidayMst(obj,this.ascendingOrder);\n }\n if(this.ascendingOrder) {\n this.FilteredHolidayList = this.FilteredHolidayList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.FilteredHolidayList = this.FilteredHolidayList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n//---------------------Only Number on key press-------------------------------\n onKeyDown(event: KeyboardEvent) {\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n checkDateValidity(date){\n const mxDate = new Date();\n this.inputDate =date.singleDate.jsDate;\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n }\n else{\n this.futureDateError = false;\n }\n return this.futureDateError\n \n }\n//---------------Bulk Authorize Methods ---------------------------------------\n//----------------Select All Checkbox for Bulk Authorize------------------------\n checkUncheckAllBulkApproval() {\n this.HolidaySelected != this.HolidaySelected; \n if (this.FilteredHolidayList.length > 0) {\n for (var i = 0; i < this.FilteredHolidayList.length; i++) {\n if(this.FilteredHolidayList[i].IsholidayDisabled != true){\n this.FilteredHolidayList[i].IsHolidaySelected = this.HolidaySelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allHoliday[i].IsholidayDisabled != true){\n this.allHoliday[i].IsHolidaySelected = this.HolidaySelected; \n }\n }\n }\n if (this.FilterExportHoliday.length > 0) {\n for (var j = 0; j < this.FilterExportHoliday.length; j++) {\n if(this.FilterExportHoliday[j].IsholidayDisabled != true){\n this.FilterExportHoliday[j].IsHolidaySelected = this.HolidaySelected; \n }\n }\n }\n else\n {\n for (var j = 0; j < this.ExportHoliday.length; j++) {\n if(this.ExportHoliday[j].IsholidayDisabled != true){\n this.ExportHoliday[j].IsHolidaySelected = this.HolidaySelected; \n }\n }\n }\n this.getCheckedBulkAuthorize();\n // if (this.FilteredHolidayList.length > 0) {\n // for (var i = 0; i < this.FilteredHolidayList.length; i++) {\n // this.FilteredHolidayList[i].IsHolidaySelected = this.HolidaySelected; \n // }\n // }\n // if(this.HolidaySelected==true){\n // this.AddEditBulkApprovalLabel=true;\n // }\n // else{\n // this.AddEditBulkApprovalLabel=false;\n // }\n}\n\n//----------------Select Only One Checkbox for Bulk Authorize---------------------\nIsBulkAutherizeCheck(HolidayId,status){\n this.AllSelected=false;\n status!= this.IsHolidaySelected ;\n for (var i = 0; i < this.FilteredHolidayList; i++) {\n this.FilteredHolidayList[i].IsHolidaySelected == this.IsHolidaySelected; \n}\nfor (var j = 0; j < this.FilterExportHoliday.length; j++) {\n if(this.FilterExportHoliday[j].HolidayId ==HolidayId){\n this.FilterExportHoliday[j].IsHolidaySelected = status; \n }\n} \nthis.getCheckedBulkAuthorize();\n// for (var i = 0; i < this.FilteredHolidayList; i++) {\n// if(this.FilteredHolidayList[i].IsHolidaySelected == true){\n// this.AddEditBulkApprovalLabel=true;\n// }\n// }\n \n \n// if(this.IsHolidaySelected==true){\n// this.AddEditBulkApprovalLabel=true;\n// }\n// else{\n// this.AddEditBuslkApprovalLabel=false;\n// }\n}\n\n//--------------Bulk Authorize Method---------------------------------------------\nBulkAuthorizeConfirm(){\n this.FilteredHolidayList;\n this.selectHolidayList=[];\n for(var i=0;i0){\n this._holidayService.fnBulkUHolidayAuthorize(this.selectHolidayList,localStorage.getItem('LoginUserId'),this.AuthorizeStatus).subscribe(res => { \n // this.fnGetAllHolidayDetails('', '', '','','','','','1');\n this.AddEditBulkApprovalLabel=false;\n this.showModalForAllDelete=false;\n this.onTop();\n this.showMsg=true;\n this.HolidayListForExport();\n this.UncheckAllcheckbox();\n this._holidayService.formData.BankName=\"\",this._holidayService.formData.Holiday=\"\",\n this._holidayService.formData.HolidayType=\"\",this._holidayService.formData.CreatedDate=\"\",\n this._holidayService.formData.Date=\"\",this._holidayService.formData.CreatedName=\"\",\n this._holidayService.formData.RequestType=\"\",this._holidayService.formData.Status=\"1\"\n this.showFirstPage(this._holidayService.formData.BankName,this._holidayService.formData.Holiday,\n this._holidayService.formData.HolidayType,this._holidayService.formData.CreatedDate,\n this._holidayService.formData.Date,this._holidayService.formData.CreatedName,\n this._holidayService.formData.RequestType,this._holidayService.formData.Status);\n this.lblMessageDeletesuccess=\"Bulk Authorize Completed For All Selected Records Succesfully\";\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n \n} \n\n//---------If Any Checkbox is checked then Bulk Authrize Button is display--------\ngetCheckedBulkAuthorize(){\n // this.checkedBulkList = [];\n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.allHoliday[i].IsHolidaySelected == true)\n // this.checkedBulkList.push(this.allHoliday[i]);\n // }\n // this.checkedList= JSON.stringify(this.checkedBulkList);\n // if(this.checkedBulkList.length >= 1){\n // this.AddEditBulkApprovalLabel=true;\n // }\n // else{\n // this.AddEditBulkApprovalLabel=false;\n // }\n this.checkedBulkList = [];\n for (var i = 0; i < this.FilterExportHoliday.length; i++) {\n if(this.FilterExportHoliday[i].IsHolidaySelected == true)\n this.checkedBulkList.push(this.FilterExportHoliday[i]);\n }\n this.checkedList = this.checkedBulkList;;\n if(this.checkedBulkList.length >= 1){\n this.AddEditBulkApprovalLabel=true; }\n else{\n this.AddEditBulkApprovalLabel=false;\n }\n}\n\n//--------------Un-Check All checkbox after bulk approved or Reject---------------\nUncheckAllcheckbox(){\n this.HolidaySelected=false;\n this.AddEditBulkApprovalLabel=false;\n for (var i = 0; i < this.FilteredHolidayList.length; i++) {\n this.FilteredHolidayList[i].IsHolidaySelected = false;\n }\n for (var i = 0; i < this.FilterExportHoliday.length; i++) {\n this.FilterExportHoliday[i].IsHolidaySelected = false;\n }\n}\n\n//--------------------If Bulk Authorize => Approved then ---------------------\nApproved(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Approve\"\n this.AuthorizeStatus=2;\n this._holidayService.formData.RequestType = \"\";\n this._holidayService.formData.Status = \"1\";\n}\n\n//--------------------If Bulk Authorize => Reject then ------------------------\nRejectd(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Reject\";\n this.AuthorizeStatus=3;\n this._holidayService.formData.RequestType = \"\";\n this._holidayService.formData.Status = \"1\";\n}\n\n//---------------Hide error & Successfull Massage ----------------------------\nremoveonchange(){\n this.showMsg = false;this.showerrormsg=false;\n}\n\n//---------------Open Gear menu & SubMenu on tab Event ------------------------\nfnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n}\nfnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n}\n//--------------------Pagination Start --------------------------------------\npageNo: any = 1; \npageNumber: boolean[] = []; \nsortOrder: any = 'CreatedDate_DESC'; \norder:any='CreatedDate';\n\npageField = []; \nexactPageList: any; \npaginationData: number; \norderBy: string='Desc'; \n\ntotalCount: any; \ncurrentPage = 1; \nComingFromLast:boolean = false;\nComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \n if(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n }\n if(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n } \n this.filterCount = this.totalCount;\n this.paginationData = Number(this.totalCount/this.config.itemsPerPage); \n let tempPageData = this.paginationData.toFixed(); \n if (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n } else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n }\n if(this._PaginationService.exactPageList < 10){\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n }\n else{\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = 10;\n } \n this._PaginationService.pageOnLoad(); \n this.pageField = this._PaginationService.pageField; \n\n if(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n }\n} \n\nsortByHeading(value: string, id, BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableHolidayMst(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableHolidayMst(id,false); \n } \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,this.sortOrder); \n this.pageChanged(this.pageNo); \n\n} \n\nshowFirstPage(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status){\n // if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n // this.pageNumber = []; \n // this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n // } \n}\n\nshowPrevAccounts( BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status) { \n if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n\n}\n\nshowAccountsByPageNumber(page, i, BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status) { \n //this.FilteredUserList = []; \n this.pageNumber = []; \n this.pageNumber[i] = true; \n this.pageNo = page; \n this.currentPage =page; \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n\nshowNext(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status) { \n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n} \n\nshowLastPage(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status){\n //if(this._PaginationService.disabledNextBtn == false){\n \n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n \n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(HolidayDate == null || HolidayDate == undefined || HolidayDate == \"\")\n HolidayDate = \"\"; \n else if (HolidayDate != null && HolidayDate!=\"\") {\n HolidayDate = this.ngbDateParserFormatter.format(HolidayDate.singleDate.date);\n }\n this.fnGetAllHolidayDetails(BankName, HolidayName, HolidayType,CreatedDate,HolidayDate,CreatedName,RequestType,Status,this.sortOrder); \n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n // }\n}\n//------------------------------------------------------------------------------\nisChecked(holiday: Holiday) {\n if (confirm(\"are you sure you want to make holiday as working\")) {\n this._holidayService.fnHolidayasWorking(holiday.HolidayId.toString()).subscribe(res => {\n (res);\n this._holidayService.fnGetHolidayData();\n // this.YESWorking=true;\n\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n}\n\nfncountry(){\n this._allServiceMasterApi.fnGetCountryMaster().subscribe(allCountry => {\n this.countryList = allCountry;\n } ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\nAllDeleteConfirmation(){\n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.AllDeleteShow();\n }\n\nAllDeleteShow() {\n this.showModalForAllDelete = true;\n}\nAllDeleteConfirm() {\n this.FilteredHolidayList.forEach(element => {\n if (element.IsHolidaySelected == true) {\n this._holidayService.fnDeleteHoliday(element.HolidayId.toString(),localStorage.getItem('LoginUserId').toString(),element.ReviewStatus.toString()).subscribe(res => {\n this.fnGetAllHolidayDetails('', '', '','','','','','1');\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n this.lblMessageDeletesuccess = res;//\"All Holiday Deleted Successfully\"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n this.BulkDelete = true;\n this.HolidaySelected = false;\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n });\n}\n\ncheckUncheckAllUser() {\n this.AllSelected=true;\n this.isActive = true;\n // this.chkValue=true;\n\n this.HolidaySelected != this.HolidaySelected;\n\n if (this.FilteredHolidayList.length > 0) {\n for (var i = 0; i < this.FilteredHolidayList.length; i++) {\n this.FilteredHolidayList[i].IsHolidaySelected = this.HolidaySelected; \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allHoliday[i].IsHolidaySelected = this.HolidaySelected; \n }\n }\n\n this.getCheckedItemList();\n}\n\nisCheckedDelete(UserId,status){\n this.AllSelected=false;\n this.IsHolidaySelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allHoliday[i].IsHolidaySelected == this.IsHolidaySelected; \n}\n this.getCheckedItemList();\n}\n\ngetCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allHoliday[i].IsHolidaySelected == true)\n this.checkedList.push(this.allHoliday[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n}\n\nSelectAllHoliday() {\n this.isActive = true;\n this.AllHolidayCheck = true;\n this.AllDeleteShow();\n}\n\n}\n\n\n\n","
\n
\n
\n
\n

\n Holiday Master\n

\n
\n \n
\n\n \n \n
\n\n
\n ×\n Success! {{ lblMessageDeletesuccess }}.\n
\n\n
\n ×\n {{ redlblMessage }}.\n
\n\n
\n\n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n \n \n \n
\n \n \n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter valid Date Format\n
\n
\n
\n\n
\n \n\n
\n
\n \n
\n \n
\n
\n \n
\n\n
\n \n Search\n \n
\n
\n\n
\n\n \n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n \n
\n \n \n
\n
\n\n \n \n \n Holiday Name\n Holiday Type\n Leave Type\n Bank /Correspondent Bank Name\n Holiday Date\n \n \n Request Type\n Status\n \n Created By\n Created / Updated Date & Time\n \n Holiday as Working\n Action\n \n \n \n
\n \n \n
\n \n \n \n \n \n \n {{ holiday.Holiday }}\n {{ holiday.HolidayType }}\n {{ holiday.Leave }}\n\n {{ holiday.BankName }}\n \n {{ holiday.Date | date: \"mediumDate\"\n }}{{ holiday.DateFrom | date: \"mediumDate\" }}\n \n \n {{ holiday.RequestType }}\n {{ holiday.Status }}\n \n {{ holiday.CreatedName }}\n {{ holiday.CreatedDate }}\n \n
\n
\n \n \n
\n \n\n \n
\n \n
\n \n
\n
\n \n
\n
\n \n
\n\n
\n \n
\n
\n \n \n
\n \n \n
\n \n \n \n \n No records found.\n \n \n \n\n \n \n\n
\n
\n \n
\n \n \n
\n \n\n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n\n
\n \" class=\"nav-link\" class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\" \n style=\"margin-top: -0.65em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" \n aria-expanded=\"false\"/>\n \n \n \n \n \n \n
\n \n
\n\n \n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
StatusHoliday NameHoliday TypeLeave TypeBank /Correspondent Bank NameRequest TypeBranch NameBranch CodeHoliday DateHoliday As WorkingCountryStateCityCreated ByCreated DateUpdated ByUpdated Date
{{ holiday.Status }}{{ holiday.Holiday }}{{ holiday.HolidayType }}{{ holiday.Leave }}{{ holiday.BankName }}{{ holiday.RequestType }}{{ holiday.BranchName }}{{ holiday.BranchCode }}\n {{ holiday.Date | date: \"mediumDate\"\n }}{{ holiday.DateFrom | date: \"mediumDate\" }}\n {{ holiday.IsHolidayWorkingName }}{{holiday.CountryName}}{{holiday.StateName}}{{holiday.CityName}}{{ holiday.CreatedName }}{{ holiday.CreatedDate }}{{ holiday.UpdatedName }}{{ holiday.UpdatedDate }}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n
Holiday NameHoliday TypeLeave TypeBank /Correspondent Bank NameHoliday DateRequest TypeStatusCreated ByCreated Date & TimeHoliday as WorkingUpdated ByUpdated Date
{{ holiday.Holiday }}{{ holiday.HolidayType }}{{ holiday.Leave }}{{ holiday.BankName }}\n {{ holiday.Date | date: \"mediumDate\"\n }}{{ holiday.DateFrom | date: \"mediumDate\" }}\n {{ holiday.RequestType }}{{ holiday.Status }}{{ holiday.CreatedName }}{{ holiday.CreatedDate }}{{ holiday.IsHolidayWorkingName }}{{ holiday.UpdatedName }}{{ holiday.UpdatedDate }}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n -->\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Holiday NameHoliday TypeLeave TypeBank /Correspondent Bank NameHoliday DateRequest TypeStatusCreated ByCreated Date & TimeHoliday as WorkingUpdated ByUpdated Date
{{ holiday.Holiday }}{{ holiday.HolidayType }}{{ holiday.Leave }}{{ holiday.BankName }}\n {{ holiday.Date | date: \"mediumDate\"\n }}{{ holiday.DateFrom | date: \"mediumDate\" }}\n {{ holiday.RequestType }}{{ holiday.Status }}{{ holiday.CreatedName }}{{ holiday.CreatedDate }}{{ holiday.IsHolidayWorkingName }}{{ holiday.UpdatedName }}{{ holiday.UpdatedDate }}
\n\n
\n\n
\n\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{ lblMessage }}\n
\n
\n \n\n \n
\n
\n
\n
\n \n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to {{ConfirmationMsg}} All Selected Records?

\n
\n
\n \n \n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { HttpClientModule, HttpClient } from '@angular/common/http'; \nimport {ActivatedRoute} from \"@angular/router\";\nimport {Constants } from 'src/app/Common/constant';\nimport { Router } from '@angular/router';\n\n\n@Component({\n selector: 'app-manage-access',\n templateUrl: './manage-access.component.html',\n styleUrls: ['./manage-access.component.css']\n})\nexport class ManageAccessComponent implements OnInit {\n\n \n listLength: 0;\n\n makerSelected:boolean;\n CheckerSelected:boolean;\n\n Accounts:any =[];\n FilterAccountList:any =[];\n\n checkedList:any;\n userId :0;\n\n showModal:boolean;\n showMsg:boolean;\n\n lblMessage:string;\n\n EmptyDataMsg:string;\n \n constructor(private httpService : HttpClient,private router: Router,private route: ActivatedRoute) { \n }\n\n ngOnInit(): void {\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n this.makerSelected = false;\n this.CheckerSelected = false;\n this.getCheckedItemList();\n\n this.route.queryParams.subscribe(params => {\n this.userId = params[\"id\"];\n });\n\n this.AccountList();\n this.hidelbl();\n }\n\n AccountList(){\n this.httpService.get(Constants.apiURL + 'UserMasterApi/GetAcccountListForUserRole?id='+ this.userId).subscribe(\n data=>{\n this.Accounts = data as []; \n this.FilterAccountList = this.Accounts;\n this.OnSearch(\"\",\"\",\"\",\"\");\n this.listLength = this.Accounts.length;\n }\n )\n }\n\n isChecked(id,val){\n for (var i = 0; i < this.listLength; i++) {\n if(this.Accounts[i].AccountId == id && val == 2){\n this.Accounts[i].MakerValue = 2;\n this.Accounts[i].isCheckerSelected = false;\n this.Accounts[i].CheckerValue = 0;\n }\n if(this.Accounts[i].AccountId == id && val == 4){\n this.Accounts[i].CheckerValue = 4;\n this.Accounts[i].isMakerSelected = false;\n this.Accounts[i].MakerValue = 0;\n } \n }\n this.getCheckedItemList();\n }\n\n checkUncheckAllMaker() {\n for (var i = 0; i < this.listLength; i++) {\n this.Accounts[i].isMakerSelected = this.makerSelected;\n if(this.makerSelected == true){\n this.Accounts[i].MakerValue = 2;\n this.CheckerSelected = false;\n this.Accounts[i].isCheckerSelected = false;\n this.Accounts[i].CheckerValue = 0;\n }\n else\n this.Accounts[i].MakerValue = 0;\n }\n this.getCheckedItemList();\n }\n\n checkUncheckAllChecker() {\n for (var i = 0; i < this.listLength; i++) {\n this.Accounts[i].isCheckerSelected = this.CheckerSelected;\n if(this.CheckerSelected == true){\n this.Accounts[i].CheckerValue = 4;\n this.makerSelected = false;\n this.Accounts[i].isMakerSelected = false;\n this.Accounts[i].MakerValue = 0;\n }\n else\n this.Accounts[i].CheckerValue = 0;\n }\n this.getCheckedItemList();\n }\n\n // isAllSelected() {\n // this.makerSelected = this.Accounts.every(function(item:any) {\n // return item.isMakerSelected == true;\n // })\n // this.getCheckedItemList();\n // }\n \n getCheckedItemList(){\n debugger;\n this.checkedList = [];\n for (var i = 0; i < this.listLength; i++) {\n if(this.Accounts[i].isMakerSelected == true && this.Accounts[i].MakerValue == 2 || this.Accounts[i].isCheckerSelected == true && this.Accounts[i].CheckerValue == 4)\n this.checkedList.push(this.Accounts[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n }\n\n show()\n {\n this.showModal = true; \n }\n hide(){\n this.showModal = false;\n }\n\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n\n Save(){\n \n\n var UserRoleAccessAccountList = [];\n\n this.Accounts.forEach(element => {\n if(element.isMakerSelected == true && element.MakerValue == 2 || element.isCheckerSelected == true && element.CheckerValue == 4){\n var UserAccessObj = {};\n UserAccessObj[\"UserId\"] = this.userId;\n UserAccessObj[\"AccountId\"] = element.AccountId;\n if(element.isMakerSelected == true)\n UserAccessObj[\"RoleId\"] = 2;\n else\n UserAccessObj[\"RoleId\"] = 4;\n UserRoleAccessAccountList.push(UserAccessObj);\n }\n }); \n \n\n var postData = {};\n postData[\"UserRoleAccessDetails\"] = UserRoleAccessAccountList;\n\n \n return this.httpService.post(Constants.apiURL + 'UserMasterApi/AddUserRoleAccessForAccount',postData)\n .subscribe((response) => {\n this.lblMessage=\"User Role Access Save Successful.\";\n // this.hide();\n this.showMsg = true;\n this.AccountList();\n }\n ,(error) => 'There was an error!');\n\n }\n\n OnSearch(AccountName,AccountNumber,BranchCode,CorporationCode){\n this.EmptyDataMsg = \"\";\n if(!AccountName && !AccountNumber && !BranchCode && !CorporationCode){\n this.FilterAccountList = this.Accounts;\n }\n else{\n this.FilterAccountList = this.Accounts.filter(row=>{\n return row.AccountName.toLocaleLowerCase().match(AccountName.toLocaleLowerCase());\n });\n this.FilterAccountList = this.FilterAccountList.filter(row=>{\n return row.AccountNumber.toLocaleLowerCase().match(AccountNumber.toLocaleLowerCase());\n });\n this.FilterAccountList = this.FilterAccountList.filter(row=>{\n return row.BranchCode.toLocaleLowerCase().match(BranchCode.toLocaleLowerCase());\n });\n this.FilterAccountList = this.FilterAccountList.filter(row=>{\n return row.CorporationCode.toLocaleLowerCase().match(CorporationCode.toLocaleLowerCase());\n });\n\n if(this.FilterAccountList.length <1){\n this.EmptyDataMsg = \"No data Found\";\n }\n else{\n this.EmptyDataMsg=\"\";\n }\n } \n\n }\n \n}\n","
\n
\n
\n
\n

Manage Access

\n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n
\n
\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{EmptyDataMsg}}\n \n
Account NameAccount NumberBranch CodeCorporation CodeAction
\n \n \n
\n
\n \n \n
{{account.AccountName}}{{account.AccountNumber}}{{account.BranchCode}}{{account.CorporationCode}}\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n {{checkedList}}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n \n\n\n \n\n\n\n
\n
\n
\n
\n
Select Role
\n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n\n ","import { Component, OnInit,ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { BranchService} from '../../MasterService/branch.service';\nimport { BranchMaster } from 'src/app/MasterService/branch-master';\nimport {Router, NavigationExtras} from \"@angular/router\";\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\n\ndeclare var sortTableBranchMst: Function;\n\n@Component({\n selector: 'app-manage-branch-master',\n templateUrl: './manage-branch-master.component.html',\n styleUrls: ['./manage-branch-master.component.css']\n})\nexport class ManageBranchMasterComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n };\n allbranchdetails:any=[];\n public _Name:string;\n\n public BranchId;\n config: any;\n\n FilteredBranchList:any=[];\n RoleAccess:RoleAccess;\n showModal:boolean;\n showMsg:boolean;\n showModalDelete: boolean;\n showModalInformation:boolean;\n\n lblMessage:string;\n lblMessageDelete:string;\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n ddlshowvalue:number;\n SelectedCorrespondent:string = '';\n ddlshowStartValue:number;\n searchCount:string;\n filterCount:string;\n IsBranchInUsed:any;\n AddImportAccess:boolean;\n AddExportAccess:boolean;\n PrivillageImportExportdv:boolean;\n fileName:string; \n showerrormsg: boolean;\n lastSortedByField;\n ascendingOrder = true;\n isActive: boolean;\n AllBranchCheck: boolean;\n showModalForAllDelete: boolean;\n\n // Bulk Delete fields\n BranchSelected:boolean;\n IsBranchSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n LoginId:string;\n AllSelected: boolean;\n ConfirmationMsg: string;\n AllDeleteCheck: boolean;\n BranchStatus: number;\n ///Bulk Authorize\n BulkApprovalAuthorize:boolean;\n AddEditBulkApprovalLabel:boolean;\n CheckerPrivillage: boolean;\n AuthorizeStatus: number;\n checkedBulkList: any[];\n ddlDropdownValue: any;\n dateForExport: any;\n IsComingFromExport: boolean=false;\n\n\n constructor(public _branchService:BranchService,private router: Router,private _roleAccess:RoleAccessService,\n private _spinner:NgxSpinnerService, public _encreptdecrept:EncryptdecryptService,\n public _PaginationService:PaginationService, private ngbDateParserFormatter: NgbDateParserFormatter) { \n this._Name = \"Bank Name\";\n }\n\n ngOnInit(): void {\n // If LoginUserId is null then it will return\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n// To display header\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n \n this.BranchMaster();\n\n this._spinner.show();\n localStorage.removeItem('branchDataId');\n localStorage.removeItem('branchFlag');\n\n this.onTop();\n // Getting Privillage based on userid\n this.GetPrivillageRoles();\n // Getting branch data from database\n //this.fnGetBranchDetails();\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.ddlshowStartValue = 1;\n this.filterCount = \"\";\n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n// sorting table data\n sortTableBranchMst(8,false);\n \n }\n// On page change this event is called\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // if(this.FilteredBranchList.length<=this.ddlshowvalue)\n // this.ddlshowvalue = this.FilteredBranchList.length;\n }\n\n EditBranchMaster(branch:BranchMaster){\n branch.lblTitle = \"Edit Branch Master\";\n localStorage.setItem('branchDataId',String(branch.BranchId));\n localStorage.setItem('branchFlag',String(\"edit\"));\n this.router.navigate(['/BranchMaster']);\n }\n\n ViewBranchMaster(branch:BranchMaster){\n localStorage.setItem('branchDataId',String(branch.BranchId));\n localStorage.setItem('branchFlag',String(\"view\"));\n this.router.navigate(['/BranchMaster']); \n }\n\n Authorize(branch:BranchMaster){\n branch.lblTitle = \"Edit Branch Master\";\n localStorage.setItem('branchDataId',String(branch.BranchId));\n localStorage.setItem('branchFlag',String(\"authorize\"));\n this.router.navigate(['/BranchMaster']);\n }\n// Getting Privillage based on id\n GetPrivillageRoles(){ \n \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),this.router.url).subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.AddImportAccess = this.RoleAccess.AddImportAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess;\n if(this.AddImportAccess || this.AddExportAccess){\n this.PrivillageImportExportdv=true;\n }\n else{\n this.PrivillageImportExportdv=false;\n }\n //this.ViewPrivllage=this.RoleAccess.ViewAccess;\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage = true;\n // Getting branch data from database\n this.fnGetBranchDetails('','','','','No','','','','1');\n // this.BranchListForExport();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n show(){\n this.showModal = true; \n }\n hide(){\n this.showModal = false;\n }\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n showerror(){\n this.showerrormsg=true;\n }\n hideerror() {this.showerrormsg=false;}\n showDelete() { this.showModalDelete = true;\n $(document).ready(function () {\n $('#IDshowModalDelete').eq(0).focus();\n });\n }\n hideDelete() { this.showModalDelete = false; }\n showInformation() { this.showModalInformation = true;\n $(document).ready(function () {\n $('#IDshowModalInformation').eq(0).focus();\n }); }\n hideInformation() { this.showModalInformation = false;\n this.showModalDelete = false; }\n\n fnRadioClick(_Val){\n if (_Val == \"Yes\") {\n this._Name=\"Correspondent Bank\";\n _Val='';\n } else {\n this._Name=\"Bank Name\";\n }\n }\n\n fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,SortOrder = \"\",pageNumber=\"\"){\n if(pageNumber != \"\")\n this.pageNo=pageNumber;\n this._branchService.fnGetBranchData('0',this.pageNo, this.config.itemsPerPage.toString(),\n BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus ,this.sortOrder\n ).subscribe(allbranchdetails=>{\n \n this.allbranchdetails = allbranchdetails;\n //this.searchCount = this.allbranchdetails.length;\n this.FilteredBranchList = allbranchdetails;\n\n // for (var i = 0; i < this.allbranchdetails.length; i++) {\n // if(this.allbranchdetails[i].IsBranchDisabled){\n // this.allbranchdetails[i].IsBranchDisabled = true;\n \n //Dor Dsibale\n \n \n for (var i = 0; i < this.allbranchdetails.length; i++) {\n if(this.checkedList.length > 0){ \n for (var j = 0; j < this.checkedList.length; j++) {\n if(this.checkedList[j].BranchId == this.allbranchdetails[i].BranchId){\n this.allbranchdetails[i].IsBranchSelected = true; \n } \n }} \n if(this.allbranchdetails[i].CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.allbranchdetails[i].IsBranchDisabled = true;\n }\n //\n this.allbranchdetails[i].IsUserSelected = false;\n\n if(this.allbranchdetails[i].ReviewStatus == 1 || this.allbranchdetails[i].ReviewStatus == 4){\n this.allbranchdetails[i].makerchecherDisabled = true;\n }\n else if(this.allbranchdetails[i].ReviewStatus == 7 && (!this.CheckerPrivillage || this.allbranchdetails[i].CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.allbranchdetails[i].makerchecherDisabled = true;\n }\n else{\n this.allbranchdetails[i].makerchecherDisabled = false;\n } \n\n if(this.allbranchdetails[i].ReviewStatus == 1 || this.allbranchdetails[i].ReviewStatus == 4 || this.allbranchdetails[i].ReviewStatus == 7){\n this.allbranchdetails[i].IsAuthorizeDisable = false;\n }\n else\n this.allbranchdetails[i].IsAuthorizeDisable = true;\n }\n\n this.FilteredBranchList = this.allbranchdetails;\n this.listLengthForSelect = this.allbranchdetails.length;\n\n // this.OnSearch(\"\",\"\",\"\",\"\",\"No\",\"\",\"\",\"\",\"Active\");\n // this._branchService.formData.BankName=\"\";\n // this._branchService.formData.BranchName=\"\";\n // this._branchService.formData.BranchCode=\"\";\n // this._branchService.formData.BICCode=\"\";\n // this._branchService.formData.Correspondent=\"No\";\n // this._branchService.formData.CreatedDate=\"\";\n // this._branchService.formData.CreatedBy=null;\n // this._branchService.formData.RequestType=\"\";\n // this._branchService.formData.Status=\"Active\";\n if(this.allbranchdetails.length > 0){ \n this.totalCount = this.FilteredBranchList[0].BranchListCount;\n this.totalNoOfPages(); \n } else if(this.allbranchdetails.length == 0){\n this.totalCount = 0;\n this.totalNoOfPages(); \n }\n if(this.ddlDropdownValue==10 || this.ddlDropdownValue == undefined ){\n if(this.FilteredBranchList.length <10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredBranchList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n else if(this.ddlDropdownValue== 25){\n if(this.FilteredBranchList.length < 25 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredBranchList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n else if(this.ddlDropdownValue== 50){\n if(this.FilteredBranchList.length < 50 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredBranchList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n else if(this.ddlDropdownValue == 100){\n if(this.FilteredBranchList.length < 100 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredBranchList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n //-------------------checker side Bulk Authorize---------------------\n this.getCheckedBulkAuthorize();\n if (this.FilteredBranchList.length!=0 && this.CheckerPrivillage==true &&\n (this._branchService.formData.RequestType==\"1\" || this._branchService.formData.RequestType==\"4\")\n && (this._branchService.formData.BranchNewStatus ==\"2\" || this._branchService.formData.BranchNewStatus ==\"\" )){\n this.BulkApprovalAuthorize=true;\n }\n else{\n this.BulkApprovalAuthorize=false;\n this.AddEditBulkApprovalLabel=false;\n }\n //End-- checker side bulk Authorize---------------------------\n this._spinner.hide();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n //-----Get Branch Data for Export----------------\n ExportBranch:any = [];\n FilterExportBranch: any = [];\n // BranchListForExport(){\n // this._branchService.fnGetBranchDataForExport().subscribe(Branch=>{\n // this.ExportBranch = Branch;\n // this.FilterExportBranch = Branch;\n // this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n // return row.Status == \"Active\" && row.Correspondent == \"No\";\n \n // });\n\n // this.FilterExportBranch.length;\n // for(var i = 0; i < this.ExportBranch.length; i++){\n // if(this.ExportBranch[i].CreatedBy== this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n // this.ExportBranch[i].IsUserDisabled = true;\n // }\n // // this.ExportUsers[i].RoleName=this.decryptUsingAES256(this.ExportUsers[i].RoleName);\n // // this.ExportUsers[i].RoleNames=this.decryptUsingAES256(this.ExportUsers[i].RoleNames);\n // }\n // },(err)=>{\n // this.router.navigate([\"404\"]);\n // });\n // }\n NewBranchMaster() {\n this._branchService.formData = {\n\n BranchId:0,\n Correspondent:'No',\n BankName:'IDBI Bank',\n BranchCode:'',\n BranchName:'',\n BICCode:'',\n IFSCCode:'',\n MICRCode:'',\n Address1:'',\n Address2:'',\n CountryId:null,\n Country:'',\n StateId:null,\n State:'',\n CityId:null,\n City:'',\n lblTitle:'Add Branch Master',\n msg:'',\n CurrentBranchId:null,\n IsBranchExistInAccount:true, \n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName :'',\n DateCreated :'',\n UpdatedName:'',\n Status:null,\n ReviewStatus:null,\n LoggedInUser:null,\n RequestType:'',\n BranchNewStatus:'1',\n RTGS:''\n }\n this.router.navigate([\"/BranchMaster\"])\n }\n\n BranchMaster() {\n this._branchService.formData = {\n \n BranchId:0,\n Correspondent:'No',\n BankName:'',\n BranchCode:'',\n BranchName:'',\n BICCode:'',\n IFSCCode:'',\n MICRCode:'',\n Address1:'',\n Address2:'',\n CountryId:null,\n Country:'',\n StateId:null,\n State:'',\n CityId:null,\n City:'',\n lblTitle:'',\n msg:'',\n CurrentBranchId:null,\n IsBranchExistInAccount:true, \n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n CreatedName :'',\n DateCreated :'',\n UpdatedName:'',\n Status:'Active',\n ReviewStatus:null,\n LoggedInUser:null,\n RequestType:'',\n BranchNewStatus:'1',\n RTGS:''\n }\n }\n\n public NavigateToViewBranchMaster(id,flag) {\n let navigationExtras: NavigationExtras = {\n queryParams: {\n id\n }\n };\n\n if(flag == 'view'){\n this.router.navigate([\"ViewBranchMst\"], navigationExtras);\n }\n\n if(flag == 'edit'){\n this.router.navigate([\"EditBranchMst\"], navigationExtras);\n }\n }\n\n AllDeletehide(){\n this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllBranchCheck=false;\n }\n\n AllDeleteShow(){\n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.showModalForAllDelete=true;\n }\n\n AllDeleteConfirm(){\n this.LoginId = localStorage.getItem('LoginUserId');\n\n this.FilteredBranchList.forEach(element => {\n if(element.IsBranchSelected == true){\n\n this._branchService.fnDeleteBulkBranchDataById(element.BranchId).subscribe(data=>{\n // this.fnGetBranchDetails();\n this.hide(); \n this.lblMessage=\"All Selected Branch Deleted Successfully\"\n //this.showlbl();\n this.hidelbl();\n this.showerror();\n this.onTop();\n this.AllDeletehide();\n this.BulkDelete = true;\n this.BranchSelected = false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n});\n\n // this._branchService.fnIsBranchInUsed(element.BranchId).subscribe(data=>{\n // this.IsBranchInUsed = data;\n // if(this.IsBranchInUsedf == 0){\n // //if(confirm('Are you sure you want to delete ' + _roleID)){\n \n // }\n // });\n\n }\n \n });\n\n }\n\n SelectAllBranch(){\n this.isActive = true;\n this.AllBranchCheck=true;\n this.AllDeleteShow();\n }\n\n fnDeleteBranchById(branch:BranchMaster){\n this.BranchId=branch.BranchId;\n this.BranchStatus=branch.ReviewStatus\n this.lblMessageDelete = \"Are you sure you want to delete?\";\n this.showDelete(); \n }\n \n fnConfirmDelete(){ \n this._branchService.fnIsBranchInUsed(this.BranchId).subscribe(data=>{\n this.IsBranchInUsed = data;\n this.LoginId = localStorage.getItem('LoginUserId');\n if(this.IsBranchInUsed == 0){\n this._branchService.fnDeleteBranchDetailsById(this.BranchId,this.LoginId,this.BranchStatus.toString()).subscribe(data=>{\n this._branchService.formData.BankName=\"\";\n this._branchService.formData.BranchName=\"\";\n this._branchService.formData.BranchCode=\"\";\n this._branchService.formData.BICCode=\"\";\n this._branchService.formData.Correspondent=\"No\";\n this._branchService.formData.CreatedDate=\"\";\n this._branchService.formData.CreatedName=\"\";\n this._branchService.formData.RequestType=\"\";\n this._branchService.formData.BranchNewStatus=\"1\";\n this.currentPage = 1;\n this.pageNumber = [];\n this.pageNumber[0] = true;\n \n this.showFirstPage(\n this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName,this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus\n );\n //this.fnGetBranchDetails('','','','','No','','','','1');\n this.hideDelete();\n this.hideerror();\n if (data == \"Branch Deleted Successfully.\") {\n this.lblMessage = data;\n this.hideerror();\n this.showlbl();\n \n }else{\n this.lblMessage = data;\n this.hidelbl();\n this.showerror();\n }\n this.onTop();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else{\n if(this.IsBranchInUsed == 1) {\n this.hideDelete();\n this.showerror();\n this.lblMessage = \"You can not delete this Branch,as it is being used in Account Master\"\n this.hidelbl();\n } \n else if(this.IsBranchInUsed == 2) {\n this.hideDelete();\n this.showerror();\n this.lblMessage = \"You can not delete this Branch,as it is being used in User Master\"\n this.hidelbl();\n }\n this.onTop();\n }\n }); \n }\n\n // scroll function\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n\n // fnDeleteBranchById(_branchID){\n // if(confirm('Are you sure you want to delete ' + _branchID)){\n // this._branchService.fnDeleteBranchDetailsById(_branchID).subscribe(data=>{\n // \n // this.fnGetBranchDetails();\n // });\n // }\n // }\n// Filtering data from list\n OnSearch(BankName,BrachName,BranchCode,BicCode,Correspondent,CreatedDate,CreatedBy,ReqType,status){\n this._spinner.show();\n this.currentPage = 1;\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n this.dateForExport=CreatedDate;\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(this.IsComingFromExport == false){\n this.fnGetBranchDetails(BankName,BrachName,BranchCode,BicCode,Correspondent,CreatedDate,CreatedBy,ReqType,status,this.sortOrder,\"1\");\n this.pageChanged(1); \n }\n if(this.IsComingFromExport == true){\n this.FilterExportBranch = this.ExportBranch.filter(row=>{\n return row.BankName.toLocaleLowerCase().match(BankName.toLocaleLowerCase());\n });\n this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n return row.BranchName.toLocaleLowerCase().match(BrachName.toLocaleLowerCase());\n });\n this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n return row.BranchCode.toLocaleLowerCase().match(BranchCode.toLocaleLowerCase());\n });\n this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n return row.BICCode.toLocaleLowerCase().match(BicCode.toLocaleLowerCase());\n });\n this.FilterExportBranch = this.FilterExportBranch.filter(row => {\n return row.Correspondent.toLocaleLowerCase().match(Correspondent.toLocaleLowerCase());\n });\n this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n });\n if(this.dateForExport!=\"\" && this.dateForExport!=null){\n this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(this.dateForExport.singleDate.formatted.toLocaleLowerCase());\n });\n }\n if(ReqType!=\"\"){\n if(ReqType==\"1\"){ReqType =\"Add Approval Pending\"}\n else if(ReqType==\"2\"){ReqType =\"Add Approved\"} \n else if(ReqType==\"3\"){ReqType =\"Add Rejected\"}\n else if(ReqType==\"4\"){ReqType =\"Edit Approval Pending\"}\n else if(ReqType==\"5\"){ReqType =\"Edit Approved\"}\n else if(ReqType=\"6\"){ReqType =\"Edit Rejected\"}\n else if(ReqType==\"7\"){ReqType =\"Delete Approval Pending\"}\n else if(ReqType==\"8\"){ReqType =\"Delete Approved\"} \n else if(ReqType==\"9\"){ReqType =\"Delete Rejected\"}\n else ReqType=\"\"\n this.FilterExportBranch = this.FilterExportBranch.filter(row => {\n return row.RequestType == ReqType;\n });}\n if(status !=\"\"){\n if(status ==\"1\"){\n status=\"Active\"\n } \n else if(status ==\"0\"){\n status=\"InActive\"\n }\n else if(status==\"2\"){\n status=\"Pending\"}\n else status=\"\";\n this.FilterExportBranch = this.FilterExportBranch.filter(row=>{\n return row.Status == status;\n });\n }\n this.IsComingFromExport=false;\n }\n\n // debugger;\n // this.pageChanged(event);\n // if(!BankName && !BrachName && !BranchCode && !BicCode && !Correspondent && (!CreatedDate || CreatedDate==null) && !CreatedBy && !status && !ReqType) {\n // this.FilteredBranchList = this.allbranchdetails;\n // }\n // else{\n // this.FilteredBranchList = this.allbranchdetails.filter(row=>{\n // return row.BankName.toLocaleLowerCase().match(BankName.toLocaleLowerCase());\n // });\n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.BranchName.toLocaleLowerCase().match(BrachName.toLocaleLowerCase());\n // });\n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.BranchCode.toLocaleLowerCase().match(BranchCode.toLocaleLowerCase());\n // });\n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.BICCode.toLocaleLowerCase().match(BicCode.toLocaleLowerCase());\n // });\n\n // this.FilteredBranchList = this.FilteredBranchList.filter(row => {\n // return row.Correspondent.toLocaleLowerCase().match(Correspondent.toLocaleLowerCase());\n // });\n \n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n // });\n // if(CreatedDate!=\"\" && CreatedDate!=null){\n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.CreatedDate.toLocaleLowerCase().match(CreatedDate.singleDate.formatted.toLocaleLowerCase());\n // });\n // }\n // if(ReqType != \"\"){\n // this.FilteredBranchList = this.FilteredBranchList.filter(row => {\n // return row.RequestType == ReqType;\n // });\n // }\n // else{\n // this.FilteredBranchList = this.FilteredBranchList.filter(row => {\n // return row.RequestType.toLocaleLowerCase().match(ReqType.toLocaleLowerCase());\n // });\n // }\n // if (status !=\"\") {\n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.Status == status;\n // });\n // }\n // else {\n // this.FilteredBranchList = this.FilteredBranchList.filter(row=>{\n // return row.Status.toLocaleLowerCase().match(status.toLocaleLowerCase());\n // });\n // }\n\n // var j =0;\n // for (var i = 0; i < this.FilteredBranchList.length; i++) {\n // if(this.FilteredBranchList[i].IsBranchDisabled){\n // j=j+1;\n // }\n // }\n\n // if(this.FilteredBranchList.length==j){\n // this.AllDeleteCheck=true;\n // }\n // else{\n // this.AllDeleteCheck=false;\n // }\n // }\n\n // if (BankName !=\"\" || BrachName !=\"\" || BicCode != \"\" || Correspondent != \"\" || CreatedDate!=\"\" || CreatedBy!=\"\" || ReqType !=\"\" || status != \"\") {\n // this.ddlshowvalue = this.FilteredBranchList.length;\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue ;\n // this.ddlshowStartValue = 1;\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.FilteredBranchList.length;\n // this.ddlshowStartValue = 1;\n // }\n\n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.ddlshowvalue = 10;//this.FilteredBranchList.length;\n // this.searchCount = \"\";\n // this.searchCount = this.FilteredBranchList.length;\n // this.filterCount = \"(filtered from \"+ this.allbranchdetails.length +\" total entries)\"; \n // }else{\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // this.searchCount = this.allbranchdetails.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // this.searchCount = this.allbranchdetails.length.toString();\n // this.filterCount =\"\";\n // }//this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // // //this.ddlshowvalue = 10;\n // // //this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n // // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // // this.searchCount = this.allbranchdetails.length;\n // // this.filterCount =\"\";\n // }\n // this.getCheckedBulkAuthorize();\n // if (this.FilteredBranchList.length!=0 && this.CheckerPrivillage==true && (ReqType==\"Add Approval Pending\" || ReqType==\"Edit Approval Pending\") && (status==\"Pending\" || status==\"\" )){\n // this.BulkApprovalAuthorize=true;\n // }\n // else{\n // this.BulkApprovalAuthorize=false;\n // this.AddEditBulkApprovalLabel=false;\n // }\n \n }\n \n fnShowonchange(newObj ,BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus){\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.currentPage= 1;\n this.ddlshowStartValue = 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,\n RequestType,BranchNewStatus,this.sortOrder,\"1\"); \n \n }\n\n radioChangeHandler(event: any){\n this.SelectedCorrespondent = event.target.value;\n }\n\n //navigate to upload branch \n AddbulkBranch() {\n this.router.navigate(['/UploadBulkBranch']);\n }\n\n // this lone for download PDF\n @ViewChild('tblBranchMasterhide') tblBranchMasterhide:ElementRef;\n fndownloadReport(ddlValue){\n if(this.FilterExportBranch.length == 0 || this.FilterExportBranch == null || this.FilterExportBranch == undefined){\n this._spinner.show();\n this._branchService.fnGetBranchDataForExport().subscribe(Branch=>{\n this.ExportBranch = Branch;\n this.FilterExportBranch = this.ExportBranch;\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n setTimeout(() => {\n this.ExportForBranch(ddlValue);\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n setTimeout(() => {\n this.ExportForBranch(ddlValue);\n this._spinner.hide();\n }, 500);\n }\n } // fun closing \nExportForBranch(ddlValue){\n if(ddlValue === \"excel\"){\n this.fileName= 'BranchMasterReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblBranchMasterhide.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n \n // if(ddlValue === \"pdf\"){\n // this._spinner.show();\n \n // $(\"#dvBranchMasterhide\").css(\"display\", \"block\");\n // this.fileName = 'BranchMasterReport.pdf';\n // var data = document.getElementById('tblBranchMasterhide'); \n // html2Canavas(data).then(canvas => { \n // // Few necessary setting options \n // var imgWidth = 208; \n // var pageHeight = 295; \n // var imgHeight = canvas.height * imgWidth / canvas.width; \n // var heightLeft = imgHeight; \n\n // const contentDataURL = canvas.toDataURL('image/png') \n // let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n // var position = 0; \n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n // pdf.save(this.fileName); // Generated PDF \n // $(\"#dvBranchMasterhide\").css(\"display\", \"none\"); \n // this._spinner.hide();\n \n // }); \n // }\n\n if(ddlValue === \"rtf\"){\n this.fileName = 'BranchMasterReport.rtf';\n var ele = document.getElementById('tblBranchMasterhideRTF');\n var blob = new Blob([\"

Branch Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'BranchMasterReport.html'; \n var ele = document.getElementById('tblBranchMasterhide');\n var blob = new Blob([\"

Branch Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n \n}\n@ViewChild('tblBranchMasterhidepdf', {static: false}) tblBranchMasterhidepdf: ElementRef;\n\nfndownloadReportPdf(ddlValue){\n if(this.FilterExportBranch.length == 0 || this.FilterExportBranch == null || this.FilterExportBranch == undefined){\n this._spinner.show();\n this._branchService.fnGetBranchDataForExport().subscribe(Branch=>{\n this.ExportBranch = Branch;\n this.FilterExportBranch = this.ExportBranch;\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n setTimeout(() => {\n this.ExportForBranchPDF(ddlValue);\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\nelse{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n setTimeout(() => {\n this.ExportForBranchPDF(ddlValue);\n this._spinner.hide();\n }, 500);\n}\n}\nExportForBranchPDF(ddlValue){\n if(ddlValue === \"pdf\"){\n let DATA = this.tblBranchMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblBranchMasterhidepdf');\n let doc = new jsPDF('l','mm',[2500,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Branch Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('BranchMasterReport.pdf');\n \n }\n}\n // sorting table data\n fnSortBranchMaster(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableBranchMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableBranchMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredBranchList = this.FilteredBranchList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } \n else {\n this.FilteredBranchList = this.FilteredBranchList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n }\n\n checkUncheckAllBranch() {\n this.AllSelected=true;\n this.isActive = true;\n // this.chkValue=true;\n \n this.BranchSelected != this.BranchSelected;\n \n if (this.FilteredBranchList.length > 0) {\n for (var i = 0; i < this.FilteredBranchList.length; i++) {\n if(this.FilteredBranchList[i].IsBranchDisabled != true){\n this.FilteredBranchList[i].IsBranchSelected = this.BranchSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allbranchdetails[i].IsBranchDisabled != true){\n this.allbranchdetails[i].IsBranchSelected = this.BranchSelected; \n }\n }\n }\n \n this.getCheckedItemList();\n }\n \n isChecked(BrachId,status){\n this.AllSelected=false;\n this.IsBranchSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allbranchdetails[i].IsBranchSelected == this.IsBranchSelected; \n }\n this.getCheckedItemList();\n }\n \n getCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allbranchdetails[i].IsBranchSelected == true)\n this.checkedList.push(this.allbranchdetails[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n \n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n }\n\n AllDeleteConfirmation(){\n this.AllDeleteShow();\n }\n\n onKeyDown(event: KeyboardEvent) {\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n//---------------Bulk Authorize--------------------------------------------------------\n checkUncheckAllBulkApproval(){\n if(this.FilterExportBranch.length == 0 || this.FilterExportBranch == null || this.FilterExportBranch == undefined){\n this._spinner.show();\n this._branchService.fnGetBranchDataForExport().subscribe(Branch=>{\n this.ExportBranch = Branch;\n for(var i = 0; i < this.ExportBranch.length; i++){\n if(this.ExportBranch[i].CreatedBy== this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportBranch[i].IsBranchDisabled = true;\n }\n }\n this.FilterExportBranch = Branch;\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n setTimeout(() => {\n this.ExportAllCheckboxCheck();\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n setTimeout(() => {\n this.ExportAllCheckboxCheck();\n this._spinner.hide();\n }, 500);\n }\n \n // this.BranchSelected != this.BranchSelected;\n // if (this.FilteredBranchList.length > 0) {\n // for (var i = 0; i < this.FilteredBranchList.length; i++) {\n // this.FilteredBranchList[i].IsBranchSelected = this.BranchSelected; \n // }\n // }\n // if(this.BranchSelected==true){\n // this.AddEditBulkApprovalLabel=true;\n // }\n // else{\n // this.AddEditBulkApprovalLabel=false;\n // }\n }\n ExportAllCheckboxCheck(){\n this.BranchSelected != this.BranchSelected\n if (this.FilteredBranchList.length > 0) {\n for (var i = 0; i < this.FilteredBranchList.length; i++) {\n if(this.FilteredBranchList[i].IsBranchDisabled != true){\n this.FilteredBranchList[i].IsBranchSelected = this.BranchSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allbranchdetails[i].IsBranchDisabled != true){\n this.allbranchdetails[i].IsBranchSelected = this.BranchSelected; \n }\n }\n }\n if (this.FilterExportBranch.length > 0) {\n for (var j = 0; j < this.FilterExportBranch.length; j++) {\n if(this.FilterExportBranch[j].IsBranchDisabled != true){\n this.FilterExportBranch[j].IsBranchSelected = this.BranchSelected; \n }\n }\n }\n else\n {\n for (var j = 0; j < this.ExportBranch.length; j++) {\n if(this.ExportBranch[j].IsBranchDisabled != true){\n this.ExportBranch[j].IsBranchSelected = this.BranchSelected; \n }\n }\n }\n this.getCheckedBulkAuthorize();\n }\n\n IsBulkAutherizeCheck(BranchId,status){\n if(this.FilterExportBranch.length == 0 || this.FilterExportBranch == null || this.FilterExportBranch == undefined){\n this._spinner.show();\n this._branchService.fnGetBranchDataForExport().subscribe(Branch=>{\n this.ExportBranch = Branch;\n for(var i = 0; i < this.ExportBranch.length; i++){\n if(this.ExportBranch[i].CreatedBy== this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportBranch[i].IsBranchDisabled = true;\n }\n }\n this.FilterExportBranch = this.ExportBranch;\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n this.FilterExportBranch;\n setTimeout(() => {\n this.ExportOneCheckbox(BranchId,status);\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch(this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName, this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus);\n this.FilterExportBranch;\n setTimeout(() => {\n this.ExportOneCheckbox(BranchId,status);\n this._spinner.hide();\n }, 500);\n }\n \n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.FilteredBranchList[i].IsBranchSelected == true){\n // this.AddEditBulkApprovalLabel=true;\n // } \n // }\n} \nExportOneCheckbox(BranchId,status){\n status!= this.BranchSelected ;\n for (var i = 0; i < this.FilteredBranchList; i++) {\n this.FilteredBranchList[i].IsBranchSelected == this.BranchSelected; \n}\nfor (var j = 0; j < this.FilterExportBranch.length; j++) {\n if(this.FilterExportBranch[j].BranchId==BranchId){\n this.FilterExportBranch[j].IsBranchSelected = status; \n }\n} \nthis.getCheckedBulkAuthorize();\n}\n\n getCheckedBulkAuthorize(){\n // this.checkedBulkList = [];\n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.allbranchdetails[i].IsBranchSelected == true)\n // this.checkedBulkList.push(this.allbranchdetails[i]);\n // }\n // this.checkedList = JSON.stringify(this.checkedBulkList);\n\n // if(this.checkedBulkList.length >= 1){\n // this.AddEditBulkApprovalLabel=true;\n // }\n // else{\n // this.AddEditBulkApprovalLabel=false;\n // }\n this.checkedBulkList = [];\n for (var i = 0; i < this.FilterExportBranch.length; i++) {\n if(this.FilterExportBranch[i].IsBranchSelected == true)\n this.checkedBulkList.push(this.FilterExportBranch[i]);\n }\n this.checkedList = this.checkedBulkList;\n if(this.checkedBulkList.length >= 1){\n this.AddEditBulkApprovalLabel=true; }\n else{\n this.AddEditBulkApprovalLabel=false;\n }\n}\nUncheckAllcheckbox(){\n this.BranchSelected=false;\n this.AddEditBulkApprovalLabel=false;\n for (var i = 0; i < this.FilteredBranchList.length; i++) {\n this.FilteredBranchList[i].IsBranchSelected = false;\n }\n for (var i = 0; i < this.FilterExportBranch.length; i++) {\n this.FilterExportBranch[i].IsBranchSelected = false;\n }\n}\n Approved(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Approve\"\n this.AuthorizeStatus=2;\n this._branchService.formData.RequestType = \"\";\n this._branchService.formData.BranchNewStatus = \"1\";\n }\n\n Rejectd(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Reject\";\n this.AuthorizeStatus=3;\n this._branchService.formData.RequestType = \"\";\n this._branchService.formData.BranchNewStatus = \"1\";\n }\n selectBranchList:any[];\n BulkAuthorizeConfirm(){\n this.FilteredBranchList;\n this.selectBranchList=[];\n \n\n for(var i=0;i0){\n this._branchService.fnBulkBranchAuthorize(this.selectBranchList,localStorage.getItem('LoginUserId'),this.AuthorizeStatus).subscribe(res => { \n // this.fnGetBranchDetails('','','','','No','','','','1',this.sortOrder,\"1\");\n //this.BranchListForExport();\n this.UncheckAllcheckbox();\n this.AddEditBulkApprovalLabel=false;\n this.AllDeletehide();\n this.onTop();\n this.showMsg=true;\n this.lblMessage=\"Bulk Authorize Completed For All Selected Records Succesfully\";\n this._branchService.formData.BankName=\"\";\n this._branchService.formData.BranchName=\"\";\n this._branchService.formData.BranchCode=\"\";\n this._branchService.formData.BICCode=\"\";\n this._branchService.formData.Correspondent=\"No\";\n this._branchService.formData.CreatedDate=\"\";\n this._branchService.formData.CreatedName=\"\";\n this._branchService.formData.RequestType=\"\";\n this._branchService.formData.BranchNewStatus=\"1\";\n this.currentPage = 1;\n this.pageNumber = [];\n this.pageNumber[0] = true;\n \n this.showFirstPage(\n this._branchService.formData.BankName,this._branchService.formData.BranchName,\n this._branchService.formData.BranchCode,this._branchService.formData.BICCode,\n this._branchService.formData.Correspondent,this._branchService.formData.CreatedDate,\n this._branchService.formData.CreatedName,this._branchService.formData.RequestType,\n this._branchService.formData.BranchNewStatus\n );\n \n //this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \n }\n ,(err)=>{\n \n this.router.navigate([\"404\"]);\n });\n }\n \n \n }\n //---------------Bulk Authorize--------------------------------------------------------\n\n fnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n }\n fnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n }\n\n//--------------------Pagination Start --------------------------------------\npageNo: any = 1; \npageNumber: boolean[] = []; \nsortOrder: any = 'CreatedDate_DESC'; \norder:any='CreatedDate';\n\npageField = []; \nexactPageList: any; \npaginationData: number; \norderBy: string='Desc'; \n\ntotalCount: any; \ncurrentPage = 1; \nComingFromLast:boolean = false;\nComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \n if(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n }\n if(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n } \n this.filterCount = this.totalCount;\n this.paginationData = Number(this.totalCount/this.config.itemsPerPage); \n let tempPageData = this.paginationData.toFixed(); \n if (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n } else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n }\n if(this._PaginationService.exactPageList < 10){\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n }\n else{\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = 10;\n } \n this._PaginationService.pageOnLoad(); \n this.pageField = this._PaginationService.pageField; \n\n if(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n }\n} \n\nsortByHeading(value: string, id, BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableBranchMst(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableBranchMst(id,false); \n } \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,this.sortOrder); \n this.pageChanged(this.pageNo); \n\n} \n\nshowFirstPage(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus){\n // if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n // this.pageNumber = []; \n // this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(CreatedName== null){CreatedName=\"\";}\n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,this.sortOrder); \n \n //this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n // } \n}\n\nshowPrevAccounts( BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus) { \n if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n\n}\n\nshowAccountsByPageNumber(page, i, BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus) { \n //this.FilteredUserList = []; \n this.pageNumber = []; \n this.pageNumber[i] = true; \n this.pageNo = page; \n this.currentPage =page; \n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n\nshowNext(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus) { \n\n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n} \n\nshowLastPage(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus){\n //if(this._PaginationService.disabledNextBtn == false){\n \n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n \n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetBranchDetails(BankName,BranchName,BranchCode,BICCode,Correspondent,CreatedDate,CreatedName,RequestType,BranchNewStatus,this.sortOrder); \n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n // }\n}\n\n\n\n \n}\n","\n
\n
\n
\n
\n

Branch Master

\n
\n
\n
\n
\n ×\n Success! {{lblMessage}}\n
\n \n
\n ×\n {{ lblMessage }}.\n
\n\n
\n \n\n
\n
\n \n \n\n
\n Please provide a valid Bank Name\n
\n\n
\n\n
\n \n \n\n
\n Please provide a valid Branch Name\n
\n\n
\n\n
\n \n \n\n
\n Please provide a valid Branch Code\n
\n
\n\n
\n \n \n\n
\n Please provide a valid BIC Code\n
\n\n
\n \n \n\n
\n Please provide a valid Name\n
\n\n
\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n\n
\n\n
\n\n
\n
\n \n
\n
\n \n\n \n
\n
\n \n \n \n \n \n
\n
\n \n Search\n \n
\n
\n\n \n
\n\n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n \n\n
\n
\n \n \n\n
\n
\n \n \n
\n \n \n \n
\n\n
\n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{_Name}}Correspondent BankBranch NameBranch CodeBIC CodeRequest TypeStatusCreated ByCreated / Updated Date & Time \n Action\n \n \n \n
\n \n \n
\n
{{branch.BankName}}{{branch.Correspondent}}{{branch.BranchName}}{{branch.BranchCode}}{{branch.BICCode}}{{branch.RequestType}}{{branch.Status}}{{branch.CreatedName}}{{branch.CreatedDate}} \n \n \n
\n
\n \n
\n\n
\n \n
\n\n
\n \n \n \n
\n\n
\n \n
\n
\n
\n
\n \n \n
\n
No records found.
\n
\n
\n \n
\n \n \n
\n \n \n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n \n
\n
\n
\n
\n \n\n\n\n
\n \" class=\"nav-link\" class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\" \n style=\"margin-top: 0.35em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" \n aria-expanded=\"false\"/>\n \n \n \n \n \n \n \n
\n \n \n
\n \n\n\n
\n\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
StatusBankNameCorrespondent BankBranch NameBranch CodeBIC CodeIFSC codeMICR CodeAddressCountryStateCityCreated ByCreated Date
{{branch.Status}}{{branch.BankName}}{{branch.Correspondent}}{{branch.BranchName}}{{branch.BranchCode}}{{branch.BICCode}}{{branch.IFSCCode}}{{branch.MICRCode}}{{branch.Address1}}{{branch.Country}}{{branch.State}}{{branch.City}}{{branch.CreatedName}}{{branch.CreatedDate}}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n
Bank NameCorrespondent BankBranch NameBranch CodeIFSC CodeBIC CodeRequest Type StatusCreated ByCreated Date & Time
{{branch.BankName}}{{branch.Correspondent}}{{branch.BranchName}}{{branch.BranchCode}}{{branch.IFSCCode}}{{branch.BICCode}}{{branch.RequestType}}{{branch.Status}}{{branch.CreatedName}}{{branch.CreatedDate}}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n
Bank NameCorrespondent BankBranch NameBranch CodeIFSC CodeBIC CodeRequest Type StatusCreated ByCreated Date & Time
{{branch.BankName}}{{branch.Correspondent}}{{branch.BranchName}}{{branch.BranchCode}}{{branch.IFSCCode}}{{branch.BICCode}}{{branch.RequestType}}{{branch.Status}}{{branch.CreatedName}}{{branch.CreatedDate}}
\n\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessageDelete}}\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Information

\n \n
\n
\n

Branch in use with other accounts, so can not delete.

\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to {{ConfirmationMsg}} All Selected Records?

\n
\n
\n \n \n
\n
\n
\n
\n\n\n\n \n","import { Component, OnInit,ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { Customer } from 'src/app/MasterService/customer';\nimport { Router,NavigationExtras } from '@angular/router';\nimport { ChargesSweepService} from '../../MasterService/charges-sweep.service';\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport{SweepChargesClass}from'src/app/MasterService/sweep-charges';\nimport { AllMasterApiService } from 'src/app/MasterService/all-master-api.service';\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { threadId } from 'worker_threads';\nimport { state } from '@angular/animations';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { debug } from 'console';\nimport * as $ from 'jquery';\nimport { LoginService } from 'src/app/MasterService/Login.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\nimport { NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\n\ndeclare var sortTableCustomerMst: Function;\n\n@Component({\n selector: 'app-manage-customer-master',\n templateUrl: './manage-customer-master.component.html',\n styleUrls: ['./manage-customer-master.component.css']\n})\nexport class ManageCustomerMasterComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n };\n\n allCustomers: any = [];\n\n FilteredCustList :any =[];\n\n cityList: any=[];\n StateList: any=[];\n\n chargeTypeList: any=[];\n\n config: any;\n RoleAccess:RoleAccess;\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n ddlshowvalue:number;\n ddlshowStartValue:number;\n searchCount:string;\n filterCount:string;\n AddImportAccess:boolean;\n AddExportAccess:boolean;\n PrivillageImportExportdv:boolean;\n fileName:string;\n lastSortedByField;\n ascendingOrder = true;\n isActive: boolean;\n AllCustChk: boolean;\n showModalForAllDelete: boolean;\n\n\n // Bulk Delete fields\n CustomerSelected:boolean;\n IsCustomerSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n LoggedInUser:number;\n inputDate: string;\n fromDateError: boolean;\n CreatedDateError: boolean;\n AllSelected: boolean;\n ConfirmationMsg: string;\n AllDeleteCheck: boolean;\n //Bulk Authorize\n BulkApprovalAuthorize:boolean;\n AddEditBulkApprovalLabel:boolean;\n AuthorizeStatus: number;\n CheckerPrivillage: boolean;\n anycheckboxselected: boolean;\n checkedBulkList: any[];\n\n HistoryPrivllage:boolean;\n LoginAccessList: any;\n allCustList:any=[];\n IsCustomerInActive:boolean=false;\n ddlDropdownValue: any;\n isComingFromCheckbox: boolean=false;\n ExportCreatedDate: any;\n\n\n constructor(public _customerService: CustomerService, private router: Router, public _chargesService:ChargesSweepService\n ,private _spinner:NgxSpinnerService,private _roleAccess:RoleAccessService,public _encrypt:EncryptdecryptService,\n public _allMasterApiService:AllMasterApiService,public _login: LoginService, public _PaginationService:PaginationService , private ngbDateParserFormatter: NgbDateParserFormatter) { }\n\n ngOnInit(): void {\n// If LoginUserId is null then it will return\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n// To display header\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n \n this._spinner.show();\n this.Customer();\n localStorage.removeItem('CustomerDataId');\n localStorage.removeItem('CustomerFlag');\n this.LoggedInUser = +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n // Getting Privillage based on userid\n this.GetPrivillageRoles();\n this.onTop();\n // Getting customer list from database\n this.fnGetCustomerName();\n // Getting city list from database\n this.fnGetAllCity();\n // Getting state list from database\n this.fnGetAllState();\n //this.fnGetAllCustomerDetails();\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.ddlshowStartValue = 1;\n \n //this._customerService.fnGetCustomerData();\n // Getting charge type from database\n this.fnGetAllChargeType();\n// sorting table data\n sortTableCustomerMst(7,false);\n \n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n }\n public CustPkId;\n showModalDelete: boolean;\n lblMessageDelete:string;\n showDelete() { this.showModalDelete = true; }\n hideDelete() { this.showModalDelete = false; }\n\n// On page change this event is called\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // if(this.FilteredCustList.length<=this.ddlshowvalue)\n // this.ddlshowvalue = this.FilteredCustList.length;\n }\n\n showModal:boolean;\n showMsg:boolean;\n lblMessage:string;\n EmptyDataMsg:string;\n showerrormsg:boolean;\n\n show() { this.showModal = true; \n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n });\n}\n hide() { this.showModal = false; } \n\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n // Getting Privillage based on id\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),this.router.url).subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.AddImportAccess = this.RoleAccess.AddImportAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess;\n if(this.AddImportAccess || this.AddExportAccess){\n this.PrivillageImportExportdv=true;\n }else{\n this.PrivillageImportExportdv=false;\n }\n //this.ViewPrivllage = this.RoleAccess.ViewAccess;\n\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage=true;\n // Getting customer data from database\n this.fnGetAllCustomerDetails(\"\",\"\",\"\",\"\",\"1\",\"\",\"\",\"\",this.sortOrder,\"1\");\n // this.fnGetCustomerDataForExport();\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n ) \n }\n \n NewCustomer() {\n localStorage.removeItem('CustomerDataId');\n this._customerService.formData = {\n Status:'1',\n CustPkId: 0,\n CustomerId: '',\n BranchName: '',\n UserName: '',\n CustomerName: '',\n ContactPerson: '',\n CorporationCode: '',\n DateOfEshtablishment: '',\n EmailId: '',\n MobileNumber: '',\n Address1: '',\n Address2: '',\n CountryId: null,\n StateId: null,\n CityId: null,\n Country:'',\n State:'',\n City:'',\n Pincode: '',\n Description: '',\n lblTitle:'Add Customer Master',\n SweepChargeId:0,\n SweepChargeType:'',\n Rate:0,\n msg:'',\n CreatedBy:0,\n UpdatedBy:0, \n CreatedDate:'',\n UpdatedDate:'',\n CreatedName:'',\n UpdatedName:'',\n DateCreated:'',\n IsCustomerSelected:false,\n ReviewStatus:0,\n LoggedInUser:0,\n RequestType:'',\n SweepExecutionApproval:'',\n FundDisbursementApproval:'',\n SweepChargeStatus:'',\n SweepChargereviewstatus:0,\n }\n this.router.navigate(['/CustomerMaster']);\n }\n\n EditCustomerDetails(cust: Customer) {\n \n localStorage.setItem('CustomerDataId',String(cust.CustPkId));\n localStorage.setItem('CustomerFlag',String(\"edit\"));\n cust.lblTitle = \"Edit Customer Master\";\n //this._customerService.formData = cust;\n this.router.navigate(['/CustomerMaster']);\n }\n\n Authorize(cust: Customer) {\n localStorage.setItem('CustomerDataId',String(cust.CustPkId));\n localStorage.setItem('CustomerFlag',String(\"authorize\"));\n cust.lblTitle = \"Edit Customer Master\";\n this.router.navigate(['/CustomerMaster']);\n }\n\n ViewCustomerDetails(cust:Customer){\n // this._customerService.formData = cust;\n // let viewMode='view';\n // let navigationExtras: NavigationExtras = {\n // queryParams: {\n // viewMode\n // }\n // };\n // if(viewMode == 'view'){\n // this.router.navigate([\"CustomerMaster\"], navigationExtras);\n // }\n localStorage.setItem('CustomerDataId',String(cust.CustPkId));\n localStorage.setItem('CustomerFlag',String(\"view\"));\n this.router.navigate(['/CustomerMaster']);\n }\n AllDeletehide(){\n this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllCustChk=false;\n }\n AllDeleteShow(){\n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.showModalForAllDelete=true;\n }\n AllDeleteConfirm(){\n \n this.FilteredCustList.forEach(element => {\n if(element.IsCustomerSelected == true){\n this._customerService.fnDeleteCustomer(element.CustPkId.toString(),this.LoggedInUser.toString()).subscribe(res=>{\n \n this.fnGetAllCustomerDetails(\"\",\"\",\"\",\"\",\"1\",\"\",\"\",\"\",this.sortOrder,\"1\"); \n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n this.lblMessage=\"All Selected Customers Deleted Successfully\"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n this.CustomerSelected = false;\n this.BulkDelete = true;\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n }\n });\n }\n\n SelectAllCustomer(){\n this.isActive = true;\n this.AllCustChk=true;\n this.AllDeleteShow();\n }\n\n DeleteCustomerMethod(){\n \n this._customerService.fnDeleteCustomer(this.CustPkId.toString(),this.LoggedInUser.toString()).subscribe(res=>{\n //this.fnGetAllCustomerDetails(\"\",\"\",\"\",\"\",\"1\",\"\",\"\",\"\",this.sortOrder,\"1\");\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this.currentPage=1;\n this._customerService.formData.CustomerName=\"\",\n this._customerService.formData.CorporationCode=\"\",\n this._customerService.formData.State=\"\",\n this._customerService.formData.City=\"\",\n this._customerService.formData.Status=\"1\",\n this._customerService.formData.CreatedDate=\"\",\n this._customerService.formData.CreatedName=\"\",\n this._customerService.formData.RequestType=\"\"\n this.showFirstPage(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n if (res.length > 30) {\n this.lblMessage = res;\n this.showMsg = false;\n this.showerrormsg =true;\n this.hide();\n //this.showlbl();\n this.onTop();\n }\n else{\n this.lblMessage = res;\n this.hide();\n //this.showlbl();\n this.onTop();\n this.showMsg = true;\n this.showerrormsg =false;\n }\n this._customerService.formData.Status = \"1\";\n this._customerService.formData.RequestType = \"\";\n this._customerService.formData.CustomerName = \"\";\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n }\n\n DeleteCustomer(cust: Customer) {\n this.CustPkId=cust.CustPkId;\n this.show(); \n}\n\nonTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n}\n// Filtering data from list\nOnSearch(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType){\n this._spinner.show();\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this.ExportCreatedDate=CreatedDate;\n this._PaginationService.comingFromPreAndNext = false;\n \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(this.isComingFromCheckbox == false){\n this.fnGetAllCustomerDetails(Name,CorpCode, State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder,\"1\");\n this.pageChanged(1); \n }\n if (this.isComingFromCheckbox == true){\n if(!Name && !CorpCode && !City && !State && !Status && !RequestType && (!CreatedDate || CreatedDate==null) && !CreatedBy){\n this.FilterExportCustomerList = this.ExportCustomerList;\n } \n else{\n this.FilterExportCustomerList = this.ExportCustomerList.filter(row=>{\n return row.CustomerName.toLocaleLowerCase().match(Name.toLocaleLowerCase());\n });\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CorporationCode.toLocaleLowerCase().match(CorpCode.toLocaleLowerCase());\n }); \n if(RequestType != ''){\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.RequestType.toLocaleLowerCase()==RequestType.toLocaleLowerCase();\n });\n }\n if (Status !=\"\") {\n\n if(Status == \"1\") { Status = \"Active\";}\n else if(Status == \"0\") { Status = \"Inactive\";}\n else { Status = \"Pending\";}\n \n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.Status.match(Status);\n });\n } \n else {\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.Status.toLocaleLowerCase().match(status.toLocaleLowerCase());\n });\n }\n if(State>0){\n // var stateid=+State;\n // this.StateList.filter()\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.StateId==parseInt(State);\n });\n }\n if(City>0){\n // var stateid=+State;\n // this.StateList.filter()\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CityId==parseInt(City);\n });\n }\n // this.FilterExportCustomerList = this.cityList.filter(row=>{\n // return row.CityId.toString.match(City);\n // });\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n });\n if(CreatedDate!=\"\" && CreatedDate!=null){\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(this.ExportCreatedDate.singleDate.formatted.toLocaleLowerCase());\n });\n }\n }\n this.isComingFromCheckbox = false;\n }\n\n// var j =0;\n// for (var i = 0; i < this.FilteredCustList.length; i++) {\n// if(this.FilteredCustList[i].IsCustomerDisable){\n// j=j+1;\n// }\n// }\n// if(this.FilteredCustList.length==j){\n// this.AllDeleteCheck=true;\n// }\n// else{\n// this.AllDeleteCheck=false;\n// }\n \n \n// // this.FilteredCustList = this.FilteredCustList.filter(row=>{\n// // return row.SweepChargeType.match(ChargeType);\n// // });\n// }\n// if (Name !=\"\" || CorpCode !=\"\" || State != \"\" || City != \"\" || CreatedDate !=\"\" || CreatedBy !=\"\" || Status !=\"\") {\n// this.ddlshowvalue=this.FilteredCustList.length;\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.FilteredCustList.length;\n// this.ddlshowStartValue = 1;\n// }\n\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.FilteredCustList.length;\n// // this.ddlshowStartValue = 1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage; \n// this.searchCount = \"\";\n// this.searchCount = this.FilteredCustList.length;\n// this.filterCount = \"(filtered from \"+ this.allCustomers.length +\" total entries)\";\n\n// }\n// else{\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// this.searchCount = this.allCustomers.length.toString();\n// this.filterCount =\"\";\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// this.ddlshowStartValue = 1;\n// this.searchCount = this.allCustomers.length.toString();\n// this.filterCount =\"\";\n// } //this.ddlshowStartValue = 1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage; \n// // //this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n// // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n// // this.searchCount = this.allCustomers.length;\n// // this.filterCount =\"\";\n// }\n}\nUncheckAllcheckbox(){\n \n this.CustomerSelected=false;\n this.AddEditBulkApprovalLabel=false;\n for (var i = 0; i < this.FilteredCustList.length; i++) {\n this.FilteredCustList[i].IsCustomerSelected = false;\n }\n for(var i = 0; i < this.FilterExportCustomerList.length; i++){\n this.FilterExportCustomerList[i].IsCustomerSelected = false;\n }\n}\n\n //get customer data for Export\n \n fnGetCustomerDataForExport(){\n this._customerService.fnGetCustomerDataExport(localStorage.getItem(\"LoginUserId\")).subscribe(allcustomer =>{\n this.ExportCustomerList = allcustomer;\n for (var i = 0; i < this.ExportCustomerList.length; i++) {\n if(this.ExportCustomerList[i].CreatedBy== this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportCustomerList[i].IsCustomerDisable = true;\n }\n }\n this.FilterExportCustomerList = this.ExportCustomerList;\n\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.Status.match(\"Active\");\n });\n });\n }\n\n// Getting customer data from database\n fnGetAllCustomerDetails(Name,CorpCode, State,City,Status,CreatedDate,CreatedBy,RequestType,sortOrder=\"\",pageNumber=\"\") {\ndebugger;\n if(pageNumber != \"\")\n this.pageNo=pageNumber;\n\n this._customerService.fnGetCustomerData(localStorage.getItem(\"LoginUserId\"),0,this.pageNo,this.config.itemsPerPage.toString(),\n Name,CorpCode,State,City,CreatedBy,CreatedDate,RequestType,Status,sortOrder).subscribe(allCustomers => {\n this.allCustomers = allCustomers;\n for (var i = 0; i < this.allCustomers.length; i++) {\n if(this.allCustomers[i].CreatedBy== this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.allCustomers[i].IsCustomerDisable = true;\n }\n\n // if(this.CustomerSelected == true)\n // this.allCustomers[i].IsCustomerSelected = true;\n // else\n // this.allCustomers[i].IsCustomerSelected = false;\n\n if(this.checkedList.length > 0){ \n for (var j = 0; j < this.checkedList.length; j++) {\n if(this.checkedList[j].CustPkId == this.allCustomers[i].CustPkId){\n this.allCustomers[i].IsCustomerSelected = true; \n } \n } \n }\n\n /*if(this.allCustomers[i].ReviewStatus == 1){\n this.allCustomers[i].RequestType=\"Add Approval Pending\";\n }\n else if(this.allCustomers[i].ReviewStatus == 2){\n this.allCustomers[i].RequestType=\"Add Approved\";\n }\n else if(this.allCustomers[i].ReviewStatus == 3){\n this.allCustomers[i].RequestType=\"Add Rejected\";\n }\n else if(this.allCustomers[i].ReviewStatus == 4){\n this.allCustomers[i].RequestType=\"Edit Approval Pending\";\n }\n else if(this.allCustomers[i].ReviewStatus == 5){\n this.allCustomers[i].RequestType=\"Edit Approved\";\n }\n else if(this.allCustomers[i].ReviewStatus == 6){\n this.allCustomers[i].RequestType=\"Edit Rejected\";\n }\n else if(this.allCustomers[i].ReviewStatus == 7){\n this.allCustomers[i].RequestType=\"Delete Approval Pending\";\n }\n else if(this.allCustomers[i].ReviewStatus == 8){\n this.allCustomers[i].RequestType=\"Delete Approved\";\n }\n else if(this.allCustomers[i].ReviewStatus == 9){\n this.allCustomers[i].RequestType=\"Delete Rejected\";\n }\n else {\n this.allCustomers[i].RequestType=\"\";\n }\n */\n\n // if(this.allCustomers[i].CreatedBy == localStorage.getItem('LoginUserId')){ \n // this.allCustomers[i].makerchecherDisabled = true;\n // } \n // else \n if(this.allCustomers[i].ReviewStatus == 1 || this.allCustomers[i].ReviewStatus == 4){\n this.allCustomers[i].makerchecherDisabled = true;\n }\n else if(this.allCustomers[i].ReviewStatus == 7 && \n (!this.CheckerPrivillage || this.allCustomers[i].CreatedBy == this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.allCustomers[i].makerchecherDisabled = true;\n }\n else{\n this.allCustomers[i].makerchecherDisabled = false;\n }\n\n if(this.allCustomers[i].ReviewStatus == 3 || this.allCustomers[i].ReviewStatus == 8){\n this.allCustomers[i].SweepchargesDisabled = true;\n }\n else if(this.allCustomers[i].ReviewStatus == 7 && \n (!this.CheckerPrivillage || this.allCustomers[i].CreatedBy == this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.allCustomers[i].SweepchargesDisabled = true;\n }\n else{\n this.allCustomers[i].SweepchargesDisabled = false;\n }\n\n if(this.allCustomers[i].ReviewStatus == 1 || this.allCustomers[i].ReviewStatus == 4 || this.allCustomers[i].ReviewStatus == 7){\n this.allCustomers[i].IsAuthorizeDisable = false;\n }\n else\n this.allCustomers[i].IsAuthorizeDisable = true;\n \n\n /*--------------For sweep charges -------------------*/\n /*\n if (this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 1) {\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approval Pending\";\n }\n else if (this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 2) {\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approved\";\n }\n else if (this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 3) {\n this.allCustomers[i].RequestType=\"Sweep Charges Add Rejected\";\n }\n else if (this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 4) {\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approval Pending\";\n }\n else if(this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 5){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approved\";\n }\n else if(this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 6){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Rejected\";\n }\n //\n if (this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 1) {\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approval Pending\";\n }\n else if (this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 2) {\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approved\";\n }\n else if (this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 3) {\n this.allCustomers[i].RequestType=\"Sweep Charges Add Rejected\";\n }\n else if (this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 4) {\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approval Pending\";\n }\n else if(this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 5){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approved\";\n }\n else if(this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 6){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Rejected\";\n }\n ///////\n\n if (this.allCustomers[i].RequestType == \"Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 0) {\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approval Pending\";\n }\n\n if(this.allCustomers[i].RequestType == \"Sweep Charges Add Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 2 && this.allCustomers[i].ReviewStatus == 5){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approved\";//Rubina --Edit Approved\n }\n \n if(this.allCustomers[i].RequestType == \"Edit Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 4){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approval Pending\";\n }\n\n if(this.allCustomers[i].RequestType == \"Edit Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 5){\n this.allCustomers[i].RequestType=\"Edit Approved\";\n }\n if(this.allCustomers[i].RequestType == \"Edit Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 1){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approval Pending\";\n }\n///////\n if(this.allCustomers[i].RequestType == \"Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 1 && this.allCustomers[i].SweepChargereviewstatus == 5 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approved\";\n }\n \n //\n if(this.allCustomers[i].RequestType == \"Edit Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].ReviewStatus == 6 && this.allCustomers[i].SweepChargereviewstatus == 3 && this.allCustomers[i].SweepChargeStatus == 0){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Rejected\";\n }\n if(this.allCustomers[i].RequestType == \"Edit Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].ReviewStatus == 6 && this.allCustomers[i].SweepChargereviewstatus == 2 && this.allCustomers[i].SweepChargeStatus == 1){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approved\";\n }\n //\n if(this.allCustomers[i].RequestType == \"Delete Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 2 && this.allCustomers[i].SweepChargereviewstatus == 1 && this.allCustomers[i].ReviewStatus == 9 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approval Pending\";\n }\n if(this.allCustomers[i].RequestType == \"Delete Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 1 && this.allCustomers[i].SweepChargereviewstatus == 2 && this.allCustomers[i].ReviewStatus == 9 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Approved\";\n }\n if(this.allCustomers[i].RequestType == \"Delete Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 0 && this.allCustomers[i].SweepChargereviewstatus == 3 && this.allCustomers[i].ReviewStatus == 9 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Add Rejected\";\n }\n if(this.allCustomers[i].RequestType == \"Delete Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 2 && this.allCustomers[i].SweepChargereviewstatus == 4 && this.allCustomers[i].ReviewStatus == 9 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approval Pending\";\n }\n if(this.allCustomers[i].RequestType == \"Delete Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 1 && this.allCustomers[i].SweepChargereviewstatus == 5 && this.allCustomers[i].ReviewStatus == 9 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Approved\";\n }\n if(this.allCustomers[i].RequestType == \"Delete Rejected\" && this.allCustomers[i].ChargeType != \"Not Set\" \n && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargeStatus == 1 && this.allCustomers[i].SweepChargereviewstatus == 6 && this.allCustomers[i].ReviewStatus == 9 ){\n this.allCustomers[i].RequestType=\"Sweep Charges Edit Rejected\";\n }\n // if(this.allCustomers[i].RequestType == \"Sweep Charges Edit Approved\" && this.allCustomers[i].ChargeType != \"Not Set\" \n // && this.allCustomers[i].Rate != \"Not Set\" && this.allCustomers[i].SweepChargereviewstatus == 5 \n // && this.allCustomers[i].ReviewStatus != 6){\n // this.allCustomers[i].RequestType=\"Edit Approved\";\n // }\n */\n /*--------------For sweep charges -------------------*/\n\n }\n \n this.FilteredCustList = this.allCustomers;\n this.listLengthForSelect = this.allCustomers.length;\n\n if(this.allCustomers.length > 0){ \n this.totalCount = this.allCustomers[0].CustomerListCount;\n this.totalNoOfPages(); \n }\n else if(this.allCustomers.length==0){\n this.totalCount = 0;\n this.totalNoOfPages();\n }\n //------page Listing Meassage------------------\n if(this.ddlDropdownValue==10 || this.ddlDropdownValue==undefined){\n if(this.FilteredCustList.length<10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredCustList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue == 25){\n if(this.FilteredCustList.length < 25){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredCustList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue == 50){\n if(this.FilteredCustList.length < 50){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredCustList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue == 100){\n if(this.FilteredCustList.length < 100){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredCustList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n // if(this.FilteredCustList.length<10){\n // this.ddlshowvalue = this.totalCount;\n // }\n //--------------------------\n this.GetHistoryPrivillage(); \n this._spinner.hide(); \n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n }\n\n fnSweepChargesDetails(cust: Customer) {\n //this.fnNewSweepCharges(cust);\n localStorage.setItem('_CustId','0');\n localStorage.setItem('_CustId',String(cust.CustPkId));\n localStorage.setItem('_CustName','');\n localStorage.setItem('_CustName',String(cust.CustomerName));\n this.router.navigate(['/SweepChargesdetails']);\n }\n\n fnNewSweepCharges(cust: Customer) {\n \n var swobj = new SweepChargesClass();\n this._chargesService.formData = swobj;\n\n\n this._chargesService.formData.SweepCharges = {\n SweepChargeId: 0,\n SweepChargeType:'',\n CustomerId: cust.CustPkId,\n CustomerName: cust.CustomerName,\n ChargesMethod: '',\n Rate: '',\n UserId:'',\n FrequencyId:null,\n Frequency:'',\n TypeId:null,\n TypeName:'',\n Message:'',\n RangeType:'1',\n Status:'1',\n ReviewStatus:0,\n CreatedBy:0,\n OldChargesMethodName:'',\n OldRate:'',\n OldFrequency:'',\n OldChargeType:'',\n OldRangeType:'',\n IsApproved:null,\n WithEffectDate:''\n }\n this._chargesService.formData.flatChargeObj = {\n FromRange:'',\n ToRange:'',\n Total:'',\n }\n\n this._chargesService.formData.sweepChargeLsts = [];\n }\n\n fnGetAllCity(){\n this._allMasterApiService.fnGetAllCityMaster().subscribe(AllCity => {\n this.cityList = AllCity;\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n }\n\n fnGetAllState(){\n this._allMasterApiService.fnGetAllStateMaster().subscribe(AllState => {\n this.StateList = AllState;\n });\n }\n fncity(id){\n debugger\n if(id != \"\"){\n this._allMasterApiService.fnGetCityMaster(id).subscribe(allCity => {\n this.cityList = allCity;\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n }\n else \n this.fnGetAllCity();\n }\n\n fnGetAllChargeType(){\n this._chargesService.fnGetChargeTypeData().subscribe(charge=>{\n this.chargeTypeList = charge;\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n }\n\n fnShowonchange(newObj,Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType){\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.ddlshowStartValue = 1;\n this.currentPage = 1;\n \n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n \n this.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder,\"1\"); \n }\n\n AddbulkCustomer() {\n \n this.router.navigate(['/UploadBulkCustomer']);\n }\n\n // this lone for download PDF\n ExportCustomerList:any = [];\n FilterExportCustomerList:any = [];\n @ViewChild('tblCustomerMasterhide') tblCustomerMasterhide:ElementRef;\n fndownloadReport(ddlValue){ \n debugger;\n if(this.FilterExportCustomerList.length == 0 || this.FilterExportCustomerList == null || this.FilterExportCustomerList == undefined){\n this._spinner.show(); \n this._customerService.fnGetCustomerDataExport(localStorage.getItem(\"LoginUserId\")\n ).subscribe(allcustomer =>{\n this.ExportCustomerList = allcustomer;\n this.FilterExportCustomerList = this.ExportCustomerList;\n this.isComingFromCheckbox=true;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.ExportCustomer(ddlValue);\n this._spinner.hide(); \n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this.isComingFromCheckbox=true;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.ExportCustomer(ddlValue);\n this._spinner.hide(); \n }, 500);\n }\n }\n ExportCustomer(ddlValue){\n if(ddlValue === \"excel\"){\n this.fileName= 'CustomerMasterReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblCustomerMasterhide.nativeElement);\n \n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n \n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'CustomerMasterReport.rtf';\n var ele = document.getElementById('tblCustomerMasterhideRTF');\n var blob = new Blob([\"

Customer Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"html\"){\n this.fileName = 'CustomerMasterReport.html'; \n var ele = document.getElementById('tblCustomerMasterhide');\n var blob = new Blob([\"

Customer Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n }\n \n // if(ddlValue === \"pdf\"){\n // this._spinner.show(); \n // $(\"#dvCustomerMasterhide\").css(\"display\", \"block\");\n // this.fileName = 'CustomerMasterReport.pdf';\n // var data = document.getElementById('tblCustomerMasterhide'); \n // html2Canavas(data).then(canvas => { \n // // Few necessary setting options \n // var imgWidth = 208; \n // var pageHeight = 295; \n // var imgHeight = canvas.height * imgWidth / canvas.width; \n // var heightLeft = imgHeight; \n \n // const contentDataURL = canvas.toDataURL('image/png') \n // let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n // var position = 0; \n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n // pdf.save(this.fileName); // Generated PDF \n // $(\"#dvCustomerMasterhide\").css(\"display\", \"none\");\n // this._spinner.hide(); \n // }); \n // }\n \n // });\n // fun closing\n\n@ViewChild('tblCustomerMasterhidepdf', {static: false}) tblCustomerMasterhidepdf: ElementRef;\nfndownloadReportPdf(ddlValue){\n if(this.FilterExportCustomerList.length == 0 || this.FilterExportCustomerList == null || this.FilterExportCustomerList == undefined){\n this._spinner.show(); \n this._customerService.fnGetCustomerDataExport(localStorage.getItem(\"LoginUserId\")\n ).subscribe(allcustomer =>{\n this.ExportCustomerList = allcustomer;\n this.FilterExportCustomerList = this.ExportCustomerList;\n this.isComingFromCheckbox=true;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.ExportCustomerPDF();\n this._spinner.hide(); \n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\nelse{\n this._spinner.show(); \n this.isComingFromCheckbox=true;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.ExportCustomerPDF();\n this._spinner.hide(); \n }, 500);\n}\n}\nExportCustomerPDF(){\n let DATA = this.tblCustomerMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblCustomerMasterhidepdf');\n let doc = new jsPDF('l','mm',[2500,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Customer Master's Report.

\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('CustomerMasterReport.pdf');\n}\n\n SearchForExport(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType){\n // this.pageNumber = [];\n // this.pageNumber[0] = true;\n // this._PaginationService.comingFromPreAndNext = false;\n \n // if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n // CreatedDate = \"\"; \n // else if (CreatedDate != null && CreatedDate!=\"\") {\n // CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n // }\n \n // this.fnGetAllCustomerDetails(Name,CorpCode, State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder,\"1\");\n // this.pageChanged(1); \n \n if(!Name && !CorpCode && !City && !State && !Status && !RequestType && (!CreatedDate || CreatedDate==null) && !CreatedBy){\n this.FilterExportCustomerList = this.ExportCustomerList;\n } \n else{\n this.FilterExportCustomerList = this.ExportCustomerList.filter(row=>{\n return row.CustomerName.toLocaleLowerCase().match(Name.toLocaleLowerCase());\n });\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CorporationCode.toLocaleLowerCase().match(CorpCode.toLocaleLowerCase());\n }); \n if(RequestType != ''){\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.RequestType.toLocaleLowerCase()==RequestType.toLocaleLowerCase();\n });\n }\n debugger;\n if (Status !=\"\") {\n \n if(Status == \"1\") { Status = \"Active\";}\n else if(Status == \"0\") { Status = \"Inactive\";}\n else { Status = \"Pending\";}\n \n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.Status.match(Status);\n });\n } \n else {\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.Status.toLocaleLowerCase().match(status.toLocaleLowerCase());\n });\n }\n if(State !=\"\"){\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.StateId.toLocaleLowerCase().match(State.toLocaleLowerCase());\n });\n }\n if(City !=\"\"){\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CityId.toLocaleLowerCase().match(City.toLocaleLowerCase());\n });\n }\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n });\n if(CreatedDate!=\"\" && CreatedDate!=null){\n this.FilterExportCustomerList = this.FilterExportCustomerList.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(CreatedDate.singleDate.formatted.toLocaleLowerCase());\n });\n }\n }\n this.FilterExportCustomerList;\n }\n\n\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n\n fnSortCustomerMaster(field,obj){\n\n \n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableCustomerMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableCustomerMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredCustList = this.FilteredCustList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.FilteredCustList = this.FilteredCustList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n omit_special_char(event)\n { \n return (event.charCode==45 || event.charCode==47 || event.charCode==46 || event.charCode == 8 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n }\n checkValidFromDate(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy){\n debugger\n var inputDate1=CreatedDate;\n var splitDate1 = inputDate1.split('-');\n var day1 = splitDate1[0];\n var month1 = splitDate1[1];\n var year1 = splitDate1[2];\n this.inputDate = month1+\"-\"+day1+\"-\"+year1;\n const FromDatechk=new Date(this.inputDate);\n\n const MaxSdate=new Date();\n if (FromDatechk > MaxSdate) {\n this.CreatedDateError = true;\n }\n else{\n this.OnSearch(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,'')\n this.CreatedDateError = false;\n }\n return this.fromDateError;\n }\n checkUncheckAllCustomer() { \n this.AllSelected=true;\n this.isActive = true;\n // this.chkValue=true;\n \n this.CustomerSelected != this.CustomerSelected;\n \n if (this.FilteredCustList.length > 0) {\n for (var i = 0; i < this.FilteredCustList.length; i++) {\n if(this.FilteredCustList[i].IsCustomerDisable != true){\n this.FilteredCustList[i].IsCustomerSelected = this.CustomerSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allCustomers[i].IsCustomerDisable != true){\n this.allCustomers[i].IsCustomerSelected = this.CustomerSelected; \n } \n }\n }\n \n this.getCheckedItemList();\n }\n \n isChecked(UserId,status){\n this.AllSelected=false;\n this.IsCustomerSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allCustomers[i].IsCustomerSelected == this.IsCustomerSelected; \n }\n this.getCheckedItemList();\n }\n \n \n getCheckedItemList(){\n \n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allCustomers[i].IsCustomerSelected == true)\n this.checkedList.push(this.allCustomers[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n \n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n }\n\n \nAllDeleteConfirmation(){\n this.AllDeleteShow();\n }\n Customer() {\n this._customerService.formData = {\n Status:'1',\n CustPkId: 0,\n CustomerId: '',\n BranchName: '',\n UserName: '',\n CustomerName: '',\n ContactPerson: '',\n CorporationCode: '',\n DateOfEshtablishment: '',\n EmailId: '',\n MobileNumber: '',\n Address1: '',\n Address2: '',\n CountryId: null,\n StateId: null,\n CityId: null,\n Country:'',\n State:'',\n City:'',\n Pincode: '',\n Description: '',\n lblTitle:'Add Customer Master',\n SweepChargeId:0,\n SweepChargeType:'',\n Rate:0,\n msg:'',\n CreatedBy:0,\n UpdatedBy:0, \n CreatedDate:'',\n UpdatedDate:'',\n CreatedName:'',\n UpdatedName:'',\n DateCreated:'',\n IsCustomerSelected:false,\n ReviewStatus:0,\n LoggedInUser:0,\n RequestType:'',\n SweepExecutionApproval:'',\n FundDisbursementApproval:'',\n SweepChargeStatus:'',\n SweepChargereviewstatus:0,\n }\n}\nonKeyDown(event: KeyboardEvent) {\n \n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\nreturn a;\n}\n\n\n//---------------Bulk Authorize--------------------------------------------------------\n\ncheckUncheckAllBulkApproval(){\n if(this.FilterExportCustomerList.length == 0 || this.FilterExportCustomerList == null || this.FilterExportCustomerList == undefined){\n this._spinner.show();\n this._customerService.fnGetCustomerDataExport(localStorage.getItem(\"LoginUserId\")).subscribe(allcustomer =>{\n this.ExportCustomerList = allcustomer;\n for (var i = 0; i < this.ExportCustomerList.length; i++) {\n if(this.ExportCustomerList[i].CreatedBy== this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportCustomerList[i].IsCustomerDisable = true;\n }\n }\n this.isComingFromCheckbox=true\n this.FilterExportCustomerList = this.ExportCustomerList;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.SelectAllBulkCheckbox();\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this._spinner.show();\n this.isComingFromCheckbox=true;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.SelectAllBulkCheckbox();\n this._spinner.hide();\n }, 500);\n }\n// this.CustomerSelected != this.CustomerSelected;\n// if (this.FilteredCustList.length > 0) {\n// for (var i = 0; i < this.FilteredCustList.length; i++) {\n// this.FilteredCustList[i].IsCustomerSelected = this.CustomerSelected; \n// }\n// }\n// if(this.CustomerSelected==true){\n// this.AddEditBulkApprovalLabel=true;\n// }\n// else{\n// this.AddEditBulkApprovalLabel=false;\n// }\n}\nSelectAllBulkCheckbox(){\n this.CustomerSelected != this.CustomerSelected; \n if (this.FilteredCustList.length > 0) {\n for (var i = 0; i < this.FilteredCustList.length; i++) {\n if(this.FilteredCustList[i].IsCustomerDisable != true){\n this.FilteredCustList[i].IsCustomerSelected = this.CustomerSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allCustomers[i].IsCustomerDisable != true){\n this.allCustomers[i].IsCustomerSelected = this.CustomerSelected; \n } \n }\n }\n if(this.FilterExportCustomerList.length > 0){\n for(var j=0; j{\n this.ExportCustomerList = allcustomer;\n for (var i = 0; i < this.ExportCustomerList.length; i++) {\n if(this.ExportCustomerList[i].CreatedBy== this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportCustomerList[i].IsCustomerDisable = true;\n }\n }\n this.isComingFromCheckbox=true;\n this.FilterExportCustomerList = this.ExportCustomerList;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.isCustomerCheckbox(CustId,status);\n this._spinner.hide();\n }, 500)\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this.isComingFromCheckbox=true;\n this.OnSearch(this._customerService.formData.CustomerName,\n this._customerService.formData.CorporationCode,\n this._customerService.formData.State,\n this._customerService.formData.City,\n this._customerService.formData.Status,\n this._customerService.formData.CreatedDate,\n this._customerService.formData.CreatedName,\n this._customerService.formData.RequestType);\n setTimeout(() => {\n this.isCustomerCheckbox(CustId,status);\n this._spinner.hide();\n }, 500);\n }\n \n\n// for (var i = 0; i < this.FilteredCustList; i++) {\n// if(this.FilteredCustList[i].IsCustomerSelected == true){\n// this.AddEditBulkApprovalLabel=false;\n// } \n// } \n}\nisCustomerCheckbox(CustId,status){\n var check=0;\n // status!= this.CustomerSelected ;\n for (var i = 0; i < this.FilteredCustList.length; i++) {\n if(this.FilteredCustList[i].CustPkId == CustId){\n this.FilteredCustList[i].IsCustomerSelected = status; \n }\n}\nfor (var j = 0; j < this.FilterExportCustomerList.length; j++) {\n if(this.FilterExportCustomerList[j].CustPkId == CustId){\n this.FilterExportCustomerList[j].IsCustomerSelected = status; \n } \n} \n\nthis.getCheckedBulkAuthorize();\n}\ngetCheckedBulkAuthorize(){\n // this.checkedBulkList = [];\n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.allCustomers[i].IsCustomerSelected == true)\n // this.checkedBulkList.push(this.allCustomers[i]);\n // }\n // this.checkedList = JSON.stringify(this.checkedBulkList)\n // if(this.checkedBulkList.length >= 1){\n // this.AddEditBulkApprovalLabel=true;\n // }\n // else{\n // this.AddEditBulkApprovalLabel=false;\n // }\n debugger;\n this.checkedBulkList = [];\n for (var i = 0; i < this.FilterExportCustomerList.length; i++) {\n if(this.FilterExportCustomerList[i].IsCustomerSelected == true)\n this.checkedBulkList.push(this.FilterExportCustomerList[i]);\n }\n this.checkedList = this.checkedBulkList;\n console.log(this.checkedList);\n if(this.checkedBulkList.length >= 1){\n this.AddEditBulkApprovalLabel=true;\n }\n else{\n this.AddEditBulkApprovalLabel=false;\n }\n}\n\nApproved(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Approve\"\n this.AuthorizeStatus=2 ;\n this._customerService.formData.Status = \"1\";\n this._customerService.formData.RequestType = \"\";\n}\n\nRejectd(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Reject\";\n this.AuthorizeStatus=3;\n this._customerService.formData.Status = \"1\";\n this._customerService.formData.RequestType = \"\";\n}\n\nselectCustumerList:any[];\nBulkAuthorizeConfirm(){\n\n this.selectCustumerList=[];\n \n for(var i=0;i0){\n this._customerService.fnBulkAuthorize(this.selectCustumerList,localStorage.getItem('LoginUserId'),this.AuthorizeStatus).subscribe(res => { \n this.fnGetAllCustomerDetails(\"\",\"\",\"\",\"\",\"1\",\"\",\"\",\"\",\"CreatedDate_DESC\",\"1\");\n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.AddEditBulkApprovalLabel=false;\n this.showModalForAllDelete=false;\n this.onTop();\n this.showMsg=true;\n this.lblMessage=\"Bulk Authorize Completed For All Selected Records Succesfully\";\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n } \n} \n//---------------Bulk Authorize--------------------------------------------------------\nCustomerAuditHistory(CustomerId){\n \n CustomerId=this._encrypt.encryptUsingAES256(CustomerId)\n let navigationExtras: NavigationExtras = {\n queryParams: {\n CustomerId\n }\n};\nthis.router.navigate([\"CustomerAuditReportById\"], navigationExtras); \n///localStorage.setItem(\"AuditCustomerId\",String(Cust.CustPkId)); \n//this.router.navigate([\"/CustomerAuditReportById\"]);\n}\n\n// Getting history privillage\nGetHistoryPrivillage(){\n this.LoginAccessList= this._login.LoginAccessList;\n this.LoginAccessList.forEach(element => {\n if(element.menuName==\"Reports\")\n {\n element.moduleList.forEach(element => {\n if(element[\"moduleName\"]=='Customer Audit Trail')\n { \n this.HistoryPrivllage=true;\n } \n });\n }\n });\n}\n\n futureDateError:boolean;\n inputDate2:Date; \n disabledsearchbtn:boolean;\ncheckDateValidity(date){ \n const mxDate = new Date();\n this.inputDate2 = date.singleDate.jsDate;\n\n if (this.inputDate2 > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else{\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError\n} \n\n// Getting customer list\nfnGetCustomerName(){\n return this._customerService.fnGetCustomerListForDropdown(\"0\",localStorage.getItem('LoginUserId')).subscribe(data =>{\n data.forEach(element => {\n this.allCustList.push(element); \n if(element[\"Status\"]=='0'){\n this.IsCustomerInActive=true;\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n });\n}\n\nfnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n}\nfnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n}\n\n\n//------------------method for pagination-------------------- \n//-------------------------pagination start------------------------------------------\n\npageNo: any = 1; \npageNumber: boolean[] = []; \nsortOrder: any = 'CreatedDate_DESC'; \norder:any='CreatedDate'; \n//Pagination Variables \n \n\npageField = []; \nexactPageList: any; \npaginationData: number; \norderBy: string='Desc'; \n\ntotalCount: any; \ncurrentPage = 1; \nComingFromLast:boolean = false;\nComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \nif(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n}\nif(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n} \nthis.filterCount = this.totalCount;\nthis.paginationData = Number(this.totalCount/this.config.itemsPerPage); \nlet tempPageData = this.paginationData.toFixed(); \nif (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n} else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n}\nif(this._PaginationService.exactPageList < 10){\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n}\nelse{\n this._PaginationService.pageNumberShow = 10;\n} \nthis._PaginationService.pageOnLoad(); \nthis.pageField = this._PaginationService.pageField; \n\nif(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n}\nthis.getCheckedBulkAuthorize();\n if (this.FilteredCustList.length!=0 && this.CheckerPrivillage==true && (this._customerService.formData.RequestType ==\"Add Approval Pending\" || this._customerService.formData.RequestType==\"Edit Approval Pending\") && (this._customerService.formData.Status ==\"2\"|| this._customerService.formData.Status ==\"\" )){\n this.BulkApprovalAuthorize=true;\n }\n else{\n this.BulkApprovalAuthorize=false;\n this.AddEditBulkApprovalLabel=false;\n }\n} \n\nshowCustomersByPageNumber(page, i,Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType) { \nthis.pageNumber = []; \nthis.pageNumber[i] = true; \nthis.pageNo = page; \nthis.currentPage = page; \nif(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\nCreatedDate = \"\"; \nelse if (CreatedDate != null && CreatedDate!=\"\") {\nCreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n}\nthis.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder); \nthis.pageChanged(this.pageNo); \n} \n\nshowPrevCustomers(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType) { \nif (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n} \n\nshowFirstPage(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType){ \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n// } \n}\n\nshowLastPage(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType){\n\n\n// if(this._PaginationService.disabledNextBtn == false){\n\n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n\n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n \n this.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder);\n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n\n// }\n}\n\nsortByHeading(value: string, id,Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType) { \nthis.sortOrder = value; \nthis.order =value; \nif (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableCustomerMst(id,true);\n} else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableCustomerMst(id,false); \n} \n\nif(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n \nthis.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder); \nthis.pageChanged(this.pageNo); \n\n} \n\nshowNext(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType) { \n\nif (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0]; \n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.fnGetAllCustomerDetails(Name,CorpCode,State,City,Status,CreatedDate,CreatedBy,RequestType,this.sortOrder);\n this.pageChanged(this.pageNo); \n} \n}\n}\n\n\n\n\n\n","\n
\n
\n
\n
\n

Customer Master

\n
\n\n\n
\n
\n
\n
\n \n\n \n
\n\n\n
\n
\n ×\n Success! {{lblMessage}}\n
\n
\n\n
\n
\n ×\n {{lblMessage}}\n
\n
\n \n\n
\n
\n \n\n \n\n \n \n \n\n
\n Please Enter a valid Customer Name\n
\n
\n \n\n
\n \n \n\n
\n Please Enter a valid Corporation Code\n
\n\n
\n\n
\n \n \n
\n\n
\n \n \n
\n \n\n
\n \n \n
\n Please Enter valid Name\n
\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n\n \n\n
\n Created Date should be less than or equal to current date\n
\n
\n \n \n \n
\n
\n \n\n
\n \n \n
\n\n
\n \n \n
\n \n
\n
\n \n \n \n
\n \n \n
\n
\n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n
\n\n \n \n
\n
\n \n \n\n
\n
\n \n \n\n
\n
\n
\n \n
\n \n
\n \n \n \n
\n\n
\n \n \n \n \n \n \n\n \n \n \n\n \n\n \n \n \n\n \n \n \n\n \n\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n
Customer NameCorporation CodeStateCityCharge TypeRateCreated ByCreated / Updated Date & TimeRequest TypeStatus \n \n \n Action\n \n \n
\n \n \n
\n
{{cust.CustomerName}}{{cust.CorporationCode}}{{cust.State}}{{cust.City}}{{cust.SweepChargeType}}{{cust.Rate}}{{cust.CreatedName}} {{cust.CreatedDate}}{{cust.RequestType}}{{cust.Status}} \n
\n \n
\n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n
\n \n
\n \n
\n \n \n
\n
\n
\n \n \n
\n
No records found.
No records found.
\n\n
\n
\n \n
\n\n
\n \n\n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n \n
\n
\n
\n
\n\n
\n \" class=\"nav-link\" class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\" \n style=\"margin-top: 1.35em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" \n aria-expanded=\"false\"/>\n \n \n \n \n \n \n \n
\n\n \n
\n\n \n \n \n
\n\n
\n
\n\n\t
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer IdCustomer NameCorporation Code Date of EstablishmentContact PersonPhone NumberEmail IdAddress Line1CountryStateCityCharge TypeRateRequest TypeStatusCreatedByCreatedDateUpdatedByUpdatedDate
{{cust.CustomerId}}{{cust.CustomerName}}{{cust.CorporationCode}}{{cust.DateOfEshtablishment}}{{cust.ContactPerson}}{{cust.MobileNumber}}{{cust.EmailId}}{{cust.Address1}}{{cust.Country}}{{cust.State}}{{cust.City}}{{cust.SweepChargeType}}{{cust.Rate}}{{cust.RequestType}}{{cust.Status}}{{cust.CreatedName}}{{cust.CreatedDate}}{{cust.UpdatedName}}{{cust.UpdatedDate}}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameCorporation CodeStateCityCharge TypeRateCreated ByCreated Date & TimeRequest TypeStatus
{{cust.CustomerName}}{{cust.CorporationCode}}{{cust.State}}{{cust.City}}{{cust.SweepChargeType}}{{cust.Rate}}{{cust.CreatedName}}{{cust.CreatedDate}}{{cust.RequestType}}{{cust.Status}}
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameCorporation CodeStateCityCharge TypeRateCreated ByCreated Date & TimeRequest TypeStatus
{{cust.CustomerName}}{{cust.CorporationCode}}{{cust.State}}{{cust.City}}{{cust.SweepChargeType}}{{cust.Rate}}{{cust.CreatedName}}{{cust.CreatedDate}}{{cust.RequestType}}{{cust.Status}}
\n \n
\n \n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete?

\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to {{ConfirmationMsg}} All Selected Records?

\n
\n
\n \n \n
\n
\n
\n
\n \n ","import { Component, OnInit,ViewChild, ElementRef, ViewContainerRef} from '@angular/core';\nimport { RoleMaster} from '../../MasterService/role-master';\nimport { RoleService} from '../../MasterService/role.service';\nimport { Router,NavigationExtras } from '@angular/router';\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\n\ndeclare var sortTableRoleMst: Function;\n\n@Component({\n selector: 'app-manage-role-master',\n templateUrl: './manage-role-master.component.html',\n styleUrls: ['./manage-role-master.component.css']\n})\nexport class ManageRoleMasterComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n\n // other options are here...\n };\n allRoleList: any=[];\n filterRoleList: any=[];\n config: any;\n RoleAccess:RoleAccess;\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n ddlshowvalue:number;\n filterfrom:string;\n showvalue:number;\n searchCount:string;\n filterCount:string;\n IsRoleInUsed:any;\n RoleInUsedMessage:string='';\n fileName:string; \n showerrormsg: boolean;\n editStatus: string;\n lastSortedByField;\n ascendingOrder = true;\n isActive: boolean;\n AllAccchk: boolean;\n showModalForAllDelete: boolean;\n DeleteCount: number=0;\n DeleteCal:boolean;\n\n // Bulk Delete fields\n RoleSelected:boolean;\n IsRoleSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n AllSelected: boolean;\n ConfirmationMsg: string;\n AllDeleteCheck:boolean;\n UnCheck: boolean;\n ddlshowStartValue: number;\n ddlDropdownValue: number=50;\n\n \n constructor(public _roleService:RoleService,private router: Router,public _spinner:NgxSpinnerService\n ,private _roleAccess:RoleAccessService,public _encreptdecrept:EncryptdecryptService,\n public _PaginationService:PaginationService, private ngbDateParserFormatter: NgbDateParserFormatter) { }\n\n ngOnInit(): void {\n // If LoginUserId is null then it will return\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n } \n // To display header\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n \n this.RoleMaster();\n this._spinner.show();\n localStorage.removeItem('RoleDataId');\n localStorage.removeItem('RoleFlag');\n // Getting Privillage based on userid\n this.GetPrivillageRoles();\n this.onTop();\n // Getting role data from database\n \n this.config = {\n itemsPerPage: 50,\n currentPage: 1,\n };\n this.ddlshowvalue =50;\n this.ddlshowStartValue = 1;\n this.fnGetAllRole('','1','','',this.sortOrder,\"1\");\n \n // sorting table data\n sortTableRoleMst(3,false);\n //set pagination on 1\n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n\n }\n // On page change this event is called\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // if(this.filterRoleList.length<=this.ddlshowvalue)\n // this.ddlshowvalue = this.filterRoleList.length;\n }\n // Getting Privillage based on id\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),'/ManageRole').subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage=true;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n public iRoleId;\n showModalDelete: boolean;\n lblMessageDelete:string;\n showDelete() { this.showModalDelete = true;\n $(document).ready(function () {\n $('#IDshowModalDelete').eq(0).focus();\n });\n }\n hideDelete() { this.showModalDelete = false; }\n \n showModal:boolean;\n showMsg:boolean;\n lblMessage:string;\n EmptyDataMsg:string;\n show(){\n this.showMsg = true; \n }\n\n hidelbl(){\n this.showMsg = false;\n }\n\n showlbl(){\n this.showerrormsg = true;\n }\n\n hideerror(){\n this.showerrormsg = false;\n }\n\n NewRoleMaster() {\n this._roleService.formData = {\n roleID:0,\n roleName:'',\n Status:'0',\n isActive:'1',\n msg:'' ,\n lblTitle:'Add Role Master',\n btnTitle:'Submit',\n DateCreated:'',\n CreatedDate:'',\n CreatedName:'',\n IsRoleSelected:false\n }\n this.router.navigate(['/RoleMaster']);\n }\n\n RoleMaster() {\n this._roleService.formData = {\n roleID:0,\n roleName:'',\n Status:'Active',\n isActive:'1',\n msg:'' ,\n lblTitle:'Add Role Master',\n btnTitle:'Submit',\n DateCreated:'',\n CreatedDate:'',\n CreatedName:'',\n IsRoleSelected:false\n }\n \n }\n\n EditRole(Role: RoleMaster) {\n debugger;\n\n localStorage.setItem('RoleDataId',String(Role.roleID));\n\n localStorage.setItem('RoleDataName',String(Role.roleName));\n if(Role.isActive==\"1\"){\n this.editStatus=\"1\"\n }\n else{\n this.editStatus=\"0\";\n }\n localStorage.setItem('RoleDataStatus',String(this.editStatus));\n \n localStorage.setItem('RoleFlag','edit'); \n this.router.navigate(['/RoleMaster']);\n }\n\n ViewRole(Role: RoleMaster) {\n localStorage.setItem('RoleDataId',String(Role.roleID)); \n localStorage.setItem('RoleFlag','view'); \n this.router.navigate(['/RoleMaster']);\n }\n\n selectdeselect(){\n debugger;\n \n for (var i = 0; i < this.filterRoleList.length; i++) {\n if(this.filterRoleList[i].IsRoleDisable && this.filterRoleList[i].isActive == \"1\"){\n this.filterRoleList[i].IsRoleDisable = true;\n }\n this.filterRoleList[i].IsRoleSelected = false;\n }\n this.BulkDelete=true;\n this.RoleSelected =false; \n \n }\n\n fnGetAllRole(RoleName,IsActive,CreatedDate,Createdby,SortOrder = \"\",pageNumber=\"\"){\n debugger;\n if(pageNumber != \"\")\n this.pageNo=pageNumber;\n this._roleService.GetRolesWithStatus(\n localStorage.getItem('LoginUserId'),this.pageNo, this.config.itemsPerPage.toString(),\n RoleName,IsActive,Createdby,CreatedDate,this.sortOrder).subscribe(data=>{\n this.allRoleList = data;\n this.filterRoleList = this.allRoleList;\n \n for (var i = 0; i < this.allRoleList.length; i++) {\n if(this.allRoleList[i].IsRoleDisable && this.allRoleList[i].isActive == \"1\"){\n this.allRoleList[i].IsRoleDisable = true;\n }\n this.allRoleList[i].IsRoleSelected = false;\n }\n\n this.filterRoleList = this.allRoleList;\n this.listLengthForSelect = this.allRoleList.length;\n if(this.allRoleList.length > 0){ \n this.totalCount = this.allRoleList[0].RoleListCount;\n this.totalNoOfPages(); \n } else if(this.allRoleList.length == 0){\n this.totalCount = 0;\n this.totalNoOfPages(); \n }\n if(this.ddlDropdownValue==10 ){\n if(this.filterRoleList.length <10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.filterRoleList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue== 25 ){\n if(this.filterRoleList.length < 25 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.filterRoleList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue== 50 || this.ddlDropdownValue==undefined){\n if(this.filterRoleList.length < 50 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.filterRoleList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue== 100 ){\n if(this.filterRoleList.length < 100 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.filterRoleList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n //this.OnSearch(\"\",\"Active\",\"\",\"\");\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n AllDeletehide(){\n this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllAccchk=false;\n }\n\n AllDeleteShow(){\n if(this.AllSelected == true){\n this.ConfirmationMsg = \"Are you sure you want to delete All records?\"\n }\n\n if(this.AllSelected == false){\n this.ConfirmationMsg = \"Are you sure you want to delete selected records?\"\n }\n this.showModalForAllDelete=true;\n }\n\n AllDeleteConfirm(){\n this.filterRoleList.forEach(element => {\n if(element.IsRoleSelected == true){\n this._roleService.fnDeleteRoleDetailsById(element.roleID).subscribe(data=>{\n this._roleService.GetRolesWithStatus().subscribe(data=>{\n this.allRoleList = data;\n this.lblMessage= \"All Selected Roles Deleted Successfully\"\n this.show();\n this.onTop();\n this.AllDeletehide();\n this.fnGetAllRole('','1','','',this.sortOrder,\"1\");\n this.RoleSelected = false;\n this.BulkDelete = true;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n });\n}\n\n// function () {\n// this.fnGetAllRole();\n// if(this.DeleteCount == this.filterRoleList.length){\n// this.lblMessage= \"All Role Deleted Successfully\"\n// this.show();\n// this.onTop();\n// this.AllDeletehide();\n// }\n// else if(this.DeleteCount == 0 ){\n// this.showlbl();\n// this.lblMessage= \"No Role can be Deleted\";\n// this.onTop();\n// this.AllDeletehide();\n// }\n// else if(this.DeleteCount != 0 ){\n// debugger;\n// if(this.DeleteCount != this.filterRoleList.length && this.DeleteCount != 0 ){\n// this.lblMessage=\"Some of the Role Can't be deleted as they are in used\"\n// this.show();\n// this.onTop();\n// this.AllDeletehide();\n// this.fnGetAllRole();\n\n// }\n\n// }\n// }\n \n SelectAllRole(){\n debugger\n this.isActive = true;\n this.AllAccchk=true;\n if(this.filterRoleList!=0){\n this.AllDeleteShow();\n }\n //\n }\n\n DeleteRole(_roleID) {\n this.iRoleId=_roleID;\n this.lblMessageDelete = \"Are you sure you want to delete?\";\n this.showDelete(); \n}\n\nfnConfirmDelete(status){ \n debugger;\n this._roleService.fnIsRoleInUsed(this.iRoleId).subscribe(data=>{ \n this.IsRoleInUsed = data;\n if(this.IsRoleInUsed == '0'){\n //if(confirm('Are you sure you want to delete ' + _roleID)){\n this.filterRoleList.forEach(element => { \n this._roleService.fnDeleteRoleDetailsById(this.iRoleId).subscribe(data=>{\n this.allRoleList = data; \n this.lblMessage=\"Role Deleted Successfully\";\n //this.showlbl();\n this.hidelbl();\n this.hideDelete();\n this.showerrormsg = false;\n this.showMsg = true;\n this.AllDeletehide();\n this.BulkDelete = true;\n this.RoleSelected = false;\n this._roleService.formData.roleName =\"\";\n this._roleService.formData.isActive =\"1\";\n this._roleService.formData.CreatedDate =\"\";\n this._roleService.formData.CreatedName=\"\";\n this.showFirstPage(this._roleService.formData.roleName, this._roleService.formData.isActive,this._roleService.formData.CreatedDate,this._roleService.formData.CreatedName)\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this.currentPage=1;\n \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n });\n }\n // this._roleService.fnDeleteRoleDetailsById(this.iRoleId).subscribe(data=>{\n // this._roleService.GetRolesWithStatus().subscribe(data=>{\n // this.allRoleList = data;\n // this.filterRoleList = this.allRoleList;\n // this.OnSearch(\"\",status,\"\",\"\");\n // setTimeout(() => {\n // this._spinner.hide(); \n // }, 500);\n \n // });\n // this.OnSearch(\"\",status);\n \n // this.hideDelete();\n // this.lblMessage=\"Role Deleted Successfully\"\n // this.RoleInUsedMessage='';\n // this.show();\n // this.onTop();\n // this.hideerror();\n \n // });\n // //}\n // }\n else\n { \n this.hideDelete();\n this.showlbl();\n this.lblMessage=\"Role is assigned to user(s), and therefore can't delete at moment.\";\n this.onTop();\n this.hidelbl();\n } \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n \n}\n// Filtering data from list\n OnSearch(roleName,status,CreatedDate,CreatedName){\n this.currentPage = 1;\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n debugger;\n this.fnGetAllRole(roleName,status,CreatedDate,CreatedName,this.sortOrder,\"1\");\n this.pageChanged(1); \n //this.RoleSelected != this.RoleSelected;\n// debugger\n// this.pageChanged(event);\n// this.filterRoleList = this.allRoleList.filter(row=>{\n// return row.roleName.toLocaleLowerCase().match(roleName.toLocaleLowerCase());\n// });\n// this.filterRoleList = this.filterRoleList.filter(row=>{\n// return row.isActive.match(status);\n// });\n// this.filterRoleList = this.filterRoleList.filter(row=>{\n// return row.CreatedName.toLocaleLowerCase().match(CreatedName.toLocaleLowerCase());\n// });\n// if(CreatedDate!=null && CreatedDate!=\"\"){\n// this.filterRoleList = this.filterRoleList.filter(row=>{\n// return row.CreatedDate.toLocaleLowerCase().match(CreatedDate.singleDate.formatted.toLocaleLowerCase());\n// });\n// }\n \n// var j =0;\n// for (var i = 0; i < this.filterRoleList.length; i++) {\n// if(this.filterRoleList[i].IsRoleDisable){\n// j=j+1;\n// }\n// }\n// if(this.filterRoleList.length==j){\n// this.AllDeleteCheck=true;\n// this.UnCheck=false;\n// this.BulkDelete=true;\n// this.RoleSelected =false;\n \n// }\n// else{\n \n// this.AllDeleteCheck=false;\n \n// }\n// var k=0;\n// var j=0;\n// // for (var i = 0; i < this.filterRoleList.length; i++) {\n// // if(this.filterRoleList[i].IsRoleSelected && this.allRoleList[i].isActive == \"Active\"){\n// // k=k + 1;\n// // }\n// // }\n// for (var i = 0; i < this.filterRoleList.length; i++) {\n// if(this.filterRoleList[i].IsRoleDisable!=true && this.filterRoleList[i].isActive == status){\n// k=k + 1;\n// }\n// }\n// // for (var i = 0; i < this.filterRoleList.length; i++) {\n// // if(this.filterRoleList[i].IsRoleDisable!=true && this.filterRoleList[i].isActive == status){\n// // j=j + 1;\n// // }\n// // }\n// this.filterRoleList.forEach(element => {\n// // this.DeleteCount++;\n// if(element.IsRoleSelected == true){\n// j=j + 1;\n// }\n \n// });\n\n// if(k!=0 && j!=0){\n\n// if(k==j){\n// this.RoleSelected=true;\n// this.BulkDelete=false;\n// }\n// }\n\n\n\n// if (roleName !=\"\" || status !=\"\") {\n// this.ddlshowvalue=this.filterRoleList.length;\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// this.ddlshowStartValue = 1;\n// }\n// // if (this.ddlshowvalue.toString() == \"100\") {\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = 100;\n// // }\n// // else{\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage;\n// // }\n// // this.ddlshowStartValue = 1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage; \n// this.searchCount = \"\";\n// this.searchCount = this.filterRoleList.length.toString();\n// this.filterCount = \"(filtered from \"+ this.allRoleList.length +\" total entries)\";\n// }else{\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// this.searchCount = this.allRoleList.length.toString();\n// this.filterCount =\"\";\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// this.ddlshowStartValue = 1;\n// this.searchCount = this.allRoleList.length.toString();\n// this.filterCount =\"\";\n// }\n// // this.ddlshowStartValue = 1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage; \n// // this.searchCount = this.allRoleList.length.toString();\n// // this.filterCount =\"\";\n// } \n// // if(this.filterRoleList.length < this.ddlshowvalue)\n// // this.showvalue = this.filterRoleList.length;\n// // else \n// // this.showvalue = this.ddlshowvalue;\n// // this.filterfrom = '(filtered from '+ this.allRoleList.length +' total entries)';\n }\n \nonTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n}\n\nfnShowonchange(newObj,RoleName, isActive,CreatedDate,CreatedName){\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.currentPage= 1;\n this.ddlshowStartValue = 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder,\"1\"); \n \n}\n\n// this lone for download PDF\n@ViewChild('tblRoleMaster') tblRoleMaster:ElementRef;\nfndownloadReport(ddlValue){ \n if(ddlValue === \"excel\"){\n this.fileName= 'RoleMasterReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblRoleMaster.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n \n if(ddlValue === \"pdf\"){\n this.fileName = 'RoleMasterReport.pdf';\n var data = document.getElementById('tblRoleMaster'); \n html2Canavas(data).then(canvas => { \n // Few necessary setting options \n var imgWidth = 208; \n var pageHeight = 295; \n var imgHeight = canvas.height * imgWidth / canvas.width; \n var heightLeft = imgHeight; \n\n const contentDataURL = canvas.toDataURL('image/png') \n let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n var position = 0; \n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n pdf.save(this.fileName); // Generated PDF \n }); \n }\n\n if(ddlValue === \"rtf\"){\n this.fileName = 'RoleMasterReport.rtf';\n var ele = document.getElementById('tblRoleMaster');\n var blob = new Blob([\"\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'RoleMasterReport.html'; \n var ele = document.getElementById('tblRoleMaster');\n var blob = new Blob([\"\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n} // fun closing\n\nfnSortRoleMaster(field,obj){\n\n debugger;\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableRoleMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableRoleMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.filterRoleList = this.filterRoleList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.filterRoleList = this.filterRoleList.sort((a, b) => {\n if(field=='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n}\n\n//bulk delete\ncheckUncheckAllRole() {\ndebugger;\nthis.AllSelected=true;\n this.isActive = true;\n // this.chkValue=true;\n\n this.RoleSelected != this.RoleSelected;\n\n if (this.filterRoleList.length > 0) {\n for (var i = 0; i < this.filterRoleList.length; i++) {\n if(this.filterRoleList[i].IsRoleDisable != true){\n this.filterRoleList[i].IsRoleSelected = this.RoleSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allRoleList[i].IsRoleDisable != true){\n this.allRoleList[i].IsRoleSelected = this.RoleSelected; \n }\n }\n }\n\n this.getCheckedItemList();\n}\n\nisChecked(roleID,status){\n debugger;\n this.AllSelected=false;\n this.IsRoleSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allRoleList[i].IsRoleSelected == this.IsRoleSelected; \n}\n this.getCheckedItemList();\n}\n\n\ngetCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allRoleList[i].IsRoleSelected == true)\n this.checkedList.push(this.allRoleList[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n \n }\n else{\n this.BulkDelete = true;\n \n\n }\n}\n\nAllDeleteConfirmation(){\n this.AllDeleteShow();\n}\n\nonKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\nreturn a;\n}\n\n//--------------------Pagination Start --------------------------------------\npageNo: any = 1; \npageNumber: boolean[] = []; \nsortOrder: any = 'CreatedDate_DESC'; \norder:any='CreatedDate';\n\npageField = []; \nexactPageList: any; \npaginationData: number; \norderBy: string='Desc'; \n\ntotalCount: any; \ncurrentPage = 1; \nComingFromLast:boolean = false;\nComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \n debugger;\n if(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n }\n if(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n } \n this.filterCount = this.totalCount;\n this.paginationData = Number(this.totalCount/this.config.itemsPerPage); \n let tempPageData = this.paginationData.toFixed(); \n if (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n } else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n }\n if(this._PaginationService.exactPageList < 10){\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n }\n else{\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = 10;\n } \n this._PaginationService.pageOnLoad(); \n this.pageField = this._PaginationService.pageField; \n\n if(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n }\n} \n\nsortByHeading(value: string, id, RoleName, isActive,CreatedDate,CreatedName) { \n debugger;\n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableRoleMst(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableRoleMst(id,false); \n } \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n\n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo); \n\n} \n\nshowFirstPage(RoleName, isActive,CreatedDate,CreatedName){\n // if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n // this.pageNumber = []; \n // this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n // } \n}\n\nshowPrevAccounts(RoleName, isActive,CreatedDate,CreatedName) { \n if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n\n}\n\nshowAccountsByPageNumber(page, i,RoleName, isActive,CreatedDate,CreatedName) { \n //this.FilteredUserList = []; \n this.pageNumber = []; \n this.pageNumber[i] = true; \n this.pageNo = page; \n this.currentPage =page; \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n \n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n\nshowNext(RoleName, isActive,CreatedDate,CreatedName) { \n\n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n } \n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n} \n\nshowLastPage(RoleName, isActive,CreatedDate,CreatedName){\n //if(this._PaginationService.disabledNextBtn == false){\n \n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n \n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n this.fnGetAllRole(RoleName, isActive,CreatedDate,CreatedName,this.sortOrder); \n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n // }\n}\n\n\n}\n","
\n
\n
\n
\n

\n Role Master\n

\n
\n
\n\n
\n

\n
\n
\n ×\n {{lblMessage}}.\n
\n
\n\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n
\n
\n \n \n\n
\n
{{ RoleInUsedMessage }}
\n\n
\n \n \n
\n\n
\n
\n \n
\n\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n
\n \n \n
\n \n \n
\n \n Search\n \n\n \n
\n\n \n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n \n \n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n
\n Role Name\n Status\n Created By\n Created / Updated Date & Time\n \n Action\n \n
{{ _role.roleName }}{{ _role.isActive }}{{_role.CreatedName}}{{_role.CreatedDate}}\n
\n \n \n \n
\n \n \n \n \n \n \n \n\n \n
No records found.
\n
\n
\n
\n
\n \n\n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n\n \n\n \n\n\n \n
\n \n
\n
\n
\n\n\n
\n
\n
\n

Confirmation

\n \n ×\n \n
\n
\n {{ lblMessageDelete }}\n
\n\n
\n \n\n \n
\n
\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{ConfirmationMsg}}

\n
\n
\n \n \n
\n
\n
\n
\n\n\n","import { Component, OnInit,ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { FormGroup , FormControl, FormControlName} from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { UserService } from '../../MasterService/user.service';\nimport { UserMaster } from '../../MasterService/user-master';\nimport {Router, NavigationExtras} from \"@angular/router\";\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { LoginService } from 'src/app/MasterService/Login.service';\nimport { FooterBarComponent } from 'angular-mydatepicker/lib/components/footer-bar/footer-bar.component';\nimport * as CryptoJS from 'crypto-js';\nimport * as $ from 'jquery';\nimport{EncryptdecryptService} from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\n\ndeclare var sortTableUserMst:Function;\n\n@Component({\n selector: 'app-manage-user-master',\n templateUrl: './manage-user-master.component.html',\n styleUrls: ['./manage-user-master.component.css']\n})\nexport class ManageUserMasterComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n\n // other options are here...\n };\n allUsers:any =[];\n\n FilteredUserList :any =[];\n\n UserModel :UserMaster;\n\n showModal:boolean;\n\n Roles:any=[];Roles2:any=[];\n showMsg:boolean;\n lblMessage:string;\n RoleAccess:RoleAccess;\n config: any;\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n AddExportAccess:boolean;\n PrivillageImportExportdv:boolean;\n MappingPriv:boolean;\n ddlshowStartValue:number;\n ddlshowvalue:number;\n searchCount:string;\n filterCount:string;\n filterfrom:string;\n showvalue:number;\n password:string;\n AddImportAccess:boolean;\n checkerAccess:boolean;\n showerrormsg:boolean;\n fileName:string;\n\n lastSortedByField;\n ascendingOrder = true;\n isActive: boolean;\n\n showModalForAllDelete:boolean;\n chkValue: boolean;\n\n // Bulk Delete fields\n UserSelected:boolean;\n IsUserSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n \n LoginAccessList: any;\n HistoryPrivllage: boolean;\n AllSelected: boolean;\n ConfirmationMsg: string;\n futureDateError:boolean;\n inputDate:Date; \n disabledsearchbtn:boolean;\n maxDate:object;\n UserStatus: string; \n///bulk authorize---\nBulkApprovalAuthorize:boolean;\n CheckerPrivillage: boolean;\n AddEditBulkApprovalLabel: boolean;\n AuthorizeStatus: number;\n checkedBulkList: any[];\n dateForExportSearch: any;\n ddlDropdownValue: any;\n IsComingFromExport: boolean=false;\n constructor(public _userService:UserService,private router: Router,private _roleAccess:RoleAccessService,\n private _spinner:NgxSpinnerService,public _login: LoginService,private _encrypt:EncryptdecryptService\n , public _PaginationService:PaginationService, private ngbDateParserFormatter: NgbDateParserFormatter) {}\n\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n\n ngOnInit(): void {\n // If LoginUserId is null then it will return\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n// To display header\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n \n this.UsreMaster();\n this._spinner.show();\n localStorage.removeItem('UserDataId');\n\n this.onTop();\n// Getting Privillage based on userid\n this.GetPrivillageRoles();\n // Getting user data from database\n //this.fnGetAllUserDetails();\n \n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.ddlshowStartValue = 1;\n // sorting table data\n sortTableUserMst(7,false); \n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n }\n GetHistoryPrivillage(){\n this.LoginAccessList= this._login.LoginAccessList;\n this.LoginAccessList.forEach(element => {\n if(element.menuName==\"Reports\")\n {\n element.moduleList.forEach(element => {\n if(element[\"moduleName\"]=='User Audit Trail')\n { \n this.HistoryPrivllage=true;\n } \n });\n }\n });\n \n // if(this.LoginAccessList[4].menuName==\"Reports\")\n // {\n // this.LoginAccessList[4].moduleList.forEach(element => {\n // if(element[\"moduleName\"]=='User Audit Trail')\n // { \n // this.HistoryPrivllage=true;\n // } \n // });\n // }\n}\n\n// Getting Privillage based on id\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),this.router.url).subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.MappingPriv=this.RoleAccess.MappingPriv;\n this.AddImportAccess = this.RoleAccess.AddImportAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess;\n if(this.AddImportAccess || this.AddExportAccess){\n this.PrivillageImportExportdv=true;\n }\n else{\n this.PrivillageImportExportdv=false;\n \n }\n this.checkerAccess=this.RoleAccess.CheckerAccess;\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage=true;\n // Getting user data from database\n this.fnGetAllUserDetails('','','','1','','','','',this.sortOrder,\"1\");\n //this.UserListForExport();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n //-----Get UserData for Export----------------\n ExportUsers:any = [];\n FilterExportUsers: any = [];\n // UserListForExport(){\n // this._userService.fnGetUserListForExport(localStorage.getItem('LoginUserId')).subscribe(Users=>{\n // this.ExportUsers = Users;\n // this.FilterExportUsers = Users;\n // this.FilterExportUsers = this.FilterExportUsers.filter(row=>{\n // return row.IsActive== \"Active\";\n // });\n // for(var i = 0; i < this.ExportUsers.length; i++){\n // if(this.ExportUsers[i].CreatedBy== this.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n // this.ExportUsers[i].IsUserDisabled = true;\n // }\n // this.ExportUsers[i].RoleName=this.decryptUsingAES256(this.ExportUsers[i].RoleName);\n // this.ExportUsers[i].RoleNames=this.decryptUsingAES256(this.ExportUsers[i].RoleNames);\n // }\n // });\n // }\n \n NewUser() { \n localStorage.setItem('UserId', JSON.stringify(0));\n localStorage.setItem('UserDataId',this._encrypt.encryptUsingAES256(JSON.stringify(0)) );\n this._userService.formData = {\n UserId:\"0\",\n RoleId:null,\n FirstName:'',\n MiddleName:'',\n LastName:'',\n Password:'',\n CnfrmPassword:'',\n Gender:'',\n BirthDate:null,\n EmailId:'',\n MobileNumber:'',\n AltMobileNumber:'',\n TransactionLimit:'',\n Address:'',\n AltAddress:'',\n CountryId:0,\n StateId:0,\n CityId:0,\n IsActive:'null',\n Pincode:'',\n limit:0,\n UserType:'1',\n BankCorpUser:null,\n BranchUser:null,\n CreatedBy:0,\n UpdatedBy:0,\n lblTitle:'Add User Master',\n btnTitle:'Submit',\n msg:'',\n CreatedDate:'',\n DateCreated:'',\n CreatedName:'',\n UpdatedDate:'',\n UpdatedName:'',\n UserTypedesc:'',\n UserTypeName:'',\n IsUserSelected:false,\n reviewStatus:'2',RoleName:''\n ,\n formatedBithDate:'',\n RoleNames:'',\n CustomerName:'',\n BranchName:'',\n RequestType:'',\n UserlistCount:0\n }\n this.router.navigate(['/UserMaster']);\n }\n UsreMaster() { \n this._userService.formData = {\n UserId:\"0\",\n RoleId:null,\n FirstName:'',\n MiddleName:'',\n LastName:'',\n Password:'',\n CnfrmPassword:'',\n Gender:'',\n BirthDate:null,\n EmailId:'',\n MobileNumber:'',\n AltMobileNumber:'',\n TransactionLimit:'',\n Address:'',\n AltAddress:'',\n CountryId:0,\n StateId:0,\n CityId:0,\n IsActive:'1',\n Pincode:'',\n limit:0,\n UserType:'1',\n BankCorpUser:null,\n BranchUser:null,\n CreatedBy:0,\n UpdatedBy:0,\n lblTitle:'',\n btnTitle:'Submit',\n msg:'',\n CreatedDate:'',\n DateCreated:'',\n CreatedName:'',\n UpdatedDate:'',\n UpdatedName:'',\n UserTypedesc:'',\n UserTypeName:'',\n IsUserSelected:false,\n reviewStatus:'2',RoleName:''\n ,\n formatedBithDate:'',\n RoleNames:'',\n CustomerName:'',\n BranchName:'',\n RequestType:'',\n UserlistCount:0\n\n }\n\n }\n\n EditUserDetails(User: UserMaster) {\n localStorage.setItem('localUserId', JSON.stringify(User.UserId));\n localStorage.setItem('UserDataId',String( User.UserId));\n localStorage.setItem('UserViewMode',String(\"edit\"));\n \n this._userService.formData = User;\n // this._userService.GetDecryptPassword( this._userService.formData.Password).subscribe(data=>{ \n // this.password = data.toString();\n // this._userService.formData.Password = this.password;\n // this._userService.formData.CnfrmPassword = this.password;\n // });\n this.router.navigate(['/UserMaster']);\n // User.lblTitle = \"Edit User Master\";\n // User.btnTitle = \"Update\";\n // if(User.IsActive == \"Inactive\"){\n // User.IsActive = \"0\";\n // }\n // else{\n // User.IsActive = \"1\";\n // }\n\n // this._userService.fnGetRoleByUserId(User.UserId).subscribe(role=>{\n // this.Roles = role;\n // this.Roles.forEach(element => {\n // this.Roles2.push(element[\"RoleId\"]);\n // });\n // User.RoleId = this.Roles2;\n // });\n\n // this._userService.GetDecryptPassword(User.Password).subscribe(data=>{ \n // this.password = data.toString();\n // User.Password = this.password;\n // User.CnfrmPassword = this.password;\n // });\n \n //this._userService.formData = User; \n \n }\n\n viewUserDetails(User: UserMaster) { \n\n localStorage.setItem('UserDataId',String( User.UserId));\n // User.lblTitle = \"View User Master\";\n // User.btnTitle = \"View\";\n // if(User.IsActive == \"Inactive\"){\n // User.IsActive = \"0\";\n // }\n // else{\n // User.IsActive = \"1\";\n // }\n\n // this._userService.fnGetRoleByUserId(User.UserId).subscribe(role=>{\n // this.Roles = role;\n // this.Roles.forEach(element => {\n // this.Roles2.push(element[\"RoleId\"]);\n // });\n // User.RoleId = this.Roles2;\n // });\n \n // this._userService.formData = User;\n let viewMode='view';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n if(viewMode == 'view'){\n this.router.navigate([\"UserMaster\"], navigationExtras);\n } \n }\n// Getting user data from database\n fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,SortOrder = \"\",pageNumber=\"\"){\n if(pageNumber != \"\")\n this.pageNo=pageNumber;\n this._userService.fnGetUserData(localStorage.getItem('LoginUserId'),\"0\",this.pageNo,\n this.config.itemsPerPage.toString(),UserName,Email,Phone,usertype,CreatedBy,date,\n requestType,Status,this.sortOrder).subscribe(allUsers=>{ \n this.allUsers = allUsers;\n\n \n // if(this.allUsers[0].ErrorMsg != \"\"){\n // this.showMsg = false;\n // this.showerrormsg = true;\n // //this.lblMessage = 'An error occured.';\n // this.onTop();\n // this.router.navigate([\"404\"]);\n // return;\n \n // }\n // this._userService.fnGetUserData(localStorage.getItem('LoginUserId')).subscribe(allUsers=>{ \n // this.allUsers = allUsers;\n // if(this.allUsers[0].ErrorMsg != \"\"){\n // this.showMsg = false;\n // this.showerrormsg = true;\n // //this.lblMessage = 'An error occured.';\n // this.onTop();\n // this.router.navigate([\"404\"]);\n // return;\n \n // }\n // else{ \n // this.allUsers.forEach(element => {\n // if(element[\"UserType\"] == \"1\")\n // this.mappingPriv = true;\n // else\n // this.mappingPriv = false;\n // });\n for (var i = 0; i < this.allUsers.length; i++) {\n \n if(this.allUsers[i].CreatedBy== this.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.allUsers[i].IsUserDisabled = true;}\n // this.allUsers[i].IsUserSelected = false;\n this.allUsers[i].RoleName=this.decryptUsingAES256(this.allUsers[i].RoleName);\n this.allUsers[i].RoleNames=this.decryptUsingAES256(this.allUsers[i].RoleNames);\n if(this.checkedList.length > 0){ \n for (var j = 0; j < this.checkedList.length; j++) {\n if(this.checkedList[j].UserId == this.allUsers[i].UserId){\n this.allUsers[i].IsUserSelected = true; \n } \n }} \n if(this.allUsers[i].IsActive == \"Pending\" && this.allUsers[i].RequestType == \"Edit Approval Pending\" && this.allUsers[i].RoleNames!=\"\"){\n this.allUsers[i].RoleName = this.allUsers[i].RoleNames;\n }\n\n if(this.allUsers[i].IsActive == \"Pending\")\n this.allUsers[i].IsAuthorizeDisable = false;\n else\n this.allUsers[i].IsAuthorizeDisable = true;\n \n if(this.decryptUsingAES256(allUsers[i].UserId) == localStorage.getItem('LoginUserId')){ \n this.allUsers[i].loggedInUserDisable = true;\n }\n else if(this.allUsers[i].reviewStatus == 1 || this.allUsers[i].reviewStatus==4){\n this.allUsers[i].loggedInUserDisable = true;\n }\n else if(this.allUsers[i].reviewStatus ==7 && (!this.CheckerPrivillage || this.allUsers[i].CreatedBy == this.decryptUsingAES256(localStorage.getItem('LoginUserId')))){\n this.allUsers[i].loggedInUserDisable = true;\n }\n else{this.allUsers[i].loggedInUserDisable=false;}\n }\n this.FilteredUserList = this.allUsers;\n this.listLengthForSelect = this.allUsers.length;\n if(this.allUsers.length > 0){ \n this.totalCount = this.allUsers[0].UserlistCount;\n this.totalNoOfPages(); \n } \n else if(this.allUsers.length==0){\n this.totalCount = 0;\n this.totalNoOfPages();\n } \n // this.OnSearch(\"\",\"\",\"\",\"Active\",\"\",\"\",\"\",\"\");\n this.GetHistoryPrivillage(); \n //------page Listing Meassage-----------------\n if(this.ddlDropdownValue==10 || this.ddlDropdownValue==undefined){\n if(this.FilteredUserList.length<10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredUserList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue==25){\n if(this.FilteredUserList.length<25 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredUserList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue==50){\n if(this.FilteredUserList.length<50 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredUserList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue==100){\n if(this.FilteredUserList.length<100){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredUserList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n // ----checker side Bulk Authorize---------------------------\n this.getCheckedBulkAuthorize();\n if (this.FilteredUserList.length!=0 && this.CheckerPrivillage==true && \n (this._userService.formData.RequestType==\"1\" || this._userService.formData.RequestType==\"4\") &&\n (this._userService.formData.IsActive==\"2\" || this._userService.formData.IsActive==\"\")){\n this.BulkApprovalAuthorize=true;\n }\n else{\n this.BulkApprovalAuthorize=false;\n this.AddEditBulkApprovalLabel=false;\n }\n // ----End checker side Bulk Authorize---------------------------\n \n });\n setTimeout(() => {\n this._spinner.hide(); \n }, 500,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n\n public NavigateToManageAccess(id) {\n let navigationExtras: NavigationExtras = {\n queryParams: {\n id\n }\n }; \n this.router.navigate([\"ManageAccess\"], navigationExtras); \n}\n\nNavigateToCustomerMapping(id,name){\n let navigationExtras: NavigationExtras = {\n queryParams: {\n id,name\n }\n};\nthis.router.navigate([\"CustomerMapping\"], navigationExtras); \n}\n\nDeleteUserMasterById(User: UserMaster) {\n this.UserModel = User;\n this.UserStatus=User.IsActive;\n this.show();\n}\ndisplaySuccessOrWarning:number;\nDeleteConfirm(){\n // if(this.UserStatus==\"Pending\"){\n // this.lblDeleteMessage= \"You can not delete User. It has been sent for review\";//\"Holiday Deleted Successfully\"\n // this.showDeletelbl();\n // this.hide();\n // this.onTop();\n // }\n // else{\n this._userService.fnDeleteUserMasterDetails(this.UserModel.UserId,localStorage.getItem('LoginUserId')).subscribe(res=>{ \n // this.displaySuccessOrWarning=+res.toString();\n // if(this.displaySuccessOrWarning==0){\n // this.lblDeleteMessage=\"Deleted User has been sent for checker review.\";\n // this.showDeletelbl();\n // this.hidelbl();\n // }\n // else{\n // this.lblMessage=\"User Deleted Successfully.\";\n // this.showlbl();\n // }\n this.lblMessage = res.toString();\n if(res == 'User Deleted Successfully.')\n {\n this.showDeleteMsg = false;\n this.showMsg = true;\n }\n else {\n this.showMsg = false;\n this.showDeleteMsg = true;\n }\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this.currentPage=1;\n this._userService.formData.FirstName=\"\",this._userService.formData.EmailId=\"\",\n this._userService.formData.MobileNumber=\"\",this._userService.formData.UserTypedesc=\"\",\n this._userService.formData.CreatedName=null,this._userService.formData.CreatedDate=\"\",\n this._userService.formData.RequestType=\"\",this._userService.formData.IsActive=\"1\";\n this.showFirstPage(this._userService.formData.FirstName,\n this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive,this._userService.formData.CreatedDate,\n this._userService.formData.UserTypedesc,this._userService.formData.RequestType,\n this._userService.formData.CreatedName);\n \n\n this.hide();\n this._userService.formData.RequestType = \"\";\n this._userService.formData.IsActive = \"1\";\n \n this.onTop();\n },\n (err)=>{\n this.router.navigate([\"404\"]);\n });\n // }\n}\n\n// Scroll function\nonTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n}\npageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n\n // if(this.FilteredUserList.length<=this.ddlshowvalue)\n // this.ddlshowvalue = this.FilteredUserList.length;\n}\n\nshow() { this.showModal = true;\n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n });}\nhide() { this.showModal = false; }\nshowlbl(){\n this.showMsg = true;\n}\nhidelbl(){\n this.showMsg = false;\n}\nshowDeleteMsg:boolean;\nshowDeletelbl(){\n this.showDeleteMsg = true;\n}\nhideDeletelbl(){\n this.showDeleteMsg = false;\n}\n\n AllDeletehide(){this.showModalForAllDelete=false;\n this.isActive = false;\n this.chkValue=false;\n }\n\n AllDeleteShow(){\n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.showModalForAllDelete=true\n }\n lblDeleteMessage:string;\n AllDeleteConfirm(){\n this.FilteredUserList.forEach(element => {\n if(element.IsUserSelected == true){\n this._userService.fnDeleteUserMasterDetails(element.UserId,localStorage.getItem('LoginUserId')).subscribe(res=>{\n this.fnGetAllUserDetails('','','','1','','','','',this.sortOrder,\"1\");\n this.hide();\n \n if(this.checkerAccess){\n this.lblMessage=\"All Selected Users Deleted Successfully\"\n this.showlbl();\n }\n else{\n this.lblDeleteMessage=\"All Selected Users are sent for review to checker\"\n this.showDeletelbl();\n }\n \n \n this.onTop();\n this.AllDeletehide();\n this.BulkDelete = true;\n this.UserSelected = false;\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n });\n }\n\nAllDeleteConfirmation(){\n this.AllDeleteShow();\n }\n\ncheckUncheckAllUser() {\n this.AllSelected=true;\n this.isActive = true;\n // this.chkValue=true;\n\n this.UserSelected != this.UserSelected;\n\n if (this.FilteredUserList.length > 0) {\n for (var i = 0; i < this.FilteredUserList.length; i++) {\n this.FilteredUserList[i].IsUserSelected = this.UserSelected; \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allUsers[i].IsUserSelected = this.UserSelected; \n }\n }\n\n this.getCheckedItemList();\n}\n\nisChecked(UserId,status){\n this.AllSelected=false;\n this.IsUserSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allUsers[i].IsUserSelected == this.IsUserSelected; \n}\n this.getCheckedItemList();\n}\n\nUserAuditHistory(UserId){\n let navigationExtras: NavigationExtras = {\n queryParams: {\n UserId\n }\n};\nthis.router.navigate([\"UserAuditReportById\"], navigationExtras); \n// localStorage.setItem(\"AuditUserId\",String(User.UserId)); \n // this.router.navigate(['/UserAuditReport']);\n}\ngetCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allUsers[i].IsUserSelected == true)\n this.checkedList.push(this.allUsers[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n}\n\n// Filtering data from list\nOnSearch(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy){\n this._spinner.show();\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n this.dateForExportSearch=date;\n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n if(this.IsComingFromExport == false){ \n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder,\"1\");\n this.pageChanged(1); \n }\n if(this.IsComingFromExport == true){\n this.FilterExportUsers = this.ExportUsers.filter(row=>{\n return row.FirstName.toLocaleLowerCase().match(UserName.toLocaleLowerCase());\n });\n this.FilterExportUsers = this.FilterExportUsers.filter(row=>{\n return row.EmailId.toLocaleLowerCase().match(Email.toLocaleLowerCase());\n });\n this.FilterExportUsers = this.FilterExportUsers.filter(row=>{\n return row.MobileNumber.toLocaleLowerCase().match(Phone.toLocaleLowerCase());\n });\n if(date!=null && date!=\"\"){\n this.FilterExportUsers = this.FilterExportUsers.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(this.dateForExportSearch.singleDate.formatted.toLocaleLowerCase());\n });\n }\n if(Status !=\"\"){\n if(Status == \"1\") { Status = \"Active\"; } else if(Status == \"2\") {Status = \"Pending\"; } else{ Status = \"Inactive\"; }\n this.FilterExportUsers = this.FilterExportUsers.filter(row => {\n return row.IsActive == Status;\n });\n }\n else{\n this.FilterExportUsers = this.FilterExportUsers.filter(row=>{\n return row.IsActive.match(Status);\n });\n }\n if(requestType == \"1\") { requestType = \"Add Approval Pending\"; } \n else if(requestType == \"2\") {requestType = \"Add Approved\"; }\n else if(requestType == \"3\") {requestType = \"Add Rejected\"; } \n else if(requestType == \"4\") {requestType = \"Edit Approval Pending\"; }\n else if(requestType == \"5\") {Status = \"Edit Approved\"; }\n else if(requestType == \"6\") {requestType = \"Edit Rejected\"; }\n else if(requestType == \"7\") { requestType = \"Delete Approval Pending\"; } \n else if(requestType == \"8\") {requestType = \"Delete Approved\"; }\n else if(requestType == \"9\") {requestType = \"Delete Rejected\"; }\n this.FilterExportUsers=this.FilterExportUsers.filter(row=>{\n return row.RequestType.toLocaleLowerCase().match(requestType.toLocaleLowerCase());\n });\n if(usertype == \"1\") { usertype = \"Bank User\"; } \n else if(usertype == \"2\") {usertype = \"Corporate User\"; } \n else if(usertype == \"3\") {usertype = \"Branch User\"; }\n this.FilterExportUsers = this.FilterExportUsers.filter(row=>{\n return row.UserTypedesc.match(usertype);\n });\n this.FilterExportUsers=this.FilterExportUsers.filter(row=>{\n return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n });\n this.IsComingFromExport = false;\n } \n// if(!UserName && !Email && !Phone && !Status && !usertype && (!date || date==null) && !requestType && !CreatedBy) {\n// this.FilteredUserList = this.allUsers;\n// } \n// else{\n// this.FilteredUserList = this.allUsers.filter(row=>{\n// return row.UserName.toLocaleLowerCase().match(UserName.toLocaleLowerCase());\n// });\n// this.FilteredUserList = this.FilteredUserList.filter(row=>{\n// return row.EmailId.toLocaleLowerCase().match(Email.toLocaleLowerCase());\n// });\n// this.FilteredUserList = this.FilteredUserList.filter(row=>{\n// return row.MobileNumber.toLocaleLowerCase().match(Phone.toLocaleLowerCase());\n// });\n// if(date!=null && date!=\"\"){\n// this.FilteredUserList = this.FilteredUserList.filter(row=>{\n// return row.CreatedDate.toLocaleLowerCase().match(date.singleDate.formatted.toLocaleLowerCase());\n// });\n// }\n// // this.FilteredUserList = this.FilteredUserList.filter(row=>{\n// // return row.State.toLocaleLowerCase().match(State.toLocaleLowerCase());\n// // });\n \n// this.FilteredUserList = this.FilteredUserList.filter(row=>{\n// return row.IsActive.match(Status);\n// });\n// this.FilteredUserList=this.FilteredUserList.filter(row=>{\n// return row.RequestType.toLocaleLowerCase().match(requestType.toLocaleLowerCase());\n// });\n// this.FilteredUserList = this.FilteredUserList.filter(row=>{\n// return row.UserTypedesc.match(usertype);\n// });\n// this.FilteredUserList=this.FilteredUserList.filter(row=>{\n// return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n// });\n// }\n// // if(this.FilteredUserList.length < this.ddlshowvalue)\n// // this.showvalue = this.FilteredUserList.length;\n// // else \n// // this.showvalue = this.ddlshowvalue;\n// // this.filterfrom = '(filtered from '+ this.allUsers.length +' total entries)';\n// if (UserName !=\"\" || Email !=\"\" || Phone != \"\" || Status != \"\" || date !=\"\" || usertype !=\"\" || requestType !=\"\" || CreatedBy !=\"\") {\n// this.ddlshowvalue=this.FilteredUserList.length;\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.FilteredUserList.length;\n// this.ddlshowStartValue = 1;\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage;\n// this.ddlshowStartValue = 1;\n// }\n// // this.ddlshowStartValue=1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage;\n// this.searchCount = \"\";\n// this.searchCount = this.FilteredUserList.length;\n// this.filterCount = \"(filtered from \"+ this.allUsers.length +\" total entries)\";\n// }\n// else{\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// this.searchCount = this.allUsers.length.toString();\n// this.filterCount =\"\";\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// this.ddlshowStartValue = 1;\n// this.searchCount = this.allUsers.length.toString();\n// this.filterCount =\"\";\n// }\n\n// // this.ddlshowStartValue = 1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage;\n// // // this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n// // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n// // this.searchCount = this.allUsers.length;\n// // this.filterCount =\"\";\n// }debugger;\n// this.getCheckedBulkAuthorize();\n// if (this.FilteredUserList.length!=0 && this.CheckerPrivillage==true && (requestType==\"Add Approval Pending\" || requestType==\"Edit Approval Pending\") && (Status==\"Pending\" || Status==\"\")){\n// this.BulkApprovalAuthorize=true;\n// }\n// else{\n// this.BulkApprovalAuthorize=false;\n// this.AddEditBulkApprovalLabel=false;\n// }\n}\nUncheckAllcheckbox(){\n this.UserSelected=false;\n this.AddEditBulkApprovalLabel=false;\n for (var i = 0; i < this.FilteredUserList.length; i++) {\n this.FilteredUserList[i].IsUserSelected = false;\n //this.checkedBulkList.push(this.allUsers[i]);\n }\n for (var i = 0; i < this.FilterExportUsers.length; i++) {\n this.FilterExportUsers[i].IsUserSelected = false;\n //this.checkedBulkList.push(this.allUsers[i]);\n }\n // this.checkedList = JSON.stringify(this.checkedBulkList);\n\n}\n//---------pagination dropdown---------------------------------\nfnShowonchange(newObj,UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy){\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = newObj.target.value;\n this.ddlshowStartValue = 1;\n this.currentPage = 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder,\"1\");\n}\n\nhideerror(){\n this.showerrormsg = false;\n}\n\n//navigate to upload user\nAddbullkUser() {\n \n this.router.navigate(['/UploadBullkUser']);\n}\n\n// this lone for download PDF\n@ViewChild('tblUserMasterhide') tblUserMasterhide:ElementRef;\nfndownloadReport(ddlValue){ \n if(this.FilterExportUsers.length == 0 || this.FilterExportUsers == null || this.FilterExportUsers == undefined){\n this._spinner.show(); \n this._userService.fnGetUserListForExport(localStorage.getItem('LoginUserId')).subscribe(Users=>{\n this.ExportUsers = Users;\n for(var i = 0; i < this.ExportUsers.length; i++){ \n this.ExportUsers[i].RoleName=this.decryptUsingAES256(this.ExportUsers[i].RoleName);\n this.ExportUsers[i].RoleNames=this.decryptUsingAES256(this.ExportUsers[i].RoleNames);\n }\n this.FilterExportUsers = this.ExportUsers;\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportForUser(ddlValue);\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n }); \n}\nelse{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportForUser(ddlValue);\n this._spinner.hide();\n }, 500);\n }\n} // fun closing\n\nExportForUser(ddlValue){\n if(ddlValue === \"excel\"){\n this.fileName= 'UserMasterReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblUserMasterhide.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n \n // if(ddlValue === \"pdf\"){\n // this._spinner.show();\n // debugger\n // this.fileName = 'UserMasterReport.pdf';\n // $(\"#dvUserMasterhide\").css(\"display\", \"block\");\n // var data = document.getElementById('tblUserMasterhide'); \n // html2Canavas(data).then(canvas => { \n // // Few necessary setting options \n // var imgWidth = 208; \n // var pageHeight = 295; \n // var imgHeight = canvas.height * imgWidth / canvas.width; \n // var heightLeft = imgHeight; \n // setTimeout(function(){\n // $(\"#dvUserMasterhide\").css(\"display\", \"none\"); \n // }, 100);\n // const contentDataURL = canvas.toDataURL('image/png') \n // let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n // var position = 0; \n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n // pdf.save(this.fileName); // Generated PDF \n // this._spinner.hide();\n // }); \n // }\n\n if(ddlValue === \"rtf\"){\n this.fileName = 'UserMasterReport.rtf';\n var ele = document.getElementById('tblUserMasterhidertf');\n var blob = new Blob([\"

User Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'UserMasterReport.html'; \n var ele = document.getElementById('tblUserMasterhide');\n var blob = new Blob([\"

User Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n}\n\n@ViewChild('tblUserMasterhidepdf', {static: false}) tblUserMasterhidepdf: ElementRef;\nfndownloadReportPdf(ddlValue){\n if(this.FilterExportUsers.length == 0 || this.FilterExportUsers == null || this.FilterExportUsers == undefined){\n this._spinner.show(); \n this._userService.fnGetUserListForExport(localStorage.getItem('LoginUserId')).subscribe(Users=>{\n this.ExportUsers = Users;\n for(var i = 0; i < this.ExportUsers.length; i++){ \n this.ExportUsers[i].RoleName=this.decryptUsingAES256(this.ExportUsers[i].RoleName);\n this.ExportUsers[i].RoleNames=this.decryptUsingAES256(this.ExportUsers[i].RoleNames);\n }\n this.FilterExportUsers = this.ExportUsers;\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportUserPDF(ddlValue);\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n }); \n}\nelse{\n this._spinner.show(); \n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportUserPDF(ddlValue);\n this._spinner.hide();\n }, 500);\n}\n}\nExportUserPDF(ddlValue){\n if(ddlValue === \"pdf\"){\n let DATA = this.tblUserMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblUserMasterhidepdf');\n let doc = new jsPDF('l','mm',[2700,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

User Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('UserMasterReport.pdf');\n \n }\n}\n// Sorting user master data\nfnSortUserMaster(field,obj) {\n debugger;\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableUserMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableUserMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredUserList = this.FilteredUserList.sort((a, b) => {\n if(field ==='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n });\n } else {\n this.FilteredUserList = this.FilteredUserList.sort((a, b) => {\n if(field ==='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n }\n });\n }\n}\n\nonKeyDown(event: KeyboardEvent) {\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\nreturn a;\n}\n\n\ncheckDateValidity(date){ \n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n \n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else{\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError\n } \n //---------------Bulk Authorize--------------------------------------------------------\n checkUncheckAllBulkApproval(){\n if(this.FilterExportUsers.length == 0 || this.FilterExportUsers == null || this.FilterExportUsers == undefined){\n this._spinner.show(); \n this._userService.fnGetUserListForExport(localStorage.getItem('LoginUserId')).subscribe(Users=>{\n this.ExportUsers = Users;\n for(var i = 0; i < this.ExportUsers.length; i++){\n if(this.ExportUsers[i].CreatedBy== this.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportUsers[i].IsUserDisabled = true;\n }\n }\n this.FilterExportUsers = this.ExportUsers;\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportAllCheckbox();\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n }); \n }\n else{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportAllCheckbox();\n this._spinner.hide();\n }, 500);\n }\n\n// if (this.FilteredUserList.length > 0) {\n// for (var i = 0; i < this.FilteredUserList.length; i++) {\n// this.FilteredUserList[i].IsUserSelected = this.UserSelected; \n// }\n// }\n// if(this.UserSelected==true){\n// this.AddEditBulkApprovalLabel=true;\n// }\n// else{\n// this.AddEditBulkApprovalLabel=false;\n// }\n}\nExportAllCheckbox(){\n this.UserSelected != this.UserSelected;\n if (this.FilteredUserList.length > 0) {\n for (var i = 0; i < this.FilteredUserList.length; i++) {\n if(this.FilteredUserList[i].IsUserDisabled != true){\n this.FilteredUserList[i].IsUserSelected = this.UserSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allUsers[i].IsUserDisabled != true){\n this.allUsers[i].IsUserSelected = this.UserSelected; \n }\n }\n }\n if (this.FilterExportUsers.length > 0) {\n for (var j = 0; j < this.FilterExportUsers.length; j++) {\n if(this.FilterExportUsers[j].IsUserDisabled != true){\n this.FilterExportUsers[j].IsUserSelected = this.UserSelected; \n }\n }\n }\n else\n {\n for (var j = 0; j < this.ExportUsers.length; j++) {\n if(this.ExportUsers[j].IsUserDisabled != true){\n this.ExportUsers[j].IsUserSelected = this.UserSelected; \n }\n }\n }\nthis.getCheckedBulkAuthorize();\n}\nIsBulkAutherizeCheck(UserId,status){\n if(this.FilterExportUsers.length == 0 || this.FilterExportUsers == null || this.FilterExportUsers == undefined){\n this._spinner.show(); \n this._userService.fnGetUserListForExport(localStorage.getItem('LoginUserId')).subscribe(Users=>{\n this.ExportUsers = Users;\n for(var i = 0; i < this.ExportUsers.length; i++){\n if(this.ExportUsers[i].CreatedBy== this.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.ExportUsers[i].IsUserDisabled = true;\n }\n }\n this.FilterExportUsers = this.ExportUsers;\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportOneCheckbox(UserId,status);\n this._spinner.hide();\n }, 500);\n },(err)=>{\n this.router.navigate([\"404\"]);\n }); \n}\nelse{\n this._spinner.show();\n this.IsComingFromExport = true;\n this.OnSearch( this._userService.formData.FirstName, this._userService.formData.EmailId,this._userService.formData.MobileNumber,\n this._userService.formData.IsActive, this._userService.formData.CreatedDate, this._userService.formData.UserTypedesc,\n this._userService.formData.RequestType, this._userService.formData.CreatedName);\n setTimeout(() => {\n this.ExportOneCheckbox(UserId,status);\n this._spinner.hide();\n }, 500);\n }\n //status!= this.UserSelected ;\n \n// for (var i = 0; i < this.listLengthForSelect; i++) {\n// if(this.FilteredUserList[i].IsUserSelected == true){\n// this.AddEditBulkApprovalLabel=true;\n// } \n// }\n} \nExportOneCheckbox(UserId,status){\n for (var i = 0; i < this.FilteredUserList.length; i++) {\n if(this.FilteredUserList[i].UserId==UserId){\n this.FilteredUserList[i].IsUserSelected = status; \n }\n} \nfor (var j = 0; j < this.FilterExportUsers.length; j++) {\n if(this.FilterExportUsers[j].UserId==UserId){\n this.FilterExportUsers[j].IsUserSelected = status; \n }\n} \nthis.getCheckedBulkAuthorize();\n} \ngetCheckedBulkAuthorize(){\n // this.checkedBulkList = [];\n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.allUsers[i].IsUserSelected == true)\n // this.checkedBulkList.push(this.allUsers[i]);\n // }\n // this.checkedList = JSON.stringify(this.checkedBulkList);\n\n // if(this.checkedBulkList.length >= 1){\n // this.AddEditBulkApprovalLabel=true; }\n // else{\n // this.AddEditBulkApprovalLabel=false;\n // }\n this.checkedBulkList = [];\n for (var i = 0; i < this.FilterExportUsers.length; i++) {\n if(this.FilterExportUsers[i].IsUserSelected == true)\n this.checkedBulkList.push(this.FilterExportUsers[i]);\n }\n this.checkedList = this.checkedBulkList;\n if(this.checkedBulkList.length >= 1){\n this.AddEditBulkApprovalLabel=true; }\n else{\n this.AddEditBulkApprovalLabel=false;\n }\n}\nApproved(){\n \n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Approve\"\n this.AuthorizeStatus=2;\n this._userService.formData.RequestType = \"\";\n this._userService.formData.IsActive = \"1\";\n}\n\nRejectd(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Reject\";\n this.AuthorizeStatus=3;\n this._userService.formData.RequestType = \"\";\n this._userService.formData.IsActive = \"1\";\n}\nselectUserList:any[];\nBulkAuthorizeConfirm(){\n \n this.selectUserList=[];\n \n for(var i=0;i0){\n this._userService.fnBulkUserAuthorize(this.selectUserList,localStorage.getItem('LoginUserId'),this.AuthorizeStatus).subscribe(res => { \n this.fnGetAllUserDetails('','','','1','','','','',this.sortOrder,\"1\");\n this.pageNumber=[];\n this.pageNumber[0] = true; \n this.AddEditBulkApprovalLabel=false;\n this.showModalForAllDelete=false;\n this.onTop();\n this.showMsg=true;\n this.lblMessage=\"Bulk Authorize Completed For All Selected Records Succesfully\";\n //this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n } \n} \n//---------------Bulk Authorize-------------------------------------------------------- \n\nfnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n}\nfnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n}\n//--------------------Pagination Start --------------------------------------\npageNo: any = 1; \npageNumber: boolean[] = []; \nsortOrder: any = 'CreatedDate_DESC'; \norder:any='CreatedDate';\n\npageField = []; \nexactPageList: any; \npaginationData: number; \norderBy: string='Desc'; \n\ntotalCount: any; \ncurrentPage = 1; \nComingFromLast:boolean = false;\nComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \n if(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n }\n if(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n } \n this.filterCount = this.totalCount;\n this.paginationData = Number(this.totalCount/this.config.itemsPerPage); \n let tempPageData = this.paginationData.toFixed(); \n if (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n } else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n }\n if(this._PaginationService.exactPageList < 10){\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n }\n else{\n // this._PaginationService.temppage = 0;\n this._PaginationService.pageNumberShow = 10;\n } \n this._PaginationService.pageOnLoad(); \n this.pageField = this._PaginationService.pageField; \n\n if(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n }\n} \n\nsortByHeading(value: string, id,UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy ) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableUserMst(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableUserMst(id,false); \n } \n\n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder); \n this.pageChanged(this.pageNo); \n\n} \n\nshowFirstPage(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy){\n // if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n // this.pageNumber = []; \n // this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n // } \n}\n\nshowPrevAccounts(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy) { \n if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder); \n this.pageChanged(this.pageNo); \n } \n\n}\n\nshowAccountsByPageNumber(page, i,UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy) { \n //this.FilteredUserList = []; \n this.pageNumber = []; \n this.pageNumber[i] = true; \n this.pageNo = page; \n this.currentPage =page; \n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n\nshowNext(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy) { \n\n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0]; \n\n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder);\n this.pageChanged(this.pageNo); \n } \n} \n\nshowLastPage(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy){\n //if(this._PaginationService.disabledNextBtn == false){\n \n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n \n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n \n if(date == null || date == undefined || date == \"\")\n date = \"\"; \n else if (date != null && date!=\"\") {\n date = this.ngbDateParserFormatter.format(date.singleDate.date);\n }\n this.fnGetAllUserDetails(UserName,Email,Phone,Status,date,usertype,requestType,CreatedBy,this.sortOrder);\n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n // }\n}\n\nAuthorize(User: UserMaster){\n localStorage.setItem('localUserId', JSON.stringify(User.UserId));\n localStorage.setItem('UserDataId',String( User.UserId));\n localStorage.setItem('UserViewMode',String(\"authorize\"));\n this._userService.formData = User;\n this.router.navigate(['/UserMaster']);\n }\n}","\n
\n
\n\n
\n
\n

User Master

\n
\n
\n\n
\n\n

\n
\n
\n ×\n Error! {{lblMessage}}.\n
\n
\n\n
\n\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n
\n\n
\n ×\n {{lblMessage}}.\n
\n\n
\n
\n \n
\n\n
\n \n \n\n
\n Please Enter valid First Name\n
\n\n
\n\n
\n \n \n\n
\n Please Enter valid email address\n
\n\n
\n\n
\n \n \n\n
\n Please Enter valid Phone Number\n
\n\n
\n
\n \n
\n \n
\n \n \n\n
\n Please Enter valid Name\n
\n \n
\n\n
\n \n\n
\n \n \n\n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n\n
\n Created Date should be less than or equal to current date\n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n\n \n\n \n \n
\n
\n \n
\n
\n\n
\n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n
\n\n \n
\n
\n \n \n\n
\n
\n \n \n\n
\n
\n
\n \n
\n \n
\n \n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
User NameEmailPhoneRoleRequest TypeStatusCreated ByCreated / Updated Date & TimeUser Type \n Action\n \n \n
\n \n \n
\n
{{users.UserName}}{{users.EmailId}}{{users.MobileNumber}}{{users.RoleName}}{{users.RequestType}}{{users.IsActive}}{{users.CreatedName}}{{users.CreatedDate}}{{users.UserTypedesc}}\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n \n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
No records found.
\n
\n
\n \n \n
\n \n
\n \n \n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n \n
\n
\n
\n
\n \n
\n \" class=\"nav-link\" class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\" \n style=\"margin-top: 0em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" \n aria-expanded=\"false\"/>\n \n \n
\n \n
\n\n \n\n
\n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
StatusFirst Name Middle NameLast Name Gender Birth Date Email IdMobile NumberOther NumberTransaction Limit Role User Type User NameCreated ByCreated DateUpdated ByUpdated Date
{{users.IsActive}}{{users.FirstName}}{{users.MiddleName}}{{users.LastName}}{{users.Gender}}{{users.formatedBithDate}}{{users.EmailId}}{{users.MobileNumber}}{{users.AltMobileNumber}}{{users.TransactionLimit}}{{users.RoleName}}{{users.UserTypedesc}}{{users.UserTypeName}}{{users.CreatedName}}{{users.CreatedDate}}{{users.UpdatedName}}{{users.UpdatedDate}}
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
User NameEmailPhoneRoleRequest TypeStatusCreated ByCreated Date & TimeUser Type
{{users.UserName}}{{users.EmailId}}{{users.MobileNumber}}{{users.RoleName}}{{users.RequestType}}{{users.IsActive}}{{users.CreatedName}}{{users.CreatedDate}}{{users.UserTypedesc}}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
User NameEmailPhoneRoleRequest TypeStatusCreated ByCreated Date & TimeUser Type
{{users.UserName}}{{users.EmailId}}{{users.MobileNumber}}{{users.RoleName}}{{users.RequestType}}{{users.IsActive}}{{users.CreatedName}}{{users.CreatedDate}}{{users.UserTypedesc}}
\n\n
\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to {{ConfirmationMsg}} All Selected Records?

\n
\n
\n \n \n
\n
\n
\n
\n\n \n ","import { Component, OnInit } from '@angular/core';\nimport { RoleService} from '../../MasterService/role.service';\nimport { RoleMaster , RoleCreatedUpdated} from '../../MasterService/role-master';\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport {Constants } from 'src/app/Common/constant';\nimport {ActivatedRoute,Router} from \"@angular/router\";\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { threadId } from 'worker_threads';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Component({\n selector: 'app-role-master',\n templateUrl: './role-master.component.html',\n styleUrls: ['./role-master.component.css']\n})\nexport class RoleMasterComponent implements OnInit {\n\n moduleListLength:0;\n\n IsAddSelected:any;\n IsEditSelected:any;\n IsViewSelected:any;\n IsDeleteSelected:any;\n IsCheckerSelected:any;\n IsImportSelected:any;\n IsExportSelected:any;\n\n disableButton: boolean;\n viewMode:boolean;\n\n showModal: boolean;\n lblMessage:string;\n\n ModuleList:any = [];\n\n FilteredModuleList:any = [];\n\n checkedList:any;\n\n CheckListLength:0;\n\n showMsg:boolean;\n showerrormsg:boolean;\n config: any;\n editMode:string;\n showValidation:boolean;\n \n\n\n RoleCreatedUpdated1:RoleCreatedUpdated[];\n createdBy:number;\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n disableClear:boolean=false;\n HiddenClr:boolean=false;\n editedRoleId:number=0;\n roleFlag:string;\n IsValidFlag:boolean;\n ErrorMsg: string;\n editRoleName: string;\n editRoleStatus: string;\n EditStatus: string;\n IsSweepExecuteSelected: boolean;\n \n constructor(public _roleService:RoleService , private httpService : HttpClient, private route:ActivatedRoute, private router:Router, \n public _spinner:NgxSpinnerService, public _encreptdecrept:EncryptdecryptService) { }\n\n ngOnInit(): void {\n debugger;\n // If LoginUserId is null then it will return\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n \n this._spinner.show();\n this.editedRoleId = +localStorage.getItem('RoleDataId');\n this.roleFlag = localStorage.getItem('RoleFlag');\n this.editRoleName = localStorage.getItem('RoleDataName');\n this.editRoleStatus = localStorage.getItem('RoleDataStatus');\n\n \n \n if(this.editedRoleId == undefined) \n this.editedRoleId=0;\n this.disableButton = false;\n\n if(this.editedRoleId > 0){\n // Getting role data from database\n this.fnGetRoleName(this.editedRoleId);\n // Getting created and updated history\n this.fnGetCreatedNUpdatedRole(this.editedRoleId);\n\n if(this.roleFlag == 'edit'){\n this.lblTitle=\"Edit Role Master\";\n this.disableClear = true;\n this.HiddenClr = true;\n this.btnTitle=\"Update\";\n }\n else if(this.roleFlag == 'view'){\n this.lblTitle=\"View Role Master\";\n this.disableButton = true;\n this.viewMode = true;\n }\n\n }\n else{\n this._roleService.formData = {\n roleID:0,\n roleName:'',\n Status:'0',\n isActive:'0',\n msg:'' ,\n lblTitle:'Add Role Master',\n btnTitle:'Submit',\n DateCreated:'',\n CreatedDate:'',\n CreatedName:'',\n IsRoleSelected:false\n\n }\n this.lblTitle=\"Add Role Master\";\n this.btnTitle=\"Submit\";\n }\n // Getting all role data from database\n this.fnGetAllRole();\n \n this.route.queryParams.subscribe(params => {\n this.editMode = params[\"flag\"];\n });\n\n if(this.editMode=='view'){\n this.disableButton=true; \n }\n\n this.config = {\n itemsPerPage: 5,\n currentPage: 1,\n };\n\n this.lblMessage = localStorage.getItem(\"Msg\");\n if (this.lblMessage == null || this.lblMessage == \"\") {\n this.onTop();\n }else{\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n \n }\n\n omit_special_char(event){ \n this.showMsg = false;\n this.showerrormsg = false;\n }\n\n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n showlbl(){this.showMsg = true; }\n hidelbl(){this.showMsg = false;}\n showerror(){this.showerrormsg = true;}\n hideerror(){this.showerrormsg = false;}\n showValidationmsg(){this.showValidation = true;}\n hideValidationmsg(){this.showValidation = false;}\n\n // page changed event called\n pageChanged(event) {\n debugger;\n this.config.currentPage = event;\n }\n // To reset form\n resetForm(form?: NgForm) {\n debugger\n if (this.roleFlag == 'edit' && this.editedRoleId > 0) { \n if (form != null) \n this.onTop();\n \n //form.resetForm();\n this._roleService.formData = {\n roleID:this.editedRoleId,\n roleName:this.editRoleName,\n Status:this.editRoleStatus,\n msg:'' ,\n lblTitle:'Edit Role Master',\n btnTitle:'Submit',\n isActive: this.editRoleStatus,\n DateCreated:'',\n CreatedDate:'',\n CreatedName:'',\n IsRoleSelected:false\n }\n for (var i = 0; i < this.ModuleList.length; i++) {\n this.ModuleList[i].Add = 0;\n this.ModuleList[i].IsAddSelected = false;\n this.ModuleList[i].Edit = 0; \n this.ModuleList[i].IsEditSelected = false;\n this.ModuleList[i].View = 0;\n this.ModuleList[i].IsViewSelected = false;\n this.ModuleList[i].Delete = 0;\n this.ModuleList[i].IsDeleteSelected = false;\n this.ModuleList[i].Checker = 0;\n this.ModuleList[i].IsCheckerSelected = false;\n this.ModuleList[i].Import = 0;\n this.ModuleList[i].IsImportSelected = false;\n this.ModuleList[i].Export = 0;\n this.ModuleList[i].IsExportSelected = false;\n this.ModuleList[i].SweepExecute = 0;\n this.ModuleList[i].IsSweepExecuteSelected = false;\n }\n this.showMsg=false;\n this.showerrormsg = false;\n \n }\n else{\n if (form != null) \n form.resetForm();\n this._roleService.formData = {\n roleID:0,\n roleName:'',\n Status:'0',\n msg:'' ,\n lblTitle:'Add Role Master',\n btnTitle:'Submit',\n isActive:'0' ,\n DateCreated:'',\n CreatedDate:'',\n CreatedName:'',\n IsRoleSelected :false\n }\n }\n }\n // after submit page refresh method is called\n fnPageRefresh(form){\n if (this.roleFlag == 'edit' && this.editedRoleId > 0) { \n this.resetForm(form);\n this.onTop();\n } \n else {\n this.resetForm(form)\n // this.onTop();\n // document.location.reload();\n \n setTimeout(function(){\n this.document.location.reload();\n }, 1000);\n }\n }\n // Getting all role data\n fnGetAllRole(){ \n var id = +localStorage.getItem('RoleDataId'); \n if(id ===0)\n id=0;\n this._roleService.fnGetModule(id.toString()).subscribe(data=>{\n this.ModuleList = data;\n debugger;\n this.moduleListLength = this.ModuleList.length; \n this.FilteredModuleList = this.ModuleList; \n this._spinner.hide();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n // Getting role data based on id\n fnGetRoleName(editedroleid:number){ \n if(editedroleid >0){\n this._roleService.fnGetAllRoleMaster(editedroleid.toString()).subscribe(data=>{\n this._roleService.formData=data[0]; \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n // this.fnGetAllRole();\n }\n this._spinner.hide();\n }\n // If add is checked then it is called\n isAddChecked(id,val,isChecked){\n this.IsAddSelected = !isChecked;\n for (var i = 0; i < this.ModuleList.length; i++) {\n ///moduleListLength changes to -ModuleList.length; --Rubina 7:35PM\n\n if(this.ModuleList[i].ModuleId == id && val == 1 && this.IsAddSelected == true){\n this.ModuleList[i].Add = 1;\n this.ModuleList[i].IsAddSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 1 && this.IsAddSelected == false){\n this.ModuleList[i].Add = 0;\n this.ModuleList[i].IsAddSelected = false;\n } \n if(this.ModuleList[i].ModuleId == 27 && id == 27 && val==1) {\n if(this.ModuleList[i].IsCheckerSelected == true && id == 27){\n this.ModuleList[i].Checker = 0;\n this.ModuleList[i].IsCheckerSelected = false;\n }\n } \n }\n this.getCheckedItemList();\n }\n // If edit is checked then it is called\n isEditChecked(id,val,isChecked){\n this.IsEditSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n ///moduleListLength changes to -ModuleList.length; --Rubina 7:35PM\n\n\n if(this.ModuleList[i].ModuleId == id && val == 2 && this.IsEditSelected == true){\n this.ModuleList[i].Edit = 1;\n this.ModuleList[i].IsEditSelected = true;\n }\n \n if(this.ModuleList[i].ModuleId == id && val == 2 && this.IsEditSelected == false){\n this.ModuleList[i].Edit = 0; \n this.ModuleList[i].IsEditSelected = false;\n } \n }\n this.getCheckedItemList();\n }\n // If view is checked then it is called\n isViewChecked(id,val,isChecked){\n this.IsViewSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n\n if(this.ModuleList[i].ModuleId == id && val == 3 && this.IsViewSelected == true){\n this.ModuleList[i].View = 1;\n this.ModuleList[i].IsViewSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 3 && this.IsViewSelected == false){\n this.ModuleList[i].View = 0;\n this.ModuleList[i].IsViewSelected = false;\n } \n }\n this.getCheckedItemList();\n }\n// If delete is checked then it is called\n isDeleteChecked(id,val,isChecked){\n this.IsDeleteSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n\n if(this.ModuleList[i].ModuleId == id && val == 4 && this.IsDeleteSelected == true){\n this.ModuleList[i].Delete = 1;\n this.ModuleList[i].IsDeleteSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 4 && this.IsDeleteSelected == false){\n this.ModuleList[i].Delete = 0;\n this.ModuleList[i].IsDeleteSelected = false;\n } \n }\n this.getCheckedItemList();\n }\n// If checker is checked then it is called\n isCheckerChecked(id,val,isChecked){\n this.IsCheckerSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n\n if(this.ModuleList[i].ModuleId == id && val == 5 && this.IsCheckerSelected == true){\n this.ModuleList[i].Checker = 1;\n this.ModuleList[i].IsCheckerSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 5 && this.IsCheckerSelected == false){\n this.ModuleList[i].Checker = 0;\n this.ModuleList[i].IsCheckerSelected = false;\n } \n if(this.ModuleList[i].ModuleId == 27 && id == 27 && val==5) {\n if(this.ModuleList[i].IsAddSelected == true && id == 27){\n this.ModuleList[i].Add = 0;\n this.ModuleList[i].IsAddSelected = false;\n }\n } \n }\n this.getCheckedItemList();\n }\n// If import is checked then it is called\n isImportChecked(id,val,isChecked){\n this.IsImportSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n\n if(this.ModuleList[i].ModuleId == id && val == 6 && this.IsImportSelected == true){\n this.ModuleList[i].Import = 1;\n this.ModuleList[i].IsImportSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 6 && this.IsImportSelected == false){\n this.ModuleList[i].Import = 0;\n this.ModuleList[i].IsImportSelected = false;\n } \n }\n this.getCheckedItemList();\n }\n// If export is checked then it is called\n isExportChecked(id,val,isChecked){\n this.IsExportSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n\n if(this.ModuleList[i].ModuleId == id && val == 7 && this.IsExportSelected == true){\n this.ModuleList[i].Export = 1;\n this.ModuleList[i].IsExportSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 7 && this.IsExportSelected == false){\n this.ModuleList[i].Export = 0;\n this.ModuleList[i].IsExportSelected = false;\n } \n }\n this.getCheckedItemList();\n }\n // If sweep is checked then it is called\n isSweepExecuteChecked(id,val,isChecked){\n debugger\n this.IsSweepExecuteSelected = !isChecked;\n \n for (var i = 0; i < this.ModuleList.length; i++) {\n\n if(this.ModuleList[i].ModuleId == id && val == 8 && this.IsSweepExecuteSelected == true){\n this.ModuleList[i].SweepExecute = 1;\n this.ModuleList[i].IsSweepExecuteSelected = true;\n }\n if(this.ModuleList[i].ModuleId == id && val == 8 && this.IsSweepExecuteSelected == false){\n this.ModuleList[i].SweepExecute = 0;\n this.ModuleList[i].IsSweepExecuteSelected = false;\n } \n }\n this.getCheckedItemList();\n }\n//Getting all items in list which is selected\n getCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.ModuleList.length; i++) {\n ///moduleListLength changes to -ModuleList.length; --Rubina 7:35PM\n if(this.ModuleList[i].IsAddSelected == true || this.ModuleList[i].IsEditSelected == true || this.ModuleList[i].IsViewSelected == true ||\n this.ModuleList[i].IsDeleteSelected == true || this.ModuleList[i].IsCheckerSelected == true || this.ModuleList[i].IsImportSelected == true \n || this.ModuleList[i].IsExportSelected == true || this.ModuleList[i].IsSweepExecuteSelected == true )\n this.checkedList.push(this.ModuleList[i]);\n }\n\n this.checkedList = JSON.stringify(this.checkedList);\n this.CheckListLength = this.checkedList.length;\n\n if(this.checkedList.length!= 0){\n this.hideValidationmsg();\n }\n else{\n this.showValidationmsg();\n }\n }\n lblTitle:string;\n btnTitle:string;\n // submitting form data into database\n onSubmit(form: NgForm) {\n var roleName = this._roleService.formData.roleName;\n roleName = roleName.replace(/\\s/g, \"\");\n if (roleName == \"\") {\n this._roleService.formData.roleName = roleName;\n }\n if (this._roleService.formData.roleName == \"\") {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else {\n if (form.valid) {\n this.disableButton = true;\n }\n this.IsValidFlag = true;\n var postData = {};\n\n if(form.value[\"roleID\"] == null)\n form.value[\"roleID\"] = 0;\n \n postData[\"roleID\"] = form.value[\"roleID\"];\n postData[\"roleName\"] = form.value[\"roleName\"];\n postData[\"isActive\"] = form.value[\"Status\"];\n postData[\"userId\"] = this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n\n this._roleService.fnRoleNameduplicate(form.value[\"roleName\"],form.value[\"roleID\"]).subscribe(data=>{\n if (data == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.ErrorMsg=\"Error!\"\n this.lblMessage = 'Role Name Already Exists';\n this.onTop();\n this.disableButton = false;\n this.IsValidFlag = false;\n }\n else{\n /*Start check Duplicate fun*/\n if (this.editedRoleId === 0) {\n // this.IsValidFlag = false;\n var RoleList = [];\n\n for (var i = 0; i < this.ModuleList.length; i++) {\n var roleObj = {};\n\n if(this.ModuleList[i].IsAddSelected == true || this.ModuleList[i].IsEditSelected == true || this.ModuleList[i].IsViewSelected == true ||\n this.ModuleList[i].IsDeleteSelected == true || this.ModuleList[i].IsCheckerSelected == true || this.ModuleList[i].IsImportSelected == true\n || this.ModuleList[i].IsExportSelected == true || this.ModuleList[i].IsSweepExecuteSelected == true){\n roleObj[\"moduleID\"] = this.ModuleList[i].ModuleId;\n roleObj[\"Add\"] = this.ModuleList[i].Add;\n roleObj[\"Edit\"] = this.ModuleList[i].Edit;\n roleObj[\"View\"] = this.ModuleList[i].View;\n roleObj[\"Delete\"] = this.ModuleList[i].Delete;\n roleObj[\"Checker\"] = this.ModuleList[i].Checker;\n roleObj[\"Import\"] = this.ModuleList[i].Import;\n roleObj[\"Export\"] = this.ModuleList[i].Export;\n roleObj[\"SweepExecute\"] = this.ModuleList[i].SweepExecute;\n RoleList.push(roleObj);\n }\n }\n\n postData[\"roleModules\"] = RoleList;\n\n if(RoleList.length != 0){\n this._roleService.fnInsertUpdateRole(postData).subscribe(data=>{\n this.lblMessage = data.roleName + \" \" + data.msg;\n // this._roleService.formData.roleID = data.roleID;\n // this.editedRoleId = this._roleService.formData.roleID;\n this.showMsg = true;\n this.showerrormsg = false;\n this.hideValidationmsg();\n \n this.disableButton = false;\n //this.disableClear=false;\n if(this.editedRoleId > 0){\n this.fnGetCreatedNUpdatedRole(this.editedRoleId);\n this.onTop(); \n }\n else{\n // form.resetForm();\n this.fnPageRefresh(form);\n this.lblMessage=data.roleName+ \" \"+ data.msg;\n localStorage.setItem(\"Msg\",this.lblMessage);\n this.onTop(); \n \n form.value[\"roleID\"] = 0;\n postData = {};\n for (var i = 0; i < this.ModuleList.length; i++) {\n this.ModuleList[i].Add = 0;\n this.ModuleList[i].IsAddSelected = false;\n this.ModuleList[i].Edit = 0; \n this.ModuleList[i].IsEditSelected = false;\n this.ModuleList[i].View = 0;\n this.ModuleList[i].IsViewSelected = false;\n this.ModuleList[i].Delete = 0;\n this.ModuleList[i].IsDeleteSelected = false;\n this.ModuleList[i].Checker = 0;\n this.ModuleList[i].IsCheckerSelected = false;\n this.ModuleList[i].Import = 0;\n this.ModuleList[i].IsImportSelected = false;\n this.ModuleList[i].Export = 0;\n this.ModuleList[i].IsExportSelected = false;\n this.ModuleList[i].SweepExecute = 0;\n this.ModuleList[i].IsSweepExecuteSelected = false;\n }\n // this._roleService.formData.isActive = '0';\n }\n },\n (error)=>{\n debugger;\n this.showMsg = false;\n //this.showerrormsg = true;\n //this.lblMessage = 'An error occured.';\n this.onTop();\n this.disableButton = false;\n // this.disableClear=false;\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this.disableButton = false;\n // this.disableClear=false;\n this.showValidationmsg();\n this.lblMessage= \"Please select Module\";\n this.showerrormsg = true;\n this.showMsg=false;\n this.onTop();\n }\n }\n \n else if (this.editedRoleId > 0 && form.value[\"Status\"] === \"0\") {\n this._roleService.fnRoleInUsed(this.editedRoleId.toString()).subscribe(data=>{\n\n if (data == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'This role is in used You can not set InActive';\n this.onTop();\n this.disableButton = false;\n this.IsValidFlag = false;\n }\n else{\n var RoleList = [];\n\n for (var i = 0; i < this.ModuleList.length; i++) {\n var roleObj = {};\n\n if(this.ModuleList[i].IsAddSelected == true || this.ModuleList[i].IsEditSelected == true || this.ModuleList[i].IsViewSelected == true ||\n this.ModuleList[i].IsDeleteSelected == true || this.ModuleList[i].IsCheckerSelected == true || this.ModuleList[i].IsImportSelected == true\n || this.ModuleList[i].IsExportSelected == true || this.ModuleList[i].IsSweepExecuteSelected == true){\n roleObj[\"moduleID\"] = this.ModuleList[i].ModuleId;\n roleObj[\"Add\"] = this.ModuleList[i].Add;\n roleObj[\"Edit\"] = this.ModuleList[i].Edit;\n roleObj[\"View\"] = this.ModuleList[i].View;\n roleObj[\"Delete\"] = this.ModuleList[i].Delete;\n roleObj[\"Checker\"] = this.ModuleList[i].Checker;\n roleObj[\"Import\"] = this.ModuleList[i].Import;\n roleObj[\"Export\"] = this.ModuleList[i].Export; \n roleObj[\"SweepExecute\"] = this.ModuleList[i].SweepExecute;\n RoleList.push(roleObj);\n }\n }\n postData[\"roleModules\"] = RoleList;\n\n \n if(RoleList.length != 0){\n debugger;\n this._roleService.fnInsertUpdateRole(postData).subscribe(data=>{\n this.lblMessage=data.roleName + \" \" + data.msg;\n //this._roleService.formData.roleID = data.roleID;\n //this.editedRoleId = this._roleService.formData.roleID;\n this.showMsg = true;\n this.showerrormsg = false;\n this.hideValidationmsg();\n \n this.disableButton = false;\n //this.disableClear=false;\n\n if(this.editedRoleId > 0){\n this.fnGetCreatedNUpdatedRole(this.editedRoleId);\n this.onTop(); \n }\n else{\n // form.resetForm();\n this.fnPageRefresh(form);\n this.lblMessage=data.roleName+ \" \"+ data.msg;\n localStorage.setItem(\"Msg\",this.lblMessage);\n this.onTop(); \n \n form.value[\"roleID\"] = 0;\n postData = {};\n for (var i = 0; i < this.ModuleList.length; i++) {\n this.ModuleList[i].Add = 0;\n this.ModuleList[i].IsAddSelected = false;\n this.ModuleList[i].Edit = 0; \n this.ModuleList[i].IsEditSelected = false;\n this.ModuleList[i].View = 0;\n this.ModuleList[i].IsViewSelected = false;\n this.ModuleList[i].Delete = 0;\n this.ModuleList[i].IsDeleteSelected = false;\n this.ModuleList[i].Checker = 0;\n this.ModuleList[i].IsCheckerSelected = false;\n this.ModuleList[i].Import = 0;\n this.ModuleList[i].IsImportSelected = false;\n this.ModuleList[i].Export = 0;\n this.ModuleList[i].IsExportSelected = false;\n this.ModuleList[i].SweepExecute = 0;\n this.ModuleList[i].IsSweepExecuteSelected = false;\n }\n // this._roleService.formData.isActive = '0';\n }\n },\n (error)=>{\n debugger;\n this.showMsg = false;\n //this.showerrormsg = true;\n //this.lblMessage = 'An error occured.';\n this.onTop();\n this.disableButton = false;\n // this.disableClear=false;\n this.router.navigate([\"404\"]);\n });\n }\n else{\n this.disableButton = false;\n // this.disableClear=false;\n this.showValidationmsg();\n this.showerrormsg = true;\n this.showMsg=false;\n this.lblMessage= \"Please select Module\";\n this.onTop();\n }\n \n }\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else{\n var RoleList = [];\ndebugger\n;\n for (var i = 0; i < this.ModuleList.length; i++) {\n var roleObj = {};\n\n if(this.ModuleList[i].IsAddSelected == true || this.ModuleList[i].IsEditSelected == true || this.ModuleList[i].IsViewSelected == true ||\n this.ModuleList[i].IsDeleteSelected == true || this.ModuleList[i].IsCheckerSelected == true || this.ModuleList[i].IsImportSelected == true\n || this.ModuleList[i].IsExportSelected == true || this.ModuleList[i].IsSweepExecuteSelected == true){\n roleObj[\"moduleID\"] = this.ModuleList[i].ModuleId;\n roleObj[\"Add\"] = this.ModuleList[i].Add;\n roleObj[\"Edit\"] = this.ModuleList[i].Edit;\n roleObj[\"View\"] = this.ModuleList[i].View;\n roleObj[\"Delete\"] = this.ModuleList[i].Delete;\n roleObj[\"Checker\"] = this.ModuleList[i].Checker;\n roleObj[\"Import\"] = this.ModuleList[i].Import;\n roleObj[\"Export\"] = this.ModuleList[i].Export;\n roleObj[\"SweepExecute\"] = this.ModuleList[i].SweepExecute;\n RoleList.push(roleObj);\n }\n }\n\n postData[\"roleModules\"] = RoleList;\n\n debugger;\n if(RoleList.length != 0){\n this._roleService.fnInsertUpdateRole(postData).subscribe(data=>{\n this.lblMessage= data.roleName + \" \" + data.msg;\n // this._roleService.formData.roleID = data.roleID;\n // this.editedRoleId = this._roleService.formData.roleID;\n this.showMsg = true;\n this.showerrormsg = false;\n this.hideValidationmsg();\n \n this.disableButton = false;\n //this.disableClear=false;\n if(this.editedRoleId > 0){\n this.fnGetCreatedNUpdatedRole(this.editedRoleId);\n this.onTop(); \n }\n else{\n form.resetForm();\n this.fnPageRefresh(form);\n this.lblMessage=data.roleName+ \" \"+ data.msg;\n localStorage.setItem(\"Msg\",this.lblMessage);\n this.onTop(); \n \n form.value[\"roleID\"] = 0;\n postData = {};\n for (var i = 0; i < this.ModuleList.length; i++) {\n this.ModuleList[i].Add = 0;\n this.ModuleList[i].IsAddSelected = false;\n this.ModuleList[i].Edit = 0; \n this.ModuleList[i].IsEditSelected = false;\n this.ModuleList[i].View = 0;\n this.ModuleList[i].IsViewSelected = false;\n this.ModuleList[i].Delete = 0;\n this.ModuleList[i].IsDeleteSelected = false;\n this.ModuleList[i].Checker = 0;\n this.ModuleList[i].IsCheckerSelected = false;\n this.ModuleList[i].Import = 0;\n this.ModuleList[i].IsImportSelected = false;\n this.ModuleList[i].Export = 0;\n this.ModuleList[i].IsExportSelected = false;\n }\n // this._roleService.formData.isActive = '0';\n }\n },\n (error)=>{\n debugger;\n this.showMsg = false;\n //this.showerrormsg = true;\n //this.lblMessage = 'An error occured.';\n this.onTop();\n this.disableButton = false;\n this.router.navigate([\"404\"]);\n // this.disableClear=false;\n });\n }\n else{\n this.disableButton = false;\n // this.disableClear=false;\n this.showValidationmsg();\n this.showerrormsg = true;\n this.showMsg=false;\n this.lblMessage= \"Please select Module\";\n this.onTop();\n }\n }\n }\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n}\n\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n\n BankButton(){\n localStorage.removeItem('RoleDataId');\n localStorage.removeItem('RoleDataName');\n localStorage.removeItem('RoleDataStatus');\n this.router.navigate(['/ManageRole']);\n }\n // Getting created and updated history\n fnGetCreatedNUpdatedRole(roleId :number){\n this._roleService.fnGetCreatedNUpdatedRoleMaster(roleId.toString()).subscribe(userdates=>{\n this.RoleCreatedUpdated1=userdates;\n \n if(this.RoleCreatedUpdated1[0].CreatedDate != ''){\n this.showCreatedDiv=true;\n this.createdDate=this.RoleCreatedUpdated1[0].CreatedDate;\n this.userNameCreated=this.RoleCreatedUpdated1[0].UserName;\n }\n if(this.RoleCreatedUpdated1[1].UpdatedDate != ''){\n this.showUpdatedDiv=true;\n this.usernameUpdte=this.RoleCreatedUpdated1[1].UserName;\n this.updtedDate=this.RoleCreatedUpdated1[1].UpdatedDate;\n }\n\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n// Filtering module from list\n OnSearch(ModuleName){\n debugger;\n this.pageChanged(event);\n\n this.FilteredModuleList = this.ModuleList.filter(row=>{\n return row.ModuleName.toLocaleLowerCase().match(ModuleName.toLocaleLowerCase());\n });\n\n }\n}\n","
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n

\n {{ lblTitle }}\n

\n
\n
\n
\n
\n\n
\n \n \n
\n \n

\n * Marked Fields Are Mandatory.\n

\n
\n
\n \n
\n \n
\n\n
\n \n
\n \n\n
\n
\n\n
\n
\n \n \n
\n \n \n \n\n
\n \n
\n \n
\n \n
\n\n \n\n
\n\n \n\n \n \n \n \n \n \n
\n
\n \n \n \n Modules\n Add\n Edit\n View\n Delete\n Checker\n Import\n Export\n Sweep Execution\n \n \n \n \n {{ _module.ModuleName }}\n \n
\n \n\n \n \n
\n \n \n
\n \n \n
\n \n \n \n \n \n
\n \n \n
\n \n \n
\n \n \n \n \n \n
\n \n \n
\n \n \n\n \n
\n \n \n
\n \n \n\n \n
\n \n \n
\n \n \n
\n \n \n \n No records found\n \n \n \n
\n \n
\n \n \n \n\n
\n
\n \n \n \n \n
\n
\n\n\n \n Created By {{ userNameCreated }} on {{ createdDate }}\n \n \n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n \n \n \n \n \n \n\n\n\n
\n
\n
\n

Confirmation

\n \n ×\n \n
\n
\n {{ lblMessage }}\n
\n
\n \n Close\n \n
\n
\n
\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { ChargesSweepService } from '../../MasterService/charges-sweep.service';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport { SweepCharges, FlatSweepCharges, SweepChargesClass, SweepCreatedUpdated } from 'src/app/MasterService/sweep-charges';\nimport { LoginDetails } from '../../Common/LoginDetail';\nimport { Router } from '@angular/router';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { element } from 'protractor';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Component({\n selector: 'app-sweep-charges-master',\n templateUrl: './sweep-charges-master.component.html',\n styleUrls: ['./sweep-charges-master.component.css']\n})\nexport class SweepChargesMasterComponent implements OnInit {\n requiredFreqency: boolean;\n requiredType: boolean;\n requiredFrom: boolean;\n requiredTo: boolean;\n requiredTotal: boolean;\n\n constructor(public _sweepChargesService: ChargesSweepService, private router: Router, private _spinner: NgxSpinnerService,\n private _roleAccess: RoleAccessService, public _encreptdecrept: EncryptdecryptService) { }\n\n lblMessage: string;\n lblAsperName: string;\n showModal: boolean;\n divhideshow: boolean;\n divFlatFee: boolean;\n divCount: boolean;\n txtRate: boolean = false;\n showMsg: boolean;\n showerrormsg: boolean;\n iChargeId: number;\n divFrequ: boolean;\n divType: boolean;\n IsFlatFromRangeExceed: boolean;\n IsFlatToRangeExceed: boolean;\n IsRateRangeExceed: boolean;\n IsFlatduplicate: boolean = true;\n Rangemsg: string;\n FromRangemsg: string;//Rubina added\n ToRangemsg: string;\n\n RateRangemsg: string;\n _CustId: string;\n _CustName: string;\n IsFreqNull: boolean;\n disableButton: boolean;\n disableStatus: boolean;\n CheckerPrivillage: boolean;\n reviewStatus: number;\n showStatusDiv: boolean = false;\n showApprovalInfo: string;\n buttonvalue: string;\n DecryptUserId: number;\n validStatus: boolean = true;\n disabledfourinone: boolean = true;\n enabledisableFlatRange: boolean = true;\n enabledisableothercharges: boolean = true;\n _oldRangeType: string;\n _oldFrequency: string;\n _oldChargeType: string;\n _disabledflatrange: boolean = true;\n _rateMargin:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n SweepCreatedUpdated1:SweepCreatedUpdated[];\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n\n allChargeType: any = [];\n\n dynamicArray: Array = [];\n\n newDynamic: any = {};\n\n allFrequency: any = [];\n\n allType: any = [];\n editedSweepChargesInfo: any = [];\n\n IsApprovedLable: string;\n IsApprovedByChecker: boolean;\n\n ngOnInit(): void {\n debugger;\n this.onTop();\n\n this.buttonvalue = 'Submit';\n\n localStorage.setItem('_ChargesTypeId', '');\n this._CustId = localStorage.getItem('_CustId');\n this._CustName = localStorage.getItem('_CustName');\n this.DecryptUserId = +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n\n // debugger;\n // if(this._sweepChargesService.formData.SweepCharges.SweepChargeId > 0 && this._CustId != \"\"){\n // this.fnGetCreatedNUpdatedSweep();\n // }\n this.fnNewSweepCharges();\n this.GetPrivillageRoles();\n this.fnGetChargeTypeData();\n this.fnGetFrequencyTypeData();\n //this.fnGetChargeTypeById();\n this._spinner.show();\n\n var loadTime = window.performance.timing.domContentLoadedEventEnd - window.performance.timing.navigationStart;\n\n setTimeout(() => {\n this._spinner.hide();\n }, 100);\n }\n\n BankButton() {\n this.router.navigate(['/ManageCustomer']);\n }\n\n fnonChargesMethodchange() {\n debugger;\n if (this.editedSweepChargesInfo.ChargesMethod == \"2\") {\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: 0,\n SweepChargeType: '',\n CustomerId: +this._CustId,\n CustomerName: this._CustName,\n ChargesMethod: '2',\n Rate: '',\n UserId: '',\n FrequencyId: null,\n Frequency: '',\n TypeId: null,\n TypeName: '',\n Message: '',\n RangeType: \"1\",\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: '',\n OldRate: '',\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n\n this.divFrequ = true;\n this.divType = true;\n this.divFlatFee = true;\n this.divhideshow = false;\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this._sweepChargesService.formData.SweepCharges.ChargesMethod.toString());\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod == \"1\") {\n this.divFrequ = false;\n this.divType = false;\n this.divFlatFee = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Sweep\";\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this._sweepChargesService.formData.SweepCharges.ChargesMethod.toString());\n this._sweepChargesService.formData.SweepCharges.Rate = this._sweepChargesService.formData.SweepCharges.Rate == \"0\" || this._sweepChargesService.formData.SweepCharges.Rate.length > 0 ? \"\" : this._sweepChargesService.formData.SweepCharges.Rate;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod == \"3\") {\n this.divFrequ = false;\n this.divType = false;\n this.divFlatFee = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Day\";\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this._sweepChargesService.formData.SweepCharges.ChargesMethod.toString());\n this._sweepChargesService.formData.SweepCharges.Rate = this._sweepChargesService.formData.SweepCharges.Rate == \"0\" || this._sweepChargesService.formData.SweepCharges.Rate.length > 0 ? \"\" : this._sweepChargesService.formData.SweepCharges.Rate;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod == \"4\") {\n this.divFrequ = false;\n this.divType = false;\n this.divFlatFee = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Month\";\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this._sweepChargesService.formData.SweepCharges.ChargesMethod.toString());\n this._sweepChargesService.formData.SweepCharges.Rate = this._sweepChargesService.formData.SweepCharges.Rate == \"0\" || this._sweepChargesService.formData.SweepCharges.Rate.length > 0 ? \"\" : this._sweepChargesService.formData.SweepCharges.Rate;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod == \"5\") {\n this.divFrequ = false;\n this.divType = false;\n this.divFlatFee = false;\n this.divhideshow = true;\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this._sweepChargesService.formData.SweepCharges.ChargesMethod.toString());\n if (this._sweepChargesService.formData.SweepCharges.Rate == \"\" || this._sweepChargesService.formData.SweepCharges.Rate != \"\") {\n this._sweepChargesService.formData.SweepCharges.Rate = \"0\";\n }\n this.txtRate = true;\n this.lblAsperName = \"\";\n }\n this.fnRateType(this._sweepChargesService.formData.SweepCharges.RangeType);\n }\n\n\n addRow() {\n debugger;\n\n if (this._sweepChargesService.formData.flatChargeObj.FromRange == '' && this._sweepChargesService.formData.flatChargeObj.ToRange == '' && this._sweepChargesService.formData.flatChargeObj.Total == '') {\n this.FromRangemsg = \"\";\n this.FromRangemsg = \"From Range is required\";\n this.IsFlatFromRangeExceed = true;\n this.ToRangemsg = \"\";\n this.ToRangemsg = \"To Range is required\";\n this.IsFlatToRangeExceed = true;\n this.RateRangemsg = \"\";\n this.RateRangemsg = \"Rate is required\";\n this.IsRateRangeExceed = true;\n return;\n }\n if (this._sweepChargesService.formData.flatChargeObj.ToRange == '' && this._sweepChargesService.formData.flatChargeObj.Total == '') {\n this.Rangemsg = \"\";\n this.ToRangemsg = \"\";\n this.ToRangemsg = \"To Range is required\";\n this.IsFlatToRangeExceed = true;\n this.RateRangemsg = \"\";\n this.RateRangemsg = \"Rate is required\";\n this.IsRateRangeExceed = true;\n return;\n }\n if (this._sweepChargesService.formData.flatChargeObj.FromRange == '' && this._sweepChargesService.formData.flatChargeObj.ToRange == '') {\n this.RateRangemsg = \"\";\n this.FromRangemsg = \"\";\n this.FromRangemsg = \"From Range is required\";\n this.IsFlatFromRangeExceed = true;\n this.ToRangemsg = \"\";\n this.ToRangemsg = \"To Range is required\";\n this.IsFlatToRangeExceed = true;\n return;\n }\n if (this._sweepChargesService.formData.flatChargeObj.FromRange == '' && this._sweepChargesService.formData.flatChargeObj.Total == '') {\n this.ToRangemsg = \"\";\n this.FromRangemsg = \"\";\n this.FromRangemsg = \"From Range is required\";\n this.IsFlatFromRangeExceed = true;\n this.RateRangemsg = \"\";\n this.RateRangemsg = \"Rate is required\";\n this.IsRateRangeExceed = true;\n return;\n }\n\n if (this._sweepChargesService.formData.flatChargeObj.FromRange == '') {\n this.FromRangemsg = \"\";\n this.RateRangemsg = \"\";\n this.ToRangemsg = \"\";\n this.FromRangemsg = \"From Range is required\";\n this.IsFlatFromRangeExceed = true;\n return;\n }\n if (this._sweepChargesService.formData.flatChargeObj.ToRange == '') {\n this.FromRangemsg = \"\";\n this.RateRangemsg = \"\";\n this.ToRangemsg = \"\";\n this.ToRangemsg = \"To Range is required\";\n this.IsFlatToRangeExceed = true;\n return;\n }\n if (this._sweepChargesService.formData.flatChargeObj.Total == '') {\n this.Rangemsg = \"\";\n this.RateRangemsg = \"\";\n this.ToRangemsg = \"\";\n this.RateRangemsg = \"Rate is required\";\n this.IsRateRangeExceed = true;\n return;\n }\n if (this._sweepChargesService.formData.flatChargeObj.FromRange != '' && this._sweepChargesService.formData.flatChargeObj.ToRange != '' && this._sweepChargesService.formData.flatChargeObj.Total != '') {\n this.Rangemsg = \"\";\n this.RateRangemsg = \"\";\n this.ToRangemsg = \"\";\n this.FromRangemsg = \"\";\n }\n\n if (parseInt(this._sweepChargesService.formData.flatChargeObj.FromRange) == parseInt(this._sweepChargesService.formData.flatChargeObj.ToRange)) {\n this.IsFlatFromRangeExceed = true;\n this.Rangemsg = \"\";\n this.Rangemsg = \"From Range and To Range value should not be the same\";\n return;\n }\n else {\n this.IsFlatFromRangeExceed = true;\n this.Rangemsg = \"\";\n }\n\n if (parseInt(this._sweepChargesService.formData.flatChargeObj.FromRange) > parseInt(this._sweepChargesService.formData.flatChargeObj.ToRange)) {\n this.IsFlatFromRangeExceed = true;\n this.Rangemsg = \"\";\n this.Rangemsg = \"From Range should not be Less Than To Range\";\n return;\n }\n else {\n this.IsFlatFromRangeExceed = true;\n this.Rangemsg = \"\";\n }\n\n if (this._sweepChargesService.formData.sweepChargeLsts.length > 0) {\n debugger;\n this.IsFlatduplicate = true;\n\n this._sweepChargesService.formData.sweepChargeLsts.forEach(element => {\n\n if (this.IsFlatduplicate) {\n\n // if((+this._sweepChargesService.formData.flatChargeObj.FromRange.toString()) == (+element[\"ToRange\"].toString())){\n // this.IsFlatduplicate = false;\n // }\n\n if ((+this._sweepChargesService.formData.flatChargeObj.FromRange.toString()) <= (+element[\"FromRange\"].toString()) &&\n (+element[\"FromRange\"].toString()) <= (+this._sweepChargesService.formData.flatChargeObj.ToRange.toString())) {\n this.IsFlatduplicate = false;\n }\n\n if ((+this._sweepChargesService.formData.flatChargeObj.FromRange.toString()) <= (+element[\"ToRange\"].toString()) &&\n (+element[\"ToRange\"].toString()) <= (+this._sweepChargesService.formData.flatChargeObj.ToRange.toString())) {\n this.IsFlatduplicate = false;\n }\n\n if ((+element[\"FromRange\"].toString() < (+this._sweepChargesService.formData.flatChargeObj.FromRange.toString())) &&\n (+this._sweepChargesService.formData.flatChargeObj.ToRange.toString()) < (+element[\"ToRange\"].toString())) {\n this.IsFlatduplicate = false;\n }\n\n // if (a_start <= b_start && b_start <= a_end)\n // return true; // b starts in a\n // if (a_start <= b_end && b_end <= a_end)\n // return true; // b ends in a\n // if (b_start < a_start && a_end < b_end)\n // return true; // a in b \n\n // if((+this._sweepChargesService.formData.flatChargeObj.FromRange.toString()) < (+element[\"ToRange\"].toString())){\n // this.IsFlatduplicate = false;\n // }\n\n }\n });\n }\n\n if (this.IsFlatduplicate) {\n if (this._sweepChargesService.formData.flatChargeObj.FromRange != '' && this._sweepChargesService.formData.flatChargeObj.ToRange != '' && this._sweepChargesService.formData.flatChargeObj.Total != '') {\n this._sweepChargesService.formData.sweepChargeLsts.push(this._sweepChargesService.formData.flatChargeObj);\n this._sweepChargesService.formData.flatChargeObj = { FromRange: '', ToRange: '', Total: '' };\n this.divCount = true;\n }\n }\n\n }\n\n deleteRow(index) {\n if (this._sweepChargesService.formData.sweepChargeLsts.length > 0) {\n this._sweepChargesService.formData.sweepChargeLsts.splice(index, 1);\n }\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n fnGetChargeTypeData() {\n this._sweepChargesService.fnGetChargeTypeData().subscribe(data => {\n this.allChargeType = data;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n fnGetFrequencyTypeData() {\n this._sweepChargesService.fnGetFrequencyTypeData().subscribe(data => {\n this.allFrequency = data.frequencylst;\n this.allType = data.typelst;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n fnGetChargeTypeById() {\n this.iChargeId = isNaN(parseInt(localStorage.getItem('_ChargesTypeId'))) ? 0 : parseInt(localStorage.getItem('_ChargesTypeId'));\n\n this._sweepChargesService.fnGetChargeTypeById(this.iChargeId.toString(), localStorage.getItem('_CustId')).subscribe(data => {\n debugger;\n this.reviewStatus = +data.SweepCharges.ReviewStatus;\n\n if (this.reviewStatus == 1 || this.reviewStatus == 4 || this.reviewStatus == 7) {\n this.showStatusDiv = true;\n }\n\n if (data.SweepCharges.Status == \"InActive\") {\n data.SweepCharges.Status = \"0\";\n }\n else if (data.SweepCharges.Status == \"Active\") {\n data.SweepCharges.Status = \"1\";\n }\n else {\n data.SweepCharges.Status = \"2\";\n }\n\n if (!this.CheckerPrivillage && data.SweepCharges.Status == \"2\") {\n this.disableButton = true;\n }\n else if (this.CheckerPrivillage && data.SweepCharges.Status != \"2\" && (data.SweepCharges.CreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.disableButton = true;\n }\n else {\n this.disableButton = false;\n }\n\n if (this.CheckerPrivillage == true && (data.SweepCharges.CreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.buttonvalue = \"Verify\";\n this.showApprovalInfo = \"Pending\";\n this.disableStatus = false;\n\n if (this.CheckerPrivillage && data.SweepCharges.Status == \"2\" && data.SweepCharges.SweepChargeId == 0 && data.SweepCharges.CreatedBy == 0) {\n this.buttonvalue = \"Submit\";\n this.showApprovalInfo = \"\";\n this.disableStatus = true;\n }\n\n }\n else {\n this.buttonvalue = \"Submit\";\n this.showApprovalInfo = \"\";\n if (!this.CheckerPrivillage && data.SweepCharges.Status == \"2\" && data.SweepCharges.SweepChargeId == 0) {\n this.disableButton = false;\n }\n }\n\n if (this.CheckerPrivillage && data.SweepCharges.Status == \"2\" && (data.SweepCharges.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.showStatusDiv = true;\n this.disableStatus = true;\n this.disableButton = true;\n }\n\n if (this.CheckerPrivillage && data.SweepCharges.Status == \"2\")\n data.SweepCharges.Status = null;\n\n if (data.SweepCharges.ChargesMethod === '1') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Sweep\";\n this.enabledisableothercharges = false;\n\n if (this.CheckerPrivillage && this.reviewStatus == 4 && \n (data.SweepCharges.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.enabledisableothercharges = true;\n }\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: data.SweepCharges.SweepChargeId,\n SweepChargeType: '',\n CustomerId: data.SweepCharges.CustomerId,\n CustomerName: localStorage.getItem('_CustName'),\n ChargesMethod: data.SweepCharges.ChargesMethod,\n Rate: data.SweepCharges.Rate,\n UserId: '',\n FrequencyId: 0,\n Frequency: '',\n TypeId: 0,\n TypeName: '',\n Message: '',\n RangeType: data.SweepCharges.RangeType,\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: 'Per Sweep Fee',\n OldRate: data.SweepCharges.Rate,\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n }\n\n if (data.SweepCharges.ChargesMethod === '2') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = true;\n this.divFrequ = true;\n this.divType = true;\n this.divhideshow = false;\n this.txtRate = false;\n this.lblAsperName = \"\";\n\n if (this.reviewStatus != 0)\n this.enabledisableFlatRange = false;\n\n if (this.CheckerPrivillage && this.reviewStatus == 4 && \n (data.SweepCharges.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.enabledisableFlatRange = true;\n }\n\n if (data.SweepCharges.FrequencyId == 6) {\n this._oldFrequency = \"\";\n this._oldFrequency = \"Daily\";\n } else {\n this._oldFrequency = \"\";\n this._oldFrequency = \"Monthly\";\n }\n\n if (data.SweepCharges.TypeId == 8) {\n this._oldChargeType = \"\";\n this._oldChargeType = \"Direct\";\n } else {\n this._oldChargeType = \"\";\n this._oldChargeType = \"Percentage\";\n }\n\n if (data.SweepCharges.RangeType == '1') {\n this._oldRangeType = \"\";\n this._oldRangeType = \"Transactions Based\";\n } else {\n this._oldRangeType = \"\";\n this._oldRangeType = \"Amount Based\";\n }\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: data.SweepCharges.SweepChargeId,\n SweepChargeType: '',\n CustomerId: data.SweepCharges.CustomerId,\n CustomerName: localStorage.getItem('_CustName'),\n ChargesMethod: data.SweepCharges.ChargesMethod,\n Rate: data.SweepCharges.Rate,\n UserId: '',\n FrequencyId: data.SweepCharges.FrequencyId,\n Frequency: '',\n TypeId: data.SweepCharges.TypeId,\n TypeName: '',\n Message: '',\n RangeType: data.SweepCharges.RangeType,\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: 'Flat Range Fee',\n OldRate: '',\n OldFrequency: this._oldFrequency,\n OldChargeType: this._oldChargeType,\n OldRangeType: this._oldRangeType,\n IsApproved: null,\n WithEffectDate: ''\n }\n this._sweepChargesService.formData.OldsweepChargeLsts = data.sweepChargeLsts;\n \n this.divCount = true;\n }\n\n if (data.SweepCharges.ChargesMethod === '3') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Day\";\n this.enabledisableothercharges = false;\n\n if (this.CheckerPrivillage && this.reviewStatus == 4 && \n (data.SweepCharges.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.enabledisableothercharges = true;\n }\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: data.SweepCharges.SweepChargeId,\n SweepChargeType: '',\n CustomerId: data.SweepCharges.CustomerId,\n CustomerName: localStorage.getItem('_CustName'),\n ChargesMethod: data.SweepCharges.ChargesMethod,\n Rate: data.SweepCharges.Rate,\n UserId: '',\n FrequencyId: 0,\n Frequency: '',\n TypeId: 0,\n TypeName: '',\n Message: '',\n RangeType: data.SweepCharges.RangeType,\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: 'Daily Fixed Sweep Fee',\n OldRate: data.SweepCharges.Rate,\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n }\n\n if (data.SweepCharges.ChargesMethod === '4') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Month\";\n this.enabledisableothercharges = false;\n\n if (this.CheckerPrivillage && this.reviewStatus == 4 && \n (data.SweepCharges.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.enabledisableothercharges = true;\n }\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: data.SweepCharges.SweepChargeId,\n SweepChargeType: '',\n CustomerId: data.SweepCharges.CustomerId,\n CustomerName: localStorage.getItem('_CustName'),\n ChargesMethod: data.SweepCharges.ChargesMethod,\n Rate: data.SweepCharges.Rate,\n UserId: '',\n FrequencyId: 0,\n Frequency: '',\n TypeId: 0,\n TypeName: '',\n Message: '',\n RangeType: data.SweepCharges.RangeType,\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: 'Monthly Fixed Sweep Fee',\n OldRate: data.SweepCharges.Rate,\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n\n }\n\n if (data.SweepCharges.ChargesMethod === '5') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = true;\n this.lblAsperName = \"\";\n this.enabledisableothercharges = false;\n\n if (this.CheckerPrivillage && this.reviewStatus == 4 && \n (data.SweepCharges.CreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.enabledisableothercharges = true;\n }\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: data.SweepCharges.SweepChargeId,\n SweepChargeType: '',\n CustomerId: data.SweepCharges.CustomerId,\n CustomerName: localStorage.getItem('_CustName'),\n ChargesMethod: data.SweepCharges.ChargesMethod,\n Rate: '0',\n UserId: '',\n FrequencyId: 0,\n Frequency: '',\n TypeId: 0,\n TypeName: '',\n Message: '',\n RangeType: data.SweepCharges.RangeType,\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: 'Waived Off',\n OldRate: data.SweepCharges.Rate,\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n }\n\n if (this.CheckerPrivillage && this.reviewStatus == 1) {\n this.enabledisableFlatRange = true;\n this.enabledisableothercharges = true;\n }\n if (this.CheckerPrivillage && (data.SweepCharges.ReviewStatus == 2 || data.SweepCharges.ReviewStatus == 3 ||\n data.SweepCharges.ReviewStatus == 5 || data.SweepCharges.ReviewStatus == 6 || data.SweepCharges.ReviewStatus == 8 || data.SweepCharges.ReviewStatus == 9)) {\n this.enabledisableFlatRange = true;\n this.enabledisableothercharges = true;\n }\n\n this.fnRateType(this._sweepChargesService.formData.SweepCharges.RangeType);\n\n debugger;\n this.fnGetEditedSweepChargeTypeById(this._sweepChargesService.formData.SweepCharges.SweepChargeId.toString(), localStorage.getItem('_CustId'));\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n\n\n\n }\n\n onSubmit(form: NgForm) {\n debugger;\n if (form.valid && this.validStatus==true) {\n this.disableButton = true;\n \n var swpClassObje = new SweepChargesClass();\n /*----------------Maker checker flow Start---------------------------- */\n if (!this.CheckerPrivillage) {\n form.value[\"Status\"] = 2;\n\n if (this.reviewStatus == 5 || this.reviewStatus == 6) {\n form.value[\"ReviewStatus\"] = 4;//Edit approval pending\n }\n else if (this.reviewStatus == 2 || this.reviewStatus == 3) {\n form.value[\"ReviewStatus\"] = 4;\n }\n else if (this.reviewStatus == 8 || this.reviewStatus == 9) {\n form.value[\"ReviewStatus\"] = 4;\n }\n else {\n form.value[\"ReviewStatus\"] = 1;\n }\n }\n else {\n if (form.value[\"Status\"] == 1 && this.reviewStatus == undefined) {\n form.value[\"ReviewStatus\"] = 2;\n }\n else if (form.value[\"Status\"] == 0 && this.reviewStatus == undefined) {\n form.value[\"ReviewStatus\"] = 3;\n }\n if (form.value[\"Status\"] == 1 && this.reviewStatus == 1) {\n form.value[\"ReviewStatus\"] = 2;\n }\n else if (form.value[\"Status\"] == 0 && this.reviewStatus == 1) {\n form.value[\"ReviewStatus\"] = 3;\n }\n\n if (form.value[\"Status\"] == 1 && this.reviewStatus == 4) {\n form.value[\"ReviewStatus\"] = 5;\n }\n else if (form.value[\"Status\"] == 0 && this.reviewStatus == 4) {\n form.value[\"ReviewStatus\"] = 6;\n }\n\n if (form.value[\"Status\"] == 1 && this.reviewStatus == 7) {\n form.value[\"ReviewStatus\"] = 8;\n form.value[\"Status\"] = 0;\n }\n else if (form.value[\"Status\"] == 0 && this.reviewStatus == 7) {\n form.value[\"ReviewStatus\"] = 9;\n form.value[\"Status\"] = 1;\n }\n\n // for add by checker add\n if (form.value[\"Status\"] == undefined && (this.reviewStatus == undefined || this.reviewStatus == 0)) {\n form.value[\"ReviewStatus\"] = 1;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == 1 && (this.reviewStatus == 2 || this.reviewStatus == 3)) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == 1 && (this.reviewStatus == 5 || this.reviewStatus == 6)) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == 0 && this.reviewStatus == 3) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == 0 && (this.reviewStatus == 5 || this.reviewStatus == 6)) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == 0 && this.reviewStatus == 8) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == 1 && this.reviewStatus == 9) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n if (form.value[\"Status\"] == undefined && (this.reviewStatus == 2 || this.reviewStatus == 5 || this.reviewStatus == 6)) {\n form.value[\"ReviewStatus\"] = 4;\n form.value[\"Status\"] = 2;\n }\n }\n /*----------------Maker checker flow End---------------------------- */\n\n\n\n swpClassObje.SweepCharges = form.value;\n swpClassObje.SweepCharges.SweepChargeId = parseInt(localStorage.getItem('_SweepChargeId'));\n swpClassObje.SweepCharges.UserId = (localStorage.getItem('LoginUserId'));\n\n if (this.divhideshow) {\n if (swpClassObje.SweepCharges.ChargesMethod.toString() == \"5\")\n localStorage.setItem('_Rate', \"0\");\n else\n localStorage.setItem('_Rate', swpClassObje.SweepCharges.Rate.toString());\n }\n\n if (swpClassObje.SweepCharges.FrequencyId != undefined) {\n localStorage.setItem('_FrequencyId', swpClassObje.SweepCharges.FrequencyId.toString());\n } else {\n localStorage.setItem('_FrequencyId', \"0\");\n }\n\n if (swpClassObje.SweepCharges.TypeId != undefined) {\n localStorage.setItem('_TypeId', swpClassObje.SweepCharges.TypeId.toString());\n } else {\n localStorage.setItem('_TypeId', \"0\");\n }\n\n swpClassObje.sweepChargeLsts = this._sweepChargesService.formData.sweepChargeLsts;\n if(form.value[\"Rate\"] == undefined && form.value[\"ChargesMethod\"] == \"5\")\n swpClassObje.SweepCharges.Rate = this._sweepChargesService.formData.SweepCharges.Rate;\n if(form.value[\"Rate\"] == undefined && form.value[\"ChargesMethod\"] == \"2\" && (this._sweepChargesService.formData.SweepCharges.Rate == \"\" ||\n this._sweepChargesService.formData.SweepCharges.Rate == null))\n swpClassObje.SweepCharges.Rate = \"0\";\n\n this._sweepChargesService.fnInsertUpdateSweepCharges(swpClassObje).subscribe(data => {\n debugger;\n if (this.CheckerPrivillage && data.SweepCharges.SweepChargeId > 0 && (data.SweepCharges.ReviewStatus == 2 || data.SweepCharges.ReviewStatus == 3 ||\n data.SweepCharges.ReviewStatus == 5 || data.SweepCharges.ReviewStatus == 6 || data.SweepCharges.ReviewStatus == 8 || data.SweepCharges.ReviewStatus == 9)) {\n this.disableButton = true;\n }\n else if (data.SweepCharges.ReviewStatus == 4) {\n this.disableButton = true;\n }\n else {\n // this.disableButton = false;\n }\n\n if (data.SweepCharges.SweepChargeId == -1) {\n this.lblMessage = data.SweepCharges.Message;\n this.showMsg = false;\n this.showerrormsg = true;\n this.disableButton = false;\n } else {\n this.lblMessage = data.SweepCharges.Message;\n this.showMsg = true;\n this.showerrormsg = false;\n this.fnGetCreatedNUpdatedSweep(data.SweepCharges.SweepChargeId.toString());\n }\n //this.disableButton = false;\n this.onTop();\n }, (error) => {\n this.showMsg = false;\n this.router.navigate([\"404\"]);\n this.onTop();\n }\n );\n }\n}\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n\n resetForm(form?: NgForm) {\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: 0,\n SweepChargeType: '',\n CustomerId: parseInt(localStorage.getItem('_CustId')),\n CustomerName: localStorage.getItem('_CustName'),\n ChargesMethod: localStorage.getItem('_ChargesTypeId'),\n Rate: localStorage.getItem('_Rate'),\n UserId: '',\n FrequencyId: parseInt(localStorage.getItem('_FrequencyId')),\n Frequency: '',\n TypeId: parseInt(localStorage.getItem('_TypeId')),\n TypeName: '',\n Message: '',\n RangeType: '1',\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: '',\n OldRate: '',\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n this._sweepChargesService.formData.flatChargeObj = {\n FromRange: '',\n ToRange: '',\n Total: '',\n }\n\n //this._sweepChargesService.formData.sweepChargeLsts = [];\n }\n\n numberOnly(event): boolean {\n const charCode = (event.which) ? event.which : event.keyCode;\n // if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n // return false;\n // }\n if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {\n return false;\n }\n return true;\n //////////////\n }\n\n fncheckRangeValidation() {\n var _FromRange = this._sweepChargesService.formData.flatChargeObj.FromRange;\n\n var _ToRange = this._sweepChargesService.formData.flatChargeObj.ToRange;\n\n if (_FromRange > _ToRange) {\n\n }\n }\n\n fnNewSweepCharges() {\n debugger;\n var swobj = new SweepChargesClass();\n this._sweepChargesService.formData = swobj;\n\n this.disableStatus = true;\n\n this._sweepChargesService.formData.SweepCharges = {\n SweepChargeId: 0,\n SweepChargeType: '',\n CustomerId: +this._CustId,\n CustomerName: this._CustName,\n ChargesMethod: '',\n Rate: '',\n UserId: '',\n FrequencyId: null,\n Frequency: '',\n TypeId: null,\n TypeName: '',\n Message: '',\n RangeType: '',\n Status: null,\n ReviewStatus: null,\n CreatedBy: 0,\n OldChargesMethodName: '',\n OldRate: '',\n OldFrequency: '',\n OldChargeType: '',\n OldRangeType: '',\n IsApproved: null,\n WithEffectDate: ''\n }\n\n this._sweepChargesService.formData.flatChargeObj = {\n FromRange: '',\n ToRange: '',\n Total: '',\n }\n\n this._sweepChargesService.formData.sweepChargeLsts = [];\n }\n\n fnFreqChange(freqval) {\n debugger;\n if (freqval == \"null\")\n this._sweepChargesService.formData.SweepCharges.FrequencyId = null;\n }\n\n fnTypeChange(typeval) {\n debugger;\n if (typeval == \"null\")\n this._sweepChargesService.formData.SweepCharges.TypeId = null;\n\n if (this._sweepChargesService.formData.SweepCharges.TypeId == 8) {\n this._sweepChargesService.formData.SweepCharges.RangeType = \"1\";\n this.fnRateType(\"1\");\n this._rateMargin = \"-65px\";\n }\n else if (this._sweepChargesService.formData.SweepCharges.TypeId == 9) {\n this._sweepChargesService.formData.SweepCharges.RangeType = \"2\";\n this.fnRateType(\"2\");\n this._rateMargin = \"-45px\";\n }\n }\n\n fromPlaceHolder: string;\n fromToName: string;\n rateLable: string;\n fnRateType(rateType) {\n if (rateType == 1) {\n this.fromPlaceHolder = \"Number Of Transactions\";\n this.fromToName = \"Range\";\n this.rateLable = \"Rate\";\n this._sweepChargesService.formData.sweepChargeLsts = [];\n }\n else if (rateType == 2) {\n this.fromPlaceHolder = \"Amount\";\n this.fromToName = \"Amount\";\n this.rateLable = \"Percent Rate\";\n this._sweepChargesService.formData.sweepChargeLsts = [];\n }\n }\n\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/ManageCustomer').subscribe(roleAccess => {\n this.CheckerPrivillage = roleAccess[0].CheckerAccess;\n\n this.fnGetChargeTypeById();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n fnGetEditedSweepChargeTypeById(_ichargedId, _customerId) {\n if (_ichargedId > 0) {\n this._sweepChargesService.fnGetEditedSweepChargeTypeById(_ichargedId, _customerId).subscribe(data => {\n\n this.editedSweepChargesInfo = data.SweepCharges;\n if (this.editedSweepChargesInfo != null) {\n if (this.CheckerPrivillage && this.editedSweepChargesInfo.IsApproved) {\n this.showStatusDiv = false;\n this.disableButton = true;\n this.lblMessage = \"Sweep Charges Approved successful and will be applied from \"+ this.editedSweepChargesInfo.WithEffectDate;\n this.showlbl();\n }\n }\n debugger;\n if (this.editedSweepChargesInfo.ChargesMethod === '1') {\n localStorage.setItem('_SweepChargeId', this.editedSweepChargesInfo.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this.editedSweepChargesInfo.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Sweep\";\n\n this._sweepChargesService.formData.SweepCharges.Rate = this.editedSweepChargesInfo.Rate;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod === '2') {\n localStorage.setItem('_SweepChargeId', this.editedSweepChargesInfo.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', this.editedSweepChargesInfo.ChargesMethod);\n this.divFlatFee = true;\n this.divFrequ = true;\n this.divType = true;\n this.divhideshow = false;\n this.txtRate = false;\n this.lblAsperName = \"\";\n\n this._sweepChargesService.formData.SweepCharges.FrequencyId = this.editedSweepChargesInfo.FrequencyId;\n this._sweepChargesService.formData.SweepCharges.TypeId = this.editedSweepChargesInfo.TypeId;\n this._sweepChargesService.formData.SweepCharges.RangeType = this.editedSweepChargesInfo.RangeType;\n\n this._sweepChargesService.formData.sweepChargeLsts = data.sweepChargeLsts;\n this.divCount = true;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod === '3') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Day\";\n\n this._sweepChargesService.formData.SweepCharges.Rate = this.editedSweepChargesInfo.Rate;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod === '4') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = false;\n this.lblAsperName = \"Per Month\";\n\n this._sweepChargesService.formData.SweepCharges.Rate = this.editedSweepChargesInfo.Rate;\n }\n\n if (this.editedSweepChargesInfo.ChargesMethod === '5') {\n localStorage.setItem('_SweepChargeId', data.SweepCharges.SweepChargeId.toString());\n localStorage.setItem('_ChargesTypeId', '');\n localStorage.setItem('_ChargesTypeId', data.SweepCharges.ChargesMethod);\n this.divFlatFee = false;\n this.divFrequ = false;\n this.divType = false;\n this.divhideshow = true;\n this.txtRate = true;\n this.lblAsperName = \"\";\n\n this._sweepChargesService.formData.SweepCharges.Rate = '0';\n }\n\n\n });\n this.fnGetCreatedNUpdatedSweep(_ichargedId);\n }\n else {\n this.editedSweepChargesInfo = this._sweepChargesService.formData.SweepCharges;\n localStorage.removeItem('_SweepChargeId');\n }\n }\n\n checkStatusVlidaity(status) {\n this._sweepChargesService.formData.SweepCharges.Status = status;\n if (this.CheckerPrivillage == true) {\n if (status == \"null\") {\n this.validStatus = false;\n }\n else {\n this.validStatus = true;\n }\n }\n }\n\n fnGetCreatedNUpdatedSweep(sId:string=\"0\"){\n\n this._sweepChargesService.fnGetCreatedUpdateSweep(sId).subscribe(userdates=>{\n this.SweepCreatedUpdated1 = userdates;\n\n if(this.SweepCreatedUpdated1[0].CreatedDate != ''){\n this.showCreatedDiv = true;\n this.createdDate = this.SweepCreatedUpdated1[0].CreatedDate;\n this.userNameCreated = this.SweepCreatedUpdated1[0].UserName;\n }\n if(this.SweepCreatedUpdated1[1].UpdatedDate != ''){\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.SweepCreatedUpdated1[1].UserName;\n this.updtedDate = this.SweepCreatedUpdated1[1].UpdatedDate;\n }\n\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n}\n","
\n
\n
\n
\n\n
\n
\n
\n \n
\n\n
\n

Sweep Charges For {{_CustName}}

\n \n
\n\n
\n
\n\n
\n\n
\n\n \n\n
\n

* Marked Fields Are Mandatory.

\n
\n
\n\n
\n\n
\n \n
\n\n
\n\n \n\n \n \n\n
\n Please select Charges Method
\n
\n\n
\n \n
\n\n
\n\n \n\n
\n Please select Frequency\n
\n\n
\n
\n\n
\n
\n \n
\n
\n \n\n
Please enter Rate
\n
\n
\n \n
\n
\n\n
\n\n
\n
\n \n
\n\n
\n\n \n\n
\n Please select Charge Type\n
\n
\n \n
\n \n
\n\n
\n \n
\n
\n
\n\n
\n
\n
\n \n
\n\n
\n \n\n \n \n
\n Status is required\n
\n\n
\n\n
\n
\n\n
\n
\n
\n
\n
\n

*Add Record For Flat Range Fee.

\n
\n
\n\n
\n\n
\n \n
\n\n
\n \n
{{FromRangemsg}}\n
\n\n
\n \n
\n\n
\n \n
{{ToRangemsg}}\n
\n
\n\n
\n \n
\n\n
\n \n
{{RateRangemsg}}\n
\n\n
\n
\n \n
\n\n
\n
\n
\n
\n
{{Rangemsg}}
\n
This range already exists in list Please add new range
\n
\n
\n

\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Sr NoNumber Of Sweep {{fromToName}}From {{fromToName}}To {{fromToName}}RateAction
{{i+1}}Number Of Sweep {{fromToName}}{{dynamic.FromRange}}{{dynamic.ToRange}}{{dynamic.Total}}\n \n
\n
\n
\n
\n\n
\n
\n \n
\n
\n\n \n
\n
\n\n
\n \n
\n \n
\n \n
\n

\n \n
\n
\n \n
\n \n
\n \n
\n \n
\n \n
\n
\n
\n \n\n \n
\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n

\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Sr NoNumber Of Sweep {{fromToName}}From {{fromToName}}To {{fromToName}}Rate
{{i+1}}Number Of Sweep {{fromToName}}{{dynamic.FromRange}}{{dynamic.ToRange}}{{dynamic.Total}}
\n
\n
\n
\n \n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n \n
\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport { UserService } from '../../MasterService/user.service';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { RoleService } from '../../MasterService/role.service';\nimport { Router } from '@angular/router';\nimport { ActivatedRoute } from \"@angular/router\";\nimport { AccountMasterService } from 'src/app/MasterService/account-master.service';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { UserCreatedUpdated } from '../../MasterService/user-master';\nimport { Server } from 'http';\nimport { importType, THIS_EXPR } from '@angular/compiler/src/output/output_ast';\nimport { from } from 'rxjs';\n\nimport { NgbDateCustomParserFormatter } from '../../MasterService/date-format';\nimport { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\nimport * as moment from 'moment';\nimport { debug } from 'console';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { RoleAccessService } from '../../MasterService/role-access.service';\nimport { ignoreElements } from 'rxjs/operators';\nimport * as CryptoJS from 'crypto-js';\nimport { unwrapResolvedMetadata } from '@angular/compiler';\n\ndeclare const UserShowDummyPassword: any;\n\n@Component({\n selector: 'app-user-master',\n templateUrl: './user-master.component.html',\n styleUrls: ['./user-master.component.css'],\n\n})\nexport class UserMasterComponent implements OnInit {\n\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n // other options are here...\n };\n\n model: IMyDateModel = null;\n\n disableButton: boolean;\n disableClear: boolean;\n HiddenClr: boolean = false;\n showModal: boolean;\n hidelist: boolean;\n hideBranch: boolean;\n lblMessage: string;\n\n Roles: any = [];\n Rolesedit: any = [];\n Rolesedit1: any = [];\n Rolesave: any = [];\n allBranchList: any = [];\n\n\n showMsg: boolean;\n showerrormsg: boolean;\n\n bankcorporatelist: any = [];\n\n loginUser_UserType: string;\n loginUser_UserTypeCorpId: string;\n loginUser_UserTypeBranchId: string;\n\n _userType: string;\n viewMode: string;\n mobNumberPattern = \"^((\\\\+91-?)|0)?[0-9]{10}$\";\n editedUserId: number;\n lblTitle: string;\n IsViewMode: boolean;\n UserEditView: string;\n newdate: string;\n validDate: boolean = true;\n bankblock: boolean;\n branchblock: boolean;\n corpblock: boolean;\n branchselectblock: boolean;\n corpselectblock: boolean;\n minDate: object;\n reviewStatus: number;\n showStatusDiv: boolean = false;\n editedUserInfo: any = [];\n editedUserInfoKeptPassword: string;\n KeptPassword: string;\n editedUserInfoKeptconfPassword: string;\n KeptconfPassword: string;\n IsCustomerInActive: boolean = false;\n\n newDateFomat: { day: number; month: number; year: number; };\n IsPasswordChanged: boolean;\n\n constructor(public _userService: UserService, public _masterService: RoleService, private router: Router,\n private _routeWithQuerystring: ActivatedRoute, public _AccountService: AccountMasterService,\n public _customerService: CustomerService, public _spinner: NgxSpinnerService, public _roleAccess: RoleAccessService) {\n this.minDate = { year: 1900, month: 1, day: 1 }\n }\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n });\n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n\n // Methods for the encrypt and decrypt Using AES\n encryptUsingAES256(password: string) {\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(JSON.stringify(password)), this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n });\n return encrypted.toString();\n }\n\n ngOnInit(): void {\n debugger;\n // If LoginUserId is null then it will return\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n this._spinner.show();\n this.disableButton = false;\n this.onTop();\n this.editedUserInfo;\n if (localStorage.getItem('UserDataId') != null) {\n this.editedUserId = +this.decryptUsingAES256(localStorage.getItem('UserDataId'));\n }\n this.UserEditView = localStorage.getItem('UserViewMode');\n // Getting Privillage based on id\n this.GetPrivillageRoles();\n // Getting role from database \n this.fnGetRoles();\n // storing view moe value from query string\n this._routeWithQuerystring.queryParams.subscribe(params => {\n this.viewMode = params[\"viewMode\"];\n });\n debugger;\n if (this.editedUserId == 0 || this.editedUserId == undefined || isNaN(this.editedUserId)) {\n this.lblTitle = \"Add User Master\";\n }\n if (this.editedUserId == 0) {\n this.lblTitle = \"Add User Master\";\n this.GetUserDataByUserId();\n this.fnUserTypeDetails();\n this._spinner.hide();\n }\n\n this.lblMessage = localStorage.getItem(\"Msg\");\n if (this.lblMessage == null || this.lblMessage == \"\") {\n\n } else {\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n // Getting user type from database\n this.fncheckUserType();\n // Getting branch name from database\n this.fnGetBranchName();\n if (this.viewMode == 'view') {\n this.disableButton = true;\n this.disableClear = true;\n }\n }\n futureDateError: boolean;\n inputDate: Date;\n checkDateValidity(date) {\n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n }\n else {\n this.futureDateError = false;\n }\n return this.futureDateError\n\n }\n // Getting user type from databse \n fncheckUserType() {\n debugger;\n this._userService.fnGetUserData(localStorage.getItem('LoginUserId'),\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\", 'Edit').subscribe(Users => {\n this.loginUser_UserType = Users[0][\"UserType\"];\n this.loginUser_UserTypeCorpId = Users[0][\"BankCorpUser\"];\n this.loginUser_UserTypeBranchId = Users[0][\"BranchUser\"];\n\n if (this.loginUser_UserType == \"1\") {\n this.bankblock = true;\n this.corpblock = true;\n this.branchblock = true;\n // this.hidelist = false;\n // this.hideBranch=false;\n this.corpselectblock = true;\n this.branchselectblock = true;\n // this._userService.formData.UserType = \"1\";\n this.editedUserInfo.BankCorpUser = \"0\";\n this.editedUserInfo.BranchUser = \"0\";\n this._userService.formData.BranchUser = \"0\";\n this._userService.formData.BankCorpUser = \"0\";\n }\n\n else if (this.loginUser_UserType == \"2\") {\n this.fnBankCorporateUser(2);\n this.bankblock = false;\n this.corpblock = true;\n this.branchblock = false;\n this.hidelist = true;\n this.hideBranch = false;\n this.corpselectblock = false;\n this._userService.formData.UserType = \"2\";\n this._userService.formData.BankCorpUser = this.loginUser_UserTypeCorpId;\n\n }\n\n else if (this.loginUser_UserType == \"3\") {\n this.bankblock = false;\n this.corpblock = false;\n this.branchblock = true;\n this.hidelist = false;\n this.hideBranch = true;\n this.branchselectblock = false;\n this._userService.formData.UserType = \"3\";\n this._userService.formData.BranchUser = this.loginUser_UserTypeBranchId;\n\n }\n }\n\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n CheckerPrivillage: boolean;\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/ManageUserMaster').subscribe(roleAccess => {\n this.CheckerPrivillage = roleAccess[0].CheckerAccess;\n // Getting user data from database \n this.GetUserDataByUserId();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n // decryptpassword(){\n // this._userService.GetDecryptPassword( this._userService.formData.Password).subscribe(data=>{ \n // this.password = data.toString();\n // this._userService.formData.Password = this.password;\n // this._userService.formData.CnfrmPassword = this.password;\n // }); \n // }\n\n MaleRadio() {\n if(this.editedUserInfo.Gender==\"\"){\n jQuery('input:radio[value=M] ').prop('checked', true);\n this._userService.formData.Gender = 'M'\n jQuery('input:radio[value=M]').blur(function () {\n });\n }\n }\n\n methodM(male) {\n jQuery('input:radio[value=M] ').prop('checked', true);\n }\n methodF() {\n jQuery('input:radio[value=F] ').prop('checked', true);\n\n this._userService.formData.Gender = 'F'\n }\n\n formate1(value: string): NgbDateStruct {\n if (value) {\n\n const dateParts = value.trim().split('/');\n if (dateParts.length === 1 && Number(dateParts[0])) {\n return { day: parseInt(dateParts[0]), month: null, year: null };\n } else if (dateParts.length === 2 && Number(dateParts[0]) && Number(dateParts[1])) {\n return { day: parseInt(dateParts[0]), month: parseInt(dateParts[1]), year: null };\n } else if (dateParts.length === 3 && Number(dateParts[0]) && Number(dateParts[1]) && Number(dateParts[2])) {\n return { day: parseInt(dateParts[0]), month: parseInt(dateParts[1]), year: parseInt(dateParts[2]) };\n var date = { day: parseInt(dateParts[0]), month: parseInt(dateParts[1]), year: parseInt(dateParts[2]) };\n }\n }\n return null;\n }\n\n format(date: NgbDateStruct) {\n\n //this.newdate = date.year+\"-\"+date.month+\"-\"+form.value.BirthDate.day;\n // this.newDateFomat = {day: date.day, month:date.month, year: date.year};\n //const dateParts = date.trim().split('-');\n // var date = dateParts[0];\n //return date ?\n //`${Number(dateParts[0]) < 10 ? 0 +''+ Number(dateParts[0]) : Number(dateParts[0])}-${Number(dateParts[1]) < 10 ? 0 +''+ Number(dateParts[1]) : Number(dateParts[1])}-${dateParts[2]}` :\n //'';\n\n //\n // return date ?\n // `${Number(date.day) < 10 ? 0 +''+ Number(date.day) : Number(date.day)}-${Number(date.month) < 10 ? 0 +''+ Number(date.month) : Number(date.month)}-${date.year}` :\n // '';\n }\n\n\n formatDate(date) {\n //alert(date);\n this.format(date);\n\n }\n\n\n fnUserTypeDetails() {\n this._userType = this._userService.formData.UserType === \"\" ? \"1\" : this._userService.formData.UserType;\n\n if (this._userType === \"1\") {\n this.fnBankCorporateUser(this._userType);\n }\n else {\n this.fnBankCorporateUser(this._userType);\n }\n if (this._userService.formData.UserType == \"2\") {\n this.hideBranch = false;\n this.hidelist = true;\n\n this._userService.formData.BankCorpUser = this._userService.formData.BankCorpUser;\n\n if (this._userService.formData.BankCorpUser == \"\")\n this._userService.formData.BankCorpUser = \"\";\n }\n else {\n this.hidelist = false;\n this._userService.formData.BankCorpUser = \"0\";\n }\n if (this._userService.formData.UserType == \"3\") {\n this.hidelist = false;\n this.hideBranch = true;\n //this.fnGetBranchName();\n this._userService.formData.BranchUser = this._userService.formData.BranchUser;\n\n if (this._userService.formData.BranchUser == \"\")\n this._userService.formData.BranchUser = \"\";\n }\n else {\n this._userService.formData.BranchUser = \"0\";\n }\n }\n _userType1: string;\n fnEditedUserTypeDetails() {\n\n this._userType1 = this.editedUserInfo.UserType === \"\" ? \"1\" : this.editedUserInfo.UserType;\n\n // if (this._userType1 === \"1\") {\n // this.fnBankCorporateUser(this._userType1);\n // }\n // else {\n // this.fnBankCorporateUser(this._userType1);\n // }\n\n if (this.editedUserInfo.UserType == \"2\") {\n this.hideBranch = false;\n this.hidelist = true;\n\n this.editedUserInfo.BankCorpUser = this.editedUserInfo.BankCorpUser;\n\n if (this.editedUserInfo.BankCorpUser == \"\")\n this.editedUserInfo.BankCorpUser = \"\";\n }\n else {\n this.hidelist = false;\n this.editedUserInfo.BankCorpUser = \"0\";\n }\n if (this.editedUserInfo.UserType == \"3\") {\n this.hidelist = false;\n this.hideBranch = true;\n //this.fnGetBranchName();\n this.editedUserInfo.BranchUser = this.editedUserInfo.BranchUser;\n\n if (this.editedUserInfo.BranchUser == \"\")\n this.editedUserInfo.BranchUser = \"\";\n }\n else {\n this.editedUserInfo.BranchUser = \"0\";\n }\n //this when branch user is switch to bank user hide additional dropdowns\n if ((this._userService.formData.UserType == \"2\" || this._userService.formData.UserType == \"3\") && this.editedUserInfo.UserType == \"1\") {\n this.fnonUserTypechange(this.editedUserInfo.UserType);\n }\n }\n\n password: string;\n Roles2: any = [];\n Roles21: any = [];\n UserCreatedUpdated1: UserCreatedUpdated[];\n createdBy: number;\n createdDate: string;\n userNameCreated: string;\n usernameUpdte: string;\n updtedDate: string;\n showCreatedDiv: boolean = false;\n showUpdatedDiv: boolean = false;\n formatedGender: string;\n roleLabel: boolean = false;\n buttonValue: string;\n disableStatus: boolean;\n selfCheckerShuoldNotDisplay: boolean = true;\n decryptUserIDs: number;\n setButtonValue() {\n if (this.editedUserId > 0) {\n this.decryptUserIDs = +this.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"));\n if (this.CheckerPrivillage && this._userService.formData.CreatedBy != this.decryptUserIDs &&\n (this.reviewStatus == 1 || this.reviewStatus == 4 || this.reviewStatus == 7)) {\n this.buttonValue = \"Verify\";\n }\n else if ((this.CheckerPrivillage && (this._userService.formData.CreatedBy != this.decryptUserIDs))) {\n this.buttonValue = \"Verify\";\n this.disableButton = true;\n }\n else {\n this.buttonValue = \"Submit\";\n }\n // else{\n // this.buttonValue=\"Verify\";\n // this.disableButton=true;\n // }\n if ((this.CheckerPrivillage && (this._userService.formData.CreatedBy == this.decryptUserIDs)) && (this.reviewStatus == 1 || this.reviewStatus == 4 || this.reviewStatus == 7)) {\n this.disableButton = true;\n this.disableStatus = true;\n }\n if (!this.CheckerPrivillage && (this.reviewStatus == 1 || this.reviewStatus == 4 || this.reviewStatus == 7)) {\n this.disableButton = true;\n }\n if(this.UserEditView == \"edit\" && this.CheckerPrivillage && this._userService.formData.CreatedBy != this.decryptUserIDs){\n this.disableButton = true;\n }\n //this when checker edit any fields dont show values to self checker.\n if (this.CheckerPrivillage && this._userService.formData.CreatedBy == this.decryptUserIDs) {\n this.selfCheckerShuoldNotDisplay = false;\n }\n }\n else {\n if (this.CheckerPrivillage && this._userService.formData.CreatedBy != this.decryptUserIDs && this._userService.formData.CreatedBy > 0) {\n this.buttonValue = \"Verify\";\n }\n else {\n this.buttonValue = \"Submit\";\n //this.showStatusDiv=true;\n }\n }\n if (this.reviewStatus == 8) {\n this.disableButton = true;\n }\n }\n\n IsAuthorize:boolean=false;\n // Getting user data from database\n GetUserDataByUserId() {\n\n if (this.editedUserId > 0) {\n\n if (this.viewMode == 'view') {\n this.lblTitle = \"View User Master\";\n this.IsViewMode = true;\n this.disableStatus = true;\n } else {\n this.lblTitle = \"Edit User Master\";\n this.IsViewMode = false;\n this.HiddenClr = true;\n }\n\n if(this.UserEditView == \"authorize\"){\n this.IsAuthorize = true;\n }\ndebugger;\n this._userService.fnGetUserData(localStorage.getItem('UserDataId'),\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",'Edit').subscribe(Users => {\n this._userService.formData = Users[0];\n Users[0].BirthDate = this.decryptUsingAES256(Users[0].BirthDate);\n if (Users[0].BirthDate != null) {\n var _savedStartDate = { isRange: false, singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" }, dateRange: null };\n this._userService.formData.formatedBithDate = Users[0].formatedBithDate;\n var newObj = moment(Users[0].BirthDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n //var _savedStartDateObject = {day:0,month:0,year:0};\n // _savedStartDateObject.day = _savedStartDate.date;\n // _savedStartDateObject.month = _savedStartDate.months+1;\n // _savedStartDateObject.year = _savedStartDate.years;\n this._userService.formData.BirthDate = _savedStartDate;\n\n }\n this.reviewStatus = +this._userService.formData.reviewStatus;\n if (this.reviewStatus == 1 || this.reviewStatus == 4 || this.reviewStatus == 7) {\n this.showStatusDiv = true;\n }\n // this.decryptpassword();\n // this._userService.formData.Password = \"*\".repeat(this._userService.formData.Password.length);\n if (this._userService.formData.IsActive == \"Inactive\") {\n this._userService.formData.IsActive = \"0\";\n }\n else if (this._userService.formData.IsActive == \"Pending\") {\n this._userService.formData.IsActive = \"2\";\n }\n else {\n this._userService.formData.IsActive = \"1\";\n }\n //this.lblTitle = \"Edit User Master\"; \n\n this.fnCreatedByUpdatedBy(this._userService.formData.UserId);\n\n this._userService.fnGetRoleByUserId(this._userService.formData.UserId).subscribe(role => {\n this.Rolesedit = role;\n this.Rolesedit.forEach(element => {\n this.Roles2.push(element[\"RoleId\"]);\n });\n this.editedUserInfo.RoleId = this.Roles2;\n // this._userService.formData.RoleId = this.Roles2; \n });\n this._userService.formData.RoleNames = this.decryptUsingAES256(this._userService.formData.RoleNames);\n this._userService.formData.UserId = this.decryptUsingAES256(this._userService.formData.UserId);\n this._userService.formData.RoleName = this.decryptUsingAES256(this._userService.formData.RoleName);\n this.fnUserTypeDetails();\n if (this._userService.formData.Gender == 'M') {\n this.formatedGender = \"Male\";\n }\n else if (this._userService.formData.Gender == 'F') {\n this.formatedGender = \"Female\";\n }\n this._spinner.hide();\n this.setButtonValue();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n\n this._userService.fnGetEditedUserData((localStorage.getItem('UserDataId'))).subscribe(editedUser => {\n this.editedUserInfo = editedUser[0];\n editedUser[0].BirthDate = this.decryptUsingAES256(editedUser[0].BirthDate);\n if (editedUser[0].BirthDate != null) {\n var _savedStartDate = { isRange: false, singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" }, dateRange: null };\n this.editedUserInfo.formatedBithDate = editedUser[0].formatedBithDate;\n var newObj = moment(editedUser[0].BirthDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n this.editedUserInfo.BirthDate = _savedStartDate;\n\n }\n UserShowDummyPassword(this.editedUserInfo.Password);\n // this._userService.GetDecryptPassword(this.editedUserInfo.Password).subscribe(data1=>{ \n // this.editedUserInfo.Password=data1.toString();\n // this.editedUserInfo.CnfrmPassword=data1.toString();\n // });\n\n\n this.editedUserInfo.RoleName = this.decryptUsingAES256(this.editedUserInfo.RoleName);\n this._userService.fnGetRoleByUserId(this.editedUserInfo.UserId).subscribe(role => {\n this.Rolesedit1 = role;\n this.Rolesedit.forEach(element => {\n this.Roles21.push(element[\"RoleId\"]);\n });\n this._userService.formData.RoleId = +this.decryptUsingAES256(this.Roles21);\n\n\n //this.editedUserInfo.RoleId = this.Roles21;\n\n });\n this.editedUserInfo.UserId = this.decryptUsingAES256(this.editedUserInfo.UserId);\n this.fnEditedUserTypeDetails();\n this._spinner.hide();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n\n\n }\n else {\n this._userService.formData = {\n UserId: \"0\",\n RoleId: null,\n FirstName: '',\n MiddleName: '',\n LastName: '',\n Password: '',\n CnfrmPassword: '',\n Gender: '',\n BirthDate: null,\n EmailId: '',\n MobileNumber: '',\n AltMobileNumber: '',\n TransactionLimit: '',\n Address: '',\n AltAddress: '',\n CountryId: 0,\n StateId: 0,\n CityId: 0,\n IsActive: '1',\n Pincode: '',\n limit: 0,\n UserType: '1',\n BankCorpUser: null,\n BranchUser: null,\n CreatedBy: 0,\n UpdatedBy: 0,\n lblTitle: 'Add User Master',\n btnTitle: 'Submit',\n msg: '',\n CreatedDate: '',\n DateCreated: '',\n CreatedName: '',\n UpdatedDate: '',\n UpdatedName: '',\n UserTypedesc: '',\n UserTypeName: '',\n IsUserSelected: false,\n reviewStatus: '2',\n RoleName: '',\n formatedBithDate: '',\n RoleNames: '',\n CustomerName: '',\n BranchName: '',\n RequestType: '',\n UserlistCount:0\n }\n this.editedUserInfo = this._userService.formData;\n this._spinner.hide();\n this.setButtonValue();\n this.fnonUserTypechange(\"1\");\n }\n\n\n }\n\n\n\n fnGetBranchName() {\n return this._AccountService.fnGetBranchName().subscribe(data => {\n this.allBranchList = data;\n\n if (this.loginUser_UserType == \"3\") {\n // defect 1509--Rubina\n this.allBranchList = this.allBranchList.filter(row => {\n return row.BranchId == +this.loginUser_UserTypeBranchId;\n });\n }\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n fnonUserTypechange(_val: any) {\n\n if (_val == \"1\") {\n // this.nameChangeAsPerUserType = 'Select Bank User';\n // this.fnBankCorporateUser(_val);\n this.hidelist = false;\n this.hideBranch = false;\n this._userService.formData.BankCorpUser = \"0\";\n this._userService.formData.BranchUser = \"0\";\n this.editedUserInfo.BankCorpUser = \"0\";\n this.editedUserInfo.BranchUser = \"0\";\n }\n if (_val == \"2\") {//corpo\n // this.nameChangeAsPerUserType = 'Select Corporate User';\n this.fnBankCorporateUser(_val);\n this.hidelist = true;\n this.hideBranch = false;\n this._userService.formData.BankCorpUser\n this._userService.formData.BankCorpUser = null;\n this._userService.formData.BranchUser = \"0\";\n this.editedUserInfo.BankCorpUser = null;\n this.editedUserInfo.BranchUser = \"0\";\n if (this._userService.formData.BankCorpUser == \"\") {\n this.editedUserInfo.BankCorpUser = \"\";\n this._userService.formData.BankCorpUser = \"\";\n }\n\n\n }\n if (_val == \"3\") {\n // this.nameChangeAsPerUserType = 'Select Corporate User';\n //this.fnBankCorporateUser(_val);\n this.hidelist = false;\n this.hideBranch = true;\n this._userService.formData.BranchUser\n this._userService.formData.BranchUser = null;\n this._userService.formData.BankCorpUser = \"0\";\n this.editedUserInfo.BranchUser = null;\n this.editedUserInfo.BankCorpUser = \"0\";\n if (this._userService.formData.BranchUser == \"\") {\n this._userService.formData.BranchUser = \"\";\n this.editedUserInfo.BranchUser = \"\";\n }\n\n }\n }\n\n fnBankCorporateUser(_userType: any) {\n this.bankcorporatelist = [];\n return this._userService.fnGetCustomerListForDropdown(localStorage.getItem('UserDataId'), localStorage.getItem(\"LoginUserId\")).subscribe(data => {\n data.forEach(element => {\n if (this.bankcorporatelist != null) {\n // if(element[\"Status\"] == \"Active\")\n // {\n // this.bankcorporatelist.push(element);\n // } \n this.bankcorporatelist.push(element);\n if (element[\"Status\"] == '0' || element[\"Status\"] == '2') {\n this.IsCustomerInActive = true;\n }\n }\n\n // this.bankcorporatelist=this.removeDuplicates(this.bankcorporatelist);\n });\n },\n (err) => {\n this.router.navigate([\"404\"]);\n });\n\n }\n removeDuplicates(arr) {\n\n const result = [];\n const duplicatesIndices = [];\n\n // Loop through each item in the original array\n arr.forEach((current, index) => {\n\n if (duplicatesIndices.includes(index)) return;\n\n result.push(current);\n\n // Loop through each other item on array after the current one\n for (let comparisonIndex = index + 1; comparisonIndex < arr.length; comparisonIndex++) {\n\n const comparison = arr[comparisonIndex];\n const currentKeys = Object.keys(current);\n const comparisonKeys = Object.keys(comparison);\n\n // Check number of keys in objects\n if (currentKeys.length !== comparisonKeys.length) continue;\n\n // Check key names\n const currentKeysString = currentKeys.sort().join(\"\").toLowerCase();\n const comparisonKeysString = comparisonKeys.sort().join(\"\").toLowerCase();\n if (currentKeysString !== comparisonKeysString) continue;\n\n // Check values\n let valuesEqual = true;\n for (let i = 0; i < currentKeys.length; i++) {\n const key = currentKeys[i];\n if (current[key] !== comparison[key]) {\n valuesEqual = false;\n break;\n }\n }\n if (valuesEqual) duplicatesIndices.push(comparisonIndex);\n\n } // end for loop\n\n }); // end arr.forEach()\n\n return result;\n }\n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n\n BankButton() {\n localStorage.removeItem('UserDataId');\n this.router.navigate(['/ManageUserMaster']);\n }\n\n // after submit page refresh method is called\n fnPageRefresh(form) {\n\n this._userService.formData;\n if (this.UserEditView == \"edit\" && this.editedUserId > 0) {\n // this.resetForm(form);\n localStorage.setItem('UserTypeVal', '');\n localStorage.setItem('UserTypeVal', this._userService.formData.UserType)\n this._userService.formData.UserId = this.editedUserId.toString();\n this._userService.formData.RoleId = null;\n this._userService.formData.EmailId = '';\n this._userService.formData.FirstName = '';\n this._userService.formData.MiddleName = '';\n this._userService.formData.LastName = '';\n this._userService.formData.IsActive = '1';\n this._userService.formData.Password = '';\n this._userService.formData.CnfrmPassword = '';\n this._userService.formData.Gender = '';\n this._userService.formData.AltAddress = '';\n this._userService.formData.MobileNumber = '';\n this._userService.formData.UserType = localStorage.getItem('UserTypeVal');\n this._userService.formData.AltMobileNumber = '';\n this._userService.formData.BirthDate = null;\n this.onTop();\n }\n else {\n //this.resetForm(form)\n this.onTop();\n setTimeout(function () {\n this.document.location.reload();\n }, 1000);\n }\n }\n\n resetForm(form?: NgForm) {\n\n if (this.UserEditView == \"edit\" && this.editedUserId > 0) {\n if (form != null)\n //form.resetForm();\n this._userService.formData = {\n UserId: this.editedUserId.toString(),\n RoleId: null,\n FirstName: '',\n MiddleName: '',\n LastName: '',\n Password: '',\n CnfrmPassword: '',\n Gender: '',\n BirthDate: null,\n EmailId: '',\n MobileNumber: '',\n AltMobileNumber: '',\n TransactionLimit: '',\n Address: '',\n AltAddress: '',\n CountryId: 1,\n StateId: 1,\n CityId: 1,\n IsActive: 'null',\n Pincode: '',\n limit: 0,\n UserType: localStorage.getItem('UserTypeVal'),\n BankCorpUser: '',\n BranchUser: '',\n CreatedBy: 0,\n UpdatedBy: 0,\n lblTitle: 'Edit User Master',\n btnTitle: 'Submit',\n msg: '',\n CreatedDate: '',\n DateCreated: '',\n CreatedName: '',\n UpdatedDate: '',\n UpdatedName: '',\n UserTypedesc: '',\n UserTypeName: '',\n IsUserSelected: false,\n reviewStatus: '2',\n RoleName: '',\n formatedBithDate: '',\n RoleNames: '',\n CustomerName: '',\n BranchName: '',\n RequestType: '',\n UserlistCount:0\n }\n\n }\n else {\n if (form != null)\n form.resetForm();\n\n this._userService.formData = {\n UserId: \"0\",\n RoleId: null,\n FirstName: '',\n MiddleName: '',\n LastName: '',\n Password: '',\n CnfrmPassword: '',\n Gender: '',\n BirthDate: null,\n EmailId: '',\n MobileNumber: '',\n AltMobileNumber: '',\n TransactionLimit: '',\n Address: '',\n AltAddress: '',\n CountryId: 1,\n StateId: 1,\n CityId: 1,\n IsActive: 'null',\n Pincode: '',\n limit: 0,\n UserType: '',\n BankCorpUser: '',\n BranchUser: '',\n CreatedBy: 0,\n UpdatedBy: 0,\n lblTitle: 'Add User Master',\n btnTitle: 'Submit',\n msg: '',\n CreatedDate: '',\n DateCreated: '',\n CreatedName: '',\n UpdatedDate: '',\n UpdatedName: '',\n UserTypedesc: '',\n UserTypeName: '',\n IsUserSelected: false,\n reviewStatus: '2',\n RoleName: '',\n formatedBithDate: '',\n RoleNames: '',\n CustomerName: '',\n BranchName: '',\n RequestType: '',\n UserlistCount:0\n }\n }\n }\n\n get btnTitle() { return this._userService.formData.btnTitle }\n getDate(date) {\n\n if (date.year >= 9999 || date.year <= 999) {\n // this.validDate=false;\n }\n else {\n // this.validDate = true;\n }\n }\n showStatusMessage: boolean = false;\n // submitting form data into database\n onSubmit(form: NgForm) {\n debugger;\n if(form.value[\"Password\"] == undefined)\n form.value[\"Password\"] = this.editedUserInfo.Password;\n if(form.value[\"Gender\"] == undefined)\n form.value[\"Gender\"] = this.editedUserInfo.Gender;\n if(form.value[\"BirthDate\"] == undefined)\n form.value[\"BirthDate\"] = this.editedUserInfo.BirthDate; \n if(form.value[\"UserType\"] == undefined)\n form.value[\"UserType\"] = this.editedUserInfo.UserType;\n if(form.value[\"BankCorpUser\"] == undefined)\n form.value[\"BankCorpUser\"] = this.editedUserInfo.BankCorpUser; \n if(form.value[\"BranchUser\"] == undefined)\n form.value[\"BranchUser\"] = this.editedUserInfo.BranchUser;\n if(form.value[\"RoleId\"] == undefined)\n form.value[\"RoleId\"] = this.editedUserInfo.RoleId; \n \n\n if ((document.getElementById('actPswd')).value.includes(\"|\")) {\n (document.getElementById('actPswd')).value = (document.getElementById('actPswd')).value.slice(0, -1);\n }\n if (form.value[\"Password\"].includes(\"|\")) {\n form.value[\"Password\"] = form.value[\"Password\"].slice(0, -1);\n }\n\n if (form.value[\"IsActive\"] == 2 && this.CheckerPrivillage) {\n this.showStatusMessage = true;\n return;\n }\n else {\n this.showStatusMessage = false;\n }\n\n if (form.valid && this.validDate == true) {\n this.disableButton = true;\n }\n\n //Maker flow\n if (!this.CheckerPrivillage) {\n form.value[\"IsActive\"] = 2;//pending\n if (this.reviewStatus == 5 || this.reviewStatus == 6) {\n form.value[\"reviewStatus\"] = 4;//Edit approval pending\n }\n else if (this.reviewStatus == 2 || this.reviewStatus == 3) {\n form.value[\"reviewStatus\"] = 4;//Edit approval pending\n }\n else if (this.reviewStatus == 8 || this.reviewStatus == 9) {\n form.value[\"reviewStatus\"] = 4;\n }\n else {\n form.value[\"reviewStatus\"] = 1;//Add approval pending\n }\n }\n else {\n //checker flow\n //this when checker is creating an user\n if (form.value[\"IsActive\"] == 1 && this.reviewStatus == undefined) {\n form.value[\"reviewStatus\"] = 1;//When checker adds users\n form.value[\"IsActive\"] = 2;\n }\n else if (form.value[\"IsActive\"] == 0 && this.reviewStatus == undefined) {\n form.value[\"reviewStatus\"] = 3;//add reject\n }\n //IsActive is approved\n if (form.value[\"IsActive\"] == 1 && this.reviewStatus == 1) {\n form.value[\"reviewStatus\"] = 2;//Add approved \n }\n else if (form.value[\"IsActive\"] == 0 && this.reviewStatus == 1) {\n form.value[\"reviewStatus\"] = 3;//Add rejected\n }\n\n if (form.value[\"IsActive\"] == 1 && this.reviewStatus == 4) {\n form.value[\"reviewStatus\"] = 5;//edit approved\n }\n else if (form.value[\"IsActive\"] == 0 && this.reviewStatus == 4) {\n form.value[\"reviewStatus\"] = 6;//edit rejected\n }\n\n if (form.value[\"IsActive\"] == 1 && this.reviewStatus == 7) {\n form.value[\"reviewStatus\"] = 8;//delete approved \n form.value[\"IsActive\"] = 0;\n }\n else if (form.value[\"IsActive\"] == 0 && this.reviewStatus == 7) {\n form.value[\"reviewStatus\"] = 9;//deleted rejected \n form.value[\"IsActive\"] = 1;\n }\n\n //when checker editd it should send for review.\n if ((form.value[\"IsActive\"] == 1 || form.value[\"IsActive\"] == 0) && (this.reviewStatus == 2 || this.reviewStatus == 3 || this.reviewStatus == 5 || this.reviewStatus == 6)) {\n form.value[\"reviewStatus\"] = 4;//Edit pending \n form.value[\"IsActive\"] = 2;\n }\n if ((form.value[\"IsActive\"] == 1) && (this.reviewStatus == 8 || this.reviewStatus == 9)) {\n form.value[\"reviewStatus\"] = 4;\n form.value[\"IsActive\"] = 2;\n }\n }\n\n\n if (form.value.BirthDate.singleDate.date.month >= \"10\") {\n this.newdate = form.value.BirthDate.singleDate.date.year + \"-\" + form.value.BirthDate.singleDate.date.month + \"-\" + form.value.BirthDate.singleDate.date.day;\n }\n else {\n this.newdate = form.value.BirthDate.singleDate.date.year + \"-0\" + form.value.BirthDate.singleDate.date.month + \"-\" + form.value.BirthDate.singleDate.date.day;\n }\n if (this.futureDateError) {\n this.disableButton = false;\n return;\n }\n\n if (form.value[\"UserId\"] > 0) {\n form.value[\"UpdatedBy\"] = localStorage.getItem('LoginUserId');\n }\n else {\n form.value[\"CreatedBy\"] = localStorage.getItem('LoginUserId');\n }\n var postData = {};\n\n postData[\"RoleId\"] = [];\n\n if ((this.editedUserInfo.RoleName != this._userService.formData.RoleNames) && this.editedUserInfo.IsActive == \"0\" && this.reviewStatus == 4) {\n this.Rolesave.forEach(element => {\n var UserAccessObj = {};\n UserAccessObj[\"RoleId\"] = element[\"RoleId\"];\n postData[\"RoleId\"].push(UserAccessObj);\n });\n }\n else {\n form.value[\"RoleId\"].forEach(element => {\n var UserAccessObj = {};\n UserAccessObj[\"RoleId\"] = element;\n postData[\"RoleId\"].push(UserAccessObj);\n });\n }\n\n\n postData[\"loggedInUser\"] = localStorage.getItem('LoginUserId');\n postData[\"UserId\"] = form.value[\"UserId\"];\n postData[\"FirstName\"] = form.value[\"FirstName\"];\n postData[\"MiddleName\"] = form.value[\"MiddleName\"];\n\n var pass = \"********\";\n // var pass1= \"*********\";\n if (form.value[\"UserId\"] > 0 && form.value[\"Password\"] == pass) {\n postData[\"Password\"] = \"\";\n }\n // else if(form.value[\"UserId\"] >0 && form.value[\"Password\"] == pass1){\n // postData[\"Password\"]=\"\";\n // }\n else {\n postData[\"Password\"] = (document.getElementById('actPswd')).value;\n }\n\n // postData[\"Password\"] = form.value[\"Password\"];\n postData[\"BirthDate\"] = this.newdate;\n postData[\"EmailId\"] = form.value[\"EmailId\"];\n postData[\"LastName\"] = form.value[\"LastName\"];\n postData[\"Gender\"] = form.value[\"Gender\"];\n postData[\"MobileNumber\"] = form.value[\"MobileNumber\"];\n postData[\"AltMobileNumber\"] = form.value[\"AltMobileNumber\"];\n postData[\"TransactionLimit\"] = form.value[\"TransactionLimit\"];\n\n postData[\"Address\"] = ''; //form.value[\"Address\"];\n postData[\"AltAddress\"] = ''; // form.value[\"AltAddress\"];\n postData[\"CountryId\"] = 1; //form.value[\"CountryId\"];\n postData[\"StateId\"] = 1; //form.value[\"StateId\"];\n postData[\"CityId\"] = 1; //form.value[\"CityId\"];\n postData[\"Pincode\"] = 1234; //form.value[\"Pincode\"];\n postData[\"IsActive\"] = form.value[\"IsActive\"];\n postData[\"limit\"] = 0; //form.value[\"limit\"];\n postData[\"UserType\"] = form.value[\"UserType\"];\n postData[\"BankCorpUser\"] = form.value[\"BankCorpUser\"];\n postData[\"BranchUser\"] = form.value[\"BranchUser\"];\n postData[\"CreatedBy\"] = form.value[\"CreatedBy\"];\n postData[\"UpdatedBy\"] = form.value[\"UpdatedBy\"];\n postData[\"reviewStatus\"] = form.value[\"reviewStatus\"];\n\n ////Rubina 29/05/2020 2:35Pm\n if (this.validDate == true) {\n if (+this.editedUserId > 0) {\n this._userService.fnEmailExists(localStorage.getItem('UserDataId'), form.value[\"EmailId\"].toString(), form.value[\"MobileNumber\"].toString()).subscribe(data => {\n debugger;\n if (data == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Email id already exists';\n this.onTop();\n this.disableButton = false;\n }\n if (data == 2) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Mobile Number already exists';\n this.onTop();\n this.disableButton = false;\n }\n if (data == 3) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Email id and Mobile Number already exists';\n this.onTop();\n this.disableButton = false;\n }\n else if (data == 0 && postData[\"RoleId\"] != null && postData[\"RoleId\"] != []) {\n if (form.value[\"reviewStatus\"] == 4) {\n var password1 = \"\";\n if (postData[\"Password\"] == \"\" && (document.getElementById('actPswd')).value != \"********\") {\n password1 = (document.getElementById('actPswd')).value;\n }\n else\n password1 = postData[\"Password\"];\n this._userService.GetfnUserPasswordExist(password1, postData[\"UserId\"]).subscribe(data => {\n debugger;\n if (data == true) {\n this._userService.fnSaveUserMasterDetails(postData).subscribe(res => {\n\n if (res.toString().length > 0) {\n this.disableButton = false;\n }\n\n if (res.UserId == \"-1\") {\n this.lblMessage = res.msg;\n this.showerrormsg = true;\n this.showMsg = false;\n\n this.onTop();\n\n }\n else {\n this.lblMessage = res.FirstName + \" \" + res.msg;\n this.showMsg = true;\n this.showerrormsg = false;\n this._userService.formData.UserId = (res.UserId);\n this.onTop();\n this.fnCreatedByUpdatedBy(this._userService.formData.UserId);\n this.disableButton = true;\n }\n },\n (error) => {\n this.showMsg = false;\n this.showerrormsg = true;\n this.router.navigate([\"404\"]);\n this.onTop();\n this.disableButton = false;\n }\n );\n //new -->Password changed with old password\n }\n else {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'You used this password recently.Please choose a different one. ';\n this.onTop();\n this.disableButton = false;\n }\n });\n }\n else {\n this._userService.fnSaveUserMasterDetails(postData).subscribe(res => {\n\n if (res.toString().length > 0) {\n this.disableButton = false;\n }\n\n if (res.UserId == \"-1\") {\n this.lblMessage = res.msg;\n this.showerrormsg = true;\n this.showMsg = false;\n\n this.onTop();\n\n }\n else {\n this.lblMessage = res.FirstName + \" \" + res.msg;\n this.showMsg = true;\n this.showerrormsg = false;\n this._userService.formData.UserId = (res.UserId);\n this.onTop();\n this.fnCreatedByUpdatedBy(this._userService.formData.UserId);\n this.disableButton = true;\n }\n },\n (error) => {\n this.showMsg = false;\n this.showerrormsg = true;\n this.router.navigate([\"404\"]);\n this.onTop();\n this.disableButton = false;\n }\n );\n } //mobile\n }//ntn\n });\n } else {\n if (this.editedUserId == undefined)\n this.editedUserId = 0;\n this._userService.fnEmailExists(localStorage.getItem('UserDataId'), form.value[\"EmailId\"].toString(), form.value[\"MobileNumber\"].toString()).subscribe(data => {\n if (data == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Email id already exists';\n this.onTop();\n this.disableButton = false;\n }\n if (data == 2) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Mobile Number already exists';\n this.onTop();\n this.disableButton = false;\n }\n if (data == 3) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Email id and Mobile Number already exists';\n this.onTop();\n this.disableButton = false;\n }\n\n else if (data == 0) {\n this._userService.fnSaveUserMasterDetails(postData).subscribe(res => {\n\n if (res.toString().length > 0) {\n this.disableButton = false;\n }\n\n if (res.UserId == \"-1\") {\n this.lblMessage = res.msg;\n this.showerrormsg = true;\n this.showMsg = false;\n this.disableButton = false;\n this.onTop();\n\n }\n else {\n\n this.lblMessage = res.FirstName + \" \" + res.msg;\n\n document.location.reload();\n localStorage.setItem(\"Msg\", this.lblMessage);\n this.onTop();\n\n }\n },\n (error) => {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'An error occured.';\n this.onTop();\n this.disableButton = false;\n this.router.navigate([\"404\"]);\n }\n );\n }\n });\n }\n }\n }\n\n\n fnHideSuccessMsg(event) {\n this.showMsg = false;\n this.showerrormsg = false;\n\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n\n fnGetRoles() {\n this._masterService.fnGetAllRoleMaster().subscribe(data => {\n this.Roles = data;\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n numberOnly(event): boolean {\n const charCode = (event.which) ? event.which : event.keyCode;\n // if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n // return false;\n // }\n if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {\n return false;\n }\n return true;\n }\n // Getting created and updated history\n fnCreatedByUpdatedBy(UserId) {\n this._userService.fnGetCreatedNUpdatedUserMaster(UserId).subscribe(userdates => {\n this.UserCreatedUpdated1 = userdates;\n\n if (this.UserCreatedUpdated1[0].CreatedDate != null) {\n this.showCreatedDiv = true;\n this.createdDate = this.UserCreatedUpdated1[0].CreatedDate;\n this.userNameCreated = this.UserCreatedUpdated1[0].UserName;\n }\n if (this.UserCreatedUpdated1[1].UpdatedDate != null) {\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.UserCreatedUpdated1[1].UserName;\n this.updtedDate = this.UserCreatedUpdated1[1].UpdatedDate;\n }\n\n });\n }\n\n onKeyDown(event: KeyboardEvent) {\n\n let a = (event.charCode == 8 || event.charCode == 45 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n IsAlphaNumeric(e) {\n var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;\n var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (keyCode == 32));\n //document.getElementById(\"error\").style.display = ret ? \"none\" : \"inline\";\n return ret;\n\n }\n\n selectOldrole(status) {\n if ((this.editedUserInfo.RoleName != this._userService.formData.RoleNames) && this.reviewStatus == 4 && status == \"0\") {\n this._userService.fnGetOldRoleByUserId(this.encryptUsingAES256(this.editedUserInfo.UserId)).subscribe(role => {\n this.Rolesave = role;\n });\n }\n }\n\n passwordToStar() {\n var pswd = (document.getElementById('pswdField'));\n var actpswd = (document.getElementById('actPswd'));\n var fval = '';\n for (var i = 0; i < pswd.value.length; i++) {\n fval += '*';\n }\n var repVal = (pswd.value).split(\"*\").join(\"\");//replace all *\n if (repVal.length == 1 || (pswd.value.lastIndexOf(\"*\") != -1 && repVal.length != 0))\n actpswd.value += repVal;\n else if (repVal.length == 0)\n actpswd.value = actpswd.value.substring(0, pswd.value.length);\n else\n actpswd.value = repVal;\n\n pswd.value = fval;\n }\n\n ConfimrPasswordToStar() {\n var pswd = (document.getElementById('ConfirmpswdField'));\n var actpswd = (document.getElementById('actConfPswd'));\n var fval = '';\n for (var i = 0; i < pswd.value.length; i++) {\n fval += '*';\n }\n var repVal = (pswd.value).split(\"*\").join(\"\");//replace all *\n if (repVal.length == 1 || (pswd.value.lastIndexOf(\"*\") != -1 && repVal.length != 0))\n actpswd.value += repVal;\n else if (repVal.length == 0)\n actpswd.value = actpswd.value.substring(0, pswd.value.length);\n else\n actpswd.value = repVal;\n\n pswd.value = fval;\n }\n}\n","
\n\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n

\n {{ lblTitle }}\n

\n
\n
\n
\n
\n\n
\n
\n
\n

\n * Marked Fields Are Mandatory.\n

\n
\n
\n\n \n
\n
\n
\n ×\n Success! {{ lblMessage }}.\n
\n\n
\n ×\n Error! {{ lblMessage }}.\n
\n
\n \n
\n\n
\n\n \n\n \n\n \n\n
\n \n\n \n \n {{_userService.formData.FirstName}} \n\n
\n
\n First Name is required.\n
\n
\n Please provide a valid First Name.\n
\n
\n \n
\n\n
\n \n \n {{_userService.formData.MiddleName}} \n \n
\n
\n Please provide a valid Middle Name.\n
\n
\n \n
\n \n\n \n
\n \n \n {{_userService.formData.LastName}} \n\n
\n
\n Last Name is required.\n
\n
\n Please provide a valid Last Name.\n
\n
\n \n
\n
\n \n
\n \n
\n \n
\n \n
\n
\n \n
\n This Gender is required\n
\n
\n {{formatedGender}} \n
\n \n
\n
\n \n \n\n \n \n
\n \n
\n This password is required.\n
\n
\n password must be at least 8 characters long\n
\n
\n \n\n \n
\n
\n \n \n\n \n\n \n\n
\n \n \n
\n This Confirm Password is\n required\n Passwords must match\n
\n
\n\n
\n \n\n \n\n \n \n\n
\n \n
\n \n
\n
\n {{_userService.formData.formatedBithDate}} \n\n \n \n\n \n
\n Birth Date should be less than or equal to current date\n
\n
\n This Birth Date is required\n
\n
\n Enter a valid date in DD-MM-YYYY format\n
\n \n \n
\n\n\n
\n \n \n {{_userService.formData.EmailId}} \n \n
\n
This Email Id is required
\n
Please provide a valid email address
\n \n
\n
\n \n\n \n
\n \n \n {{_userService.formData.MobileNumber}} \n \n
\n
\n Mobile Number field is required.\n
\n
\n Mobile number should be only numbers.\n
\n
\n Mobile number should be 10 digit.\n
\n
\n
\n
\n \n \n {{_userService.formData.AltMobileNumber}} \n
\n
\n Phone number should be only numbers.\n
\n
\n Phone number should be 10 digit.\n
\n
\n
\n\n\n
\n \n \n {{_userService.formData.UserTypedesc}} \n
\n This User Type is required\n
\n
\n\n
\n \n \n \n {{_userService.formData.CustomerName}} \n
\n Select Corporate is required\n
\n
\n\n
\n \n \n {{_userService.formData.BranchName}} \n
\n Select Branch User is required\n
\n\n \n
\n \n \n\n \n \n \n\n \n \n \n \n\n \n \n
\n
\n
\n \n \n {{_userService.formData.RoleNames}} \n
\n This Role is required\n
\n
\n\n
\n \n \n {{_userService.formData.TransactionLimit}} \n
\n
\n Transaction Limit is required.\n
\n\n
\n\n
\n\n
\n \n\n \n \n \n
\n
\n Status is required.\n
\n
\n Please select status.\n
\n
\n
\n\n \n
\n \n
\n
\n \n\n \n\n \n
\n
\n\n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n
\n
\n
\n
\n
\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport {BranchService} from '../../MasterService/branch.service';\nimport {ActivatedRoute} from \"@angular/router\";\nimport { FormGroup, FormControl} from '@angular/forms';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-view-branch-master',\n templateUrl: './view-branch-master.component.html',\n styleUrls: ['./view-branch-master.component.css']\n})\nexport class ViewBranchMasterComponent implements OnInit {\n\n branchForm:FormGroup;\n _BranchId:string;\n // public CreatedBy:string;\n // public CreatedDate:string;\n // public UpdatedBy:string;\n // public UpdatedDate:string;\n\n constructor(private _branchService:BranchService,private router: Router,private route: ActivatedRoute) { }\n\n ngOnInit(): void {\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n this.branchForm = new FormGroup({\n Correspondent:new FormControl(),\n BankName:new FormControl(),\n BranchCode:new FormControl(),\n BranchName:new FormControl(),\n BICCode:new FormControl(),\n IFSCCode:new FormControl(),\n MICRCode:new FormControl(),\n Address1:new FormControl(),\n Address2:new FormControl(),\n CountryName:new FormControl(),\n StateName:new FormControl(),\n CityName:new FormControl(),\n CreatedBy:new FormControl(),\n CreatedDate:new FormControl(),\n UpdatedBy:new FormControl(),\n UpdatedDate:new FormControl(),\n });\n\n this.route.queryParams.subscribe(params => {\n this._BranchId = params[\"id\"];\n });\n\n this.fnViewBranchMaster();\n }\n\n fnViewBranchMaster(){\n this._branchService.fnGetBranchDetailsById(this._BranchId).subscribe(data=>{\n this.branchForm.setValue({\n Correspondent:data.Correspondent,\n BankName:data.BankName,\n BranchCode:data.BranchCode,\n BranchName:data.BranchName,\n BICCode:data.BICCode,\n IFSCCode:data.IFSCCode,\n MICRCode:data.MICRCode,\n Address1:data.Address1,\n Address2:data.Address2,\n CountryName:data.Country,\n StateName:data.State,\n CityName:data.City,\n // CreatedBy:data.CreatedBy,\n // CreatedDate:data.CreatedDate,\n // UpdatedBy:data.UpdatedBy,\n // UpdatedDate:data.UpdatedDate,\n });\n });\n }\n\n}\n","
\n
\n
\n
\n
\n

View Branch Master

\n \n\n
\n
\n \n
\n \n
\n \n
\n\n \n
\n \n
\n
\n
\n
\n\n
\n\n
\n \n \n
\n\n
\n \n \n
\n \n
\n \n \n
\n\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n

Address Details

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n \n
\n \n \n
\n
\n\n
\n
\n \n \n
\n \n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n\n\n\n","export class AccountLinkMaster {\n AclinkId: number;\n CustomerId: number;\n OutputJson: string;\n status: string;\n AccLinkName: string;\n CustomerName: string;\n Comments: string;\n AccountType: string;\n UserId: string;\n CreatedBy: string;\n CreatedDate: string;\n DateCreated: string;\n UpdatedBy: string;\n UpdatedDate: string;\n Oldcomment:string;\n StructorId:number\n StructorName:string;\n Priority : number;\n CustomerStatus : string;\n InactiveCustomer : string;\n IsEditDisabled : boolean;\n CreatedById: number;\n UpdatedById: number;\n SweepExecutionApproval:number;\n AccLinkStatusName:string;\n NewAccLinkName: string;\n IsAcLinkSelected:boolean;\n IsDisableCheckbox:boolean;\n SweepApprovalRequestedBy:number;\n RefAclinkId:number;\n IsLastApproved:number;\n sweepStatus:number;\n}\n\nexport class AccountRelation {\n AcLinkRelationId : number\n AclinkId : number\n AccountId : number\n ParentId: number\n BlockId: number\n AccountNumber : string\n CurrentBalance : number\n}\n\nexport class AccoutnLinkClass {\n AccLink: AccountLinkMaster;\n AccLinkDetails: AccountRelation [];\n}\n\nexport class SweepMethodClass {\n sweepName:string;\n BodSweepExecutionType:number;\n EodSweepExecutionType:number;\n}\n\nexport class AccountLinkStatus {\n AccLinkStatusId:number\n AccLinkStatusName:string\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders} from '@angular/common/http'\nimport { BranchMaster} from './branch-master'\nimport { Observable} from 'rxjs';\nimport { Constants} from '../Common/constant';\nimport { BizRule, BizRuleCreatedUpdated, AccountList } from './BIz-RuleMaster';\nimport { debugOutputAstAsTypeScript } from '@angular/compiler';\nimport { RulesSummaryReports } from './RuleSummaryReports';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n@Injectable({\n providedIn: 'root'\n})\nexport class BizRuleService {\n\n readonly rootURL = Constants.apiURL + 'BizRuleMasterApi/';\n encryptSchemeId: any;\n encryptRuleId: string;\n encryptfrequency: string;\n encryptFromAccountId:string;\n encryptSchemeAcLinkid:string;\n\n constructor(private http: HttpClient, public _token: TokenService,public _encryption: EncryptdecryptService) { }\n formData: BizRule;\n BranchList: BizRule[];\n\n\n fnSaveBIZMasterDetails(postData){\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'SaveBizRuleMaster', postData, httpOptions) \n }\n fnGetBIZRuleData(SchemeId: string,FromAccountId:string): Observable{\n this.encryptSchemeId=this._encryption.encryptUsingAES256(SchemeId.toString());\n this.encryptFromAccountId=this._encryption.encryptUsingAES256(FromAccountId.toString());\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBIZRuleMaster?schemeId=' + this.encryptSchemeId + '&FromAccountId=' + this.encryptFromAccountId, httpOptions)\n } \n fnDeleteBIZRule(id) {\n this.encryptRuleId=this._encryption.encryptUsingAES256(id.toString()); \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteBIZRuleMaster?RuleId=' + this.encryptRuleId, httpOptions);\n }\n fnGetCreatedNUpdatedNBIZRuleMaster(RuleID: string): Observable{\n this.encryptRuleId=this._encryption.encryptUsingAES256(RuleID.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfBizRuleMaster?RuleID=' + this.encryptRuleId, httpOptions);\n }\n\n fnGetBIZRulePriority(RuleId: string, frequency: string, schemeId: string) {\n this.encryptRuleId=this._encryption.encryptUsingAES256(RuleId.toString());\n this.encryptfrequency=this._encryption.encryptUsingAES256(frequency.toString());\n this.encryptSchemeId=this._encryption.encryptUsingAES256(schemeId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n debugger\n return this.http.get(this.rootURL + 'BIZPriorityIcrement?RuleId=' + this.encryptRuleId + '&Frequency=' + this.encryptfrequency + '&schemeId=' + this.encryptSchemeId, httpOptions);\n } \n \n fnGetBizRuleBySchemeId(ruleId: string): Observable{\n this.encryptRuleId=this._encryption.encryptUsingAES256(ruleId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n debugger;\n return this.http.get(this.rootURL + 'GetBIzRuleMasterListById?ruleId=' + this.encryptRuleId, httpOptions);\n }\n fnSaveBIZRuleExecute(formData: BizRule): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n \n return this.http.post(this.rootURL + 'SaveBizRuleExecuteMaster', formData, httpOptions) \n }\n \n fnSaveBIZBulkRuleExecute(formData: BizRule[]): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n \n return this.http.post(this.rootURL + 'BulkSaveBizRuleExecuteMaster', formData, httpOptions) \n}\n\n\nfnGetAccountList(SchemeId: string, SchemeAcLinkid:string): Observable{\n this.encryptSchemeId=this._encryption.encryptUsingAES256(SchemeId.toString());\n this.encryptSchemeAcLinkid =this._encryption.encryptUsingAES256(SchemeAcLinkid.toString());\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAccountsForRule?SchemeId=' + this.encryptSchemeId + '&SchemeAcLinkId=' + this.encryptSchemeAcLinkid, httpOptions)\n} \n fnDublcateRuleName(SchemeId: string,RuleId :string, RuleName:string): Observable {\n this._token.fnrenewToken();\n debugger;\n SchemeId=this._encryption.encryptUsingAES256(SchemeId);\n RuleId=this._encryption.encryptUsingAES256(RuleId);\n RuleName=this._encryption.encryptUsingAES256(RuleName);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDuplicateRuleName?SchemeId='+SchemeId+'&RuleId='+RuleId+'&RuleName='+RuleName, httpOptions);\n}\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { Holiday, HolidayCreatedUpdated,EditedHolidayMaster } from './Holiday';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HolidayService {\n\n formData: Holiday;\n HolidayList: Holiday[];\n\n readonly rootURL = Constants.apiURL + 'HolidayMasterApi/';\n encryptHolidayId: any;\n encryptReviewStatus: string;\n encryptStatus: string;\n encryptBranchId: string;\n decHolidayId: string;\n decLeave: string;\n decBankName: string;\n decBranchId: string;\n decDate: string;\n decDateFrom: string;\n decDateTo: string;\n\n constructor(private http: HttpClient, public _token: TokenService, public _encryption: EncryptdecryptService) { }\n\n \n fnSaveHolidayMasterDetails(formData: Holiday):Observable {\n this._token.fnrenewToken();\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'AddEditHoliday', formData, httpOptions) \n }\n fnSaveHolidayAsWorking(holidayId) { \n this.encryptHolidayId=this._encryption.encryptUsingAES256(holidayId.toString());\n this._token.fnrenewToken();\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'HolidayAsWorking?HolidayId=' + this.encryptHolidayId + '&UserId=' + localStorage.getItem('LoginUserId'), holidayId, httpOptions);\n }\n \n fnGetHolidayData(editedHolidayId: string ='0', PageNo:string=\"\", PageSize:string=\"\",\n BankName:string=\"\", HolidayName:string=\"\", HolidayType:string=\"\", \n CreatedBy:string=\"\", CreatedDate :string=\"\",HolidayDate:string =\"\",\n RequestType:string=\"\", Status:string=\"\" , SortOrder:string=\"\" ): Observable {\n editedHolidayId = this._encryption.encryptUsingAES256(editedHolidayId);\n PageNo = this._encryption.encryptUsingAES256(PageNo);\n PageSize = this._encryption.encryptUsingAES256(PageSize);\n BankName = this._encryption.encryptUsingAES256(BankName);\n HolidayName = this._encryption.encryptUsingAES256(HolidayName);\n HolidayType = this._encryption.encryptUsingAES256(HolidayType);\n CreatedBy = this._encryption.encryptUsingAES256(CreatedBy);\n RequestType = this._encryption.encryptUsingAES256(RequestType);\n Status = this._encryption.encryptUsingAES256(Status);\n SortOrder = this._encryption.encryptUsingAES256(SortOrder);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({ \n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetHolidayMaster?HolidayId='+editedHolidayId\n +'&PageNo='+PageNo+ '&PageSize=' +PageSize+'&BankName='+BankName+'&HolidayName='+HolidayName\n +'&HolidayType='+HolidayType+ '&CreatedBy='+CreatedBy+'&CreatedDate='+CreatedDate\n +'&HolidayDate='+HolidayDate\n +'&RequestType='+RequestType+'&Status='+Status+'&SortOrder='+SortOrder, httpOptions);\n }\n\n fnGetHolidayDataForExport( HolidayId: string = '0'): Observable{\n this._token.fnrenewToken();\n HolidayId = this._encryption.encryptUsingAES256(HolidayId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetHolidayMasterExport?HolidayId='+HolidayId, httpOptions);\n }\n\n // fnGetHolidayData():Observable{\n // this.http.get(this.rootURL + 'GetHolidayMaster');\n // //.toPromise().then(res => this.HolidayList = res as Holiday[]);\n // }\n fnGetCreatedNUpatedDateOfHolidayMaster(holidayId: string ='0') {\n this.encryptHolidayId=this._encryption.encryptUsingAES256(holidayId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfHolidayMaster?holidayId=' + this.encryptHolidayId, httpOptions);\n }\n fnDeleteHoliday(id:string,loginId:string,ReviewStatus:string): Observable {\n this.encryptHolidayId=this._encryption.encryptUsingAES256(id.toString());\n this.encryptReviewStatus=this._encryption.encryptUsingAES256(ReviewStatus.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteHolidayMaster?HolidayId=' + this.encryptHolidayId + '&LoggedinUserId='+loginId + '&ReviewStatus='+ this.encryptReviewStatus, httpOptions);\n }\n fnHolidayasWorking(id) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.put(this.rootURL + 'HolidayAsWorking?HolidayId=' + id, id, httpOptions);\n }\n\n fnUploadHoliay(uploadHoliday,headerColumns:string,UserID:string):Observable{\n headerColumns=this._encryption.encryptUsingAES256(headerColumns);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'UploadHoliday?headerColumns=' + headerColumns + \"&UserId=\" + UserID, uploadHoliday, httpOptions)\n }\n\n fnGetEditedHolidayValue(HolidayId: string): Observable{\n this.encryptHolidayId=this._encryption.encryptUsingAES256(HolidayId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetEditedHolidayInfoByAccountId?holidayId=' + this.encryptHolidayId, httpOptions);\n}\n\nfnGetBranchName(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBranchName', httpOptions);\n}\n\nfnBranchCode(branchId): Observable{\n this.encryptBranchId=this._encryption.encryptUsingAES256(branchId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnBranchCodeById?BranchId=' + this.encryptBranchId, httpOptions);\n}\n\nfnBulkAuthorize(UserID:string,HolidayId:string,ReviewStatus:string,Status:string):Observable{\n this._token.fnrenewToken();\n this.encryptHolidayId=this._encryption.encryptUsingAES256(HolidayId.toString());\n this.encryptReviewStatus=this._encryption.encryptUsingAES256(ReviewStatus.toString());\n this.encryptStatus=this._encryption.encryptUsingAES256(Status.toString());\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.get(this.rootURL + 'BulkHolidayAuthorize?UserId='+UserID+'&HolidayId='+this.encryptHolidayId+'&ReviewStatus='+this.encryptReviewStatus+'&Status='+this.encryptStatus,httpOptions)\n}\n\nfnBulkUHolidayAuthorize(listAccount,UserID:string,AuthorizeStatus):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'BulkHolidayAuthorize?UserID='+UserID +'&AuthorizeStatus='+AuthorizeStatus,listAccount,httpOptions)\n}\n\nfnGHolidayAlreadyExist(HolidayId:string,Leave:string,BankName:string,BranchCode:string,Date:string,DateFrom:string,DateTo:string): Observable {\n this.decHolidayId=this._encryption.encryptUsingAES256(HolidayId);\n this.decLeave=this._encryption.encryptUsingAES256(Leave);\n this.decBankName=this._encryption.encryptUsingAES256(BankName);\n this.decBranchId=this._encryption.encryptUsingAES256(BranchCode);\n this.decDate=this._encryption.encryptUsingAES256(Date);\n this.decDateFrom=this._encryption.encryptUsingAES256(DateFrom);\n this.decDateTo=this._encryption.encryptUsingAES256(DateTo);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({ \n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'IsHolidayExist?HolidayId='+this.decHolidayId+'&Leave='+this.decLeave+ '&BankName='+this.decBankName+'&BranchName='+this.decBranchId+'&Date='+this.decDate+ '&DateFrom='+this.decDateFrom+'&DateTo='+this.decDateTo,httpOptions);\n}\n\nGetAndInsertImportFileData(fileName,userId):Observable{\n this._token.fnrenewToken();\n\n fileName=this._encryption.encryptUsingAES256(fileName);\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAndInsertImportFileData?userId='+userId +'&fileName='+fileName,httpOptions);\n}\n\nfnUploadFile(formData: FormData): Observable{ \n return this.http.post(this.rootURL + 'PostFile' , formData);\n}\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders,HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { LoginDetails } from '../Common/LoginDetail';\nimport { Login,ForgotPassword } from './Login';\nimport{TokenService} from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoginService {\n\n LoginAccessList:[];\n LoginAccessData:[];\n displaystart:boolean;\n displayLogin:boolean;\n menuModuleListForDashboard:[];\n \n \n constructor(private http: HttpClient,public _token:TokenService,public _encrypt:EncryptdecryptService) { }\n readonly rootURL = Constants.apiURL;\n arr:[];\n\n \n currentUser(){\n this.arr= JSON.parse(localStorage.getItem('LoginData'));\n LoginDetails.UserId=this.arr[\"UserId\"];\n LoginDetails.Email=this.arr[\"Email\"];\n LoginDetails.FirstName=this.arr[\"FirstName\"];\n LoginDetails.LastName=this.arr[\"LastName\"];\n localStorage.setItem('LoginUserId',this.arr[\"UserId\"]);\n localStorage.setItem('LoginFirstName',this.arr[\"FirstName\"]);\n localStorage.setItem('LoginLastName',this.arr[\"LastName\"]);\n }\n // fnGetLoginUserID(id) {\n // return this.http.get(this.rootURL+'/MenuModuleApi/GetMenuModuleList?userID='+id)\n // .subscribe(res => {this.LoginAccessList = res as []});\n // }\n \n fnGetLohinData(username:string):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json' ,\n 'Authorization' :this._token.token\n })\n };\n return this.http.get(this.rootURL + 'UserLoginAPi/GetLoginData?username=' + username,httpOptions);\n }\n\n fnGetLoginUserID(id) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json' ,\n 'Authorization' :this._token.token\n })\n };\n this.http.get(this.rootURL+'/MenuModuleApi/GetMenuModuleList?userID='+id,httpOptions).subscribe(\n data=>{\n this.LoginAccessList = data as [];\n });\n }\n\n fnGetMenuModuleListForDashboard(id) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json' ,\n 'Authorization' :this._token.token\n })\n };\n this.http.get(this.rootURL+'/MenuModuleApi/GetMenuModuleListForDashboard?userID='+id,httpOptions).subscribe(\n data=>{\n this.menuModuleListForDashboard = data as [];\n localStorage.setItem('MenuItems',JSON.stringify(this.menuModuleListForDashboard));\n });\n }\n\n\n fnForgotPassword(username:string,mobileNumber:string){\n username = this._encrypt.encryptUsingAES256(username);\n mobileNumber = this._encrypt.encryptUsingAES256(mobileNumber);\n // this._token.fnrenewToken();\n // const httpOptions = {\n // headers: new HttpHeaders({\n // 'Content-Type': 'application/json' ,\n // 'Authorization' :this._token.token\n // })\n // };\n //,httpOptions\n return this.http.post(this.rootURL + '/UserLoginAPi/ValidateForgotPassword?username=' + username+'&moblieNumber='+mobileNumber,null);\n }\n\n fnValidateToken(token:string,resetUserId:string){\n\n token = this._encrypt.encryptUsingAES256(token);\n resetUserId = this._encrypt.encryptUsingAES256(resetUserId);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json' \n //'Authorization' :this._token.token\n })};\n return this.http.get(this.rootURL + '/UserLoginAPi/ValidateToken?token=' + token+'&resetUserId='+resetUserId,httpOptions);\n }\n \n fnUpdatePassword(password:string,uid:string){\n\n password = this._encrypt.encryptUsingAES256(password);\n uid = this._encrypt.encryptUsingAES256(uid);\n \n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({ \n 'Content-Type':'application/json' ,\n //'Authorization' :this._token.token\n })\n }; \n return this.http.post(this.rootURL + '/UserLoginAPi/UpdtePassword?password=' + password+'&userId='+uid,null,httpOptions);\n }\n fnGetLoginMenuNModule(id) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json' ,\n 'Authorization' :this._token.token\n })\n };\n return this.http.get(this.rootURL+'/MenuModuleApi/GetMenuModuleList?userID='+id,httpOptions);\n \n }\n }\n\n\n \n","export class Login {\n UserId: number\n RoleId: number\n EmployeeId: number\n UserName: string\n FirstName: string\n MiddleName: string\n LastName: string\n Password: string\n Gender: string\n BirthDate: string\n MobileNumber: string\n AltMobileNumber: string\n Email: string\n Address: string\n AlternateAddress: string\n CountryId: number\n StateId: number\n CityId: number\n Pincode: number\n IsActive: number\n msg: string\n ErrorMsg:string; \n Isdelete:number; \n}\n\nexport class ForgotPassword{\n userExist:boolean\n userId:number\n tokenMatched:boolean\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { SiteConfig, SiteConfigCreatedUpdated } from './SiteConfiguration';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SiteConfigurationService {\n\n formData: SiteConfig;\n HolidayList: SiteConfig[];\n\n readonly rootURL = Constants.apiURL + 'SiteConfigration/';\n\n constructor(private http: HttpClient, public _token: TokenService,public _encreptdecrept:EncryptdecryptService) { }\n\n \n fnSaveSiteConfigurationDetails(formData: SiteConfig ):Observable {\n this._token.fnrenewToken();\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'AddEditSiteConfigration', formData, httpOptions) \n }\n\n fnGetSiteConfigurationDetails(UserID):Observable { \n this._token.fnrenewToken()\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.get(this.rootURL + 'GetSiteConfiguration?UserID='+UserID,httpOptions); \n }\n \n fnGetCreatedUpdateSiteConfig(SiteConfId: string): Observable{\n this._token.fnrenewToken();\n SiteConfId = this._encreptdecrept.encryptUsingAES256(SiteConfId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n debugger;\n return this.http.get(this.rootURL + 'GetCreatedByUpdatedBysiteconfiguration?SiteConfId=' + SiteConfId, httpOptions);\n}\n\n}\n","import { Injectable } from '@angular/core';\nimport { AccountLinkMaster, AccoutnLinkClass, SweepMethodClass, AccountLinkStatus} from './AccountLinkMaster';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AccountLinkMasterService {\n\n readonly rootURL = Constants.apiURL + 'AccountMasterApi/';\n\n CustomerId: number;\n\n formData: AccountLinkMaster;\n EditedformData: AccountLinkMaster;\n\n constructor(private http: HttpClient, public _token: TokenService,public _encrypt:EncryptdecryptService) { }\n\n fnGetAccountLinkList(UserId: string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAccountLinkingMaster?UserId=' + UserId, httpOptions);\n }\n\n\n fnGetAccountLinkMaster(AclinkId): Observable {\n AclinkId = this._encrypt.encryptUsingAES256(AclinkId);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAcccountMasterLink?AcLinkId=' + AclinkId, httpOptions);\n }\n\n fnGetAccountLinkMasterEdited(AclinkId): Observable {\n AclinkId = this._encrypt.encryptUsingAES256(AclinkId);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAcccountMasterLinkEdited?AcLinkId=' + AclinkId, httpOptions);\n }\n\n fnDeleteAccountLinkMaster(id: number, userId: string) {\n var Id = this._encrypt.encryptUsingAES256(id);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteAccountMasterLinkById?id=' + Id + '&loggedInUser=' + userId, httpOptions);\n }\n\n fnGetAccountLinkMasterMaxPriority(customerId: number) {\n var custid = this._encrypt.encryptUsingAES256(customerId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetMaxAccountLinkPrirority?customerId=' + custid, httpOptions);\n }\n\n fnResetTree(AclinkId): Observable {\n AclinkId = this._encrypt.encryptUsingAES256(AclinkId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'ResetTree?AcLinkId=' + AclinkId, httpOptions);\n }\n\n fnResetTreelable(AclinkId): Observable {\n AclinkId = this._encrypt.encryptUsingAES256(AclinkId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'ResetTreeLable?AcLinkId=' + AclinkId, httpOptions);\n }\n\n fndownloadTTUM(UserId): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'FnTTUMDownloadFile?UserId=' + UserId, httpOptions);\n }\n\n\n fnSweepExecute(AcLinkId, UserId: string):Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n // return this.http.post(this.rootURL + 'SweepExecuteonPriority?UserId='+ UserId, AcLinkId,httpOptions)\n return this.http.get(this.rootURL + 'SweepExecuteonPriority?AccLinkIdList='+ AcLinkId + \"&UserId=\" + UserId,httpOptions)\n }\n\n fnReverseSweepExecute(acclinkList: AccountLinkMaster[], UserId: string):Observable {\n //UserId = this._encrypt.encryptUsingAES256(UserId); \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'ReverseSweepExecuteonPriority?UserId='+ UserId, acclinkList,httpOptions)\n }\n\n fnAccountLinkNameduplicate(accLinkName: string, accLinkId: number,CustomerId:number): Observable {\n accLinkName = this._encrypt.encryptUsingAES256(accLinkName); \n var aclinkid = this._encrypt.encryptUsingAES256(accLinkId);\n var custId = this._encrypt.encryptUsingAES256(CustomerId);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDuplicateAccountLinkName?acLinkName=' + accLinkName + '&acLinkId=' + aclinkid + '&CustomerId=' + custId, httpOptions);\n}\n\nfnGetSweepMethodSiteConfiguration(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnGetSweepMethodSiteConfiguration', httpOptions);\n}\n\nfnGetAccountLinkStatus(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAccoountLinkStatus', httpOptions);\n}\n\nfnUpdateBulkStatusOfAccountLink(Accountlink:AccountLinkMaster[]):Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'UpdateAccountLinkMaster', Accountlink,httpOptions)\n }\n\n fnBulkSweepExecute(AcLinkId,TriggerPoints):Observable<\"\"> {\n TriggerPoints = this._encrypt.encryptUsingAES256(TriggerPoints);\n AcLinkId = this._encrypt.encryptUsingAES256(AcLinkId);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get<\"\">(this.rootURL + 'AddSweepListToServiceTable?triggerPoint='+ TriggerPoints + \"&AcLinkIdList=\" +AcLinkId,httpOptions)\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { AccountMaster, EditedAccontMaster, AccountType, UploadAccount, AccountTypeClass, AccountCreatedUpdated,AccountAuditMaster } from './AccountMaster'\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport{EncryptdecryptService} from 'src/app/MasterService/encryptdecrypt.service';\nimport { ParseError } from '@angular/compiler';\nimport { Customer } from './customer';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AccountMasterService {\n\n formData: AccountMaster;\n\n //for Audit Data\n AuditFormData:AccountAuditMaster\n\n readonly rootURL = Constants.apiURL + 'AccountMasterApi/';\n\n readonly accauditrootURL = Constants.apiURL + 'ReportsApi/';\n\n constructor(private http: HttpClient, public _token: TokenService,private _encryption:EncryptdecryptService) { }\n\n // fnSaveAccountMasterDetails(formData: AccountMaster):Observable{\n // return this.http.post(this.rootURL + 'AddEditAccount', formData)\n // }\n\n // adding a method seema 21-05-2020 17:20 PM\n fnSaveAccountMasterDetails(formData: AccountMaster): Observable {\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'AddEditAccount', formData, httpOptions);\n }\n\n fnGetAccountList(UserId:string, editedAcountId:string=\"\", PageNo:string=\"\", PageSize:string=\"\", AccountName:string=\"\" , \n AccountNumber:string=\"\",AccountType:string=\"\", BranchName:string=\"\" , CreatedBy:string=\"\", CreatedDate:string=\"\",\n corpCode:string=\"\", requestType:string=\"\", Status:string=\"\" , SortOrder:string = \"\"): Observable { \n this._token.fnrenewToken(); \n\n //#region \n editedAcountId=this._encryption.encryptUsingAES256(editedAcountId);\n PageNo=this._encryption.encryptUsingAES256(PageNo);\n PageSize=this._encryption.encryptUsingAES256(PageSize);\n AccountName=this._encryption.encryptUsingAES256(AccountName);\n AccountNumber=this._encryption.encryptUsingAES256(AccountNumber);\n AccountType=this._encryption.encryptUsingAES256(AccountType);\n BranchName=this._encryption.encryptUsingAES256(BranchName);\n CreatedBy=this._encryption.encryptUsingAES256(CreatedBy);\n // CreatedDate=this._encryption.encryptUsingAES256(CreatedDate);\n corpCode=this._encryption.encryptUsingAES256(corpCode);\n requestType=this._encryption.encryptUsingAES256(requestType);\n Status=this._encryption.encryptUsingAES256(Status);\n SortOrder=this._encryption.encryptUsingAES256(SortOrder);\n //#endregion\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAcccountList?UserId=' + UserId\n + '&EditeAccountId=' + editedAcountId + '&PageNo=' + PageNo + '&PageSize=' + PageSize + '&AccountName=' + AccountName\n + '&AccountNumber=' + AccountNumber + '&AccounType=' + AccountType + '&Branchname=' + BranchName + '&CreatedBy=' + CreatedBy\n + '&CreatedDate=' + CreatedDate + '&corpCode=' + corpCode + '&requestType=' + requestType + '&Status=' + Status \n + '&SortOrder=' + SortOrder, httpOptions);\n }\n\n fnGetIndentAccountList(IndentId: string): Observable { \n this._token.fnrenewToken(); \n IndentId=this._encryption.encryptUsingAES256(IndentId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetIndentAccountList?IndentId=' + IndentId, httpOptions);\n }\n\n fnDeleteAccount(id: string, status: string, userId: string): Observable {\n this._token.fnrenewToken();\n id=this._encryption.encryptUsingAES256(id);\n status=this._encryption.encryptUsingAES256(status); \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteAccountListById?id=' + id + '&status=' + status + '&userId=' + userId, httpOptions);\n }\n\n fnBulkDeleteAccount(id: string, status: string, userId: string): Observable {\n this._token.fnrenewToken();\n id=this._encryption.encryptUsingAES256(id);\n status=this._encryption.encryptUsingAES256(status); \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteBulAccountListById?id=' + id + '&status=' + status + '&userId=' + userId, httpOptions);\n }\n\n fnGetCustomerName(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerName', httpOptions);\n }\n\n fnGetBranchName(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBranchNamewithIDBI', httpOptions);\n }\n fnGetAccountListForAccountLink(_userId: string, CustomerId:string=\"\"): Observable {\n this._token.fnrenewToken();\n var _CustomerId=this._encryption.encryptUsingAES256(CustomerId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAcccountListForAccLinkMaster?UserId=' + _userId + \"&CustomerId=\" + _CustomerId, httpOptions);\n }\n\n fnGetEditedAccountValue(accountId: string): Observable {\n this._token.fnrenewToken();\n accountId=this._encryption.encryptUsingAES256(accountId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetEditedAccountInfoByAccountId?accountId=' + accountId, httpOptions);\n }\n\n fnGetAccountType(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAcccountType', httpOptions);\n }\n\n fnGetCreatedUpdateAccount(accountId: string): Observable {\n this._token.fnrenewToken();\n accountId=this._encryption.encryptUsingAES256(accountId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfAccountMaster?AccountID=' + accountId, httpOptions);\n }\n\n fnUploadAccount(uploadAccount, headerColumns: string, UserID: string): Observable {\n\n this._token.fnrenewToken();\n headerColumns=this._encryption.encryptUsingAES256(headerColumns);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'UploadAccount?headerColumns=' + headerColumns + \"&UserId=\" + UserID, uploadAccount, httpOptions)\n }\n\n fnAccountNumberduplicate(accNumber, AccountId: string, branchId:string): Observable {\n this._token.fnrenewToken();\n AccountId=this._encryption.encryptUsingAES256(AccountId);\n accNumber=this._encryption.encryptUsingAES256(accNumber);\n branchId=this._encryption.encryptUsingAES256(branchId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDuplicateAccountNumber?AccountNumber=' + accNumber + '&AccountId=' + AccountId + '&BranchId=' + branchId, httpOptions);\n }\n\n fnAccountNameduplicate(accName: string, accId: string): Observable {\n this._token.fnrenewToken();\n accName=this._encryption.encryptUsingAES256(accName);\n accId=this._encryption.encryptUsingAES256(accId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDuplicateAccountName?AccountName=' + accName + '&AccountId=' + accId, httpOptions);\n }\n\n fnFetchBalance(AccountNumber: string): Observable {\n this._token.fnrenewToken();\n AccountNumber=this._encryption.encryptUsingAES256(AccountNumber);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'FetchBalance?AccountNumber=' + AccountNumber, httpOptions);\n }\n\n fnBulkAuthorize(UserID:string,accountId:string,ReviewStatus:string,Status:string):Observable{\n this._token.fnrenewToken();\n accountId=this._encryption.encryptUsingAES256(accountId);\n ReviewStatus=this._encryption.encryptUsingAES256(ReviewStatus);\n Status=this._encryption.encryptUsingAES256(Status);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.get(this.rootURL + 'BulkAuthorize?UserId='+UserID+'&accountId='+accountId+'&ReviewStatus='+ReviewStatus+'&Status='+Status,httpOptions)\n }\n \n fnBulkAccountAuthorize(listAccount,UserID:string,AuthorizeStatus):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'BulkAuthorize1?UserID='+UserID +'&AuthorizeStatus='+AuthorizeStatus,listAccount,httpOptions)\n }\n\n fnGetAccountAuditHistory(accId:string = '0'):Observable{\n this._token.fnrenewToken();\n accId = this._encryption.encryptUsingAES256(accId);\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.accauditrootURL + 'fnGetAccountAuditHistory?AccountId='+accId+'&loginUserId='+localStorage.getItem('LoginUserId'),httpOptions);\n }\n\n fnIsIDBIBank(branchId:string): Observable {\n this._token.fnrenewToken();\n branchId = this._encryption.encryptUsingAES256(branchId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnIsIDBIBank?BranchId=' + branchId, httpOptions);\n }\n\n fnUploadFile(formData: FormData): Observable{ \n return this.http.post(this.rootURL + 'PostFile' , formData);\n }\n GetAndInsertImportFileData(fileName,userId):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n fileName=this._encryption.encryptUsingAES256(fileName);\n return this.http.get(this.rootURL + 'GetAndInsertImportFileData?userId='+userId +'&fileName='+fileName,httpOptions);\n }\n\n fnAccountExistinAccountLink(accId: string): Observable {\n this._token.fnrenewToken();\n accId=this._encryption.encryptUsingAES256(accId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnAccountExistinAccountLink?AccountId=' + accId, httpOptions);\n }\n\n\n fnGetAccountListForExport(UserId:string): Observable { \n this._token.fnrenewToken(); \n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAccountListForExport?UserId=' + UserId, httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { RoleMaster } from './role-master'\nimport { CountryMaster } from './country-master'\nimport { StateMaster } from './state-master'\nimport { CityMaster } from './city-master'\nimport { module } from './module'\nimport { Observable } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AllMasterApiService {\n \n readonly rootURL = Constants.apiURL + 'CountryApi/';\n\n constructor(private http: HttpClient, public _token: TokenService) { }\n\n fnGetRoleMaster(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRoles', httpOptions);\n }\n\n fnGetCountryMaster(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCountry', httpOptions);\n }\n\n fnGetStateMaster(id: number): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetStates?id=' + id, httpOptions);\n }\n\n fnGetCityMaster(id: number): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCity?id=' + id, httpOptions);\n }\n\n fnGetAllStateMaster(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAllStates', httpOptions);\n }\n\n fnGetAllCityMaster(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAllCity', httpOptions);\n }\n \n}\n","import { Injectable } from \"@angular/core\";\nimport { Router } from '@angular/router';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { LoginService } from 'src/app/MasterService/Login.service';\n\nconst MINUTES_UNITL_AUTO_LOGOUT = 30 // in mins\nconst CHECK_INTERVAL = 15000 // in ms\nconst STORE_KEY = 'lastAction';\n@Injectable()\n\nexport class AutoLogoutService {\n public getLastAction() { \n return parseInt(localStorage.getItem(STORE_KEY));\n }\n\n public setLastAction(lastAction: number) {\n localStorage.setItem(STORE_KEY, lastAction.toString());\n }\n\n constructor(private router: Router,public _login: LoginService) { \n this.check();\n this.initListener();\n this.initInterval(); \n localStorage.setItem(STORE_KEY,Date.now().toString()); \n }\n\n initListener() {\n document.body.addEventListener('click', () => this.reset());\n document.body.addEventListener('mouseover',()=> this.reset());\n document.body.addEventListener('mouseout',() => this.reset());\n document.body.addEventListener('keydown',() => this.reset());\n document.body.addEventListener('keyup',() => this.reset());\n document.body.addEventListener('keypress',() => this.reset());\n }\n\n reset() {\n this.setLastAction(Date.now());\n }\n\n initInterval() {\n setInterval(() => {\n this.check();\n }, CHECK_INTERVAL);\n }\n\n check() { \n const now = Date.now();\n const timeleft = this.getLastAction() + MINUTES_UNITL_AUTO_LOGOUT * 60 * 1000;\n const diff = timeleft - now;\n const isTimeout = diff < 0;\n if (isTimeout) { \n LoginDetails.UserId =0; \n localStorage.setItem('LoginFirstName','');\n localStorage.setItem('LoginLastName',''); \n this._login.displaystart=true;\n this._login.displayLogin=false; \n localStorage.clear();\n this.router.navigate([\"./LoginPage\"], ); \n }\n }\n\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders} from '@angular/common/http'\nimport { BranchMaster, UploadBranch, BranchCreatedUpdated,EditedBranchMaster} from './branch-master'\nimport { Observable} from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BranchService {\n\n readonly rootURL = Constants.apiURL + 'BranchMasterApi/';\n\n constructor(private http: HttpClient, public _token: TokenService,public _encreptdecrept:EncryptdecryptService) { }\n formData: BranchMaster;\n BranchList: BranchMaster[];\n\n fnGetBranchData( branchId: string = '0',PageNo:string=\"\", PageSize:string=\"\",\n BankName:string=\"\",BranchName:string=\"\", BranchCode:string=\"\",BICCode:string=\"\" , \n CorrespondentBank:string =\"\", CreatedDate :string=\"\",CreatedBy:string=\"\", \n RequestType:string=\"\", Status:string=\"\" ,\n SortOrder:string=\"\"): Observable{\n this._token.fnrenewToken();\n branchId = this._encreptdecrept.encryptUsingAES256(branchId);\n PageNo = this._encreptdecrept.encryptUsingAES256(PageNo);\n PageSize = this._encreptdecrept.encryptUsingAES256(PageSize);\n BankName = this._encreptdecrept.encryptUsingAES256(BankName);\n BranchName = this._encreptdecrept.encryptUsingAES256(BranchName);\n BranchCode = this._encreptdecrept.encryptUsingAES256(BranchCode);\n BICCode = this._encreptdecrept.encryptUsingAES256(BICCode);\n CreatedBy = this._encreptdecrept.encryptUsingAES256(CreatedBy);\n RequestType = this._encreptdecrept.encryptUsingAES256(RequestType);\n Status = this._encreptdecrept.encryptUsingAES256(Status);\n CorrespondentBank = this._encreptdecrept.encryptUsingAES256(CorrespondentBank);\n SortOrder = this._encreptdecrept.encryptUsingAES256(SortOrder);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBranchData?branchId='+branchId+'&PageNo='+PageNo\n +'&PageSize='+PageSize+'&BankName='+BankName+'&BranchName='+BranchName+'&BranchCode='+BranchCode\n +'&BICCode='+BICCode+'&CreatedBy='+CreatedBy+'&CreatedDate='+CreatedDate+'&RequestType='+RequestType\n + '&Status='+Status+ '&CorrespondentBank='+CorrespondentBank+'&SortOrder='+SortOrder, httpOptions);\n }\n\n fnGetBranchDataForExport( branchId: string = '0'): Observable{\n this._token.fnrenewToken();\n branchId = this._encreptdecrept.encryptUsingAES256(branchId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBranchMasterExport?branchId='+branchId, httpOptions);\n }\n fnGetBranchDetailsById(branchID: string): Observable{ \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBranchDataById' + '?BranchId=' + branchID, httpOptions);\n }\n\n\n \n fnSaveBranchMasterDetails(branchMaster:BranchMaster):Observable{\n debugger;\n //return this.http.post(this.rootURL + 'SaveBranchMasterDetails', branchMaster) \n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'SaveBranchMasterDetails', branchMaster, httpOptions);\n }\n\n fnDeleteBranchDetailsById(branchID:string , loginUserId:string,ReviewStatus:string):Observable{\n //let httpHeaders = new HttpHeaders().set('Content-Type','application/json');\n this._token.fnrenewToken();\n branchID = this._encreptdecrept.encryptUsingAES256(branchID);\n ReviewStatus = this._encreptdecrept.encryptUsingAES256(ReviewStatus);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteBranchDataById' + '?BranchId=' + branchID + \"&LoggedinUserId=\" + loginUserId +'&ReviewStatus=' +ReviewStatus, httpOptions);\n }\n\n fnDeleteBulkBranchDataById(branchID:string):Observable{\n //let httpHeaders = new HttpHeaders().set('Content-Type','application/json');\n this._token.fnrenewToken();\n branchID = this._encreptdecrept.encryptUsingAES256(branchID);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteBulkBranchDataById' + '?BranchId=' + branchID , httpOptions);\n }\n \n\n fnIsBranchInUsed(BranchId: string): Observable {\n this._token.fnrenewToken();\n BranchId = this._encreptdecrept.encryptUsingAES256(BranchId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'IsBranchInUsed?BranchId=' + BranchId, httpOptions);\n }\n\n fnUploadBranch(uploadBranch,headerColumns:string,UserID:string):Observable{\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'UploadBanch?headerColumns=' + headerColumns + \"&UserId=\" + UserID, uploadBranch, httpOptions);\n }\n\n\n fnGetCreatedUpdateBranchc(BranchId: string): Observable{\n this._token.fnrenewToken();\n BranchId = this._encreptdecrept.encryptUsingAES256(BranchId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n debugger;\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfBranchMaster?BranchID=' + BranchId, httpOptions);\n }\n\n fnIsBranchCodeExists(BranchCode: string): Observable {\n this._token.fnrenewToken();\n BranchCode = this._encreptdecrept.encryptUsingAES256(BranchCode);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnIsBranchCodeExists?BranchCode=' + BranchCode, httpOptions);\n }\n\n fnIsBranchCodeExistsEditMode(iBranchId: string, BranchCode: string): Observable {\n this._token.fnrenewToken();\n iBranchId = this._encreptdecrept.encryptUsingAES256(iBranchId);\n BranchCode = this._encreptdecrept.encryptUsingAES256(BranchCode);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnIsBranchCodeExistsEditMode?BranchId=' + iBranchId + \"&BranchCode=\" + BranchCode, httpOptions);\n }\n\n fnGetEditedBranchValue(BranchId: string): Observable{\n this._token.fnrenewToken();\n BranchId = this._encreptdecrept.encryptUsingAES256(BranchId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetEditedBranchInfoByBranchId?branchId=' + BranchId, httpOptions);\n }\n fnBulkAuthorize(UserID:string,BranchId:string,ReviewStatus:string,Status:string):Observable{\n this._token.fnrenewToken();\n debugger\n BranchId = this._encreptdecrept.encryptUsingAES256(BranchId);\n ReviewStatus = this._encreptdecrept.encryptUsingAES256(ReviewStatus);\n Status = this._encreptdecrept.encryptUsingAES256(Status);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.get(this.rootURL + 'BranchBulkAuthorize?UserId='+UserID+'&BranchId='+BranchId+'&ReviewStatus='+ReviewStatus+'&Status='+Status,httpOptions)\n }\n\n fnBulkBranchAuthorize(listAccount,UserID:string,AuthorizeStatus):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'BulkAuthorize1?userID='+UserID +'&AuthorizeStatus='+AuthorizeStatus,listAccount,httpOptions)\n }\n\n fnGetIFSCCode(bankname,branchname): Observable{\n bankname = this._encreptdecrept.encryptUsingAES256(bankname);\n branchname = this._encreptdecrept.encryptUsingAES256(branchname);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n debugger;\n return this.http.get(this.rootURL + 'GetIFSCCOde?BankName=' + bankname + \"&BranchName=\" + branchname , httpOptions);\n }\n\n fnselectIFSCCode(ifscCode,transactionType): Observable{\n ifscCode = this._encreptdecrept.encryptUsingAES256(ifscCode);\n transactionType = this._encreptdecrept.encryptUsingAES256(transactionType);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'SelectIfscCode?ifscCode=' + ifscCode + \"&TransactionType=\" + transactionType , httpOptions);\n }\n\n fnUploadFile(formData: FormData): Observable{ \n return this.http.post(this.rootURL + 'PostFile' , formData);\n }\n GetAndInsertImportFileData(fileName,userId):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n fileName=this._encreptdecrept.encryptUsingAES256(fileName);\n return this.http.get(this.rootURL + 'GetAndInsertImportFileData?userId='+userId +'&fileName='+fileName,httpOptions);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SweepCharges,SweepChargesClass,FrequencyTypecls,EditedSweepChargesClass,SweepCreatedUpdated} from './sweep-charges';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Constants} from '../Common/constant';\nimport { Observable } from 'rxjs';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ChargesSweepService {\n\n readonly rootURL = Constants.apiURL + 'SweepChsrgesMasterApi/';\n\n formData:SweepChargesClass;\n\n constructor(private http: HttpClient, public _token: TokenService, public _encreptdecrept:EncryptdecryptService) { }\n\n fnGetChargeTypeData(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetChargeTypeData', httpOptions);\n }\n\n fnGetChargeTypeById(chargeTypeId: string, customerId: string): Observable{\n this._token.fnrenewToken();\n chargeTypeId = this._encreptdecrept.encryptUsingAES256(chargeTypeId);\n customerId = this._encreptdecrept.encryptUsingAES256(customerId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetChargeTypeById?chargeTypeId=' + chargeTypeId + '&customerId=' + customerId, httpOptions);\n }\n\n fnGetFrequencyTypeData(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetFrequencyAndTypeData', httpOptions);\n }\n\n fnInsertUpdateSweepCharges(sweepcharges:SweepChargesClass):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'fnSaveSweepCharges', sweepcharges, httpOptions)\n }\n\n fnGetEditedSweepChargeTypeById(chargeTypeId: string, customerId: string): Observable{\n this._token.fnrenewToken();\n chargeTypeId = this._encreptdecrept.encryptUsingAES256(chargeTypeId);\n customerId = this._encreptdecrept.encryptUsingAES256(customerId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnGetEditedSweepChargeTypeById?chargeTypeId=' + chargeTypeId + '&customerId=' + customerId, httpOptions);\n}\n\nfnGetCreatedUpdateSweep(SweepID: string): Observable{\n this._token.fnrenewToken();\n SweepID = this._encreptdecrept.encryptUsingAES256(SweepID);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n debugger;\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfSweepMaster?sweepID=' + SweepID, httpOptions);\n}\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Customer ,CustomerAuditMaster,CustomerCreatedUpdated} from './customer'\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport {EncryptdecryptService} from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomerService {\n\n readonly rootURL = Constants.apiURL + 'CustomerMasterApi/';\n\n \n formData: Customer;\n customerList: Customer[];\n custoformData: CustomerAuditMaster;\n custList: CustomerAuditMaster[];\n constructor(private http: HttpClient, public _token: TokenService,public _encrypt:EncryptdecryptService) { }\n\n fnSaveCustomerMasterDetails(formData: Customer):Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'SaveCustomerMasterDetails', formData, httpOptions);\n }\n\n fnGetCustomerData(userid: string , editCustomerId: number = 0,PageNo:string = \"\", PageSize:string= \"\", CustomerName:string= \"\",\n CorpCode:string = \"\", StateId:string = \"\", CityId:string = \"\", CreatedBy:string = \"\" , CreatedDate:string = \"\", RequestType:string = \"\",\n Status:string = \"\",SortOrder:string = \"\"): Observable{\n var editedcustId = this._encrypt.encryptUsingAES256(editCustomerId.toString());\n var PageNo = this._encrypt.encryptUsingAES256(PageNo.toString());\n var PageSize = this._encrypt.encryptUsingAES256(PageSize.toString());\n var CustomerName = this._encrypt.encryptUsingAES256(CustomerName.toString());\n var CorpCode = this._encrypt.encryptUsingAES256(CorpCode.toString());\n var StateId = this._encrypt.encryptUsingAES256(StateId.toString());\n var CityId = this._encrypt.encryptUsingAES256(CityId.toString());\n var CreatedBy = this._encrypt.encryptUsingAES256(CreatedBy.toString());\n var RequestType = this._encrypt.encryptUsingAES256(RequestType.toString());\n var Status = this._encrypt.encryptUsingAES256(Status.toString());\n var SortOrder = this._encrypt.encryptUsingAES256(SortOrder.toString());\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerMasterData?Userid=' + userid + \"&editCustomerId=\" + editedcustId\n + \"&PageNo=\" + PageNo + \"&PageSize=\" + PageSize + \"&CustomerName=\" + CustomerName + \"&CorpCode=\" + CorpCode + \"&StateId=\" + StateId \n + \"&CityId=\" + CityId + \"&CreatedBy=\" + CreatedBy + \"&CreateDate=\" + CreatedDate + \"&requestType=\" + RequestType\n + \"&status=\" + Status + \"&SortOrder=\" + SortOrder, httpOptions);\n }\n \n fnGetCustomerDataForAClink(userid: string , editCustomerId: number = 0): Observable{\n var editedcustId = this._encrypt.encryptUsingAES256(editCustomerId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerNameForACLINK?userId=' + userid + \"&editCustomerId=\" + editedcustId, httpOptions);\n }\n fnGetCustomerCorporationCode(userid: string , editCustomerId: number = 0): Observable{\n var editedcustId = this._encrypt.encryptUsingAES256(editCustomerId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerCorporationCode?userId=' + userid + \"&editCustomerId=\" + editedcustId, httpOptions);\n }\n fnGetCustomerListForDropdown(id:string = '0',UserId:string):Observable{\n var Id = this._encrypt.encryptUsingAES256(id); \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerListForDropdown?Id='+Id+\"&UserId=\"+UserId,httpOptions);\n}\n \n \n fnGetCreatedNUpatedDateOfCustomerMaster(customerId: number = 0): Observable{\n \n var customerid = this._encrypt.encryptUsingAES256(customerId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfCustomerMaster?customerId=' + customerid, httpOptions);\n }\n // fnGetCustomerData() {\n // this.http.get(this.rootURL + 'GetCustomerMasterData')\n // .toPromise().then(res => this.customerList = res as Customer[]);\n // }\n\n fnGetEditedCustomerMasterValues(customerId: number = 0): Observable{\n var custId = this._encrypt.encryptUsingAES256(customerId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetEditedCustomerMasterValues?customerId=' + custId, httpOptions);\n }\n\n fnDeleteCustomer(id: string,LoggedInUser:string): Observable {\n id = this._encrypt.encryptUsingAES256(id);\n LoggedInUser = this._encrypt.encryptUsingAES256(LoggedInUser);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteCustomer?customerId=' + id + '&LoggedInUser=' + LoggedInUser, httpOptions);\n }\n\n fnCheckCorporationCodeExists(Code: string, id: number) {\n\n Code = this._encrypt.encryptUsingAES256(Code);\n var Id = this._encrypt.encryptUsingAES256(id);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'CheckCorporationCodeExists?Code=' + Code + \"&Id=\" + Id, httpOptions);\n }\n \n fnUploadCustomer(uploadCustomer,headerColumns:string,UserId:string):Observable{\n headerColumns=this._encrypt.encryptUsingAES256(headerColumns);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'UploadCustomer?headerColumns=' + headerColumns + \"&UserId=\" + UserId, uploadCustomer, httpOptions);\n }\n\n fnGetCustomerMasterList(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerMasterList', httpOptions);\n }\n\n fnBulkAuthorize(listCustomer,UserId:string,AuthorizeStatus):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'CustomerBulkAuthorize?UserId='+UserId+'&AuthorizeStatus='+AuthorizeStatus,listCustomer,httpOptions)\n }\n \n fnGetUserAuditHistory(CustPKId:number=0):Observable{ \n var custid = this._encrypt.encryptUsingAES256(CustPKId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerAuditHistory?CustPKId='+custid+'&loginUserId='+localStorage.getItem('LoginUserId'),httpOptions);\n }\n\n fnUploadFile(formData: FormData): Observable{ \n return this.http.post(this.rootURL + 'PostFile' , formData);\n }\n GetAndInsertImportFileData(fileName,userId):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n fileName=this._encrypt.encryptUsingAES256(fileName);\n return this.http.get(this.rootURL + 'GetAndInsertImportFileData?userId='+userId +'&fileName='+fileName,httpOptions);\n }\n\n fnGetCustomerDataExport(userid: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerMasterExport?Userid=' + userid , httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { ValidatorFn, AbstractControl } from '@angular/forms';\nimport { FormGroup } from '@angular/forms';\nimport { UserService } from '../MasterService/user.service';\nimport { UserMaster } from '../MasterService/user-master';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomvalidationService {\n constructor(private _userService:UserService) { }\n \n userNameValidator(userControl: AbstractControl) {\n return new Promise(resolve => {\n setTimeout(() => {\n if (this.validateUserName(userControl.value)) {\n resolve({ userNameNotAvailable: true });\n } else {\n resolve(null);\n }\n }, 1000);\n });\n }\n\n UserEmailList:any =[];\n validateUserName(userName: string) { \n this._userService.fnGetUserData('0').subscribe(allUsers=>{\n this.UserEmailList = []; \n allUsers.forEach(element => {\n if(element[\"UserId\"] != (localStorage.getItem('localUserId'))) \n this.UserEmailList.push(element[\"EmailId\"]); \n }); \n });\n const UserList = this.UserEmailList; \n return (UserList.indexOf(userName) > -1);\n }\n}","import { Injectable } from '@angular/core';\nimport * as CryptoJS from 'crypto-js';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EncryptdecryptService {\n\n constructor() { }\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n\n encryptUsingAES256(encryptString) {\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(JSON.stringify(encryptString)), this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n });\n return encrypted.toString();\n}\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { FundDisbursment , FundDisbursemenetAccount , FundCreatedUpdated} from './fund-disbursment'\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FundDisbursmentService {\n\n formData: FundDisbursment;\n\n readonly rootURL = Constants.apiURL + 'FunddisbursementApi/';\n EncrypFundDIsburseID: any;\n encryptFundId: string;\n\n constructor(private http: HttpClient, public _token: TokenService , public _encryption: EncryptdecryptService) { }\n\n\n fnAddEditFundDisbursmentDetails(formData:FundDisbursment):Observable{\n debugger;\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'AddEFundMasterDetails', formData, httpOptions);\n }\n\n// fnGetFundDisbursmentList():Observable{\n// return this.http.get(this.rootURL + 'GetAcccountList');\n// }\n\n fnGetFundDisbursmenetAccount(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetFundDisbursemenetAccount', httpOptions);\n }\n\n fnGetFundDisbursmenetList(id: string, PageNo:string=\"\", PageSize:string = \"\", SortOrder:string = \"\", \n RequestDate:string = \"\" , Amount:string = \"\" , CustomerName:string = \"\", Status:string = \"\", CreatedDate:string = \"\"): Observable{\n \n //encrypt parameter value \n PageNo = this._encryption.encryptUsingAES256(PageNo);\n PageSize = this._encryption.encryptUsingAES256(PageSize);\n SortOrder = this._encryption.encryptUsingAES256(SortOrder);\n Amount = this._encryption.encryptUsingAES256(Amount);\n CustomerName = this._encryption.encryptUsingAES256(CustomerName);\n Status = this._encryption.encryptUsingAES256(Status);\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetIndentData?id=' + id + \"&PageNo=\" + PageNo \n + \"&PageSize=\" + PageSize + \"&SortOrder=\" + SortOrder + \"&RequestedDate=\" + RequestDate + \"&Amount=\" + Amount + \"&CustomerName=\" + CustomerName +\n \"&Status=\" + Status + \"&CreatedDate=\" + CreatedDate, httpOptions);\n }\n\n fnDeleteIndent(id: string,UserId): Observable {\n this.encryptFundId=this._encryption.encryptUsingAES256(id.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteIndentById?id=' + this.encryptFundId + '&UserId=' + UserId, httpOptions);\n }\n\n GetIndentDataById(editid: string): Observable{\n this.encryptFundId=this._encryption.encryptUsingAES256(editid.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetIndentDataById?editid=' + this.encryptFundId, httpOptions);\n }\n\n fnGetCreatedNUpatedDateOfFundDisbursement(FundId: string= '0'): Observable{\n this.encryptFundId=this._encryption.encryptUsingAES256(FundId.toString());\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpdatedDateOfFundDisbursemene?FundId=' + this.encryptFundId, httpOptions);\n }\n\n fnDeleteInvoceCopy(deleteid: number): Observable{\n this.encryptFundId=this._encryption.encryptUsingAES256(deleteid.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDeleteInvoceCopy?deleteID=' + this.encryptFundId, httpOptions);\n }\n\n fnUploadFile(formData: FormData): Observable{\n // this._token.fnrenewToken();\n // const httpOptions = {\n // headers: new HttpHeaders({\n // 'Content-Type': 'application/json',\n // 'Authorization': this._token.token\n // })\n // };\n\n // return this.http.post(this.rootURL + 'PostFile' , formData , httpOptions);\n return this.http.post(this.rootURL + 'PostFile' , formData);\n }\n\n fnDuplicateIndent(IndentId, CustId, FromAccId, ToAccId): Observable {\n debugger;\n this._token.fnrenewToken();\n\n IndentId=this._encryption.encryptUsingAES256(IndentId);\n CustId=this._encryption.encryptUsingAES256(CustId);\n FromAccId=this._encryption.encryptUsingAES256(FromAccId);\n ToAccId=this._encryption.encryptUsingAES256(ToAccId);\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDuplicateIndent?IndentId=' + IndentId + '&CustId=' + CustId + '&FromAccId=' + FromAccId + '&ToAccId=' + ToAccId, httpOptions);\n }\n\n fnGetAccountForFund(userId, CustId): Observable { \n CustId=this._encryption.encryptUsingAES256(CustId);\n this._token.fnrenewToken(); \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAccountForFund?UserId=' + userId + \"&CustId=\" + CustId, httpOptions);\n }\n\n fnFundTranfer(FundId,UserId): Observable {\n this.encryptFundId=this._encryption.encryptUsingAES256(FundId.toString());\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnFundTransfer?FundId=' + this.encryptFundId + \"&UserId=\"+ UserId, httpOptions);\n }\n\n fnGetExportFundDisbursmenetList(id: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetExportIndentData?id=' + id, httpOptions);\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { AccountMaster, EditedAccontMaster, AccountType, UploadAccount, AccountTypeClass, AccountCreatedUpdated,AccountAuditMaster } from './AccountMaster'\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport{EncryptdecryptService} from 'src/app/MasterService/encryptdecrypt.service';\nimport {payment} from 'src/app/Payments/payments.component'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaymentsService {\n readonly rootURL = Constants.apiURL + 'PaymentsApi/';\n constructor(private http: HttpClient, public _token: TokenService,private _encryption:EncryptdecryptService) { }\n\n getAccounts(): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'GetAcccounts',null, httpOptions);\n }\n addAccounts(payment:payment): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'GetPayments',payment, httpOptions);\n }\n Execute(payments:payment[]): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'Execute',payments, httpOptions);\n }\n fnUploadFile(formData: FormData): Observable{ \n return this.http.post(this.rootURL + 'PostFile' , formData);\n }\n GetAndInsertImportFileData(fileName,userId):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n fileName=this._encryption.encryptUsingAES256(fileName);\n return this.http.get(this.rootURL + 'GetAndInsertImportFileData?userId='+userId +'&fileName='+fileName,httpOptions);\n }\n}\n","import { Injectable } from '@angular/core';\nimport{RoleAccess}from'./RoleAccess';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RoleAccessService {\n\n formData: RoleAccess;\n\n readonly rootURL = Constants.apiURL + 'RoleMasterApi/';\n constructor(private http: HttpClient, public _token: TokenService) { }\n\n fnGetRoleAccess(userId: string, pageName: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRolePrivillages?userId=' + userId + '&pageName=' + pageName, httpOptions);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { RoleMaster,RoleCreatedUpdated } from './role-master'\nimport { module } from './module'\nimport { Observable } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RoleService {\n\n postData: {};\n\n formData: RoleMaster;\n \n readonly rootURL = Constants.apiURL + 'RoleMasterApi/';\n\n constructor(private http: HttpClient, public _token: TokenService, public _encreptdecrept:EncryptdecryptService) { }\n\n fnGetAllRoleMaster(roleId: string = '0'): Observable{\n this._token.fnrenewToken();\n roleId = this._encreptdecrept.encryptUsingAES256(roleId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRoles?roleId=' + roleId, httpOptions);\n }\n\n fnDeleteRoleDetailsById(roleID: string): Observable{\n this._token.fnrenewToken();\n roleID = this._encreptdecrept.encryptUsingAES256(roleID);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n let httpHeaders = new HttpHeaders().set('Content-Type','application/json');\n\n return this.http.get(this.rootURL + 'DeleteRoleById?RoleId=' + roleID, httpOptions);\n }\n\n fnGetModule(Id: string = '0'): Observable{\n this._token.fnrenewToken();\n Id = this._encreptdecrept.encryptUsingAES256(Id);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetModules?RoleId=' + Id, httpOptions);\n }\n \n GetRolesWithStatus( LoginUserId:string=\"0\",PageNo:string=\"\", PageSize:string=\"\",RoleName:string=\"\",\n Status:string=\"\", CreatedBy:string=\"\", CreatedDate :string=\"\",\n SortOrder:string=\"\", ): Observable{\n\n //encrypted paremeter\n PageNo = this._encreptdecrept.encryptUsingAES256(PageNo); \n PageSize = this._encreptdecrept.encryptUsingAES256(PageSize); \n RoleName = this._encreptdecrept.encryptUsingAES256(RoleName); \n Status = this._encreptdecrept.encryptUsingAES256(Status); \n CreatedBy = this._encreptdecrept.encryptUsingAES256(CreatedBy); \n SortOrder = this._encreptdecrept.encryptUsingAES256(SortOrder); \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRolesWithStatus?loginUserId='+LoginUserId+\n '&PageNo='+ PageNo+ '&PageSize=' +PageSize+ '&RoleName=' +RoleName+ '&Status='+Status+\n '&CreatedBy='+CreatedBy+ '&CreatedDate='+CreatedDate+ '&SortOrder='+SortOrder,httpOptions)\n // return this.http.get(this.rootURL + 'GetRolesWithStatus?loginUserId='+LoginUserId\n // + '&PageNo=' + PageNo + '&PageSize=' + PageSize + '&RoleName=' + RoleName\n // + '&Status=' + Status + '&CreatedBy=' + CreatedBy + '&CreatedDate=' + CreatedDate +\n // + '&SortOrder=' + SortOrder, httpOptions);\n }\n\n // fnSaveRole(postData) {\n // return this.http.post(this.rootURL + 'CreateRole', postData)\n // }\n\n fnInsertUpdateRole(postData){\n this._token.fnrenewToken();\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n\n return this.http.post(this.rootURL + 'CreateRole', postData, httpOptions)\n }\n\n fnIsRoleInUsed(RoleId: string) {\n this._token.fnrenewToken();\n RoleId = this._encreptdecrept.encryptUsingAES256(RoleId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'IsRoleInUsed?RoleId=' + RoleId, httpOptions);\n }\n\n fnGetCreatedNUpdatedRoleMaster(RoleId: string): Observable{\n this._token.fnrenewToken();\n RoleId = this._encreptdecrept.encryptUsingAES256(RoleId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfRoleMaster?RoleId=' + RoleId, httpOptions);\n }\n\n\n fnRoleInUsed(RoleId: string): Observable {\n this._token.fnrenewToken();\n RoleId = this._encreptdecrept.encryptUsingAES256(RoleId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'IsRoleInUsed?RoleId=' + RoleId, httpOptions);\n }\n\n fnRoleNameduplicate(roleName: string, rolId: string): Observable {\n this._token.fnrenewToken();\n roleName = this._encreptdecrept.encryptUsingAES256(roleName);\n rolId = this._encreptdecrept.encryptUsingAES256(rolId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnIsRoleNameDuplicate?RoleName=' + roleName + \"&RoleId=\" + rolId, httpOptions);\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { SchemeAccountLink, schemeAccoutnLinkClass , SchemeAcCreatedUpdated ,StructorType} from '../MasterService/scheme-account-link';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SchemeAccountLinkService {\n\n formData: SchemeAccountLink;\n EditedformData: SchemeAccountLink;\n\n readonly rootURL = Constants.apiURL + 'SchemeMasterApi/';\n\n constructor(private http: HttpClient, public _token: TokenService, public _encrypt:EncryptdecryptService) { }\n\n fnGetSchemeAccountLinkMaster(scAclinkId): Observable{\n scAclinkId = this._encrypt.encryptUsingAES256(scAclinkId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSchemeAcccountMasterLink?scAcLinkId=' + scAclinkId, httpOptions);\n }\n\n fnGetCreatedUpdateSchemeAccount(scAccountId: number): Observable{\n var scAccountid = this._encrypt.encryptUsingAES256(scAccountId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfSchemeAccountLink?ScAccountID=' + scAccountid, httpOptions);\n }\n\n fnGetStructorType(): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetStructorType', httpOptions);\n }\n\n fnGetSchemeAccountLinkMasterMaxPriority(customerId: number) {\n var custid = this._encrypt.encryptUsingAES256(customerId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetMaxSchemeAccountLinkPrirority?customerId=' + custid, httpOptions);\n }\n\n fnResetTree(scAclinkId): Observable {\n scAclinkId = this._encrypt.encryptUsingAES256(scAclinkId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'ResetTree?scAccLinkId=' + scAclinkId, httpOptions);\n }\n\n fnResetTreelable(scAclinkId): Observable {\n scAclinkId = this._encrypt.encryptUsingAES256(scAclinkId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'ResetTreeLable?scAcLinkId=' + scAclinkId, httpOptions);\n}\n\n fnSweepBalance(sclinkId:string,LoginUserId:string,SchemeId:string): Observable {\n sclinkId = this._encrypt.encryptUsingAES256(sclinkId);\n SchemeId = this._encrypt.encryptUsingAES256(SchemeId);\n\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'SweepOnSchemeAccounts?ScAclinkId=' + sclinkId + '&UserId=' + LoginUserId + '&SchemeId=' + SchemeId, httpOptions);\n}\n\nfngetschemeaccountmasterlinkEdited(scAclinkId): Observable{\n scAclinkId = this._encrypt.encryptUsingAES256(scAclinkId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'getschemeaccountmasterlinkEdited?scAcLinkId=' + scAclinkId, httpOptions);\n}\n\nfnClearTree(Data:SchemeAccountLink): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'ClearTree', Data, httpOptions);\n}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { SchemeMaster, SchemeCreatedUpdated } from './SchemeMaster'\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { AccountTypeClass} from './AccountMaster'\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SchemeMasterService {\n\n readonly rootURL = Constants.apiURL + 'SchemeMasterApi/';\n\n formData: SchemeMaster;\n DecryptSchemeName: string;\n DecryptSchemeId: string;\n\n constructor(private http: HttpClient, public _token: TokenService , public _encrypt:EncryptdecryptService) { }\n\n\n fnGetSchemMasterList(UserId: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSchemMasterList?UserId=' + UserId, httpOptions);\n }\n\n fnAddEditScheme(formData: SchemeMaster): Observable {\n debugger\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'AddEditScheme', formData, httpOptions);\n }\n \n fnDeleteSchemeById(id: string,userid : string) {\n\n id = this._encrypt.encryptUsingAES256(id);\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteSchemeById?id=' + id + '&userid=' + userid, httpOptions);\n }\n\n fnBulkDeleteSchemeById(id: string) {\n id = this._encrypt.encryptUsingAES256(id);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'BulkDeleteSchemeById?id=' + id, httpOptions);\n}\n\n fnGetSchemeBySchemeId(schedmeid: string): Observable{\n schedmeid = this._encrypt.encryptUsingAES256(schedmeid);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSchemMasterListById?id=' + schedmeid, httpOptions);\n }\n\n fnGetEditedSchemeBySchemeId(schedmeid: string): Observable{\n schedmeid = this._encrypt.encryptUsingAES256(schedmeid); \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetEditedSchemMasterListById?SchemeId=' + schedmeid, httpOptions);\n }\n\n fnGetCreatedNUpdatedUserMaster(SchemeID: string): Observable{\n debugger\n SchemeID = this._encrypt.encryptUsingAES256(SchemeID);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpatedDateOfSchemeMaster?SchemeID=' + SchemeID, httpOptions);\n }\n\n fnBulkAuthorize(UserID:string,SchemeID:string,ReviewStatus:string,Status:string):Observable{\n SchemeID = this._encrypt.encryptUsingAES256(SchemeID);\n ReviewStatus = this._encrypt.encryptUsingAES256(ReviewStatus);\n Status = this._encrypt.encryptUsingAES256(Status);\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.get(this.rootURL + 'SchemeBulkAuthorize?UserId='+UserID+'&SchemeId='+SchemeID+'&ReviewStatus='+ReviewStatus+'&Status='+Status,httpOptions)\n}\n\nfnBulkSchemeAuthorize(listAccount,UserID:string,AuthorizeStatus):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'BulkSchemeAuthorize?&UserID='+UserID +'&AuthorizeStatus='+AuthorizeStatus,listAccount,httpOptions)\n}\n\nfnSchemeNameduplicate(SchemeName: string, SchemeId: string='0'): Observable {\n this._token.fnrenewToken();\n debugger;\n this.DecryptSchemeName=this._encrypt.encryptUsingAES256(SchemeName);\n this.DecryptSchemeId=this._encrypt.encryptUsingAES256(SchemeId);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnDuplicateSchemeName?SchemeName=' + this.DecryptSchemeName + '&SchemeId=' + this.DecryptSchemeId, httpOptions);\n}\nfnGetSchemeListforDropDown(SchemeId: string): Observable{\n this._token.fnrenewToken();\n SchemeId = this._encrypt.encryptUsingAES256(SchemeId);\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSchemeListForDropdown?SchemeId=' + SchemeId, httpOptions);\n }\n\n fnGetAccountListForSchemeParentAccount(_userId: string, CustomerId:string=\"\"): Observable {\n CustomerId = this._encrypt.encryptUsingAES256(CustomerId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAcccountListForSchemeParentAccount?UserId=' + _userId + \"&CustomerId=\" + CustomerId, httpOptions);\n}\n}\n","import { Injectable } from '@angular/core';\nimport { Constants } from '../Common/constant';\nimport { SweepChargesModel } from './SweepChargesModel';\nimport { Observable } from 'rxjs';\nimport { Customer } from './customer';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SweepChargesModelService {\n formData: SweepChargesModel;\n \n constructor(private http: HttpClient, public _token: TokenService, public _encreptdecrept:EncryptdecryptService) { }\n readonly rootURL = Constants.apiURL + 'SweepChargesApi/';\n\n fnGetAllSweepChargesList(UserID,customerName,fromDate,toDate,chargeStatus,waiveOffStatus,pageSize,pageNumber,sortOrder): Observable {\n this._token.fnrenewToken();\n var custName=this._encreptdecrept.encryptUsingAES256(customerName);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSweepChargesList?UserId=' + UserID +'&cutomerName='+custName+\n '&fromDate='+fromDate+'&toDate='+toDate +'&chargeStatus='+chargeStatus +'&waiveOffStatus='+waiveOffStatus\n +'&pageSize='+pageSize+'&pageNumber='+pageNumber +'&sortOrder='+sortOrder, httpOptions);\n }\n\n fnPerSweepCharges(userId: string, customerId: number, fromDate: Date, toDate: Date): Observable {\n this._token.fnrenewToken();\n var encryptedcustomerId = this._encreptdecrept.encryptUsingAES256(customerId ?? '0').toString();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'PerSweepCharges?userId=' + userId + '&customerId=' + encryptedcustomerId + '&fromDate=' + fromDate + '&toDate=' + toDate, httpOptions);\n }\n\n fnGetAllDailyAndFlatDailySweepChargesList(UserID,customerName,fromDate,toDate,chargeStatus,waiveOffStatus,pageSize,pageNumber,sortOrder): Observable {\n this._token.fnrenewToken();\n var customerId=this._encreptdecrept.encryptUsingAES256(customerName);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetDailyAndFlatDailySweepChargesList?UserId=' + UserID +'&customerName='+customerId\n +'&fromDate='+fromDate +'&toDate='+toDate+'&chargeStatus='+chargeStatus+'&waiveOffStatus='+waiveOffStatus+'&pageSize='+pageSize+'&pageNumber='+pageNumber\n +'&sortOrder='+sortOrder, httpOptions);\n }\n\n fnDailyAndFlatDailySweepCharges(userId: string, customerId: number, fromDate: Date, toDate: Date): Observable {\n this._token.fnrenewToken();\n var encryptedcustomerId = this._encreptdecrept.encryptUsingAES256(customerId ?? '0').toString();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DailyAndFlatDailySweepCharges?userId=' + userId + '&customerId=' + encryptedcustomerId + '&fromDate=' + fromDate + '&toDate=' + toDate, httpOptions);\n }\n\n fnGetAllMonthlyAndFlatMonthlySweepChargesList(UserID,customerName,fromDate,month,year,chargeStatus,waiveOffStatus,pageSize,pagenumber,sortOrder): Observable {\n this._token.fnrenewToken();\n var customerId=this._encreptdecrept.encryptUsingAES256(customerName);\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetMonthlyAndFlatMonthlySweepChargesList?UserId=' + UserID + '&customerId='+customerId +'&fromDate='+fromDate\n +'&month='+month +'&year='+year +'&chargeStatus='+chargeStatus + '&waiveOffStatus='+waiveOffStatus + '&pageSize='+pageSize +'&pagenumber='+pagenumber\n +'&sortOrder='+sortOrder, httpOptions);\n}\n\n fnMonthlyAndFlatMonthlySweepCharges(userId: string, customerId: number, fromDate: Date, toDate: Date): Observable {\n this._token.fnrenewToken();\n var encryptedcustomerId = this._encreptdecrept.encryptUsingAES256(customerId ?? '0').toString();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'MonthlyAndFlatMonthlySweepCharges?userId=' + userId + '&customerId=' + encryptedcustomerId + '&fromDate=' + fromDate + '&toDate=' + toDate, httpOptions);\n }\n\n fnGetSweepTransGraphData(customerId: number, type: number): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSweepTransGraphData?customerId=' + customerId + '&type=' + type, httpOptions);\n }\n\n fnGetCustomerListForSweepCharges(UserID): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerListForSweepCharges?UserId=' + UserID, httpOptions);\n }\n\n fndownloadTTUM(UserId): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'FnTTUMSweepChargesFile?UserId=' + UserId , httpOptions);\n }\n\n fnUpdateWaiveOffStatusAndBalance(checkedWaiveOffList,waiveOffStatus,comment,sweepChargeType):Observable{\n this._token.fnrenewToken();\n var userid=(localStorage.getItem('LoginUserId'));\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n comment=this._encreptdecrept.encryptUsingAES256(comment);\n return this.http.post(this.rootURL + 'UpdateWaiveOffStatus?waiveOffStatus='+waiveOffStatus +'&comment='+comment +'&userID='+ userid +'&sweepChargeType='+sweepChargeType,checkedWaiveOffList,httpOptions)\n}\nfnPerSweepChargesApply(userId: string, customerId: number,status:number=0,checkedList):Observable{\n this._token.fnrenewToken();\n var userId=(localStorage.getItem('LoginUserId'));\n var encryptedcustomerId = this._encreptdecrept.encryptUsingAES256(customerId ?? '0').toString();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'PerSweepChargesApply?userId=' + userId + '&customerId=' + encryptedcustomerId + '&status='+status,checkedList,httpOptions)\n}\n\nfnDailyAndFlatChargesApply(userId: string, customerId: number, fromDate: Date, toDate: Date,status:number=0,checkedList,pageNo,pageSize,SortOrder):Observable{\n this._token.fnrenewToken();\n var userId=(localStorage.getItem('LoginUserId'));\n var encryptedcustomerId = this._encreptdecrept.encryptUsingAES256(customerId ?? '0').toString();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'DailyAndFlatChargesApply?userId=' + userId + '&customerId=' + encryptedcustomerId + \n '&fromDate=' + fromDate + '&toDate=' + toDate +'&status='+status +'&pageNo='+pageNo+'&pageSize='+pageSize+'&SortOrder='+SortOrder,checkedList,httpOptions)\n}\n\nfnMonthlyAndFlatChargesApply(userId: string, customerId: number,status:number=0,checkedList):Observable{\n this._token.fnrenewToken();\n var userId=(localStorage.getItem('LoginUserId'));\n var encryptedcustomerId = this._encreptdecrept.encryptUsingAES256(customerId ?? '0').toString();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'MonthlyAndFlatChargesApply?userId=' + userId + '&customerId=' + encryptedcustomerId + '&status='+status,checkedList,httpOptions)\n}\n\nfnGetAllSweepChargesListExport(UserID): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSweepChargesListForExport?UserId=' + UserID , httpOptions);\n}\n\nfnGetAllDailyAndFlatDailySweepChargesListExport(userID): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetDailyAndFlatDailySweepChargesListExport?UserId=' + userID, httpOptions);\n}\n\nfnGetAllMonthlyAndFlatMonthlySweepChargesListExport(UserID): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetMonthlyAndFlatMonthlySweepChargesListExport?UserId=' + UserID, httpOptions);\n}\n\n}\n","export class SweepCharges {\n SweepChargeId:number;\n SweepChargeType:string;\n CustomerId:number;\n CustomerName:string;\n ChargesMethod:string;\n Rate:string;\n UserId:string;\n FrequencyId:number;\n Frequency:string;\n TypeId:number;\n TypeName:string;\n Message:string;\n RangeType:string;\n Status:string;\n ReviewStatus:number;\n CreatedBy:number;\n OldChargesMethodName:string;\n OldRate:string;\n OldFrequency:string;\n OldChargeType:string;\n OldRangeType:string;\n IsApproved:boolean;\n WithEffectDate:string;\n}\n\nexport class FlatSweepCharges {\n FromRange:string;\n ToRange:string;\n Total:string;\n}\n\nexport class SweepChargesClass\n{\n SweepCharges:SweepCharges;\n flatChargeObj:FlatSweepCharges;\n sweepChargeLsts:FlatSweepCharges[];\n OldsweepChargeLsts:FlatSweepCharges[];\n}\n\nexport class FrequencyTypecls\n{\n frequencylst:SweepCharges[];\n typelst:SweepCharges[];\n}\n\nexport class EditedSweepChargesClass\n{\n EditedSweepCharges:EditedSweepCharges;\n EditedflatChargeObj:FlatSweepCharges;\n EditedsweepChargeLsts:FlatSweepCharges[];\n}\n\nexport class EditedSweepCharges {\n SweepChargeId:number;\n SweepChargeType:string;\n CustomerId:number;\n CustomerName:string;\n ChargesMethod:string;\n Rate:string;\n UserId:string;\n FrequencyId:number;\n Frequency:string;\n TypeId:number;\n TypeName:string;\n Message:string;\n RangeType:string;\n Status:string;\n ReviewStatus:number;\n OldChargesMethodName:string;\n OldRate:string;\n OldFrequency:string;\n OldChargeType:string;\n OldRangeType:string;\n}\n\nexport class SweepCreatedUpdated{\n CreatedBy:number;\n UpdatedBy:number;\n CreatedDate:string;\n UpdatedDate:string;\n UserName:string\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { catchError } from 'rxjs/operators';\nimport { map } from 'rxjs/operators/map';\nimport { error } from '@angular/compiler/src/util';\ndeclare const RenewToken: any;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokenService {\n\n constructor(private http: HttpClient) { }\n readonly tokenURL = Constants.tokenURL;\n readonly tokenExpiryTime=Constants.tokenExpiryTime;\n token: string;\n\n async GetToken(username: string, password: string, usertype: string) {\n const params = new HttpParams({\n fromObject: {\n grant_type: 'password',\n username: username,\n password: password,\n usertype: usertype\n }\n });\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded'\n })\n };\n return await this.http.post(this.tokenURL + '/token', params, httpOptions).pipe(\n map(res => res),\n catchError(this.handleError)\n ).toPromise();\n //return this.http.post('https://192.168.0.104:786/token',params,httpOptions);\n }\n handleError(error) {\n return throwError(error.error.error_description);\n }\n getTokenExpiryTime: string;\n currentTime: Date;\n timediff: number;\n currSec: number;\n exSec: number;\n date: Date;\n renewTokenTime: Date;\n\n fnUpdateTokenInDb(userName:string,token:string):Observable{ \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': 'bearer' +' '+ localStorage.getItem('TID')\n })\n }; \n return this.http.get(Constants.apiURL + '/UserMasterApi/UpdateTokenInDb?userName='+userName +'&token='+ token,httpOptions)\n }\n \ntokenExipryTimeForCalculatin:number;\n fnrenewToken() {\n this.token = 'bearer' + ' ' + localStorage.getItem('TID');\n this.getTokenExpiryTime = sessionStorage.getItem('TExp'); \n this.tokenExipryTimeForCalculatin=+this.tokenExpiryTime;// +localStorage.getItem('tokenExpiryTimeForCalutation');\n this.date = new Date(this.getTokenExpiryTime);\n this.currentTime = new Date(); \n var currentTime = this.currentTime; \n var tokenGeneratedTime = this.date ; \n var dif = currentTime.getTime() - tokenGeneratedTime.getTime();\n\n var Seconds_from_T1_to_T2 = dif / 1000;\n var Seconds_Between_Dates = Math.abs(Seconds_from_T1_to_T2); \n var expiryTimeToken=+localStorage.getItem('tokenExpiryTimeForCalutation');\n \n var differenceSeconds=expiryTimeToken-1;\n if(differenceSeconds ==-1)\n differenceSeconds=5\n \n if(Seconds_Between_Dates > differenceSeconds){\n \n RenewToken(localStorage.getItem('UID'), localStorage.getItem('PID'), localStorage.getItem('UType')); \n this.token = 'bearer' + ' ' + localStorage.getItem('TID');\n this.fnUpdateTokenInDb(localStorage.getItem('UID'), localStorage.getItem('TID')).subscribe(data=>{\n \n }); \n } \n }\n\n async fnrenewTokenTest() {\n try {\n let data = await this.GetToken(localStorage.getItem('UID'), localStorage.getItem('PID'), localStorage.getItem('UType'));\n if (data != null) {\n localStorage.setItem('TID', data.access_token);\n this.renewTokenTime = new Date();\n sessionStorage.setItem('TExp', this.renewTokenTime.toString());\n this.token = 'bearer' + ' ' + localStorage.getItem('TID');\n //console.log(this.token);\n this.fnUpdateTokenInDb(localStorage.getItem('UID'), data.access_token).subscribe(data=>{\n \n });\n }\n } catch (error) {\n \n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { UserCustomer } from './user-customer'\nimport { module } from './module'\nimport { Observable } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserCustomerService {\n\n postData: {};\n\n formData: UserCustomer;\n\n readonly rootURL = Constants.apiURL + 'UserMasterApi/';\n\n constructor(private http: HttpClient, public _token: TokenService) { }\n\n fnGetCustomerListForUser(userid: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerListForUser?UserId=' + userid, httpOptions);\n }\n\n fnAddUserCustomer(postData){\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'AddUpadateUserCustomer' , postData , httpOptions)\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { UserMaster, UserCreatedUpdated } from './user-master'\nimport { Observable } from 'rxjs';\nimport { Constants } from 'src/app/Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { Customer } from './customer'\nimport * as CryptoJS from 'crypto-js';\nimport { stream } from 'xlsx/types';\nimport { Login } from './Login';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n\n readonly rootURL = Constants.apiURL + 'UserMasterApi/';\n\n formData: UserMaster;\n _userId: string;\n\n constructor(private http: HttpClient, public _token: TokenService,public _encreptdecrept:EncryptdecryptService) { }\n\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n \n // Methods for the encrypt and decrypt Using AES\n encryptUsingAES256(password:string) {\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(JSON.stringify(password)), this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n });\n return encrypted.toString();\n }\n encryptUserId:string;\n \n\n fnGetUserData(_userId: string, LoginUserId:string=\"0\", PageNo:string=\"\", PageSize:string=\"\",\n UserName:string=\"\" , Email:string=\"\", Mobile:string=\"\", UserType :string=\"\",\n CreatedBy:string=\"\", CreatedDate:string=\"\", RequestType :string=\"\", Status:string=\"\", \n SortOrder:string=\"\", flag: string = \"\"): Observable {\n \n //#region (this.rootURL + 'GetUserData?id=' + _userId\n + '&LoginUserId=' + LoginUserId + '&PageNo=' + PageNo + '&PageSize=' + PageSize + '&UserName=' + UserName\n + '&Email=' + Email + '&Mobile=' + Mobile + '&UserType=' + UserType + '&CreatedBy=' + CreatedBy\n + '&CreatedDate=' + CreatedDate + '&RequestType=' + RequestType + '&Status=' + Status \n + '&SortOrder=' + SortOrder+ '&flag=' + flag , httpOptions);\n }\n\n fnGetEditedUserData(_userId: string, flag: string = ''): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n flag=this.encryptUsingAES256(flag);\n return this.http.get(this.rootURL + 'GetEditedUserData?id=' + _userId + '&flag=' + flag, httpOptions);\n }\n\n fnGetCreatedNUpdatedUserMaster(userId: string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCreatedNUpdatedUserMaster?userId=' + userId, httpOptions);\n }\n\n fnGetRoleByUserId(UserId: string) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRoleByuserId?UserId=' + UserId, httpOptions);\n }\n\n fnGetOldRoleByUserId(UserId: string) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetOldRoleByuserId?UserId=' + UserId, httpOptions);\n }\n\n fnGetUserTypeData(_userType: string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetBankUserandCorporateUser?UserType=' + _userType, httpOptions);\n }\n\n fnDeleteUserMasterDetails(id: string, loggedinUserId: string) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'DeleteUserMasterById?id=' + id + '&loggedinUserId=' + loggedinUserId, httpOptions);\n }\n\n fnUserRegisteration(userSignUp: UserMaster): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'UserRegisteration', userSignUp, httpOptions)\n }\n\n fnSaveUserMasterDetails(postData) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'SaveUserMasterDetails', postData, httpOptions)\n }\n\n fnUploadUser(uploadUser, headerColumns: string, UserID: string): Observable {\n headerColumns=this.encryptUsingAES256(headerColumns);\n \n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n\n return this.http.post(this.rootURL + 'UploadUser?headerColumns=' + headerColumns + \"&UserId=\" + UserID, uploadUser, httpOptions);\n }\n\n GetDecryptPassword(password: string) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetDecryptPassword?password=' + password, httpOptions);\n }\n\n fnEmailExists(iUserId: string, vEmail: string, vMobile: string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n if(iUserId==null){\n iUserId=this.encryptUsingAES256('0');\n }\n vEmail=this.encryptUsingAES256(vEmail);\n vMobile=this.encryptUsingAES256(vMobile);\n return this.http.get(this.rootURL + 'UDPISMOBILEEXISTS?UserId=' + iUserId + \"&Email=\" + vEmail + \"&Mobile=\" + vMobile, httpOptions);\n }\n\n fnIsMobileExistsEditMode(iUserId: number, vMobile: string): Observable {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'fnIsMobileExistsEditMode?UserId=' + iUserId + \"&Mobile=\" + vMobile, httpOptions);\n }\n fnBulkAuthorize(UserID:string,UserMasterid:string,ReviewStatus:string,Status:string):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n // UserMasterid=this.encryptUsingAES256(UserMasterid);\n ReviewStatus=this.encryptUsingAES256(ReviewStatus);\n Status=this.encryptUsingAES256(Status);\n return this.http.get(this.rootURL + 'UserMasterBulkAuthorize?UserId='+UserID+'&UserMasterId='+UserMasterid+'&ReviewStatus='+ReviewStatus+'&Status='+Status,httpOptions)\n }\n\n fnBulkUserAuthorize(listAccount,UserID:string,AuthorizeStatus):Observable{\n this._token.fnrenewToken();\n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n return this.http.post(this.rootURL + 'BulkUserAuthorize?UserID='+UserID +'&AuthorizeStatus='+AuthorizeStatus,listAccount,httpOptions)\n }\n\n fnGetCustomerListForDropdown(id:string='0',UserId:string):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetCustomerListForDropdown?Id='+id+\"&UserId=\"+UserId,httpOptions);\n }\n \n fnUpdateTokenInDb(userName:string,token:string):Observable{ \n return this.http.get(Constants.apiURL + '/UnAuthorizedApi/UpdateTokenInDb?userName='+userName +'&token='+ token)\n } \n fnUploadFile(formData: FormData): Observable{ \n return this.http.post(this.rootURL + 'PostFile' , formData);\n }\n GetAndInsertImportFileData(fileName,userId):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n fileName=this.encryptUsingAES256(fileName);\n return this.http.get(this.rootURL + 'GetAndInsertImportFileData?userId='+userId +'&fileName='+fileName,httpOptions);\n }\n GetfnUserPasswordExist(Password,UserId):Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n }; \n UserId=this.encryptUsingAES256(UserId);\n Password=this.encryptUsingAES256(Password);\n return this.http.get(this.rootURL + 'fnUserPasswordExist?Password='+Password +'&UserId='+UserId,httpOptions);\n }\n fnGetUserListForExport(UserId:string): Observable { \n this._token.fnrenewToken(); \n \n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetUserListForExport?UserId=' + UserId, httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport {Constants } from 'src/app/Common/constant';\nimport { UserAuditMaster } from '../MasterService/UserAudit';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from './encryptdecrypt.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserauditreportService {\n formData: UserAuditMaster;\n constructor(private http: HttpClient, public _token: TokenService,public _encreptdecrept:EncryptdecryptService) { }\n readonly rootURL = Constants.apiURL + 'ReportsApi/';\n\n \n fnGetUserAuditHistory(UserId:string='0'):Observable{\n UserId = this._encreptdecrept.encryptUsingAES256(UserId);\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetUserAuditHistory?UserId='+UserId+'&loginUserId='+localStorage.getItem('LoginUserId'),httpOptions);\n }\n}\n","import { Directive, forwardRef } from '@angular/core';\nimport { Validator, AbstractControl, NG_ASYNC_VALIDATORS } from '@angular/forms';\nimport { CustomvalidationService } from '../MasterService/customvalidation.service';\nimport { Observable } from 'rxjs';\n\n@Directive({\n selector: '[appValidateUserName]',\n providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: forwardRef(() => ValidateUserNameDirective), multi: true }]\n\n})\nexport class ValidateUserNameDirective implements Validator {\n\n constructor(private customValidator: CustomvalidationService) { }\n\n validate(control: AbstractControl): Promise<{ [key: string]: any }> | Observable<{ [key: string]: any }> {\n return this.customValidator.userNameValidator(control);\n }\n}","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n}) \nexport class PaginationService { \n //Pagination Variables \n pageNumberPerPage = 0; \n pageNumberShow = 10; \n temppage: number = 0; \n disabledNextBtn: boolean; \n disabledPrevBtn: boolean = true; \n pageField = []; \n exactPageList: any; \n prevtrue: boolean; \n nexttrue: boolean; \n currentPage = 1; \n pageNumber: boolean[] = []; \n showNoOfCurrentPage: any = 1; \n showPageOnlyOntabsChange: boolean = true; \n lastPage: any = 0; \n comingFromPreAndNext:boolean=false;\n constructor() {} \n // On page load \n pageOnLoad() { \n \n if (this.temppage == 0) { \n this.pageField = []; \n for (var a = 0; a < this.pageNumberShow; a++) { \n this.pageField[a] = this.temppage + 1; \n this.temppage = this.temppage + 1; \n if (this.exactPageList == this.pageField[a]) { \n for (var b = 0; b < this.pageNumberShow - 7; b++) { \n if (a == b) { \n this.temppage = this.temppage - (b + 1); \n this.prevtrue = false; \n break; \n } \n } \n this.disabledNextBtn = true; \n break; \n } else { \n this.disabledNextBtn = false; \n } \n } \n } \n if(!this.comingFromPreAndNext){\n this.pageField = []; \n this.temppage=0;\n for (var a = 0; a < this.pageNumberShow; a++) { \n this.pageField[a] = this.temppage + 1; \n this.temppage = this.temppage + 1; \n if (this.exactPageList == this.pageField[a]) { \n for (var b = 0; b < this.pageNumberShow - 7; b++) { \n if (a == b) { \n this.temppage = this.temppage - (b + 1); \n this.prevtrue = false; \n break; \n } \n } \n this.disabledNextBtn = true; \n break; \n } else { \n this.disabledNextBtn = false; \n } \n } \n }\n } \n\n prevValue() { \n this.pageNumber[0] = true; \n this.nexttrue = true; \n this.comingFromPreAndNext=true;\n if (this.showNoOfCurrentPage != 1) { \n this.disabledNextBtn = false; \n this.showNoOfCurrentPage = this.showNoOfCurrentPage - 1; \n if (this.prevtrue) { \n if (this.lastPage == 0) { \n this.temppage = this.temppage - 10; \n this.prevtrue = false; \n } else { \n this.temppage = this.lastPage; \n this.nexttrue = false; \n this.prevtrue = false; \n this.lastPage = 0; \n } \n } \n for (var a = this.pageNumberShow - 1; a >= 0; a--) { \n this.pageField[a] = this.temppage; \n this.temppage = this.temppage - 1; \n } \n if (this.temppage == 0) { \n this.showPageOnlyOntabsChange = false; \n } \n this.currentPage = this.pageField[0]; \n } \n }\n \n nextValue() { \n if (this.disabledNextBtn == false) { \n this.disabledPrevBtn = false; \n this.pageField = []; \n this.comingFromPreAndNext=true;\n this.prevtrue = true; \n this.showNoOfCurrentPage = this.showNoOfCurrentPage + 1; \n this.pageNumber[0] = true; \n // if (this.nexttrue) { \n // this.temppage = this.temppage + 10; \n // this.nexttrue = false; \n // } \n for (var a = 0; a < this.pageNumberShow; a++) { \n this.pageField[a] = this.temppage + 1; \n this.temppage = this.temppage + 1; \n if (this.exactPageList == this.pageField[a]) { \n this.lastPage = this.pageField[a]; \n this.lastPage = this.lastPage - (a + 1); \n for (var b = 0; b < this.pageNumberShow - 7; b++) { \n if (a == b) { \n this.temppage = this.temppage - (b + 1); \n //this.prevtrue = false; \n break; \n } \n } \n this.disabledNextBtn = true; \n break; \n } else { \n this.disabledNextBtn = false; \n } \n } \n this.currentPage = this.pageField[0]; \n } \n } \n\n FirstValue(){\n this.pageField = [];\n this.pageNumber[0] = true; \n // this.nexttrue = true; \n this.disabledNextBtn = false; \n this.comingFromPreAndNext=true; \n // this.showNoOfCurrentPage = 1; \n for (var a = this.pageNumberShow - 1; a >= 0; a--) { \n this.pageField[a] = this.temppage; \n this.temppage = this.temppage - 1; \n } \n if (this.temppage == 0) { \n this.showPageOnlyOntabsChange = false; \n } \n this.currentPage = this.pageField[0]; \n }\n\n LastValue(){\n this.pageField = []; \n this.pageNumber[0] = true; \n this.disabledNextBtn = true;\n this.disabledPrevBtn = false;\n this.comingFromPreAndNext=true;\n for (var a = this.pageNumberShow - 1; a >= 0; a--) { \n this.pageField[a] = this.temppage; \n this.temppage = this.temppage - 1; \n } \n if (this.temppage == 0) { \n this.showPageOnlyOntabsChange = false; \n } \n this.currentPage = this.pageField[0]; \n}\n} ","import { Component, OnInit } from '@angular/core';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport * as CryptoJS from 'crypto-js';\nimport * as $ from 'jquery';\nimport { AccountMasterService } from 'src/app/MasterService/account-master.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\ndeclare var sortTableAccountAuditReport: Function;\n@Component({\n selector: 'app-account-audit-report',\n templateUrl: './account-audit-report.component.html',\n styleUrls: ['./account-audit-report.component.css']\n})\nexport class AccountAuditReportComponent implements OnInit {\n today = new Date();\n DpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n\n };\n\n config:any;\n ddlshowvalue:number;\n filterCount:string;\n accountAudit:any = [];\n FilteredAccountAuditReports:any = [];\n searchCount:string;\n AuditAccId:any=0;\n lastSortedByField: any;\n ascendingOrder: boolean;\n futureDateError:boolean;\n inputDate:Date; \n disabledsearchbtn:boolean;\n BackBtnDisplay: boolean;\n showAccountNameFiled: boolean;\n AccountID: number;\n encryptAuditAccId: any;\n decryptAuditAccId: string;\n ddlshowStartValue: number;\n\n constructor( private _encryption:EncryptdecryptService,private route: ActivatedRoute,private _spinner:NgxSpinnerService, private router: Router, public _AccountAuditService: AccountMasterService) { \n // this.router.routeReuseStrategy.shouldReuseRoute = function() {\n // return false;\n // };\n }\n\n ngOnInit(): void {\n debugger\n // location.reload();\n this._spinner.show(); \n // Getting query string paremeters\n this.route.queryParams.subscribe(params => {\n this.encryptAuditAccId=params[\"AccountId\"];\n this.decryptAuditAccId=this._encryption.decryptUsingAES256(params[\"AccountId\"])\n this.AuditAccId = (this.decryptAuditAccId); \n });\n\n // To display header\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n // if(localStorage.getItem('AuditaccId') != null){\n // this.AuditAccId = +localStorage.getItem('AuditaccId'); \n // }\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.filterCount = \"\";\n //set default value for Account Audit Report \n this.fnAccountAuditReport();\n // Getting account Audit History data from database\n this.fnGetAccountAuditHistory();\n // sorting table data\n sortTableAccountAuditReport(5,false);\n debugger\n if(this.AuditAccId == 0){\n this.BackBtnDisplay=false;\n this.showAccountNameFiled=true;\n }\n if( this.AuditAccId != 0){\n this.BackBtnDisplay=true;\n this.showAccountNameFiled=false;\n } \n localStorage.removeItem('AuditaccId');\n }\n\n //set default value for Account Audit Report \n fnAccountAuditReport(){\n this._AccountAuditService.AuditFormData={\n AccountName:'',\n fieldValue:'',\n oldValue:'',\n newValue:'',\n action:'',\n modifiedUser:'',\n createdDate:'',\n DateCreated:''\n }\n }\n\n // Getting account Audit History data from database\n fnGetAccountAuditHistory(){\n this._AccountAuditService.fnGetAccountAuditHistory(this.AuditAccId).subscribe(allaccount=>{ \n this.accountAudit = allaccount;\n this.FilteredAccountAuditReports = this.accountAudit;\n this.searchCount = this.FilteredAccountAuditReports.length;\n this.filterCount = \"\";\n this.OnSearch(\"\",\"\",\"\");\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n }\n\n //Filtering data from list\n OnSearch(AccountName,Action,CretedDate) {\n if ( !AccountName && !Action && (!CretedDate || CretedDate==null)) {\n this.FilteredAccountAuditReports = this.accountAudit;\n }\n else{\n this.FilteredAccountAuditReports = this.accountAudit.filter(row=>{\n return row.AccountName.toLocaleLowerCase().match(AccountName.toLocaleLowerCase());\n });\n this.FilteredAccountAuditReports = this.FilteredAccountAuditReports.filter(row=>{\n return row.action.toLocaleLowerCase().match(Action.toLocaleLowerCase());\n });\n if(CretedDate!=\"\" && CretedDate!=null ){\n this.FilteredAccountAuditReports = this.FilteredAccountAuditReports.filter(row=>{\n return row.createdDate.toLocaleLowerCase().match(CretedDate.singleDate.formatted.toLocaleLowerCase());\n });\n }\n \n this.FilteredAccountAuditReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n }\n this.ddlshowvalue=this.FilteredAccountAuditReports.length;\n if (Action !=\"\" || CretedDate!=\"\" || AccountName!=\"\") {\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.FilteredAccountAuditReports.length;\n this.filterCount = \"(filtered from \"+ this.accountAudit.length +\" total entries)\";\n }else{\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountAuditReports.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredAccountAuditReports.length.toString();\n this.filterCount =\"\";\n }\n \n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.searchCount = \"\";\n // this.searchCount = this.FilteredAccountAuditReports.length;\n // this.filterCount = \"\";\n }\n }\n\n BankButton() {\n localStorage.removeItem('AuditaccId');\n this.router.navigate(['/ManageAccount']);\n }\n\n // page changed event function\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredAccountAuditReports.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredAccountAuditReports.length;\n \n }\n\n // Sorting table data\n fnSortAccountAuditRpt(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n sortTableAccountAuditReport(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n sortTableAccountAuditReport(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredAccountAuditReports = this.FilteredAccountAuditReports.sort((a, b) => {\n if(field === 'createdDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.FilteredAccountAuditReports = this.FilteredAccountAuditReports.sort((a, b) => {\n if(field === 'createdDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n\n onKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n checkDateValidity(date){ \n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else{\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError\n} \n\n}\n","
\n
\n
\n
\n
\n
\n \n
\n
\n\n
\n

Account Audit Report

\n
\n
\n
\n\n
\n
\n \n
\n
\n \n \n\n
\n Please Enter a valid Account Name\n
\n
\n \n
\n \n \n
\n\n
\n \n
\n \n\n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n Created Date should be less than or equal to current date\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n\n
\n \n
\n \n
\n \n
\n \n
\n \n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Account NameField NameOld ValueNew ValueCreated ByCreated / Updated Date & TimeAction
{{ _accAdut.AccountName }}{{ _accAdut.fieldValue }}{{_accAdut.oldValue}}{{_accAdut.newValue}}{{_accAdut.modifiedUser}}{{_accAdut.createdDate}}{{_accAdut.action}}
No records found.
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n \n ","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { CustomerAuditMaster } from 'src/app/MasterService/customer';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\ndeclare var sortTableCustomerAuditReport: Function;\n@Component({\n selector: 'app-customer-audit-report',\n templateUrl: './customer-audit-report.component.html',\n styleUrls: ['./customer-audit-report.component.css']\n})\nexport class CustomerAuditReportComponent implements OnInit {\n today = new Date();\n DpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n //disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n };\n\n customerAuditReport: CustomerAuditMaster[];\n decryptAuditId: any;\n decryptAuditCustId: any;\n EditAuditCustId: number=0;\n ddlshowvalue: number;\n searchCount: any;\n FilteredCutomerAuditReports: any;\n filterCount: string;\n config: { itemsPerPage: number; currentPage: number; };\n lastSortedByField;\n ascendingOrder = true;\n futureDateError:boolean;\n inputDate:Date; \n disabledsearchbtn:boolean;\n BackBtnDisplay: boolean;\n showCustomerNameFiled: boolean;\n encryptAuditcustomerId: any;\n decryptAuditCustomerId: any;\n ddlshowStartValue: number;\n\n constructor(public _encrypt:EncryptdecryptService, private route: ActivatedRoute,private router: Router,public _customerService: CustomerService,private _spinner:NgxSpinnerService) { \n // this.router.routeReuseStrategy.shouldReuseRoute = function() {\n // return false;\n // };\n }\n \n ngOnInit(): void {\n debugger;\n // To display header\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n\n // Getting query string paremeters\n this.route.queryParams.subscribe(params => {\n this.encryptAuditcustomerId=params[\"CustomerId\"];\n this.decryptAuditCustomerId=this._encrypt.decryptUsingAES256(params[\"CustomerId\"])\n this.EditAuditCustId = (this.decryptAuditCustomerId); \n });\n // if(localStorage.getItem('AuditCustomerId') != null){\n // this.EditAuditCustId=+localStorage.getItem('AuditCustomerId'); \n // }else{ this.EditAuditCustId=0;}\n //set default value for cust Audit Report \n this.custAuditReport();\n this._spinner.show(); \n // Getting customer Audit History data from database\n this.GetAuditHistory();\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10; \n //Sorting table data\n sortTableCustomerAuditReport(5,false);\n localStorage.removeItem('AuditCustomerId');\n if(this.EditAuditCustId == 0){\n this.BackBtnDisplay=false;\n this.showCustomerNameFiled=true;\n \n }\n if(this.EditAuditCustId != 0){\n this.BackBtnDisplay=true;\n this.showCustomerNameFiled=false;\n \n } \n }\n\n BackButton(){\n localStorage.removeItem('AuditCustomerId');\n this.router.navigate(['/ManageCustomer']);\n }\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n\n //sorting table records in asc/desc \n fnSortCustomerAuditSummaryRpt(field,obj){\n\n debugger;\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n sortTableCustomerAuditReport(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableCustomerAuditReport(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredCutomerAuditReports = this.FilteredCutomerAuditReports.sort((a, b) => {\n if(field === 'createdDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.FilteredCutomerAuditReports = this.FilteredCutomerAuditReports.sort((a, b) => {\n if(field === 'createdDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n // page changed event function\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredCutomerAuditReports.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredCutomerAuditReports.length;\n \n }\n\n // Getting customer audit history\n GetAuditHistory(){ debugger;\n this._customerService.fnGetUserAuditHistory(this.EditAuditCustId).subscribe(allUsers=>{\n debugger;\n this.customerAuditReport = allUsers; \n this.FilteredCutomerAuditReports = this.customerAuditReport;\n this.searchCount = this.FilteredCutomerAuditReports.length;\n this.filterCount =\"\";\n this.OnSearch(\"\",\"\",\"\");\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n } \n\n // Filtering data from list\n OnSearch(CustomerName,Action,CretedDate) {\n debugger;\n if (!CustomerName && !Action && (!CretedDate || CretedDate==null)) {\n this.FilteredCutomerAuditReports = this.customerAuditReport;\n }\n else{\n this.FilteredCutomerAuditReports = this.customerAuditReport.filter(row=>{\n return row.CustomerName.toLocaleLowerCase().match(CustomerName.toLocaleLowerCase());\n });\n this.FilteredCutomerAuditReports = this.FilteredCutomerAuditReports.filter(row=>{\n return row.action.toLocaleLowerCase().match(Action.toLocaleLowerCase());\n });\n if(CretedDate!=\"\" && CretedDate!=null ){\n this.FilteredCutomerAuditReports = this.FilteredCutomerAuditReports.filter(row=>{\n return row.createdDate.toLocaleLowerCase().match(CretedDate.singleDate.formatted.toLocaleLowerCase());\n });\n }\n \n this.FilteredCutomerAuditReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n }\n this.ddlshowvalue=this.FilteredCutomerAuditReports.length;\n if (CustomerName !=\"\" || Action !=\"\" || CretedDate!=\"\") {\n debugger;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.FilteredCutomerAuditReports.length;\n this.filterCount = \"(filtered from \"+ this.customerAuditReport.length +\" total entries)\";\n }else{\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.customerAuditReport.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n this.searchCount = this.customerAuditReport.length.toString();\n this.filterCount =\"\";\n }\n \n // debugger\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.searchCount = \"\";\n // this.searchCount = this.FilteredCutomerAuditReports.length;\n // this.filterCount = \"\";\n }\n }\n onKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n //set default value for custAuditReport \n custAuditReport()\n {\n this._customerService.custoformData={\n CustomerName :'',\n fieldValue:'',\n oldValue :'',\n newValue :'',\n action:'',\n CreatedUser:'',\n createdDate:'',\n DateCreated:'',\n }\n }\n\n checkDateValidity(date){ \n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else{\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError\n} \n \n}\n\n","
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n

Customer Audit Report

\n
\n \n
\n
\n
\n
\n \n
\n
\n \n \n\n
\n Please Enter a valid Customer Name\n
\n
\n
\n \n \n
\n
\n \n
\n \n\n
\n \n
\n\n
\n Please Enter a valid Date Format\n
\n \n
\n Created Date should be less than or equal to current date\n
\n
\n
\n\n\n
\n
\n
\n \n
\n
\n
\n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n \n
\n \n
\n \n
\n \n
\n
\n \n \n
\n \n \n \n \n Customer Name\n Field Name\n Old Value\n New Value\n Created By\n Created / Updated Date & Time\n Action\n \n \n \n \n {{ _CustAudit.CustomerName }}\n {{ _CustAudit.fieldValue }}\n {{_CustAudit.oldValue}}\n {{_CustAudit.newValue}}\n {{_CustAudit.CreatedUser}}\n {{_CustAudit.createdDate}} \n {{_CustAudit.action}} \n \n \n No records found.\n \n \n \n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n \n ","import { Component, OnInit, ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { PaymentsReportService } from 'src/app/ReportsServices/payments-report.service';\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport {} from 'rxjs/add/operator/toPromise';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { formatDate,DatePipe } from '@angular/common';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Router } from '@angular/router';\nimport * as $ from 'jquery';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { PaymentsService } from 'src/app/MasterService/payments.service';\n\n@Component({\n selector: 'app-payments-report',\n templateUrl: './payments-report.component.html',\n styleUrls: ['./payments-report.component.css']\n})\nexport class PaymentsReportComponent implements OnInit {\n today = new Date();\n DpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n }; \n\n model: any;\n model2: any;\n FromDate: any = null;\n ToDate: any = null;\n frmDt:any;\n toDt:any;\n\n allPaymentsReports: any = [];\n FilteredPaymentsReports :any =[];\n config: any;\n fileName:string;\n ddlshowvalue:number;\n searchCount:string;\n filterCount:string;\n lastSortedByField;\n ascendingOrder = true;\n\n isValidDate: boolean;\n From: string;\n To: string;\n inputDate: any;\n fromDateError: boolean;\n errorMessage: string;\n inputDate1: string;\n inputDate2: string;\n finalVal: any;\n ddlshowStartValue: number;\n allCustList:any=[];\n IsCustomerInActive:boolean=false;\n Accounts: string[] = [];\n\n constructor(public _PaymentsReportsService: PaymentsReportService, private http: HttpClient, private ngbDateParserFormatter: NgbDateParserFormatter, \n private datePipe: DatePipe, private _spinner:NgxSpinnerService,private router: Router,public _customerService:CustomerService\n ,public _PaymentsService:PaymentsService) { }\n\n ngOnInit(): void {\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this.getMethod();\n this._spinner.show();\n this.GetAccounts();\n this.fnGetAllPaymentsReports();\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n }\n \n\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredPaymentsReports.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredPaymentsReports.length;\n \n }\n \nvalidateDates(UserName,sDate, eDate,AccountNumber){\n debugger\n \n const mxDate = new Date();\n this.inputDate = eDate.singleDate.jsDate;\n \n debugger\n if((sDate != null && eDate !=null )){\n if((eDate.singleDate.jsDate) < (sDate.singleDate.jsDate)){\n this.errorMessage='To date should be greater than From date.';\n this.isValidDate = false;\n }\n else{\n this.errorMessage=\"\";\n this.isValidDate = true;\n this.OnSearch(UserName,sDate, eDate,AccountNumber);\n }\n }\n else{\n this.errorMessage=\"\";\n this.isValidDate = true;\n \n }\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n }\n else{\n this.futureDateError = false;\n }\n \n return this.isValidDate;\n}\nfutureDateError:boolean;\n\ngetMethod(){\n this._PaymentsReportsService.formData={\n DebitAccountNumber:'',\n CreditAccountNumber:'',\n Amount:0,\n Comments:'',\n RefNo:'',\n ExecutionDate: null,\n Status:'',\n UserName:'',\n datefilter:'',\n FromDate:'',\n ToDate:'',\n AccountNumber:'',\n StructureTypeName:''\n }\n}\n\nonKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode==45 || event.charCode == 8 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n\n return a;\n}\n\ncheckValidDate(UserName,FromDate,ToDate,AccountNumber){\n debugger;\n this.validateDates(UserName,FromDate,ToDate,AccountNumber);\n}\n\ncheckValidFromDate(UserName,FromDate,ToDate,AccountNumber){\n const MaxSdate=new Date();\n if(FromDate!=null){\n if (FromDate.singleDate.jsDate > MaxSdate) {\n this.fromDateError = true;\n } else{\n this.fromDateError = false;\n this.OnSearch(UserName,FromDate,ToDate,AccountNumber); \n }\n }\n else{\n this.fromDateError = false;\n return this.fromDateError;\n }\n}\n\nfnGetAllPaymentsReports() {\n this._PaymentsReportsService.fnGetAllPaymentsReports(localStorage.getItem('LoginUserId')).subscribe(allPaymentsReports => {\n debugger;\n this.allPaymentsReports = allPaymentsReports;\n this.FilteredPaymentsReports = this.allPaymentsReports;\n this.OnSearch(\"\",\"\",\"\",\"\");\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n }\n\nOnSearch(UserName,dtFrmDate,dtToDate,AccountNumber) {\n debugger;\n if (dtFrmDate != null && dtFrmDate!=\"\") {\n this.FromDate =this.ngbDateParserFormatter.format(dtFrmDate.singleDate.date);\n }\n else {\n this.FromDate = \"\";\n }\n if (dtToDate !=null && dtToDate!=\"\") {\n this.ToDate =this.ngbDateParserFormatter.format(dtToDate.singleDate.date);\n }\n else {\n this.ToDate = \"\";\n }\n\n\n if (!AccountNumber && (dtFrmDate==null || !dtFrmDate) && (dtToDate==null ||!dtToDate) && !UserName) {\n this.FilteredPaymentsReports = this.allPaymentsReports;\n }\n else{\n this.FilteredPaymentsReports = this.allPaymentsReports.filter(row=>{\n return (row.DebitAccountNumber + ' ' + row.CreditAccountNumber).toLocaleLowerCase().match(AccountNumber.toLocaleLowerCase());\n });\n\n if (this.FromDate !=\"\") {\n this.FilteredPaymentsReports = this.FilteredPaymentsReports.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n }\n\n if (this.ToDate !=\"\") {\n this.FilteredPaymentsReports = this.FilteredPaymentsReports.filter(row => {\n return row.datefilter <= this.ToDate;\n }); \n }\n\n this.FilteredPaymentsReports = this.FilteredPaymentsReports.filter(row => {\n return row.UserName.match(UserName);\n });\n\n this.FilteredPaymentsReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n }; \n \n }\n \n\n if (AccountNumber !=\"\" || UserName !=\"\" || dtFrmDate !=\"\" || dtToDate!=\"\") {\n this.ddlshowStartValue = 1;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.FilteredPaymentsReports.length;\n this.filterCount = \"(filtered from \"+ this.allPaymentsReports.length +\" total entries)\";\n }else{\n this.ddlshowStartValue = 1;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.allPaymentsReports.length;\n this.filterCount = \"\";\n }\n }\n\n // this lone for download PDF\n @ViewChild('tblAccountMaster') tblAccountMaster:ElementRef;\n fndownloadReport1(ddlValue){\n debugger;\n if(ddlValue === \"excel\"){\n this.fileName= 'PaymentsReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblAccountMaster.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"pdf\"){\n this.fileName = 'PaymentsReport.pdf';\n var data = document.getElementById('tblAccountMaster'); \n html2Canavas(data).then(canvas => { \n // Few necessary setting options \n var imgWidth = 208; \n var pageHeight = 295; \n var imgHeight = canvas.height * imgWidth / canvas.width; \n var heightLeft = imgHeight; \n \n const contentDataURL = canvas.toDataURL('image/png') \n let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n var position = 0; \n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n pdf.save(this.fileName); // Generated PDF \n }); \n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'PaymentsReport.rtf';\n var ele = document.getElementById('tblAccountMaster');\n var blob = new Blob([\"\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"html\"){\n this.fileName = 'PaymentsReport.html'; \n var ele = document.getElementById('tblAccountMaster');\n var blob = new Blob([\"\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n }\n\n @ViewChild('tblPaymentsRpthidepdf') tblPaymentsRpthidepdf:ElementRef;\n//title = 'Excel'; \nfndownloadReport(ddlValue){ \n if(ddlValue === \"excel\"){\n this.fileName= 'PaymentsReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblPaymentsRpthidepdf.nativeElement);\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'PaymentsReport.rtf';\n var ele = document.getElementById('tblPaymentsRpthidepdf');\n var blob = new Blob([\"

Sweep Summary Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"html\"){\n this.fileName = 'PaymentsReport.html'; \n var ele = document.getElementById('tblPaymentsRpthidepdf');\n var blob = new Blob([\"

Sweep Summary Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"pdf\"){ \n let DATA = this.tblPaymentsRpthidepdf.nativeElement;\n var ele = document.getElementById('tblPaymentsRpthidepdf');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Sweep Summary Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('PaymentsReport.pdf')\n }\n} \n// @ViewChild('tblPaymentsRpthidepdf') tblPaymentsRpthidepdf:ElementRef;\n// fndownloadReportPdf(ddlValue){\n \n// }\n\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n\n sortTablePaymentsRpt(n, val) {\n var table = document.getElementById(\"tblPaymentsRpt\");\n $('.sortorder').remove();\n var hdr = table.rows[0].cells[n];\n if (val) {\n $(hdr).html($(hdr).html() + '');\n } else {\n $(hdr).html($(hdr).html() + '');\n }\n }\n\n fnSortPaymentsRpt(field,obj){\n\n debugger;\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n this.sortTablePaymentsRpt(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n this.sortTablePaymentsRpt(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredPaymentsReports = this.FilteredPaymentsReports.sort((a, b) => {\n\n if(field === 'Amount'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n\n });\n } else {\n this.FilteredPaymentsReports = this.FilteredPaymentsReports.sort((a, b) => {\n\n if(field === 'Amount'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n GetAccounts(){\n this._PaymentsService.getAccounts().subscribe(res => {\n debugger;\n this.Accounts = res;\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n}\n\n}\n","
\n
\n
\n
\n

Payment Report

\n
\n
\n\n
\n\n
\n \n\n \n
\n
\n \n
\n \n\n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n Date should be less than current date\n
\n
\n\n
\n \n
\n \n\n
\n \n
\n
\n {{ errorMessage }}\n
\n
\n Please enter Correct Date Format\n
\n
\n Created Date should be less than or equal to current date\n
\n
\n
\n\n
\n \n\n \n\n \n \n \n\n
\n Please Enter a valid Account Name\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Debit AccountCredit AccountAmtCommentsStructure TypeRef NoDate & TimeStatusExecuted By
{{paymentReports.DebitAccountNumber}}{{paymentReports.CreditAccountNumber}}{{paymentReports.Amount}}{{paymentReports.Comments}}{{paymentReports.SturctureTypeName}}{{paymentReports.RefNo}}{{paymentReports.ExecutionDate | date:'medium'}}{{paymentReports.Status}}{{paymentReports.UserName}}
No records found.
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
From Account Number/th>\n To Account NumberAmountCommentsStructure TypeRef NoDate & TimeStatusExecuted By
{{paymentReports.DebitAccountNumber}}{{paymentReports.CreditAccountNumber}}{{paymentReports.Amount}}{{paymentReports.Comments}}{{paymentReports.StructureTypeName}}{{paymentReports.RefNo}}{{paymentReports.ExecutionDate | date:'medium'}}{{paymentReports.Status}}{{paymentReports.UserName}}
\n
\n\n \n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ruleSummaryReportService } from 'src/app/ReportsServices/rule-summary-reports.service';\nimport { RulesSummaryReports } from 'src/app/MasterService/RuleSummaryReports';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\n\ndeclare var sortTableRuleSummaryRpt: Function;\n\n@Component({\n selector: 'app-rule-summary-reports',\n templateUrl: './rule-summary-reports.component.html',\n styleUrls: ['./rule-summary-reports.component.css']\n})\nexport class RuleSummaryReportsComponent implements OnInit {\n today = new Date();\n DpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n };\n\n //#region \n getSummaryReports: any=[];\n FilteredRuleSummaryReports:any=[];\n config :any;\n ddlshowvalue: number;\n searchCount: any;\n filterCount: string;\n lastSortedByField;\n ascendingOrder = true;\n inputDate: any;\n futureDateError: boolean;\n disabledsearchbtn: boolean;\n ddlshowStartValue: number;\n BackBtnDisplay:boolean;\n clickRulesummary: string;\n allSchemeList: any=[];\n //#endregion\n\n constructor(private router: Router,public _ruleSummaryReportsService: ruleSummaryReportService ,private _spinner:NgxSpinnerService) { }\n\n ngOnInit(): void {this._spinner.show();\n this.GetSchemeList();\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this.RulesSummaryReports();\n this.fnGetSummaryReports();\n sortTableRuleSummaryRpt(8,false);\n // this.FilteredRuleSummaryReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.clickRulesummary=localStorage.getItem(\"clickRuleSummaryBtn\").toString();\n \n if(this.clickRulesummary ==\"true\"){\n this.BackBtnDisplay=true;\n }\n else{\n this.BackBtnDisplay=false;\n }\n localStorage.removeItem(\"clickRuleSummaryBtn\");\n }\n\n GetSchemeList(){\n this._ruleSummaryReportsService.fnGetSchemeList(localStorage.getItem(\"LoginUserId\")).subscribe(schemeList => {\n this.allSchemeList = schemeList; \n });\n }\n\n // on page change \n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredRuleSummaryReports.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredRuleSummaryReports.length;\n }\n\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n \n //on search\n OnSearch(SchemeName,RuleName,Date,TrancationType,Status) {\n if (!SchemeName && !RuleName && !Status && !TrancationType && !Date) {\n this.FilteredRuleSummaryReports = this.getSummaryReports;\n }\n else{\n if(SchemeName!=null){\n this.FilteredRuleSummaryReports = this.getSummaryReports.filter(row=>{\n return row.SchemeName.toLocaleLowerCase().match(SchemeName.toLocaleLowerCase());\n });\n }\n this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.filter(row=>{\n return row.RuleName.toLocaleLowerCase().match(RuleName.toLocaleLowerCase());\n });\n if(Date!=\"\" && Date!=null ){\n this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(Date.singleDate.formatted.toLocaleLowerCase());\n });\n }\n // this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.filter(row=>{\n // return row.CreatedDate.toLocaleLowerCase().match(Date.toLocaleLowerCase());\n // });\n this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.filter(row => {\n return row.TransactionType.match(TrancationType);\n });\n this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.filter(row => {\n return row.ExecutionDetail.match(Status);\n });\n this.FilteredRuleSummaryReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n }\n if (RuleName !=\"\" || Status !=\"\" || SchemeName!=\"\" || Date !=\"\" || TrancationType !=\"\") {\n this.ddlshowStartValue=1;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.FilteredRuleSummaryReports.length;\n this.filterCount = \"(filtered from \"+ this.getSummaryReports.length +\" total entries)\";\n }else{\n this.ddlshowStartValue=1;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n //this.ddlshowvalue = 10;\n this.searchCount = \"\";\n this.searchCount = this.FilteredRuleSummaryReports.length;\n this.filterCount = \"\";\n }\n }\n\n //get rule summary report list\n fnGetSummaryReports() {\n \n this._ruleSummaryReportsService.fnGetRulesSummaryReports(localStorage.getItem('LoginUserId')).subscribe(rule=>{\n this.getSummaryReports = rule;\n this.FilteredRuleSummaryReports = this.getSummaryReports;\n this.searchCount = this.FilteredRuleSummaryReports.length;\n this.filterCount =\"\";\n this.OnSearch(\"\",\"\",\"\",\"\",\"\");\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n setTimeout(() => {\n this._spinner.hide(); \n }, 500); \n }\n\n //sorting asc/desc grid column\n fnSortruleSummaryRpt(field,obj){\n //sortTableSweepSummaryRpt(obj);\n\n debugger;\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableRuleSummaryRpt(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableRuleSummaryRpt(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.sort((a, b) => {\n if(field === 'TransactionAmount' || field === 'ParentBalance' || field === 'ChildBalance'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if(field ==='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n } else {\n this.FilteredRuleSummaryReports = this.FilteredRuleSummaryReports.sort((a, b) => {\n if(field === 'TransactionAmount' || field === 'ParentBalance' || field === 'ChildBalance'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if(field ==='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n //navigate to Manage RulesMaster\n BackButton(){\n this.router.navigate(['/ManageRulesMaster']);\n }\n\n //set a default value for rulessummaryreports formdata\n RulesSummaryReports(){\n this._ruleSummaryReportsService.formData={\n RuleId:0,\n Status:'',\n SchemeId:null, \n TransactionType :'',\n RuleName:'',\n FromAccountType:'',\n FromAccountId:'',\n Field:'',\n Condition:'',\n Value:'',\n ToAccountType:'',\n ToAccountId:'',\n TransactionAmount:'',\n Priority: 0,\n Frequency:'',\n IsFailed: 0,\n CreatedBy:'',\n CreatedDate: '',\n ExecutionDetail:'',\n SchemeName :'',\n FromAccountName :'',\n ToAccountName:'',\n ParentBalance:'',\n ChildBalance:'',\n DateCreated:''\n }\n }\n\n // check valid date\n checkDateValidity(date){\n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else{\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError;\n }\n\n //tab function\n onKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n \n}\n","
\n
\n
\n
\n
\n \n
\n
\n

Rule Summary Report

\n
\n \n
\n
\n
\n
\n
\n \n\n
\n \n \n \n \n
\n\n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n Please Enter a valid Date Format\n
\n
\n Created Date should be less than or equal to current date\n
\n
\n
\n \n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n \n
\n \n
\n\n \n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Scheme Name Rule Name Transaction Type Parent Account Name Parent Scheme Balance Child Account Name Child Scheme Balance Transaction Amount Created / Updated Date & Time Execution Detail
{{RuleReports.SchemeName\n }}{{RuleReports.RuleName}}{{RuleReports.TransactionType}}{{RuleReports.FromAccountName}}{{RuleReports.ParentBalance}}{{RuleReports.ToAccountName}}{{RuleReports.ChildBalance}}{{RuleReports.TransactionAmount}}{{RuleReports.CreatedDate}}{{RuleReports.ExecutionDetail}}
No records found.
\n
\n
\n \n
\n
\n \n
\n
\n\n \n
\n
\n
\n\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit, ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { SweepSurmmaryReportsService } from 'src/app/ReportsServices/sweep-surmmary-reports.service';\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport {} from 'rxjs/add/operator/toPromise';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { formatDate,DatePipe } from '@angular/common';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Router } from '@angular/router';\nimport * as $ from 'jquery';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\n\ndeclare var sortTableSweepSummaryRpt: Function;\n\n@Component({\n selector: 'app-sweepsummaryreports',\n templateUrl: './sweepsummaryreports.component.html',\n styleUrls: ['./sweepsummaryreports.component.css']\n})\nexport class SweepsummaryreportsComponent implements OnInit {\n today = new Date();\n DpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n }; \n\n model: any;\n model2: any;\n FromDate: any = null;\n ToDate: any = null;\n frmDt:any;\n toDt:any;\n\n allSweepSummaryReports: any = [];\n FilteredSweepSummaryReports :any =[];\n config: any;\n fileName:string;\n ddlshowvalue:number;\n searchCount:string;\n filterCount:string;\n lastSortedByField;\n ascendingOrder = true;\n\n isValidDate: boolean;\n From: string;\n To: string;\n inputDate: any;\n fromDateError: boolean;\n errorMessage: string;\n inputDate1: string;\n inputDate2: string;\n finalVal: any;\n ddlshowStartValue: number;\n allCustList:any=[];\n IsCustomerInActive:boolean=false;\n\n constructor(public _SweepSummaryReportsService: SweepSurmmaryReportsService, private http: HttpClient, private ngbDateParserFormatter: NgbDateParserFormatter, \n private datePipe: DatePipe, private _spinner:NgxSpinnerService,private router: Router,public _customerService:CustomerService) { }\n\n ngOnInit(): void {\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this.getMethod();\n this._spinner.show();\n this.fnGetCustomerName();\n this.fnGetAllsweepSummaryReports();\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n }\n //-------------------pageChanged Method => ----------------- \n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredSweepSummaryReports.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredSweepSummaryReports.length;\n }\n\n//------------------On page Load NgModel bind---------------\ngetMethod(){\n this._SweepSummaryReportsService.formData={\n CustomerName:'',\n FromAccountName:'',\n FromAccountNumber :'',\n ToAccountName:'',\n ToAccountNumber:'',\n BalanceTransfer:0,\n IntrestRate:0,\n IntrestType:'',\n IntrestAmount:0,\n SweepCharge:0,\n SweepMessage:'',\n SweepStatus:'',\n CreatedDate: null,\n datefilter:'',\n FromDate:'',\n ToDate:'',\n UTRNo:''\n }\n}\n\n//---------------Only Number On Key press------------------\nonKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode==45 || event.charCode == 8 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n// const input = event.target as HTMLInputElement;\n// let trimmed = input.value.replace(/\\s+/g, '');\n// if (trimmed.length > 10) {\n// trimmed = trimmed.substr(0, 10);\n// }\n// trimmed = trimmed.replace(/-/g,'');\n// let numbers = [];\n// numbers.push(trimmed.substr(0,2));\n// if(trimmed.substr(2,2)!==\"\")\n// numbers.push(trimmed.substr(2,2));\n// if(trimmed.substr(4,4)!=\"\")\n// numbers.push(trimmed.substr(4,4));\n// input.value = numbers.join('-');\nreturn a;\n}\n//-----------------Date validation ----------------------------\nvalidateDates(CustomerName,sDate, eDate,Status){\n// this.inputDate2 = this.datePipe.transform(eDate, 'MM-dd-yyyy');\n// var inputDate1=sDate;\n// var splitDate1 = inputDate1.split('-');\n// var day1 = splitDate1[0];\n// var month1 = splitDate1[1];\n// var year1 = splitDate1[2];\n// this.inputDate1 = month1+\"-\"+day1+\"-\"+year1;\n// var inputDate2=eDate;\n// var splitDate2 = inputDate2.split('-');\n// var day2 = splitDate2[0];\n// var month2 = splitDate2[1];\n// var year2 = splitDate2[2];\n// this.inputDate2 = month2+\"-\"+day2+\"-\"+year2;\n// const FromDatechk=new Date(this.inputDate1);\n// const ToDateChk=new Date(this.inputDate2);\n \n const mxDate = new Date();\n this.inputDate = eDate.singleDate.jsDate;\n \n debugger\n if((sDate != null && eDate !=null )){\n if((eDate.singleDate.jsDate) < (sDate.singleDate.jsDate)){\n this.errorMessage='To date should be greater than From date.';\n this.isValidDate = false;\n }\n else{\n this.errorMessage=\"\";\n this.isValidDate = true;\n this.OnSearch(CustomerName,sDate, eDate,Status);\n }\n }\n else{\n this.errorMessage=\"\";\n this.isValidDate = true;\n \n }\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n }\n else{\n this.futureDateError = false;\n }\n \n return this.isValidDate;\n}\nfutureDateError:boolean;\n\ncheckValidDate(CustomerName,FromDate,ToDate,Status){\n this.validateDates(CustomerName,FromDate,ToDate,Status);\n}\ncheckValidFromDate(CustomerName,FromDate,ToDate,Status){\n // var inputDate1=FromDate;\n // var splitDate1 = inputDate1.split('-');\n // var day1 = splitDate1[0];\n // var month1 = splitDate1[1];\n // var year1 = splitDate1[2];\n // this.inputDate = month1+\"-\"+day1+\"-\"+year1;\n // const FromDatechk=new Date(this.inputDate);\n\n const MaxSdate=new Date();\n if(FromDate!=null){\n if (FromDate.singleDate.jsDate > MaxSdate) {\n this.fromDateError = true;\n } else{\n this.fromDateError = false;\n this.OnSearch(CustomerName,FromDate,ToDate,Status); \n }\n }\n else{\n this.fromDateError = false;\n return this.fromDateError;\n }\n}\n//-----------Get All SummaryReport data in grid Method------------------\nfnGetAllsweepSummaryReports() {\n this._SweepSummaryReportsService.fnGetAllSweepSummaryReports(localStorage.getItem('LoginUserId')).subscribe(allsweepSummaryReports => {\n this.allSweepSummaryReports = allsweepSummaryReports;\n this.FilteredSweepSummaryReports = this.allSweepSummaryReports;\n this.OnSearch(\"\",\"\",\"\",\"\");\n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n }\n );\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n }\n\n//-------------On Search Method-------------------------------------------\nOnSearch(CustomerName,dtFrmDate,dtToDate,Status) {\n if (dtFrmDate != null && dtFrmDate!=\"\") {\n this.FromDate =this.ngbDateParserFormatter.format(dtFrmDate.singleDate.date);\n // var newdtfrm = dtFrmDate.split(\"-\");\n // this.FromDate = newdtfrm[2] +\"-\"+ newdtfrm[1] +\"-\"+ newdtfrm[0];\n }\n else {\n this.FromDate = \"\";\n }\n if (dtToDate !=null && dtToDate!=\"\") {\n this.ToDate =this.ngbDateParserFormatter.format(dtToDate.singleDate.date);\n // var newdtto = dtToDate.split(\"-\");\n // this.ToDate = newdtto[2] +\"-\"+ newdtto[1] +\"-\"+ newdtto[0];\n }\n else {\n this.ToDate = \"\";\n }\n\n\n if (!CustomerName && (dtFrmDate==null || !dtFrmDate) && (dtToDate==null ||!dtToDate) && !Status) {\n this.FilteredSweepSummaryReports = this.allSweepSummaryReports;\n }\n else{\n this.FilteredSweepSummaryReports = this.allSweepSummaryReports.filter(row=>{\n return row.CustomerName.toLocaleLowerCase().match(CustomerName.toLocaleLowerCase());\n });\n\n if (this.FromDate !=\"\") {\n this.FilteredSweepSummaryReports = this.FilteredSweepSummaryReports.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n }\n\n if (this.ToDate !=\"\") {\n this.FilteredSweepSummaryReports = this.FilteredSweepSummaryReports.filter(row => {\n return row.datefilter <= this.ToDate;\n }); \n }\n\n this.FilteredSweepSummaryReports = this.FilteredSweepSummaryReports.filter(row => {\n return row.SweepStatus.match(Status);\n });\n\n this.FilteredSweepSummaryReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n }; \n \n }\n \n this.ddlshowvalue= this.FilteredSweepSummaryReports.length;\n if (CustomerName !=\"\" || Status !=\"\" || dtFrmDate !=\"\" || dtToDate!=\"\") {\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.FilteredSweepSummaryReports.length;\n this.filterCount = \"(filtered from \"+ this.allSweepSummaryReports.length +\" total entries)\";\n }else{\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.allSweepSummaryReports.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n this.searchCount = this.allSweepSummaryReports.length.toString();\n this.filterCount =\"\";\n }\n \n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.searchCount = \"\";\n // this.searchCount = this.allSweepSummaryReports.length;\n // this.filterCount = \"\";\n }\n }\n\n//-------------------HTML ,Execel & RTF dwonload method-----------------\n @ViewChild('tblAccountMaster') tblAccountMaster:ElementRef;\n fndownloadReport1(ddlValue){\n debugger;\n if(ddlValue === \"excel\"){\n this.fileName= 'SweepSummaryReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblAccountMaster.nativeElement);\n\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"pdf\"){\n this.fileName = 'SweepSummaryReport.pdf';\n var data = document.getElementById('tblAccountMaster'); \n html2Canavas(data).then(canvas => { \n // Few necessary setting options \n var imgWidth = 208; \n var pageHeight = 295; \n var imgHeight = canvas.height * imgWidth / canvas.width; \n var heightLeft = imgHeight; \n \n const contentDataURL = canvas.toDataURL('image/png') \n let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n var position = 0; \n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n pdf.save(this.fileName); // Generated PDF \n }); \n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'SweepSummaryReport.rtf';\n var ele = document.getElementById('tblAccountMaster');\n var blob = new Blob([\"\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"html\"){\n this.fileName = 'SweepSummaryReport.html'; \n var ele = document.getElementById('tblAccountMaster');\n var blob = new Blob([\"\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n }\n//--------------------------PDF Download Method--------------------------\n @ViewChild('tblSweepSummaryRpthidepdf') tblSweepSummaryRpthidepdf:ElementRef;\n//title = 'Excel'; \nfndownloadReport(ddlValue){ \n if(ddlValue === \"excel\"){\n this.fileName= 'SweepSummaryReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblSweepSummaryRpthidepdf.nativeElement);\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'SweepSummaryReport.rtf';\n var ele = document.getElementById('tblSweepSummaryRpthidepdf');\n var blob = new Blob([\"

Sweep Summary Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"html\"){\n this.fileName = 'SweepSummaryReport.html'; \n var ele = document.getElementById('tblSweepSummaryRpthidepdf');\n var blob = new Blob([\"

Sweep Summary Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ddlValue === \"pdf\"){ \n let DATA = this.tblSweepSummaryRpthidepdf.nativeElement;\n var ele = document.getElementById('tblSweepSummaryRpthidepdf');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Sweep Summary Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('SweepSummaryReport.pdf')\n }\n} \n// @ViewChild('tblSweepSummaryRpthidepdf') tblSweepSummaryRpthidepdf:ElementRef;\n// fndownloadReportPdf(ddlValue){\n// }\n//--------------- pagination dropdown method--------------------------\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n//-----------------------Grid sorting Method-----------------------------\n fnSortSweepSummaryRpt(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n sortTableSweepSummaryRpt(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n sortTableSweepSummaryRpt(obj,this.ascendingOrder);\n }\n if(this.ascendingOrder) {\n this.FilteredSweepSummaryReports = this.FilteredSweepSummaryReports.sort((a, b) => {\n\n if(field === 'BalanceTransfer'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if(field === 'IntrestRate'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if(field === 'IntrestAmount'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n\n });\n } else {\n this.FilteredSweepSummaryReports = this.FilteredSweepSummaryReports.sort((a, b) => {\n\n if(field === 'BalanceTransfer'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if(field === 'IntrestRate'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if(field === 'IntrestAmount'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n//-------------------------Get Customer Name list-------------------------\n fnGetCustomerName(){\n return this._customerService.fnGetCustomerListForDropdown(\"0\",localStorage.getItem('LoginUserId')).subscribe(data =>{\n data.forEach(element => {\n this.allCustList.push(element); \n if(element[\"Status\"]=='0'){\n this.IsCustomerInActive=true;\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n });\n }\n\n//------------------Gear Menu & Sub-Menu display on tab Event--------------\n fnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n }\n fnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n }\n//------------------------------------------------------------------------- \n}\n","
\n
\n
\n
\n

Sweep Summary Report

\n
\n
\n\n
\n\n
\n \n\n \n\n \n \n \n\n
\n Please Enter a valid Customer Name\n
\n
\n\n\n \n\n
\n \n
\n \n\n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n Date should be less than current date\n
\n
\n\n
\n \n
\n \n\n
\n \n
\n
\n {{ errorMessage }}\n
\n
\n Please enter Correct Date Format\n
\n
\n Created Date should be less than or equal to current date\n
\n
\n \n \n \n \n
\n\n
\n \n \n
\n\n
\n\n
\n
\n \n
\n
\n \n
\n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameFrom Account NameTo Account NameBalance TransferInterest TypeInterest Rate%Interest AmountDate & TimeUTR NoSweep Status
{{sweepReports.CustomerName}}{{sweepReports.FromAccountName}}{{sweepReports.ToAccountName}}{{sweepReports.BalanceTransfer}}{{sweepReports.IntrestType}}{{sweepReports.IntrestRate}}{{sweepReports.IntrestAmount}}{{sweepReports.CreatedDate | date:'medium'}}{{sweepReports.UTRNo}}{{sweepReports.SweepMessage}}
No records found.
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameFrom Account NameTo Account NameBalance TransferInterest TypeInterest Rate%Interest AmountDate & TimeUTR NoSweep Status
{{sweepReports.CustomerName}}{{sweepReports.FromAccountName}}{{sweepReports.ToAccountName}}{{sweepReports.BalanceTransfer}}{{sweepReports.IntrestType}}{{sweepReports.IntrestRate}}{{sweepReports.IntrestAmount}}{{sweepReports.CreatedDate | date:'medium'}}{{sweepReports.UTRNo}}{{sweepReports.SweepMessage}}
\n
\n\n \n","import { Component, OnInit } from '@angular/core';\nimport{UserauditreportService}from '../../MasterService/userauditreport.service';\nimport { IAngularMyDpOptions } from 'angular-mydatepicker';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport * as CryptoJS from 'crypto-js';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\ndeclare var sortTableUserAuditReport: Function;\n\n@Component({\n selector: 'app-user-audit-report',\n templateUrl: './user-audit-report.component.html',\n styleUrls: ['./user-audit-report.component.css']\n})\nexport class UserAuditReportComponent implements OnInit {\n today = new Date();\n DpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n\n // other options are here...\n };\n config: { itemsPerPage: number; currentPage: number; };\n ddlshowvalue: number;\n filterCount: string;\n lastSortedByField;\n ascendingOrder = true;\n FilteredUserAuditReports: any;\n AuditUserId: any=0;\n futureDateError:boolean;\n inputDate:Date; \n disabledsearchbtn:boolean;\n showAccountNameFiled: boolean;\n encryptAuditUserId: any;\n decryptAuditUserId: string;\n ddlshowStartValue: number;\n\n\n constructor(public _encrypt:EncryptdecryptService, private route: ActivatedRoute,public _userAudit:UserauditreportService ,private _spinner:NgxSpinnerService, private router: Router) { \n // this.router.routeReuseStrategy.shouldReuseRoute = function() {\n // return false;\n // };\n }\n userAudit:any=[]\n searchCount:string;\n BackBtnDisplay:boolean\n decryptAuditId:string=\"0\";\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n }); \n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n\n ngOnInit(): void {\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this._spinner.show();\n this.route.queryParams.subscribe(params => {\n this.encryptAuditUserId=params[\"UserId\"];\n this.decryptAuditUserId=this._encrypt.decryptUsingAES256(params[\"UserId\"])\n this.AuditUserId = this.decryptAuditUserId; \n }); \n // if(localStorage.getItem('AuditUserId') != null){\n // this.decryptAuditId=this.decryptUsingAES256(localStorage.getItem('AuditUserId')); \n // } \n // this.AuditUserId= +this.decryptAuditId;\n this.UserAuditReport();\n this.GetAuditHistory(); \n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10; \n if(this.AuditUserId==0){\n this.BackBtnDisplay=false;\n this.showAccountNameFiled=true;\n }\n if(this.AuditUserId!=0){\n this.BackBtnDisplay=true;\n this.showAccountNameFiled=false;\n }\n localStorage.removeItem('AuditUserId');\n sortTableUserAuditReport(5,false);\n\n }\n//------------------Page changed Method-------------------------\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredUserAuditReports.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredUserAuditReports.length;\n \n }\n//-----------------Back Button onClick ------------------------\n BankButton() {\n localStorage.removeItem('AuditUserId');\n this.router.navigate(['/ManageUserMaster']);\n }\n//---------------page load NgModel Bind-------------------------\n UserAuditReport()\n {\n this._userAudit.formData={\n userName :'',\n fieldValue:'',\n oldValue :'',\n newValue:'',\n action:'',\n modifiedUser:'',\n createdDate:'',\n DateCreated:'',\n }\n }\n//---------------pagination DropDown--------------------------\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n//--------------------Get Audit data in grid--------------------\n GetAuditHistory(){\n this._userAudit.fnGetUserAuditHistory(this.AuditUserId).subscribe(allUsers=>{\n debugger;\n this.userAudit = allUsers; \n this.FilteredUserAuditReports = this.userAudit;\n this.searchCount = this.FilteredUserAuditReports.length;\n this.filterCount =\"\";\n this.OnSearch(\"\",\"\",\"\");\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n }\n//------------------------Grid Sorting Method----------------------\n fnSortUserAuditSummaryRpt(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n sortTableUserAuditReport(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableUserAuditReport(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredUserAuditReports = this.FilteredUserAuditReports.sort((a, b) => {\n\n if(field === 'createdDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n \n }\n \n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n\n });\n } else {\n this.FilteredUserAuditReports = this.FilteredUserAuditReports.sort((a, b) => {\n\n if(field === 'createdDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n \n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n //-------------OnSearch Method ----------------------------------\n OnSearch(UserName,Action,CretedDate) {\n if (!UserName && !Action && (!CretedDate || CretedDate==null)) {\n this.FilteredUserAuditReports = this.userAudit;\n }\n else{\n this.FilteredUserAuditReports = this.userAudit.filter(row=>{\n return row.userName.toLocaleLowerCase().match(UserName.toLocaleLowerCase());\n });\n this.FilteredUserAuditReports = this.FilteredUserAuditReports.filter(row=>{\n return row.action.toLocaleLowerCase().match(Action.toLocaleLowerCase());\n });\n if(CretedDate!=\"\" && CretedDate!=null ){\n this.FilteredUserAuditReports = this.FilteredUserAuditReports.filter(row=>{\n return row.createdDate.toLocaleLowerCase().match(CretedDate.singleDate.formatted.toLocaleLowerCase());\n });\n }\n \n this.FilteredUserAuditReports;\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n }\n this.ddlshowvalue=this.FilteredUserAuditReports.length;\n if (UserName !=\"\" || Action !=\"\" || CretedDate!=\"\") {\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = \"\";\n this.searchCount = this.FilteredUserAuditReports.length;\n this.filterCount = \"(filtered from \"+ this.userAudit.length +\" total entries)\";\n }else{\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredUserAuditReports.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredUserAuditReports.length.toString();\n this.filterCount =\"\";\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.searchCount = \"\";\n // this.searchCount = this.FilteredUserAuditReports.length;\n // this.filterCount = \"\";\n }\n }\n//------------Only Number on Key Press----------------------------\n onKeyDown(event: KeyboardEvent) {\n debugger;\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n//------------Date validation-------------------------------------\n checkDateValidity(date){ \n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n\n if (this.inputDate > mxDate) {\n this.futureDateError = true;\n this.disabledsearchbtn = true;\n }\n else{\n this.futureDateError = false;\n this.disabledsearchbtn = false;\n }\n return this.futureDateError\n}\n\n}\n","
\n
\n
\n
\n
\n
\n \n\n
\n
\n
\n

User Audit Report

\n
\n \n
\n
\n
\n
\n \n
\n
\n \n \n\n
\n Please Enter a valid User Name\n
\n
\n \n \n \n
\n \n \n
\n
\n \n
\n \n\n
\n \n
\n
\n\n
\n Please Enter a valid Date Format\n
\n\n
\n Created Date should be less than or equal to current date\n
\n\n
\n
\n
\n
\n \n
\n
\n
\n \n \n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n
\n \n
\n \n
\n\n
\n \n
\n
\n \n\n
\n\n \n \n \n User Name\n Field Name\n Old Value\n New Value\n Created By\n Created / Updated Date & Time\n Action\n \n \n \n \n {{ _userAdut.userName }}\n {{ _userAdut.fieldValue }}\n {{_userAdut.oldValue}}\n {{_userAdut.newValue}}\n {{_userAdut.modifiedUser}}\n {{_userAdut.createdDate}} \n {{_userAdut.action}} \n \n \n No records found.\n \n\n \n \n
\n
\n \n \n \n
\n
\n \n
\n
\n\n
\n\n
\n
\n \n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\nexport class PaymentsReports {\n DebitAccountNumber:string; \n CreditAccountNumber:string; \n Amount:number;\n Comments:string;\n StructureTypeName:string;\n RefNo:string;\n Status:string;\n ExecutionDate: Date;\n UserName:string;\n datefilter:string;\n FromDate:string;\n ToDate:string;\n AccountNumber:string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaymentsReportService {\n\n constructor(private http:HttpClient, public _token:TokenService) { }\n formData: PaymentsReports;\n readonly rootURL = Constants.apiURL + 'ReportsApi/';\n\n fnGetAllPaymentsReports(UserID: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAllPaymentsReports?UserId=' + UserID, httpOptions);\n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { Constants } from '../Common/constant';\nimport { RulesSummaryReports } from '../MasterService/RuleSummaryReports';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ruleSummaryReportService {\n\n constructor(private http:HttpClient,public _token:TokenService) { }\n formData: RulesSummaryReports;\n readonly rootURL = Constants.apiURL + 'BizRuleMasterApi/';\n\n fnGetRulesSummaryReports(UserID: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetRuleSummaryReports?UserId=' + UserID, httpOptions);\n }\n\n fnGetSchemeList(UserID: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetSchemeList?UserId=' + UserID, httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { SweepSummaryReports } from '../MasterService/SweepSummaryReports';\nimport { Constants } from '../Common/constant';\nimport { TokenService } from 'src/app/MasterService/token.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SweepSurmmaryReportsService {\n\n constructor(private http:HttpClient, public _token:TokenService) { }\n formData: SweepSummaryReports;\n readonly rootURL = Constants.apiURL + 'ReportsApi/';\n\n fnGetAllSweepSummaryReports(UserID: string): Observable{\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.get(this.rootURL + 'GetAllSweepSummaryReports?UserId=' + UserID, httpOptions);\n }\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NgForm } from '@angular/forms';\nimport { BizRuleService } from 'src/app/MasterService/Biz-RuleMaster.service';\nimport { BizRuleCreatedUpdated, AccountList } from 'src/app/MasterService/BIz-RuleMaster';\nimport { AccountMasterService } from 'src/app/MasterService/account-master.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\nimport { from } from 'rxjs';\nimport { escapeSelector } from 'jquery';\n\n@Component({\n selector: 'app-add-rule-master',\n templateUrl: './add-rule-master.component.html',\n styleUrls: ['./add-rule-master.component.css']\n})\nexport class AddRuleMasterComponent implements OnInit {\n lblTitle: string;\n disableButton: boolean;\n disableClear: boolean;\n showModal: boolean;\n lblMessage: string;\n showMsg: boolean;\n showerrormsg: boolean;\n editRuleId: number;\n\n BizRuleCreatedUpdated1: BizRuleCreatedUpdated[];\n createdBy: number;\n createdDate: string;\n userNameCreated: string;\n usernameUpdte: string;\n updtedDate: string;\n showCreatedDiv: boolean = false;\n showUpdatedDiv: boolean = false;\n\n Accounts: AccountList[];\n //AccountNumberList: AccountMaster[];\n finalList: any;\n FromAccountNumberList: any = [];\n TOAccountNumberList: any = [];\n validAccount: string = 'false';\n private _BizRuleMasterService: any;\n schemeID: number;\n schemeAcLinkId: number;\n corrporationCode: any;\n ParentAccount: AccountList[];\n ChildAccount: AccountList[];\n FilterParentAccount: AccountList[];\n FilterChildAccount: AccountList[];\n editRuleFlag: string;\n HideClr: boolean = false;\n AllChildAccountList: any[];\n\n constructor(private router: Router, public _bizRuleServic: BizRuleService,\n public _accountService: AccountMasterService) { }\n\n ngOnInit(): void {\n this.editRuleId = +localStorage.getItem('RuleId');\n this.editRuleFlag = localStorage.getItem('RuleFlag');\n this.corrporationCode = localStorage.getItem('CorporationCode');\n this.schemeID = +localStorage.getItem('SchemeID');\n this.schemeAcLinkId = +localStorage.getItem('SchemeLinkId');\n // this.GetAccountLinkingMasterData();\n if (this.editRuleId == 0) {\n // Add Biz Rule for \n this.lblTitle = 'Add Biz Rule for ' + localStorage.getItem('Schemename');\n }\n else {\n this.lblTitle = 'Edit Biz Rule for ' + localStorage.getItem('Schemename');;\n this.HideClr = true;\n }\n //Get biz rule by Id---\n this.GetBIZRuleData(this.editRuleId);\n\n if (this.editRuleId != 0) {\n this.fngetCreatedByUpdatedBy();\n }\n this.lblMessage = localStorage.getItem(\"Msg\");\n if (this.lblMessage == null || this.lblMessage == \"\") {\n this.onTop();\n } else {\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n\n }\n//-----get BIz Rule By Id---------------\n GetBIZRuleData(editRuleId: number) {\n if (editRuleId > 0) {\n // this._spinner.show();\n // alert(\"Daa\");\n return this._bizRuleServic.fnGetBizRuleBySchemeId(this.editRuleId.toString()).subscribe(data => {\n this._bizRuleServic.formData = data[0];\n this._bizRuleServic.formData.ToAccountNumber = this._bizRuleServic.formData.ToSAccountNumber;\n if (this._bizRuleServic.formData.ToSAccountNumber == \"0\") {\n this._bizRuleServic.formData.ToAccountNumber = \"M\";\n }\n\n if (this._bizRuleServic.formData.TransactionType == \"Credit\")\n this.childAccountCreditOrDebit = \"Debit - \";\n else\n this.childAccountCreditOrDebit = \"Credit - \";\n\n if (this._bizRuleServic.formData.TransferType == 2 || this._bizRuleServic.formData.TransferType == 3) {\n this.isReadOnlyModeTransactionType = true;\n }\n else\n this.isReadOnlyModeTransactionType = false;\n\n //this.GetAccountLinkingMasterData()\n debugger\n this.fngetCreatedByUpdatedBy();\n this.GetAccountLinkingMasterData();\n //this._spinner.hide(); \n },\n (error) => {\n this.router.navigate([\"404\"]);\n return;\n });\n }\n else {\n this.GetAccountLinkingMasterData();\n this.schemeID = +localStorage.getItem('SchemeID')\n this.corrporationCode = localStorage.getItem('CorporationCode')\n this._bizRuleServic.formData = {\n Status: '1',\n RuleId: 0,\n SchemeId: this.schemeID,\n RuleName: '',\n FromAccountType: '',\n FromAccountNumber: null,\n Field: '',\n Condition: '',\n Value: '',\n ToAccountType: '',\n ToAccountNumber: null,\n TxValue: '',\n Priority: null,\n Frequency: '',\n TransactionType: '',\n msg: 0,\n CorporationCode: this.corrporationCode,\n //lblTitle:'Add Biz Rule',\n //status: '1',\n CreatedBy: 0,\n UpdatedBy: 0,\n CreatedDate: '',\n UpdatedDate: '',\n UserName: '',\n fromAccNumber: '',\n ParentBudgetAmt: '',\n ChildBudgetAmt: '',\n ToSAccountNumber: '',\n TransferType: null,\n TransferTypeValue: '',\n DateCreated: '',\n UserId:''\n }\n //this.lblNameTitle='Add Scheme Master';\n }\n }\n\n//----Back Button code-------------------\n\n BankButton() {\n this.router.navigate(['/ManageRulesMaster']);\n localStorage.removeItem(\"RuleId\");\n localStorage.removeItem(\"RuleFlag\");\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n isIDBIACcount: boolean = false;\n showParentAccountNumber: string;\n childSelectOnParentDropdown: boolean = true;\n ToAccountNumber : any;\n //Account Number filter----------------\n fnAccount(ToAccountType, FromAccountType, FromAccountId, ToAccountId) {\n this.ToAccountNumber = ToAccountId;//vaibhav 18/12/2020 14:44 PM\n this.AllChildAccountList = [];\n if (FromAccountId != \"\") {\n for (var l = 0; l < this.ParentAccount.length; l++) {\n if (FromAccountId == this.ParentAccount[l].AccountId) {\n //this.isIDBIACcount=this.ParentAccount[l].IsIDBIAccount;\n // this.ParentAccount[l].AccountNumber.includes('IDBI')\n if (this.ParentAccount[l].IsIDBIAccount == true) {\n this.isIDBIACcount = true;\n }\n else {\n this._bizRuleServic.formData.TransactionType = \"Credit\";\n this.childAccountCreditOrDebit = \"Debit - \";\n this.isIDBIACcount = false;\n }\n this.showParentAccountNumber = \"-\" + this.ParentAccount[l].AccountNumber;\n }\n }\n }\n this.FilterParentAccount = this.ParentAccount.filter(row => {\n return row.AccountType.toLocaleLowerCase().match(FromAccountType.toLocaleLowerCase());\n })\n this.FilterChildAccount = this.ChildAccount.filter(row => {\n return row.AccountType.toLocaleLowerCase().match(ToAccountType.toLocaleLowerCase());\n });\n if (FromAccountId != \"\")\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId != parseInt(FromAccountId);\n });\n if (FromAccountId == ToAccountId) {\n this._bizRuleServic.formData.ToAccountNumber = null;\n }\n if (ToAccountId == \"M\") {\n for (let item of this.FilterChildAccount) {\n if (item.AccountId != FromAccountId) {\n this.AllChildAccountList.push(item.AccountId);\n }\n }\n this.AllChildAccountList;\n }\n\n //this._bizRuleServic.formData.ToAccountNumber = null;\n this.TransactionTypeChange();\n }\n //----Only Number on Keypress-------------------------\n numberOnly(event): boolean {\n\n const charCode = (event.which) ? event.which : event.keyCode;\n if (charCode != 46 && charCode > 23 && (charCode < 48 || charCode > 57)) {\n\n return false;\n }\n return true;\n }\n\n GetAccountLinkingMasterData() {\n\n // this._accountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\")).subscribe(res => {\n // this.Accounts = res.AccountsList;\n // this.ParentAccount = this.Accounts;\n // this.ChildAccount = this.Accounts;\n // this.fnAccount(this._bizRuleServic.formData.ToAccountType,\n // this._bizRuleServic.formData.FromAccountType,this._bizRuleServic.formData.FromAccountNumber\n // ,this._bizRuleServic.formData.ToAccountNumber);\n\n // },\n // (error)=>{\n // this.router.navigate([\"404\"]);\n // return;\n // });\n\n\n this._bizRuleServic.fnGetAccountList(this.schemeID.toString(), this.schemeAcLinkId.toString()).subscribe(res => {\n this.Accounts = res;\n this.ParentAccount = this.Accounts;\n this.ChildAccount = this.Accounts;\n this.fnAccount(this._bizRuleServic.formData.ToAccountType,\n this._bizRuleServic.formData.FromAccountType, this._bizRuleServic.formData.FromAccountNumber\n , this._bizRuleServic.formData.ToAccountNumber);\n\n },\n (error) => {\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n\n resetForm(form?: NgForm) {\n\n\n if (this.editRuleFlag == 'Edit' && this.editRuleId > 0) {\n if (form != null)\n this.onTop();\n //form.resetForm();\n this._bizRuleServic.formData = {\n Status: '1',\n RuleId: this.editRuleId,\n SchemeId: this.schemeID,\n RuleName: '',\n FromAccountType: '',\n FromAccountNumber: null,\n Field: '',\n Condition: '',\n Value: '',\n ToAccountType: '',\n ToAccountNumber: null,\n TxValue: '',\n Priority: null,\n Frequency: '',\n TransactionType: '',\n msg: 0,\n CorporationCode: this.corrporationCode,\n CreatedBy: 0,\n UpdatedBy: 0,\n CreatedDate: '',\n UpdatedDate: '',\n UserName: '',\n fromAccNumber: '',\n ParentBudgetAmt: '',\n ChildBudgetAmt: '',\n ToSAccountNumber: '',\n TransferType: null,\n TransferTypeValue: '',\n DateCreated: '',\n UserId:''\n }\n this.showMsg = false;\n this.showerrormsg = false;\n\n }\n else {\n if (form != null)\n form.resetForm();\n this.showMsg = false;\n this.showerrormsg = false;\n this._bizRuleServic.formData = {\n Status: '1',\n RuleId: 0,\n SchemeId: this.schemeID,\n RuleName: '',\n FromAccountType: '',\n FromAccountNumber: null,\n Field: '',\n Condition: '',\n Value: '',\n ToAccountType: '',\n ToAccountNumber: null,\n TxValue: '',\n Priority: null,\n Frequency: '',\n TransactionType: '',\n msg: 0,\n CorporationCode: this.corrporationCode,\n CreatedBy: 0,\n UpdatedBy: 0,\n CreatedDate: '',\n UpdatedDate: '',\n UserName: '',\n fromAccNumber: '',\n ParentBudgetAmt: '',\n ChildBudgetAmt: '',\n ToSAccountNumber: '',\n TransferType: null,\n TransferTypeValue: '',\n DateCreated: '',\n UserId :''\n }\n }\n }\n//---------Page Refresh---------------\n fnPageRefresh(form) {\n\n //if (this.editRuleFlag == 'Edit' && this.editRuleId > 0) { \n // this.resetForm(form);\n //this.onTop();\n // } \n\n this.resetForm(form)\n this.onTop();\n setTimeout(function () {\n this.document.location.reload();\n }, 1000);\n\n }\n\n\n\n check(FromAccount, ToAccount, fromID, toID) {\n\n if (FromAccount == ToAccount && fromID == toID) {\n return this.validAccount = 'true';\n // alert(this.validAccount)\n }\n else {\n return this.validAccount = 'false';\n // this.validAccount=='false';\n\n }\n }\n//-----Max priority-----------------\n MaxPriority(RuleId, Frequency) {\n\n this._bizRuleServic.fnGetBIZRulePriority(RuleId, Frequency, localStorage.getItem('SchemeID')).subscribe(res => {\n\n this._bizRuleServic.formData.Priority = res as number;\n\n },\n (error) => {\n this.router.navigate([\"404\"]);\n return;\n });\n }\n //----Hide error &Successful message------------\n fnHideSuccessMsg(event) {\n //Rubina added decfect 1977 -02/02/2021 \n if(event=='FromAccountchange'){\n this._bizRuleServic.formData.FromAccountNumber = null;\n }\n if(event=='childAccountChange'){\n this._bizRuleServic.formData.ToAccountNumber = null;\n }\n if(event=='TransferType'){\n this._bizRuleServic.formData.ToAccountType = \"\";\n this._bizRuleServic.formData.ToAccountNumber = null;\n }\n this.showMsg = false;\n this.showerrormsg = false;\n }\n\n onSubmit(form: NgForm) {\n var RuleName = this._bizRuleServic.formData.RuleName;\n RuleName = RuleName.replace(/\\s/g, \"\");\n if (RuleName == \"\") {\n this._bizRuleServic.formData.RuleName = RuleName;\n }\n if (this._bizRuleServic.formData.RuleName == \"\") {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else{\n // this.disableButton = true; \n\n\n // if(this._bizRuleServic.formData.ToAccountNumber==\"0\"){\n // form.value.ToAccountNumber=\"\";\n // for (let item of this.AllChildAccountList){\n // form.value.ToAccountNumber = form.value.ToAccountNumber + ','+item;\n // }\n // form.value.ToAccountNumber = (form.value.ToAccountNumber.length && form.value.ToAccountNumber[0] == ',') ? form.value.ToAccountNumber.slice(1) : form.value.ToAccountNumber;\n // }\n // else{\n // this._bizRuleServic.formData.ToAccountNumber;\n // }\n /// FormData[\"ToAccountNumber\"]=this._bizRuleServic.formData.ToAccountNumber;\n //form.value.ToAccountNumber;\n if (form.value[\"RuleId\"] > 0) {\n form.value[\"UpdatedBy\"] = localStorage.getItem('LoginUserId');\n }\n else {\n form.value[\"CreatedBy\"] = localStorage.getItem('LoginUserId');\n }\n var postData = {};\n\n postData[\"Status\"] = form.value[\"Status\"];\n postData[\"RuleId\"] = form.value[\"RuleId\"];\n postData[\"SchemeId\"] = form.value[\"SchemeId\"];\n postData[\"RuleName\"] = form.value[\"RuleName\"];\n postData[\"FromAccountType\"] = form.value[\"FromAccountType\"];\n postData[\"FromAccountNumber\"] = form.value[\"FromAccountNumber\"];\n postData[\"Field\"] = form.value[\"Field\"];\n postData[\"Condition\"] = form.value[\"Condition\"];\n postData[\"Value\"] = form.value[\"Value\"];\n postData[\"ToAccountType\"] = form.value[\"ToAccountType\"];\n postData[\"ToAccountNumber\"] = form.value[\"ToAccountNumber\"];\n postData[\"TxValue\"] = form.value[\"TxValue\"];\n postData[\"Priority\"] = form.value[\"Priority\"];\n postData[\"Frequency\"] = form.value[\"Frequency\"];\n // if(this.isIDBIACcount){\n // debugger;\n // if(form.value[\"TransferType\"].toString() == \"2\" || form.value[\"TransferType\"].toString() == \"3\"){\n // postData[\"TransactionType\"] = \"Credit\";\n // }\n // else \n // postData[\"TransactionType\"] = this._bizRuleServic.formData.TransactionType;\n // }\n // else{\n // postData[\"TransactionType\"] = this._bizRuleServic.formData.TransactionType;\n // }\n postData[\"TransactionType\"] = this._bizRuleServic.formData.TransactionType;\n\n // if(form.value[\"TransferType\"].toString() == \"2\" || form.value[\"TransferType\"].toString() == \"3\"){\n // postData[\"TransactionType\"] = \"Debit\";\n // }\n // else \n // postData[\"TransactionType\"] = form.value[\"TransactionType\"];\n postData[\"CreatedBy\"] = form.value[\"CreatedBy\"];\n postData[\"UpdatedBy\"] = form.value[\"UpdatedBy\"];\n\n postData[\"msg\"] = form.value[\"msg\"];\n postData[\"CorporationCode\"] = form.value[\"CorporationCode\"];\n postData[\"ParentBudgetAmt\"] = form.value[\"ParentBudgetAmt\"];\n postData[\"ChildBudgetAmt\"] = form.value[\"ChildBudgetAmt\"];\n postData[\"CreatedDate\"] = form.value[\"CreatedDate\"];\n postData[\"UpdatedDate\"] = form.value[\"UpdatedDate\"];\n postData[\"UserName\"] = form.value[\"UserName\"];\n postData[\"fromAccNumber\"] = form.value[\"fromAccNumber\"];\n\n if (form.value[\"ToAccountNumber\"] == \"M\") {\n postData[\"ToAccountNumber\"] = [];\n this.AllChildAccountList.forEach(element => {\n var UserAccessObj = {};\n UserAccessObj[\"AccountId\"] = element;\n postData[\"ToAccountNumber\"].push(UserAccessObj);\n });\n postData[\"ToSAccountNumber\"] = \"M\";\n }\n else {\n postData[\"ToSAccountNumber\"] = form.value[\"ToAccountNumber\"];\n //postData[\"ToSAccountNumber\"] = 'S';\n }\n\n // if(this._bizRuleServic.formData.RuleId==0)\n\n // form.value.CreatedBy=+localStorage.getItem('LoginUserId');\n // else\n // form.value.UpdatedBy=+localStorage.getItem('LoginUserId');\n //form.value.TransactionType=\"Debit\";\n postData[\"TransferType\"] = form.value[\"TransferType\"];\n\n this._bizRuleServic.fnDublcateRuleName(postData[\"SchemeId\"], postData[\"RuleId\"], postData[\"RuleName\"]).subscribe(RuleNameExist => {\n if (RuleNameExist == true) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'This Rule Name already exist for ' + localStorage.getItem('Schemename') + ' Scheme'; // this.disableButton = false;\n this.onTop();\n }\n else {\n this._bizRuleServic.fnSaveBIZMasterDetails(postData).subscribe(res => {\n debugger;\n if (res.RuleId == -1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'This priority already exist for- ' + res.Frequency + ' Frequency';\n // this.disableButton = false;\n this.onTop();\n }\n else {\n this.disableButton = false;\n this.lblMessage = this._bizRuleServic.formData.RuleId.toString() == \"0\" ||\n this._bizRuleServic.formData.RuleId.toString() == null ? \"Rule Added Successfully\" : \"Rule Updated Successfully\";\n //this._bizRuleServic.formData.RuleId =res.RuleId;\n this.lblMessage = res.RuleName + \" \" + this.lblMessage;\n\n if (this._bizRuleServic.formData.RuleId == 0) {\n document.location.reload();\n localStorage.setItem(\"Msg\", this.lblMessage);\n this.onTop();\n }\n else {\n this.showMsg = true\n this.showerrormsg = false;\n this.onTop();\n this.fngetCreatedByUpdatedBy();\n }\n\n\n //this.editRuleId=res.RuleId;\n\n\n // this.fngetCreatedByUpdatedBy();\n // this.fngetCreatedByUpdatedBy();\n }\n },\n (error) => {\n\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'An error occured.';\n this.disableButton = false;\n this.onTop();\n this.router.navigate([\"404\"]);\n return;\n });\n\n }\n });\n }\n }\n //------On top method-----------------\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n//---------get Last updated & Created by------------ \n fngetCreatedByUpdatedBy() {\n this._bizRuleServic.fnGetCreatedNUpdatedNBIZRuleMaster(this.editRuleId.toString()).subscribe(userdates => {\n this.BizRuleCreatedUpdated1 = userdates;\n\n if (this.BizRuleCreatedUpdated1[0].CreatedDate != '') {\n this.showCreatedDiv = true;\n this.createdDate = this.BizRuleCreatedUpdated1[0].CreatedDate;\n this.userNameCreated = this.BizRuleCreatedUpdated1[0].UserName;\n }\n if (this.BizRuleCreatedUpdated1[1].UpdatedDate != '') {\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.BizRuleCreatedUpdated1[1].UserName;\n this.updtedDate = this.BizRuleCreatedUpdated1[1].UpdatedDate;\n }\n },\n (error) => {\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n\n\n // getAcountNumber(AccountType){\n\n // //this.GetAccountLinkingMasterData();\n // this.FromAccountNumberList = [];\n // //this.FromAccountNumberList={};\n // // alert(this._bizRuleServic.formData.CorporationCode);\n\n // for (let item of this.Accounts)\n // {\n // if(item.AccountType==AccountType && item.CorporationCode==this.corrporationCode.toString())\n // {\n // var acc = {};\n // let c= this._bizRuleServic.formData.CorporationCode;\n // // let a=item.AccountNumber\n // //this.AccountNumberList.push(a);\n // acc[\"AccountNumber\"] = item.AccountNumber;\n // // this.AccountNumberList.push(item.AccountNumber);\n // this.FromAccountNumberList.push(acc);\n // //alert(this.AccountNumberList[\"AccountNumber\"])\n // }\n // }\n // \n\n // getAcountNumber2(FromAccountType,ToAccountType,fromID,toID){\n // this.TOAccountNumberList = [];\n\n // for (let item of this.Accounts)\n // {\n // if(item.AccountType==ToAccountType && item.CorporationCode==this.corrporationCode.toString())\n // {\n // if(FromAccountType==ToAccountType){\n // var acc = {};\n // let c= this._bizRuleServic.formData.CorporationCode;\n // acc[\"AccountNumber\"] = item.AccountNumber;\n // if(item.AccountNumber!=fromID)\n // {\n // this.TOAccountNumberList.push(acc);\n // }\n // }\n // else{\n // var acc = {};\n // let c= this._bizRuleServic.formData.CorporationCode;\n // let previacc=this._bizRuleServic.formData.FromAccountNumber;\n // // let a=item.AccountNumber\n // //this.AccountNumberList.push(a);\n // acc[\"AccountNumber\"] = item.AccountNumber;\n // // this.AccountNumberList.push(item.AccountNumber);\n // this.TOAccountNumberList.push(acc);\n // //alert(this.AccountNumberList[\"AccountNumber\"])\n // }\n // }\n // }\n // \n\n\n isReadOnlyModeTransactionType: boolean;\n childAccountCreditOrDebit: string = \"\";\n //-----Disbale Transaction textbox-------------\n disableTrancastion(tranferType) {\n\n if (tranferType == \"2\" || tranferType == \"3\" || tranferType == \"4\") {\n // if(this.isIDBIACcount==true){\n // this.isReadOnlyModeTransactionType = true;\n // // this._bizRuleServic.formData.TransactionType = \"Debit\";\n // }\n if (this.isIDBIACcount == false) {\n this._bizRuleServic.formData.TransactionType = \"Credit\";\n this.childAccountCreditOrDebit = \"Debit - \";\n //seema 21/12/2020 11:54 AM \n this.FilterChildAccount = this.FilterChildAccount.filter(row => { return row.IsIDBIAccount == true });\n if (this._bizRuleServic.formData.FromAccountNumber != \"\")\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber);\n });\n }\n else {\n this.FilterChildAccount = this.FilterChildAccount.filter(row => { return row.IsIDBIAccount == false });\n if (this._bizRuleServic.formData.FromAccountNumber != \"\")\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber);\n });\n }\n // this.isReadOnlyModeTransactionType = true;\n // this._bizRuleServic.formData.TransactionType = \"Debit\";\n\n\n }\n else {\n this.isReadOnlyModeTransactionType = false;\n this.FilterChildAccount = this.FilterChildAccount.filter(row => { return row.IsIDBIAccount == true });\n if (this._bizRuleServic.formData.FromAccountNumber != \"\")\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber);\n });\n }\n if (this.ToAccountNumber == \"M\") {\n this.AllChildAccountList = [];\n for (let item of this.FilterChildAccount) {\n if (item.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber)) {\n this.AllChildAccountList.push(item.AccountId);\n }\n }\n }\n\n if (tranferType == \"null\") {\n this._bizRuleServic.formData.TransferType = null;\n }\n }\n\n isIDBIAccountCredit: boolean;\n //----------Transaction type on change----\n TransactionTypeChange() {\n if (this._bizRuleServic.formData.TransactionType == \"Debit\") {\n this.childAccountCreditOrDebit = \"Credit - \";\n this.isIDBIAccountCredit = false;\n this.FilterChildAccount = this.FilterChildAccount;\n if (this._bizRuleServic.formData.FromAccountNumber != \"\")\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber);\n });\n }\n else if (this._bizRuleServic.formData.TransactionType == \"Credit\") {\n this.childAccountCreditOrDebit = \"Debit - \";\n if (this.isIDBIACcount) {\n this._bizRuleServic.formData.TransferType = 1;\n this.isIDBIAccountCredit = true;\n this.FilterChildAccount = this.FilterChildAccount.filter(row => { return row.IsIDBIAccount == true });\n if (this._bizRuleServic.formData.FromAccountNumber != \"\")\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber);\n });\n }\n else {\n this.isIDBIAccountCredit = false;\n // defect 1659-- this._bizRuleServic.formData.TransferType = 2;\n this.FilterChildAccount = this.FilterChildAccount.filter(row => { return row.IsIDBIAccount == true });\n }\n }\n if (this.ToAccountNumber == \"M\") {\n this.AllChildAccountList = [];\n for (let item of this.FilterChildAccount) {\n if (item.AccountId != parseInt(this._bizRuleServic.formData.FromAccountNumber)) {\n this.AllChildAccountList.push(item.AccountId);\n }\n }\n }\n this.disableTrancastion(this._bizRuleServic.formData.TransferType);\n }\n}\n","
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

{{lblTitle}}

\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n

* Marked Fields Are Mandatory.

\n \n
\n
\n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n \n
\n ×\n Error! {{lblMessage}}.\n
\n \n
\n \n
\n
\n \n Rule Details \n
\n \n \n
\n \n \n
\n
\n Rule Name is required.\n
\n
\n Please provide a valid Rule Name.\n
\n
\n
\n
\n
\n \n
\n\n \n
\n \n \n \n
\n \n
\n \n \n \n
\n
\n
\n \n\n
\n \n
\n \n Condition Details \n
\n
\n \n \n
From Account Type is required
\n
\n
\n \n\n \n
\n From Account Number is required
\n
\n \n\n
\n
\n \n
\n \n \n \n \n
Field is required
\n
\n
\n \n \n
\n Condition is required
\n
\n
\n \n \n
\n Value is required
\n
\n
\n
\n
\n \n \n
\n \n Transaction Details \n \n
\n
\n \n \n \n \n\n \n Transaction Type is required\n
\n \n \n
\n
\n \n \n
\n Value is required
\n
\n
\n \n \n\n
\n Transfer Type is required
\n
\n \n \n
\n
\n
\n \n \n
To Account Type is required
\n
\n
\n \n \n
To Account Number is required
\n
From AccountNumber and To Account Number should not be same
\n \n
\n\n
\n \n
\n \n \n \n
\n
\n \n \n
\n \n
\n\n \n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n \n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n \n\n \n\n\n
\n \n \n","import { Component, OnInit } from '@angular/core';\nimport { NgForm} from '@angular/forms';\nimport { SchemeMasterService } from '../../MasterService/scheme-master.service';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { Router,ActivatedRoute } from '@angular/router';\nimport { SchemeMaster, SchemeCreatedUpdated } from 'src/app/MasterService/SchemeMaster';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { AccountMasterService } from \"../../MasterService/account-master.service\";\nimport * as moment from 'moment';\nimport {IAngularMyDpOptions} from 'angular-mydatepicker';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\n\n\n@Component({\n selector: 'app-add-scheme',\n templateUrl: './add-scheme.component.html',\n styleUrls: ['./add-scheme.component.css'],\n})\nexport class AddSchemeComponent implements OnInit {\n\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n // other options are here...\n };\n\n //#region \n disableButton: boolean;\n\n showModal: boolean;\n \n lblMessage:string;\n SchemeId:number;\n schemeData:SchemeMaster;\n allCustomers: any =[];\n showMsg:boolean;\n showerrormsg:boolean;\n lblNameTitle:string;\n SchemeCreatedUpdated1:SchemeCreatedUpdated[];\n createdBy:number;\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n viewMode:string;\n IsViewMode:boolean;\n editedSchemeId:number;\n newdate:string;\n disableClear:boolean;\n validDate: boolean=true;\n HideClr :boolean= false;\n UserId:number;\n\n //new formdata and for maker checker flow\n editedSchemeInfo:any=[];\n CheckerPrivillage:boolean = false;\n IsPendingStatus:string;\n pendingStatus:boolean=false;\n deletePending:boolean=false;\n showApprovalInfo:string;\n disableStatus:boolean;\n buttonvalue:string;\n SchemeStartDate:string;\n EditedSchemeStartDate:string;\n inputDate: any;\n futureDateError: boolean=true;\n validStatus: boolean=true;\n IsEditApproved:boolean=false;\n schmeName:string;\n \n //#endregion\n\n constructor(public _schemeMasterService:SchemeMasterService,private router: Router,public _spinner:NgxSpinnerService, public _customerService:CustomerService\n ,public _AccountService: AccountMasterService,private _routeWithQuerystring: ActivatedRoute ,public _roleAccess:RoleAccessService \n ,public _encrypt:EncryptdecryptService) { }\n \n ngOnInit(): void {\n this.onTop();\n this.hideerror();\n this.hidelbl();\n \n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n\n this.lblMessage = localStorage.getItem(\"Msg\"); \n if (this.lblMessage == null || this.lblMessage == \"\") {\n \n }else{\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n this.onTop();\n }\n\n this.editedSchemeId = +localStorage.getItem('SchemeDataId');\n this.UserId = +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'));\n\n this._routeWithQuerystring.queryParams.subscribe(params => {\n this.viewMode = params[\"viewMode\"];\n });\n\n if (this.viewMode == 'view') {\n this.disableButton = true;\n \n this.disableClear=true;\n }\n this.GetPrivillageRoles(); \n this.fnGetAllCustomerDetails();\n //this.GetEditedSchemeData(this.editedSchemeId);\n \n if (this.editedSchemeId > 0){\n this.fnGetCreatedNUpdatedScheme();\n }\n if(this.editedSchemeId == 0)\n this.lblNameTitle ='Add Scheme Master';\n }\n\n //#region \n fnHideSuccessMsg(event)\n { \n this.showMsg = false;\n this.showerrormsg = false; \n }\n hidelbl(){\n this.showMsg = false;\n }\n showerror(){\n this.showerrormsg = true;\n }\n hideerror(){\n this.showerrormsg = false;\n }\n //#endregion\n\n IsAuthorize:boolean = false;\n //#region \n GetSchemeData(schedmid:number){ \n if(schedmid > 0){\n this._spinner.show();\n\n if (this.viewMode == 'view') {\n this.lblNameTitle='View Scheme Master';\n this.disableButton = true;\n \n this.IsViewMode = true;\n }\n else if(this.viewMode == \"authorize\"){\n this.IsAuthorize = true;\n this.lblNameTitle='Edit Scheme Master';}\n else{\n this.lblNameTitle='Edit Scheme Master';\n this.disableButton = false;\n this.HideClr=true;\n this.IsViewMode = false;\n }\n \n \n return this._schemeMasterService.fnGetSchemeBySchemeId(schedmid.toString()).subscribe(data=>{ \n this._schemeMasterService.formData=data[0];\n this.ChangeCorporationCode(\"\",this._schemeMasterService.formData.CustomerId);\n\n if(this._schemeMasterService.formData.AccountId == 0) \n this._schemeMasterService.formData.AccountId = null;\n \n this.showApprovalInfo=this._schemeMasterService.formData.StatusTitle;\n if (data[0].SchemestartDate != null) {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n\n var newObj = moment(data[0].SchemestartDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._schemeMasterService.formData.SchemestartDate=_savedStartDate;\n }\n\n if (this._schemeMasterService.formData.SchemestartDate.singleDate.date.month >= \"10\") {\n this.SchemeStartDate = this._schemeMasterService.formData.SchemestartDate.singleDate.date.day+\"-\"+\n this._schemeMasterService.formData.SchemestartDate.singleDate.date.month+\"-\"+this._schemeMasterService.formData.SchemestartDate.singleDate.date.year;\n }\n else {\n this.SchemeStartDate = this._schemeMasterService.formData.SchemestartDate.singleDate.date.day+\"-0\"+\n this._schemeMasterService.formData.SchemestartDate.singleDate.date.month+\"-\"+this._schemeMasterService.formData.SchemestartDate.singleDate.date.year;\n }\n\n this.IsPendingStatus=String(this._schemeMasterService.formData.reviewstatus );\n if(this.IsPendingStatus==\"1\" || this.IsPendingStatus==\"4\" || this.IsPendingStatus ==\"7\"){\n this.pendingStatus=true; \n this.showApprovalInfo=this.showApprovalInfo; \n }\n\n if(this.IsPendingStatus ==\"7\"){\n this.deletePending=true; \n }\n\n if(this.CheckerPrivillage == true && (this._schemeMasterService.formData.Createdby != this.UserId))\n this.buttonvalue = \"Verify\";\n else\n this.buttonvalue = \"Submit\"; \n\n if(this.viewMode == \"view\")\n this.disableButton = true;\n else{\n if((this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && this._schemeMasterService.formData.Createdby == this.UserId)\n this.disableButton = true;\n else if((this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\") && !this.CheckerPrivillage)\n this.disableButton = true;\n else \n this.disableButton = false; \n }\n if(this.IsPendingStatus==\"2\" || this.IsPendingStatus==\"3\" || this.IsPendingStatus==\"4\" || this.IsPendingStatus==\"5\" || this.IsPendingStatus==\"6\" || this.IsPendingStatus==\"9\" || this.IsPendingStatus==\"7\" ){\n this.IsEditApproved=true;\n }\n\n if(this.CheckerPrivillage) {\n if(this.CheckerPrivillage && (this.IsPendingStatus == \"2\" || this.IsPendingStatus == \"3\" || this.IsPendingStatus == \"5\" || this.IsPendingStatus == \"6\"\n || this.IsPendingStatus == \"8\" || this.IsPendingStatus == \"9\") && this._schemeMasterService.formData.Createdby != this.UserId){\n this.disableButton = true;\n }\n else if(this.CheckerPrivillage && (this._schemeMasterService.formData.Createdby == this.UserId) && (this.IsPendingStatus ==\"4\" || this.IsPendingStatus ==\"7\" || this.IsPendingStatus ==\"1\")){\n this.disableButton = true;\n this.disableStatus = true;\n if (this._schemeMasterService.formData.Status == 2){\n this._schemeMasterService.formData.Status = null;\n }\n }\n else{\n if (this._schemeMasterService.formData.Status == 2){\n this._schemeMasterService.formData.Status = null;\n }\n this.disableButton = false;\n }\n if(this.viewMode == \"edit\" && this.CheckerPrivillage && this._schemeMasterService.formData.Createdby != this.UserId)\n this.disableButton = true; \n }\n if(this.IsPendingStatus ==\"8\"){\n this.disableButton=true; \n }\n setTimeout(() => {\n this._spinner.hide();\n }, 200); \n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n }); \n }\n else{\n this._schemeMasterService.formData = {\n SchemeId:0,\n SchemeName:'',\n BudgetAmount:null,\n UtilizedAmount:'0',\n UnutilizedAmount:null,\n TransferLimit:null,\n SweepAmount:null,\n SchemestartDate:'',\n Createdby:1,\n Updatedby:1,\n CorporationCode:'',\n CreatedDate:'',\n UpdatedDate:'',\n msg:'',\n lblTitle:'Add Scheme Master',\n btnTitle:'Submit',\n Status:2 ,\n StatusTitle:'',\n CustomerId:null,\n SchAccLinkId:0,\n SchAccLinkStatus:0,\n SchAccLinkStatusTitle:'',\n CreatedName:'',\n UpdatedName:'',\n reviewstatus:null,RequestType:\"\",\n sclinkCreatedBy: null,\n AccountId:null,\n outputjson:null,\n AccountName:''\n }\n this.buttonvalue = \"Submit\"; \n this.lblNameTitle='Add Scheme Master';\n this.editedSchemeInfo = this._schemeMasterService.formData;\n }\n }\n\n GetEditedSchemeData(schemeid){\n if(this.editedSchemeId > 0){\n return this._schemeMasterService.fnGetEditedSchemeBySchemeId(schemeid.toString()).subscribe(data=>{ \n \n this.editedSchemeInfo=data;\n\n let list = this.allCustomers.filter(x => x.CustPkId === this.editedSchemeInfo.CustomerId)[0];\n if(list==undefined){ } \n else{\n this.editedSchemeInfo.CorporationCode =list.CorporationCode;\n } \n \n this._schemeMasterService.fnGetAccountListForSchemeParentAccount(localStorage.getItem(\"LoginUserId\"),this.editedSchemeInfo.CustomerId).subscribe(res => {\n this.Accounts = res.AccountsList;\n this.FilteredAccountList = res.AccountsList;\n let list1 = this.FilteredAccountList.filter(x => x.AccountId === this.editedSchemeInfo.AccountId)[0];\n if(list1==undefined){ } \n else{\n this.editedSchemeInfo.ParentAccountNumber = list1.ParentAccountNumber;\n }\n }); \n\n if (data.SchemestartDate != null) {\n\n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n\n var newObj = moment(data.SchemestartDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this.editedSchemeInfo.SchemestartDate=_savedStartDate;\n\n if (this.editedSchemeInfo.SchemestartDate.singleDate.date.month >= \"10\") {\n this.EditedSchemeStartDate = this.editedSchemeInfo.SchemestartDate.singleDate.date.day+\"-\"+\n this.editedSchemeInfo.SchemestartDate.singleDate.date.month+\"-\"+this.editedSchemeInfo.SchemestartDate.singleDate.date.year;\n }\n else {\n this.EditedSchemeStartDate = this.editedSchemeInfo.SchemestartDate.singleDate.date.day+\"-0\"+\n this.editedSchemeInfo.SchemestartDate.singleDate.date.month+\"-\"+this.editedSchemeInfo.SchemestartDate.singleDate.date.year;\n }\n }\n // this.fnGetCreatedNUpdatedScheme();\n \n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n else{\n this.editedSchemeInfo = this._schemeMasterService.formData;\n }\n }\n //#endregion\n\n //#region \n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n //#endregion\n\n //reset form\n resetForm(form?: NgForm) {\n if (this.editedSchemeId > 0) {\n this._schemeMasterService.formData = {\n SchemeId:0,\n SchemeName:'',\n BudgetAmount:'',\n UtilizedAmount:'0',\n UnutilizedAmount:'',\n TransferLimit:'',\n SweepAmount:'',\n SchemestartDate:'',\n Createdby:1,\n Updatedby:1,\n CorporationCode:'',\n CreatedDate:'',\n UpdatedDate:'',\n msg:'',\n lblTitle:'Edit Scheme Master',\n btnTitle:'Submit', \n Status:2,\n StatusTitle:'',\n CustomerId:null,\n SchAccLinkId:0,\n SchAccLinkStatus:0,\n SchAccLinkStatusTitle:'',\n CreatedName:'',\n UpdatedName:'',\n reviewstatus:null,RequestType:\"\",\n sclinkCreatedBy:null,\n AccountId:null,\n outputjson:null,\n AccountName:''\n }\n this.lblNameTitle='Edit Scheme Master';\n }\n else{\n if (form != null){\n form.resetForm();\n }\n \n this._schemeMasterService.formData = {\n SchemeId:0,\n SchemeName:'',\n BudgetAmount:'',\n UtilizedAmount:'0',\n UnutilizedAmount:'',\n TransferLimit:'',\n SweepAmount:'',\n SchemestartDate:'',\n Createdby:1,\n Updatedby:1,\n CorporationCode:'',\n CreatedDate:'',\n UpdatedDate:'',\n msg:'',\n lblTitle:'Add Scheme Master',\n btnTitle:'Submit', \n Status:2,\n StatusTitle:'',\n CustomerId:null,\n SchAccLinkId:0,\n SchAccLinkStatus:0,\n SchAccLinkStatusTitle:'',\n CreatedName:'',\n UpdatedName:'',\n reviewstatus:null,RequestType:\"\",\n sclinkCreatedBy:null,\n AccountId:null,\n outputjson:null,\n AccountName:''\n }\n this.lblNameTitle='Add Scheme Master';\n }\n \n this._spinner.hide();\n }\n\n // get customer data for corporation dropdown\n fnGetAllCustomerDetails() {\n this._customerService.fnGetCustomerCorporationCode(localStorage.getItem(\"LoginUserId\")).subscribe(data =>{\n data.forEach(element=>{\n if(element[\"Status\"] == \"Active\")\n this.allCustomers.push(element);\n });\n this.GetEditedSchemeData(this.editedSchemeId);\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n getDate(date){\n \n if(date.year >= 9999 || date.year<=999){\n this.validDate=false;\n }\n else{\n this.validDate = true;\n }\n }\n\n output:string=\"\";\n AccountIdChange(){\n var AccountNumber = \"\";\n var AccountBalance = \"\";\n var AccountName = \"\";\n \n let accountNo = this.editedSchemeInfo.ParentAccountNumber.split(\"-\");\n accountNo = accountNo[1].toString().trim(); \n let list = this.FilteredAccountList.filter(x => x.AccountNumber === accountNo)[0];\n if(list==undefined){ } \n else{\n this.editedSchemeInfo.AccountId = list.AccountId;\n } \n\n for(var i=0 ; i< this.FilteredAccountList.length; i++){\n if(this.editedSchemeInfo.AccountId == this.FilteredAccountList[i].AccountId){\n AccountNumber = this.FilteredAccountList[i].AccountNumber;\n AccountBalance = this.FilteredAccountList[i].CurrentBalance;\n AccountName = this.FilteredAccountList[i].AccountName;\n\n\n this.output = '{\"html\":\"

A/C Name - '+AccountName+'
A/C No - '+AccountNumber+'

Scheme Balance - Rs '+ this.editedSchemeInfo.UnutilizedAmount +'

Account Balance - Rs '+AccountBalance+'

Execute

\",\"blockarr\":[{\"parent\":-1,\"childwidth\":0,\"id\":0,\"x\":742,\"y\":302,\"width\":242,\"height\":120}],\"blocks\":[{\"id\":0,\"parent\":-1,\"data\":[{\"name\":\"AccountId\",\"value\":\"' + this.editedSchemeInfo.AccountId + '\"},{\"name\":\"AccountNumber\",\"value\":\"'+AccountNumber+'\"},{\"name\":null,\"value\":\"\"},{\"name\":null,\"value\":\"\"},{\"name\":\"BankName\",\"value\":\"IDBI Bank\"},{\"name\":\"blockid\",\"value\":\"0\"}],\"attr\":[{\"class\":\"noselect block\"},{\"id\":\"sc'+AccountNumber+'tree\"},{\"style\":\"left: 616px; top: 116px;\"}]}]}';\n }\n }\n }\n\n //onsubmit function\n onSubmit(form: NgForm) { \n debugger\n if(this.IsViewMode == true || this.IsEditApproved == true || this.IsAuthorize == true){\n form.value[\"AccountId\"] = this._schemeMasterService.formData.AccountId;\n }\n else{\n if(form.value[\"AccountId\"] == undefined)\n form.value[\"AccountId\"] = this.editedSchemeInfo.AccountId;\n }\n var SchemeName = this.editedSchemeInfo.SchemeName;\n SchemeName = SchemeName.replace(/\\s/g, \"\");\n if (SchemeName == \"\") {\n this.editedSchemeInfo.SchemeName = SchemeName;\n }\n if (this.editedSchemeInfo.SchemeName == \"\" || this.editedSchemeInfo.AccountId == null \n || this.editedSchemeInfo.CorporationCode == \"\") {\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n return false;\n }\n else{\n if (form.valid && this.validDate==true && this.futureDateError==true && this.validStatus == true) {\n this.disableButton=true;\n }\n \n if (form.value.SchemestartDate.singleDate.date.month >= \"10\") {\n this.newdate = form.value.SchemestartDate.singleDate.date.year+\"-\"+form.value.SchemestartDate.singleDate.date.month+\"-\"+form.value.SchemestartDate.singleDate.date.day;\n }\n else {\n this.newdate = form.value.SchemestartDate.singleDate.date.year+\"-0\"+form.value.SchemestartDate.singleDate.date.month+\"-\"+form.value.SchemestartDate.singleDate.date.day;\n }\n\n let list = this.allCustomers.filter(x => x.CorporationCode === form.value.CustomerId)[0];\n if(list==undefined){ } \n else{\n form.value[\"CustomerId\"] =list.CustPkId;\n } \n\n if(this.editedSchemeId >0){ \n form.value[\"CustomerId\"]=this.editedSchemeInfo.CustomerId;\n }\n if(this.validDate == true && this.futureDateError==true && this.validStatus == true){\n // form .value.Updatedby = form.value.Createdby = +localStorage.getItem('LoginUserId');\n \n this._schemeMasterService.fnSchemeNameduplicate(form.value.SchemeName,form.value.SchemeId).subscribe(schemeExist => {\n \n if (schemeExist == 1) {\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'Scheme Name already exists, Please enter new Scheme name.';\n this.onTop();\n this.disableButton = false;\n return false;\n }\n else{\n form.value.userid = localStorage.getItem('LoginUserId');\n\n if (form.value.SchemeId == 0) {\n if (this.editedSchemeId > 0)\n form.value.SchemeId = this.editedSchemeId;\n }\n \n form.value[\"SchemestartDate\"] = this.newdate;\n form.value[\"Status\"] = this._schemeMasterService.formData.Status;\n if(this.IsViewMode == true || this.IsEditApproved == true || this.IsAuthorize == true){\n form.value[\"AccountId\"] = this._schemeMasterService.formData.AccountId;\n }else{\n form.value[\"AccountId\"]=this.editedSchemeInfo.AccountId;\n }\n if (this.editedSchemeId > 0)\n form.value.reviewstatus=this._schemeMasterService.formData.reviewstatus; \n \n if (this.editedSchemeId > 0){\n form.value.reviewstatus=this._schemeMasterService.formData.reviewstatus; \n localStorage.setItem(\"BackPageStatus\",\"Active\");\n }\n else\n form.value.reviewstatus=1;\n \n if(!this.CheckerPrivillage || (this.CheckerPrivillage && this._schemeMasterService.formData.Createdby == this.UserId)){\n form.value.Status=2;//pending\n if(this._schemeMasterService.formData.reviewstatus==2 || this._schemeMasterService.formData.reviewstatus == 3 || this._schemeMasterService.formData.reviewstatus == 5 ||\n this._schemeMasterService.formData.reviewstatus == 6 || this._schemeMasterService.formData.reviewstatus == 8 || this._schemeMasterService.formData.reviewstatus == 9) { \n form.value.reviewstatus=4;//Edit approval pending\n localStorage.setItem(\"BackPageStatus\",\"Pending\");\n } \n else{ \n form.value.reviewstatus=1;//Add approval pending\n localStorage.setItem(\"BackPageStatus\",\"Pending\")\n\n }\n }\n\n if(this.editedSchemeId >0){ \n form.value[\"CustomerId\"]=this.editedSchemeInfo.CustomerId;\n //seema 18/01/2020 17:11 PM\n if(this.output != \"\" && this._schemeMasterService.formData.AccountId != this.editedSchemeInfo.AccountId){\n form.value[\"outputjson\"] = this.output;\n }\n else{\n form.value[\"outputjson\"] = \"\";\n }\n }\n else {\n form.value[\"outputjson\"] = this.output;\n } \n\n - \n this._schemeMasterService.fnAddEditScheme(form.value).subscribe(res => {\n this.IsEditApproved=true;\n if(this.CheckerPrivillage && (res.reviewstatus == 2 || res.reviewstatus == 3 || res.reviewstatus == 5 || res.reviewstatus == 6\n || res.reviewstatus == 8 || res.reviewstatus == 9)){\n this.disableButton = true;\n }\n else if (res.reviewstatus == 4) {\n this.disableButton = true;\n }\n else{\n this.disableButton = false;\n }\n \n var _savedStartDate = { \n isRange : false, \n singleDate : { date : { year :0, month :0, day :0}, jsDate:\"\",formatted:\"\",epoc:\"\"},\n dateRange:null\n };\n \n var newObj = moment(res.SchemestartDate).toObject();\n \n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months+1;\n _savedStartDate.singleDate.date.year = newObj.years;\n this._schemeMasterService.formData.SchemestartDate = _savedStartDate; \n \n \n if(this.CheckerPrivillage && this._schemeMasterService.formData.Createdby != this.UserId && res.reviewstatus == 6 && res.Status == 0) {\n this.lblMessage = this._schemeMasterService.formData.SchemeName + \" \" + res.msg;\n } \n else\n this.lblMessage =res.SchemeName + \" \" + res.msg;\n \n if (this.editedSchemeId > 0){\n\n this.fnGetCreatedNUpdatedScheme();\n this.showMsg = true\n this.onTop();\n }\n else{\n document.location.reload();\n localStorage.setItem(\"Msg\",this.lblMessage);\n this.onTop();\n }\n },\n (error)=>{\n this.showMsg = false;\n this.showerrormsg = true;\n this.lblMessage = 'An error occured.';\n this.disableButton = false;\n this.onTop();\n this.router.navigate([\"404\"]);\n return;\n }); \n }\n });\n }\n }\n }\n\n //check status is valid or not \n checkStatusVlidaity(status) {\n this._schemeMasterService.formData.Status = status;\n if (this.CheckerPrivillage == true) {\n if (status == \"null\") {\n this.validStatus = false;\n }\n else {\n this.validStatus = true;\n }\n }\n }\n\n //Back button function\n BackButton(){\n this.router.navigate(['/ManageScheme']);\n }\n\n //scroll on top\n onTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n }\n\n //update and create user history\n fnGetCreatedNUpdatedScheme(){\n this._schemeMasterService.fnGetCreatedNUpdatedUserMaster(this.editedSchemeId.toString()).subscribe(userdates=>{\n this.SchemeCreatedUpdated1=userdates;\n \n if(this.SchemeCreatedUpdated1[0].CreatedDate != ''){\n this.showCreatedDiv=true;\n this.createdDate=this.SchemeCreatedUpdated1[0].CreatedDate\n this.userNameCreated=this.SchemeCreatedUpdated1[0].UserName;\n }\n if(this.SchemeCreatedUpdated1[1].UpdatedDate != ''){\n this.showUpdatedDiv=true;\n this.usernameUpdte=this.SchemeCreatedUpdated1[1].UserName;\n this.updtedDate=this.SchemeCreatedUpdated1[1].UpdatedDate;\n }\n\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n //refresh the form\n fnPageRefresh(form){\n if (this.editedSchemeId > 0) { \n this.resetForm(form);\n this.onTop();\n } \n else {\n this.resetForm(form)\n this.onTop();\n \n document.location.reload();\n \n }\n }\n\n //tab function\n onKeyDown(event: KeyboardEvent) {\n \n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n //get role privillage\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),'/ManageScheme').subscribe(roleAccess=>{ \n this.CheckerPrivillage=roleAccess[0].CheckerAccess;\n if(this.CheckerPrivillage==true){\n\n }\n else{\n this.CheckerPrivillage=false;\n }\n this.GetSchemeData(this.editedSchemeId);\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n //number only\n numberOnly(event): boolean {\n const charCode = (event.which) ? event.which : event.keyCode;\n if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)){\n return false;\n }\n return true;\n }\n\n // check valid date \n CheckDateValidity(date){\n \n const mxDate = new Date();\n this.inputDate =date.singleDate.jsDate;\n if (this.inputDate < mxDate || this.inputDate == mxDate) {\n this.futureDateError = false;\n }\n else{\n this.futureDateError = true;\n }\n return this.futureDateError;\n }\n\n //change untilized amount\n ChangeUnulizedAmount(){\n if(this.editedSchemeInfo.BudgetAmount > 0 && this.editedSchemeInfo.BudgetAmount != null){\n if(this.editedSchemeInfo.UtilizedAmount == null || this.editedSchemeInfo.UtilizedAmount == undefined)\n this.editedSchemeInfo.UnutilizedAmount = this.editedSchemeInfo.BudgetAmount;\n else\n this.editedSchemeInfo.UnutilizedAmount = this.editedSchemeInfo.BudgetAmount - this.editedSchemeInfo.UtilizedAmount;\n }\n else{\n this.editedSchemeInfo.UnutilizedAmount = 0;\n } \n }\n\n // #region \n Accounts:AccountMaster[];\n FilteredAccountList:AccountMaster[];\n ChangeCorporationCode(CorporationCode,CustomerId){\n this._spinner.show();\n this.editedSchemeInfo.ParentAccountNumber=null;\n if(CustomerId == \"0\"){\n let list = this.allCustomers.filter(x => x.CorporationCode === CorporationCode)[0];\n if(list==undefined){ CustomerId = 0;} \n else{\n CustomerId =list.CustPkId;\n } \n }\n this._schemeMasterService.fnGetAccountListForSchemeParentAccount(localStorage.getItem(\"LoginUserId\"),CustomerId).subscribe(res => {\n this.Accounts = res.AccountsList;\n this.FilteredAccountList = res.AccountsList;\n this._spinner.hide();\n });\n \n // if(this.Accounts == undefined || this.Accounts.length == 0){\n // this._AccountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\"),CustomerId).subscribe(res => {\n // this.Accounts = res.AccountsList;\n // this.FilteredAccountList = this.Accounts.filter(row => { return (row.CustomerId == +CustomerId); });\n // });\n // }\n // else{\n // this.FilteredAccountList = this.Accounts.filter(row => { return (row.CustomerId == +CustomerId); });\n // }\n }\n //--------------------------\n handleKeyboardEvent(event) {\n debugger;\n var target = event.target;\n if(this.IsViewMode == true || this.IsEditApproved == true || this.IsAuthorize == true){\n event.returnValue = false;\n target.value = this._schemeMasterService.formData.AccountId;\n event.preventDefault();\n }\n }\n handleKeyboardEventForUnutilized(event) {\n event.returnValue = false;\n event.preventDefault();\n }\n //#endregion\n}\n","
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

{{lblNameTitle}}

\n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n

* Marked Fields Are Mandatory.

\n \n
\n
\n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Error! {{lblMessage}}.\n
\n\n
\n \n
\n\n
\n \n
\n \n\n \n\n \n \n\n {{_schemeMasterService.formData.SchemeName}} \n \n\n
\n
\n This Scheme Name is required\n
\n \n
\n Please provide a valid Scheme Name.\n
\n
\n \n
\n \n\n
\n \n \n \n {{_schemeMasterService.formData.BudgetAmount}} \n \n\n
This Budget Amount is required
\n
\n\n
\n \n \n \n {{_schemeMasterService.formData.UtilizedAmount}} \n \n\n
\n This Utilized Amount is required
\n
\n \n
\n \n
\n
\n \n \n \n {{_schemeMasterService.formData.UnutilizedAmount}} \n \n\n
\n This Unutilized Amount is required
\n
\n \n
\n \n \n \n {{_schemeMasterService.formData.TransferLimit}} \n \n\n
This Transfer Limit is required
\n
\n
\n\n \n\n \n\n \n\n
\n \n\n
\n \n
\n
\n\n {{SchemeStartDate}} \n \n\n
\n This Scheme start Date is required\n
\n
\n Enter a valid date in DD-MM-YYYY format \n
\n
\n Enter a valid date in YYYY-MM-DD format \n
\n
\n Date should be greater than current date\n
\n\n
\n\n \n
\n\n
\n\n \n\n
\n \n \n \n \n\n \n \n \n \n \n \n {{_schemeMasterService.formData.CorporationCode}} \n \n\n
This Corporation Code is required
\n
\n\n \n \n\n
\n
\n \n \n \n {{_schemeMasterService.formData.AccountName}} \n \n
\n Parent Account is required\n
\n
\n\n\n
\n
\n \n {{showApprovalInfo}} \n
\n This Status is required
\n
\n \n
\n
\n \n {{showApprovalInfo}} \n
\n This Status is required
\n
\n
\n
\n
\n \n\n \n
\n
\n\n \n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n \n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n \n \n
\n
\n \n \n \n \n \n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessage}}\n
\n
\n \n
\n
\n
\n
\n\n \n ","import { Component, OnInit } from '@angular/core';\nimport { SchemeMasterService } from 'src/app/MasterService/scheme-master.service';\nimport { Router } from '@angular/router';\nimport { BizRuleService } from 'src/app/MasterService/Biz-RuleMaster.service';\nimport { BizRule } from 'src/app/MasterService/BIz-RuleMaster';\nimport { AccountMasterService } from 'src/app/MasterService/account-master.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\nimport { SchemeMaster } from 'src/app/MasterService/SchemeMaster';\nimport { data } from 'jquery';\nimport { schemeAccoutnLinkClass } from 'src/app/MasterService/scheme-account-link';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\n\ndeclare var sortTableRuleMst: Function;\n\n@Component({\n selector: 'app-manage-rule-master',\n templateUrl: './manage-rule-master.component.html',\n styleUrls: ['./manage-rule-master.component.css']\n})\nexport class ManageRuleMasterComponent implements OnInit {\n // FilteredRule: BizRule[];\n FilteredRule: any = [];\n lblMessage: string;\n RuleId: number;\n showMsg: boolean;\n showModal: boolean;\n lblMessageDeletesuccess: string;\n\n config: any;\n ddlshowvalue:number;\n searchCount:number;\n filterCount:string;\n Accounts: AccountMaster[];\n CorporationCode: any;\n SchemeName: string;\n schemeID: number;\n lastSortedByField;\n ascendingOrder = true;\n RuleExecsummary:string;\n \n showRuleExecute: boolean;\n RuleExecutionDetail: string;\n isActive: boolean;\n AllBIZRule: boolean;\n showModalForAllDelete: boolean;\n IsDisplayExecutionRule: boolean = false;\n\n // Bulk Delete fields\n ruleSelected:boolean;\n IsruleUserSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n ddlshowStartValue: number;\n showbulkExecute:boolean;\n RuleSelected:boolean;\n IsRuleSelected:boolean;\n FilteredRuleForExecute:any = [];\n ShowBulkRuleExecution:boolean=false;\n FromAccountId:string;\n BackPage:string;\n IsdisableExecutionRule: boolean;\n CustomerId:number;\n ddlshowDropdownValues: number=10;\n constructor(public _SchemeService : SchemeMasterService,private router: Router,\n public _accountService : AccountMasterService,public _bizRuleServic: BizRuleService\n ,public _roleAccess: RoleAccessService) { }\n lblTitle=\"\";\n \n\n ngOnInit(): void {\n this.onTop();\n \n if(localStorage.getItem('LoginUserId')==null)\n {\n this.router.navigate([\"\"]);\n return;\n }\n // this.lblTitle=\"Manage Business Rules for Pradhan Mantri Jeevan Jyoti Bima Yojana (PMJJBY)- Cell\"\n // ---------page title--------\n this.lblTitle=\"Manage Business Rules for \"+ localStorage.getItem('Schemename') +\" - \"+ localStorage.getItem('CorporationCode');\n localStorage.removeItem(\"RuleId\");\n this.FromAccountId = localStorage.getItem('FromAccountId');\n this.CustomerId = parseInt(localStorage.getItem('CustId'));\n this.BackPage = localStorage.getItem('scAcBackPage');\n localStorage.removeItem('FromAccountId');\n localStorage.removeItem('scAcBackPage');\n this.GetPrivillageRoles();\n\n //--Display page when gear click or after excetion of rule----- \n if(this.BackPage == \"SchemeAccountLink\" && this.FromAccountId != null && this.FromAccountId != \"\"){\n this.GetBizRule(+localStorage.getItem('SchemeID'),this.FromAccountId);\n //Get biz rule based on Scheme Id------------\n }\n else\n this.GetBizRule(+localStorage.getItem('SchemeID'),\"0\");\n //Get biz rule based on Scheme Id------------\n //this.SchemeList();\n //get Account list-----------\n this.GetAccountLinkingMasterData();\n this.config = { \n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n sortTableRuleMst(2,false); \n \n }\n\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/ManageScheme').subscribe(roleAccess => {\n this.IsDisplayExecutionRule = roleAccess[0].SweepExecutionAccess;\n //console.log('IsDisplayExecutionRule',this.IsDisplayExecutionRule);\n } , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n }\n\n //-----View Summary report Click-----------\n viewReport(){ \n localStorage.setItem(\"clickRuleSummaryBtn\",\"true\")\n this.router.navigate(['/RuleSummaryReport']);\n }\n //-----Back Button Click-------------------\n BankButton(){\n if(this.BackPage == '' || this.BackPage == null){\n this.router.navigate(['/ManageScheme']);\n localStorage.removeItem(\"Schemename\");\n localStorage.removeItem(\"SchemeID\");\n localStorage.removeItem(\"CorporationCode\"); \n localStorage.removeItem('schemeReviewStatus');\n localStorage.removeItem('schemeAccountLinkStatus');\n }\n else{\n this.router.navigate(['/SchemeAccountLink']);\n }\n }\n SchemeList(){\n this._SchemeService.fnGetSchemMasterList(localStorage.getItem('LoginUserId')).subscribe(Scheme=>{\n // this.Scheme = Scheme;\n // this.FilteredScheme ;\n // this.OnSearch(\"\",\"0\",\"\",\"\",\"\",\"\",\"Active\");\n //this._spinner.hide();\n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n //---Add biz Button Click------\n NewRulesMaster(){\n this.schemeID = +localStorage.getItem('SchemeID')\n this.CorporationCode = +localStorage.getItem('CorporationCode')\n this._bizRuleServic.formData={\n Status:'1',\n RuleId:0,\n SchemeId :88,\n RuleName : 'abc',\n FromAccountType : '',\n FromAccountNumber : null,\n Field: '',\n Condition: '',\n Value : '',\n ToAccountType : '',\n ToAccountNumber: null,\n TxValue : '',\n Priority : null,\n Frequency: '',\n TransactionType: '',\n msg:0,\n CorporationCode:this.CorporationCode,\n //lblTitle:'Add Biz Rule',\n //status: '1',\n CreatedBy:0,\n UpdatedBy:0,\n CreatedDate:'',\n UpdatedDate:'',\n UserName:'',\n fromAccNumber:'',\n ParentBudgetAmt:'',\n ChildBudgetAmt:'',\n ToSAccountNumber:'',\n TransferType:null,\n TransferTypeValue:'',\n DateCreated:'',\n UserId:''\n }\n this.router.navigate(['/AddRuleMaster']);\n }\n //----Edit Icon Click--------\n EditRule(bizRule: BizRule){\n this._bizRuleServic.formData=bizRule;\n let RuleID=String(bizRule.RuleId) ;\n localStorage.setItem('RuleId',String(RuleID)); \n localStorage.setItem('RuleFlag',String('Edit')); \n\n this.router.navigate(['/AddRuleMaster']);\n }\n //----Delete Icon click----------\n DeleteRule(bizRule: BizRule){\n this.RuleId = bizRule.RuleId;\n this.lblMessage = \"Are you sure you want to delete?\";\n this.show();\n }\n\n AllDeletehide(){\n this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllBIZRule=false;\n }\n AllDeleteShow(){\n this.showModalForAllDelete=true;\n }\n AllDeleteConfirm(){\n this.FilteredRule.forEach(element => {\n this._bizRuleServic.fnDeleteBIZRule(element.RuleId).subscribe(res => {\n this.GetBizRule(+localStorage.getItem('SchemeID'),\"0\")\n this.lblMessageDeletesuccess=\"All Record Deleted Successfully\"\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n });\n }\n SelectAllBIzMaster(){\n this.isActive = true;\n this.AllBIZRule=true;\n this.AllDeleteShow();\n }\n //-----Rule Delete Method----------------\n DeleteBIZRuleMethod() {\n this._bizRuleServic.fnDeleteBIZRule(this.RuleId).subscribe(res => {\n this.GetBizRule(+localStorage.getItem('SchemeID'),\"0\")\n \n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n this.hide();\n\n this.lblMessageDeletesuccess=\"Rule Deleted Successfully\"\n this.showlbl();\n //this.GetBizRule();\n this.onTop();\n }\n\n BulkRuleExecutionDetail = \"\";\n BulkRuleExecsummary = \"\";\n //-----Rule Execution ---------------------\n ExecuteRule(bizRule: BizRule){\n this._bizRuleServic.fnSaveBIZRuleExecute(bizRule).subscribe(res => {\n if(res.IsFailed==0){////passed\n if(res.TransactionType==\"Credit\"){\n this.RuleExecutionDetail=\"Execution Success \" ;//Amount Credited to Parent A/c from Child A/c\n this.RuleExecsummary=res.SchemeName+ \" - Amount Credited Successfully\";\n \n //this.RuleExecsummary=res.SchemeName+ \" - Amount Credited to \"+res.FromAccountName+\" from \" +res.ToAccountName;\n } \n if(res.TransactionType==\"Debit\"){\n this.RuleExecutionDetail=\"Execution Success \" ;//Amount Debited from Parent A/c to Child A/c.\n this.RuleExecsummary=res.SchemeName+ \" - Amount Debited Successfully\";\n \n //this.RuleExecsummary=res.SchemeName+ \" - Amount Debited from \"+res.FromAccountName+\" TO \" +res.ToAccountName;\n // this.RuleExecsummary=res.SchemeName+ \" - Amount Debited to \" +res.TransactionType+\" From \"+ res.FromAccountName+ \"To\" +res.ToAccountName;\n }\n }\n if(res.IsFailed==1){///Failed\n res.ExecutionDetail\n res.ExecutionDetail = (res.ExecutionDetail.length > 7) ? res.ExecutionDetail.slice(7) : res.ExecutionDetail;\n \n if(res.TransactionType==\"Credit\"){\n this.RuleExecutionDetail=\"Execution Failed \" ;\n this.RuleExecsummary=res.SchemeName+ \" - Amount Credited failed Due to \" +res.ExecutionDetail;\n \n // this.RuleExecsummary=res.SchemeName+ \" - Amount Credited to \"+res.FromAccountName+\" from \" +res.ToAccountName+\" is failed Due to \" +res.ExecutionDetail;\n } \n if(res.TransactionType==\"Debit\"){\n this.RuleExecutionDetail=\"Execution Failed \" ;\n this.RuleExecsummary=res.SchemeName+ \" - Amount Debited failed Due to \" +res.ExecutionDetail;;\n \n //this.RuleExecsummary=res.SchemeName+ \" - Amount Debited from \"+res.FromAccountName+\" TO \" +res.ToAccountName+\" is failed Due to \" +res.ExecutionDetail;;\n }\n // this.RuleExecutionDetail=\"Execution Failed \";\n //this.RuleExecsummary=res.SchemeName+ \" - Amount \" +res.TransactionType+ \" From \"+ res.FromAccountName+ \" To \" +res.ToAccountName +\" is failed Due to \" +res.ExecutionDetail;\n // +\" is failed Due to \" +res.ExecutionDetail;\n }\n if(res.IsFailed == 2){\n this.RuleExecutionDetail=\"Partial Execution Success \" ;\n this.RuleExecsummary = res.SchemeName+ \" - Partial Rule Execution Successful\";\n } \n //this.RuleExecutionDetail=res.ExecutionDetail;\n this.showRuleEx();\n \n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n}\n BIZRuleExecute(form:BizRule){\n \n}\n//---------Bulk Rule Execution----------------------\n BulkExecuteRule(){\n this.BulkRuleExecsummary = '';\n this.BulkRuleExecutionDetail = '';\n this.HideBulkExecuteModal();\n // for (var i = 0; i < this.FilteredRule.length; i++) { \n // if(this.FilteredRule[i].IsRuleSelected==true){\n // this.FilteredRuleForExecute.push(this.FilteredRule[i]);\n // }\n // }\n this._bizRuleServic.fnSaveBIZBulkRuleExecute(this.FilteredRuleForExecute).subscribe(res => {\n var failedlist = [];\n var passlist = [];\n var partialList = [];\n res.forEach(element => {\n element.ExecutionDetail = (element.ExecutionDetail.length) ? element.ExecutionDetail.slice(7) : element.ExecutionDetail;\n if(element.IsFailed==1){\n if(element.TransactionType==\"Credit\"){\n this.BulkRuleExecsummary += element.RuleName+ \" - Amount Credited failed Due to \" +element.ExecutionDetail + \"\\n\";\n } \n if(element.TransactionType==\"Debit\"){\n this.BulkRuleExecsummary += element.RuleName+ \" - Amount Debited failed Due to \" +element.ExecutionDetail + \"\\n\";\n }\n }\n else if(element.IsFailed == 0){\n if(element.TransactionType==\"Credit\"){\n this.BulkRuleExecsummary += element.RuleName+ \" - Amount Credited Successfully\" + \"\\n\";\n } \n if(element.TransactionType==\"Debit\"){\n this.BulkRuleExecsummary += element.RuleName+ \" - Amount Debited Successfully\" + \"\\n\";\n }\n } \n else if(element.IsFailed == 2){\n this.BulkRuleExecsummary += element.RuleName+ \" - Partial Rule Execution Successful\" + \"\\n\";\n } \n \n });\n\n this.BulkRuleExecsummary += 'View Rule Summary Report for Details.';\n failedlist = res.filter(row=>{\n return row.IsFailed == 1;\n });\n\n passlist = res.filter(row=>{\n return row.IsFailed == 0;\n });\n\n partialList = res.filter(row=>{\n return row.IsFailed == 2;\n })\n \n this.config = { \n itemsPerPage: this.ddlshowDropdownValues,\n currentPage: 1,\n };\n\n if(failedlist.length > 0 && passlist.length == 0){\n this.BulkRuleExecutionDetail = \"Execution Failed \";\n this.showBulkRuleExecute();\n }\n else if(passlist.length > 0 && failedlist.length == 0){\n this.BulkRuleExecutionDetail = \"Execution Success \";\n this.showBulkRuleExecute();\n }\n else if((passlist.length > 0 && failedlist.length > 0) || partialList.length > 0){\n this.BulkRuleExecutionDetail = \"Partial Execution Success please check Rule Summary reports \";\n this.showBulkRuleExecute();\n }\n this.FilteredRuleForExecute = [];\n this.ShowBulkRuleExecution = false;\n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n })\n }\n//---------Get biz Rule data based on schemeid---------------------\n GetBizRule(schemId,fromAccountId){\n \n this._bizRuleServic.fnGetBIZRuleData(schemId,fromAccountId).subscribe(rule=>{\n this.FilteredRule = rule;\n this.ddlshowvalue=this.FilteredRule.length;\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredRule.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n this.searchCount = this.FilteredRule.length.toString();\n this.filterCount =\"\";\n }\n // this.searchCount = this.FilteredRule.length;\n // this.filterCount =\"\";\n // this.ddlshowStartValue=1;\n \n // this.OnSearch(\"\",\"0\",\"\",\"\",\"\",\"\",\"Active\");\n // this._spinner.hide();\n if((localStorage.getItem('schemeReviewStatus')==\"2\" || localStorage.getItem('schemeReviewStatus')==\"5\") && localStorage.getItem('schemeAccountLinkStatus')==\"2\"){\n for(var k=0;k {return row.disableExecutionRule == false;})\n if(disableExecutionicon.length > 0)\n this.IsdisableExecutionRule = false;\n else\n this.IsdisableExecutionRule = true; \n\n this.FilteredRule.forEach(element => {\n if(element[\"TransferType\"] == \"1\")\n element[\"TransferTypeValue\"] = \"Fund Transfer\";\n else if(element[\"TransferType\"] == \"2\")\n element[\"TransferTypeValue\"] = \"NEFT\";\n else if(element[\"TransferType\"] == \"3\")\n element[\"TransferTypeValue\"] = \"IMPS\";\n else \n element[\"TransferTypeValue\"] = \"RTGS\"; \n element.UserId = localStorage.getItem(\"LoginUserId\"); \n });\n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n\n for (var i = 0; i < this.FilteredRule.length; i++) {\n this.FilteredRule[i].IsruleUserSelected = false;\n }\n this.listLengthForSelect = this.FilteredRule.length;\n }\n showlbl() { this.showMsg = true;}\n hidelbl() { this.showMsg = false}\n show() { this.showModal = true;\n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n }); }\n hide() { this.showModal = false; }\n \n showbulkExecuteModal() {\n this.showbulkExecute = true; \n }\n HideBulkExecuteModal() { this.showbulkExecute = false; }\n showRuleEx(){\n this.showRuleExecute=true;\n }\n hideRuleExecute(){\n this.showRuleExecute=false;\n }\n\n showbulkRuleExecute:boolean;\n\n showBulkRuleExecute(){\n this.showbulkRuleExecute = true;\n }\n //----After ececution of rule Uncheck All checkbox-------\n hideBulkRuleExecute(){\n this.showbulkRuleExecute = false;\n this.RuleSelected=false;\n for (var i = 0; i < this.FilteredRule.length; i++) { \n this.FilteredRule[i].IsRuleSelected=false;\n }\n }\n//-----On Top method---------------------\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n onSearch(){\n }\n //----------pagination control ------------\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredRule.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredRule.length;\n }\n //-------pagination Dropdown ------------------\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowStartValue=1;\n this.ddlshowvalue = newObj.target.value;\n this.ddlshowDropdownValues = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n }; \n //this.filterCount = \"(filtered from \"+ this.FilteredRule.length +\" total entries)\";\n }\n //-------get Account list ------------------------------\n GetAccountLinkingMasterData() {\n this._accountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\"),this.CustomerId.toString()).subscribe(res => {\n this.Accounts = res.AccountsList; \n // this.AccountTypeList = res.AccountTypeList; \n }, \n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n//-- grid Sorting -----\n fnSortRuleMaster(field,obj){\n //sortTableRuleMst(obj);\n\n \n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n sortTableRuleMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n sortTableRuleMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredRule = this.FilteredRule.sort((a, b) => {\n // if(field === 'fromAccNumber'){\n // if (Number(a[field]) < Number(b[field]))\n // return -1;\n // if (Number(a[field]) > Number(b[field]))\n // return 1;\n // }else\n if(field === 'Priority'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if(field ==='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n // else if(field === 'ChildBudgetAmt'){\n // if (Number(a[field]) < Number(b[field]))\n // return -1;\n // if (Number(a[field]) > Number(b[field]))\n // return 1;\n // }\n else{\n if (a[field].toLowerCase()< b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n\n });\n }\n else {\n this.FilteredRule = this.FilteredRule.sort((a, b) => {\n // if(field === 'fromAccNumber'){\n // if (Number(a[field]) < Number(b[field]))\n // return 1;\n // if (Number(a[field]) > Number(b[field]))\n // return -1;\n // }\n // else \n if(field === 'Priority'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if(field ==='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n }\n // else if(field === 'ChildBudgetAmt'){\n // if (Number(a[field]) < Number(b[field]))\n // return 1;\n // if (Number(a[field]) > Number(b[field]))\n // return -1;\n // }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n \n\n\n AllDeleteConfirmation(){\n this.AllDeleteShow();\n }\n \n checkUncheckAllUser() {\n \n this.isActive = true;\n this.ruleSelected != this.ruleSelected;\n \n if (this.FilteredRule.length > 0) {\n for (var i = 0; i < this.FilteredRule.length; i++) {\n this.FilteredRule[i].IsUserSelected = this.ruleSelected; \n }\n } \n this.getCheckedItemList();\n }\n \n isChecked(UserId,status){\n \n this.IsruleUserSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.FilteredRule[i].IsruleUserSelected == this.IsruleUserSelected; \n }\n this.getCheckedItemList();\n }\n\n\n getCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.FilteredRule[i].IsruleUserSelected == true)\n this.checkedList.push(this.FilteredRule[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n \n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n }\n //-----when any checkboxcheck then rule execution Icon display-----\n getCheckedBulkRule(){\n this.FilteredRuleForExecute=[];\n for (var i = 0; i < this.FilteredRule.length; i++) { \n // added by seema 15/12/2020 13:28 PM \n if(this.FilteredRule[i].IsRuleSelected==true && this.FilteredRule[i].disableExecutionRule == false){\n this.FilteredRuleForExecute.push(this.FilteredRule[i]);\n }\n }\n // this.FilteredRuleForExecute = [];\n // for (var i = 0; i < this.listLengthForSelect; i++) {\n // if(this.FilteredRule[i].IsRuleSelected == true)\n // this.FilteredRuleForExecute.push(this.FilteredRule[i]);\n // }\n // this.FilteredRuleForExecute = JSON.stringify(this.FilteredRuleForExecute);\n if(this.FilteredRuleForExecute.length > 0){\n this.ShowBulkRuleExecution = true;\n }\n else{\n this.ShowBulkRuleExecution = false;\n }\n }\n //--------Check & uncheck All checkbox for Rule Execution------- \n checkUncheckAllBulkApproval(){\n this.RuleSelected != this.RuleSelected;\n if (this.FilteredRule.length > 0) {\n for (var i = 0; i < this.FilteredRule.length; i++) {\n // added by seema 15/12/2020 13:28 PM \n if(this.FilteredRule[i].disableExecutionRule == false)\n this.FilteredRule[i].IsRuleSelected = this.RuleSelected;\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.FilteredRule[i].IsRuleSelected = this.RuleSelected; \n }\n }\n this.getCheckedBulkRule();\n }\n //-----If one checkbox checked for Rule Execution---\n IsRuleBulkAutherizeCheck(UserId,status){\n status!= this.RuleSelected ;\n for (var i = 0; i < this.FilteredRule; i++) {\n this.FilteredRule[i].IsRuleSelected == this.RuleSelected; \n this.ShowBulkRuleExecution=true;\n }\n this.getCheckedBulkRule();\n } \n //------------------\n}\n\n","\n
\n
\n
\n
\n
\n \n
\n
\n

{{lblTitle}}

\n
\n \n
\n
\n\n
\n \n
\n\n
\n
\n
\n \n\n
\n \n ×\n Success! {{ lblMessageDeletesuccess }}.\n
\n \n
\n\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Rule NameAccount NumberCreated / Updated Date & TimePriorityFrequencyStatusTransfer Type Action \n
\n \n \n
\n
{{Rule.RuleName}}{{Rule.fromAccNumber}}{{Rule.CreatedDate}}{{Rule.Priority}}{{Rule.Frequency}}{{Rule.Status}}{{Rule.TransferTypeValue}} \n
\n
\n \n \n
\n \n
\n \n \n
\n
\n \n \n
\n \n
\n
\n \n
\n \n \n
\n
No records found
\n
\n
\n \n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{RuleExecutionDetail}}

\n

{{RuleExecsummary}}.
\n View Rule Summary Report for more Details.

\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete All records?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to execute rule?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{BulkRuleExecutionDetail}}

\n
{{BulkRuleExecsummary}}
\n
\n
\n \n
\n
\n
\n
\n\n\n\n","import { Component, OnInit,ViewChild, ElementRef, ViewContainerRef } from '@angular/core';\nimport { SchemeMasterService } from '../../MasterService/scheme-master.service';\nimport { SchemeMaster } from 'src/app/MasterService/SchemeMaster';\nimport { Router,NavigationExtras } from '@angular/router';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport html2Canavas from 'html2canvas';\nimport { saveAs } from 'file-saver';\nimport{RoleAccess}from'src/app/MasterService/RoleAccess';\nimport {RoleAccessService}from '../../MasterService/role-access.service';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { NgbDateStruct, NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { flatMap } from 'rxjs/operators';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { IfStmt } from '@angular/compiler';\n\ndeclare var sortTableSchemeMst: Function;\n\n@Component({\n selector: 'app-manage-scheme',\n templateUrl: './manage-scheme.component.html',\n styleUrls: ['./manage-scheme.component.css']\n})\nexport class ManageSchemeComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n };\n\n //#region \n Scheme : any=[];\n\n allScheme : any=[];\n FilteredScheme : any = [];\n\n schemeMaster :SchemeMaster;\n smdate: any = null;\n CreatedDate: any;\n\n showModal:boolean;\n lblMessage:string;\n showMsg:boolean;\n config: any;\n ddlshowStartValue:number;\n ddlshowvalue:number;\n searchCount:number;\n filterCount:string;\n fileName:string;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean; \n EditPriv:boolean;\n MappingPriv:boolean;\n AddImportAccess:boolean;\n AddExportAccess:boolean; \n RoleAccess:RoleAccess;\n lastSortedByField;\n ascendingOrder = true;\n AllSchmeChk: boolean;\n isActive: boolean;\n showModalForAllDelete: boolean;\n showerrormsg: boolean;\n\n // Bulk Delete fields\n SchemeSelected:boolean;\n IsSchemeSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n AllSelected: any;\n ConfirmationMsg: string;\n\n\n checkerAccess:boolean;\n \n //Bulk Authorize \n BulkApprovalAuthorize:boolean;\n AddEditBulkApprovalLabel:boolean;\n AuthorizeStatus: number;\n CheckerPrivillage: boolean;\n checkedBulkList: any[];\n\n BackPageStatus:string=\"\";\n //#endregion\n\n constructor(public _SchemeService : SchemeMasterService ,private router: Router,public _spinner:NgxSpinnerService,private _roleAccess:RoleAccessService, \n private ngbDateParserFormatter: NgbDateParserFormatter,public _encrypt:EncryptdecryptService) { }\n\n ngOnInit(): void {\n this._spinner.show();\n this.onTop();\n if(localStorage.getItem('LoginUserId')==null){\n this.router.navigate([\"\"]);\n return;\n }\n\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n \n this.SchemeMaster();\n this.BackPageStatus = localStorage.getItem(\"BackPageStatus\");\n localStorage.removeItem(\"SchemeDataId\");\n localStorage.removeItem(\"SchemeSweepMode\");\n localStorage.removeItem(\"BackPageStatus\"); \n \n this.GetPrivillageRoles();\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n \n this.ddlshowvalue =10;\n this.ddlshowStartValue = 1;\n sortTableSchemeMst(5,false);\n }\n\n //navigate to Add scheme\n NewSchemeMaster() {\n this._SchemeService.formData = {\n SchemeId:0,\n SchemeName:'',\n BudgetAmount:null,\n UtilizedAmount:null,\n UnutilizedAmount:null,\n TransferLimit:null,\n SweepAmount:null,\n SchemestartDate:'',\n Createdby:1,\n Updatedby:1,\n CorporationCode:'',\n CreatedDate:'',\n UpdatedDate:'',\n msg:'',\n lblTitle:'',\n btnTitle:'Submit',\n Status:1,\n StatusTitle:'Active',\n CustomerId:null,\n SchAccLinkId:0,\n SchAccLinkStatus:0,\n SchAccLinkStatusTitle:'',\n CreatedName:'',\n UpdatedName:'',\n reviewstatus:null,RequestType:\"\",\n sclinkCreatedBy:null,\n AccountId:null,\n outputjson:null,\n AccountName:''\n }\n this.router.navigate(['/AddScheme']);\n }\n\n //set default value for schememaster formdata\n SchemeMaster() {\n this._SchemeService.formData = {\n SchemeId:0,\n SchemeName:'',\n BudgetAmount:null,\n UtilizedAmount:null,\n UnutilizedAmount:null,\n TransferLimit:null,\n SweepAmount:null,\n SchemestartDate:'',\n Createdby:1,\n Updatedby:1,\n CorporationCode:'',\n CreatedDate:'',\n UpdatedDate:'',\n msg:'',\n lblTitle:'',\n btnTitle:'Submit',\n Status:1,\n StatusTitle:'Active',\n CustomerId:null,\n SchAccLinkId:0,\n SchAccLinkStatus:0,\n SchAccLinkStatusTitle:'',\n CreatedName:'',\n UpdatedName:'',\n reviewstatus:null,RequestType:\"\",\n sclinkCreatedBy:null,\n AccountId:null,\n outputjson:null,\n AccountName:''\n }\n }\n\n // get scheme list \n SchemeList(){\n this._SchemeService.fnGetSchemMasterList(localStorage.getItem('LoginUserId')).subscribe(Scheme=>{\n this.allScheme = [];\n \n Scheme.forEach(element=>{\n if(element[\"SchAccLinkStatus\"] == 0)\n element[\"SchAccLinkStatusTitle\"] = \"Not Applicable\";\n else if(element[\"SchAccLinkStatus\"] == 1) \n element[\"SchAccLinkStatusTitle\"] = \"Pending\";\n else if(element[\"SchAccLinkStatus\"] == 2) \n element[\"SchAccLinkStatusTitle\"] = \"Approved\"; \n else if(element[\"SchAccLinkStatus\"] == 3) \n element[\"SchAccLinkStatusTitle\"] = \"Rejected\"; \n else if(element[\"SchAccLinkStatus\"] == 5) \n element[\"SchAccLinkStatusTitle\"] = \"Pending for Approval\"; \n \n this.allScheme.push(element); \n });\n\n for (var i = 0; i < this.allScheme.length; i++) {\n if(this.allScheme[i].reviewstatus == 1){\n this.allScheme[i].RequestType=\"Add Approval Pending\";\n }\n else if(this.allScheme[i].reviewstatus == 2){\n this.allScheme[i].RequestType=\"Add Approved\";\n }\n else if(this.allScheme[i].reviewstatus == 3){\n this.allScheme[i].RequestType=\"Add Rejected\";\n }\n else if(this.allScheme[i].reviewstatus == 4){\n this.allScheme[i].RequestType=\"Edit Approval Pending\";\n }\n else if(this.allScheme[i].reviewstatus == 5){\n this.allScheme[i].RequestType=\"Edit Approved\";\n }\n else if(this.allScheme[i].reviewstatus == 6){\n this.allScheme[i].RequestType=\"Edit Rejected\";\n }\n else if(this.allScheme[i].reviewstatus == 7){\n this.allScheme[i].RequestType=\"Delete Approval Pending\";\n }\n else if(this.allScheme[i].reviewstatus == 8){\n this.allScheme[i].RequestType=\"Delete Approved\";\n }\n else if(this.allScheme[i].reviewstatus == 9){\n this.allScheme[i].RequestType=\"Delete Rejected\";\n }\n else {\n this.allScheme[i].RequestType=\"\";\n }\n if(this.allScheme[i].reviewstatus == \"1\" || this.allScheme[i].reviewstatus == \"4\"){ \n this.allScheme[i].deleteButtonDisable = true;\n }\n else if(this.allScheme[i].reviewstatus == \"7\" && (!this.checkerAccess || this.allScheme[i].Createdby == this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId')))){ \n this.allScheme[i].deleteButtonDisable = true;\n }\n else{this.allScheme[i].deleteButtonDisable=false;}\n \n ///Rubina 08/12 defect 1434-- \n \n if((this.allScheme[i].reviewstatus==\"2\" || this.allScheme[i].reviewstatus==\"5\" || this.allScheme[i].reviewstatus==\"6\" || this.allScheme[i].reviewstatus==\"3\" \n && this.allScheme[i].SchAccLinkStatus == \"1\" )){//&& this.checkerAccess\n //--defect 1434 || this.allScheme[i].SchAccLinkStatus == \"1\" && this.allScheme[i].sclinkCreatedBy != +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))\n this.allScheme[i].disableAccountLink=false;\n }\n else{\n this.allScheme[i].disableAccountLink=true;\n } \n \n if(this.allScheme[i].SchAccLinkStatus == \"1\" && this.checkerAccess && this.allScheme[i].sclinkCreatedBy != +this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.allScheme[i].disableAccountLink=true;\n } \n if(this.allScheme[i].reviewstatus==\"9\" && !this.CheckerPrivillage) {\n this.allScheme[i].disableAccountLink=false;\n }\n else if(this.allScheme[i].reviewstatus==\"9\" && this.CheckerPrivillage && this.allScheme[i].SchAccLinkStatus==\"5\"){\n this.allScheme[i].disableAccountLink=false; \n }\n else if(this.allScheme[i].reviewstatus==\"3\" && this.CheckerPrivillage && this.allScheme[i].SchAccLinkStatus==\"5\"){\n this.allScheme[i].disableAccountLink=false; \n }//\n else if(this.allScheme[i].reviewstatus==\"3\" && (this.allScheme[i].SchAccLinkStatus==\"2\" || this.allScheme[i].SchAccLinkStatus==\"3\")){\n this.allScheme[i].disableAccountLink=false; \n } \n else if(this.allScheme[i].reviewstatus==\"9\" && (this.allScheme[i].SchAccLinkStatus==\"2\" || this.allScheme[i].SchAccLinkStatus==\"3\")){\n this.allScheme[i].disableAccountLink=false; \n } \n\n if(this.allScheme[i].reviewstatus==\"1\" || this.allScheme[i].reviewstatus==\"4\" || this.allScheme[i].reviewstatus==\"7\")\n this.allScheme[i].IsAuthorizeDisable = false;\n else\n this.allScheme[i].IsAuthorizeDisable = true;\n // \n }\n for (var i = 0; i < this.allScheme.length; i++) {\n if(this.allScheme[i].Createdby== this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n this.allScheme[i].IsSchemeDisabled = true;\n }this.allScheme[i].IsSchemeSelected = false;\n }\n this.FilteredScheme = this.allScheme;\n this.listLengthForSelect = this.allScheme.length;\n this._SchemeService.formData.StatusTitle=\"\";\n // if(this.checkerAccess){\n // this._SchemeService.formData.StatusTitle=\"\";\n // this._SchemeService.formData.RequestType=\"\";\n // this.OnSearch(\"\",null,null,null,\"\",\"\",\"\",\"\");\n // }\n // else{\n // this.OnSearch(\"\",\"\",\"\",\"\",this.BackPageStatus,\"\",\"\",\"\");\n //}\n this.OnSearch(\"\",null,null,null,\"\",\"\",\"\",\"\");\n setTimeout(() => {\n this._spinner.hide();\n }, 100);\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n //get role privillege \n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),this.router.url).subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.checkerAccess = this.RoleAccess.CheckerAccess;\n this.MappingPriv=this.RoleAccess.MappingPriv;\n this.AddImportAccess = this.RoleAccess.AddImportAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess; \n if(!this.EditPriv && this.RoleAccess.ViewAccess){\n this.ViewPrivllage=true;}\n else{ this.ViewPrivllage=false;}\n\n if(this.checkerAccess && (this.BackPageStatus == \"\" || this.BackPageStatus == null))\n this.BackPageStatus = \"Pending\";\n else if(!this.checkerAccess && (this.BackPageStatus == \"\" || this.BackPageStatus == null)) \n this.BackPageStatus = \"Active\";\n \n this._SchemeService.formData.StatusTitle = this.BackPageStatus;\n \n this.SchemeList();\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n }); \n }\n\n // navigate to Edit scheme page \n EditSchemeDetails(scheme: SchemeMaster) { \n let SchemeId=String(scheme.SchemeId) ;\n localStorage.setItem('SchemeDataId',String(SchemeId)); \n\n let viewMode='edit';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n this.router.navigate([\"/AddScheme\"], navigationExtras);\n }\n\n //navigate to authorize scheme page\n Authorize(scheme: SchemeMaster) { \n let SchemeId=String(scheme.SchemeId) ;\n localStorage.setItem('SchemeDataId',String(SchemeId)); \n\n let viewMode='authorize';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n this.router.navigate([\"/AddScheme\"], navigationExtras);\n }\n\n // navigate to view scheme page\n ViewSchemeDetails(scheme: SchemeMaster) { \n \n let SchemeId=String(scheme.SchemeId) ;\n localStorage.setItem('SchemeDataId',String(SchemeId)); \n \n let viewMode='view';\n let navigationExtras: NavigationExtras = {\n queryParams: {\n viewMode\n }\n };\n\n if(viewMode == 'view'){\n this.router.navigate([\"/AddScheme\"], navigationExtras);\n }\n\n }\n\n // show confirmation popup for delete\n DeleteSchemeById(scheme: SchemeMaster) {\n this.schemeMaster = scheme;\n this.show();\n }\n //single scheme delete\n DeleteConfirm(){\n this._SchemeService.fnDeleteSchemeById(this.schemeMaster.SchemeId.toString(),localStorage.getItem('LoginUserId')).subscribe(res=>{\n this.SchemeList();\n this.hide();\n this.lblMessage = res as string;\n\n if(res == 'Scheme Deleted Successfully')\n {\n this.showerrormsg = false;\n this.showMsg = true;\n }\n else {\n this.showMsg = false;\n this.showerrormsg = true;\n }\n // this.showlbl();\n this.onTop();\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n }); \n \n }\n\n //#region \n AllDeletehide(){this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllSchmeChk=false;\n }\n AllDeleteShow(){\n this.showModalForAllDelete=true\n }\n AllDeleteConfirm(){\n this.FilteredScheme.forEach(element => {\n if(element.IsSchemeSelected == true){\n this._SchemeService.fnBulkDeleteSchemeById(element.SchemeId.toString()).subscribe(res=>{\n this.SchemeList();this.AddEditBulkApprovalLabel=false;\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n this.lblMessage=\"All Selected Schemes Deleted Successfully\"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n this.SchemeSelected = false;\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n }); \n }\n });\n }\n SelectAllScheme(){\n this.isActive = true;\n this.AllSchmeChk=true;\n this.AllDeleteShow();\n }\n //#endregion\n \n //scroll on top \n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n //on page change \n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.FilteredScheme.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.FilteredScheme.length;\n }\n\n //#region \n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n //#endregion\n\n //#region \n show() { this.showModal = true;\n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n });\n }\n hide() { this.showModal = false; }\n //#endregion\n\n // on search \n OnSearch(SchemeName,BudgetAmount,UtilizedAmount,UnutilizedAmount,Status,CreatedDate,RequestType,CreatedBy){ \n\n if (CreatedDate != null && CreatedDate !=\"\" ) {\n this.smdate = CreatedDate.singleDate.formatted;\n }\n \n this.pageChanged(event);\n if(SchemeName!=\"\" && (BudgetAmount!=\"\" || BudgetAmount!=null) && (UtilizedAmount!=\"\" || UtilizedAmount!=null) && (UnutilizedAmount!=\"\" || UnutilizedAmount!=null) && Status!=\"\" && (CreatedDate!=\"\" || CreatedDate!=null) && RequestType!=\"\" && CreatedBy!=\"\"){\n this.FilteredScheme = this.allScheme;\n } \n else{\n\n this.FilteredScheme = this.allScheme.filter(row=>{\n return row.SchemeName.toLocaleLowerCase().match(SchemeName.toLocaleLowerCase());\n });\n if (this.smdate != undefined && this.smdate != \"\" && this.smdate != null && CreatedDate !=\"\" && CreatedDate != null){\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(this.smdate.toLocaleLowerCase());\n });\n }\n if(BudgetAmount!=\"\" && BudgetAmount!=null){\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.BudgetAmount.match(BudgetAmount);\n });\n }\n\n if(UtilizedAmount!=\"\" && UtilizedAmount!=null){\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.UtilizedAmount.match(UtilizedAmount);\n });\n }\n if(UnutilizedAmount!=\"\" && UnutilizedAmount!=null){\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.UnutilizedAmount.match(UnutilizedAmount);\n });\n }\n if(RequestType!=\"\" && RequestType!=null){\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.RequestType.match(RequestType);\n });\n }\n\n \n if(Status!=\"\"){\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.StatusTitle== Status;\n });\n }\n else{\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.StatusTitle.toLocaleLowerCase().match(Status.toLocaleLowerCase());\n });\n }\n this.FilteredScheme = this.FilteredScheme.filter(row=>{\n return row.CreatedName.toLocaleLowerCase().match(CreatedBy.toLocaleLowerCase());\n });\n }\n this.ddlshowvalue= this.FilteredScheme.length;\n if (SchemeName !=\"\" ||BudgetAmount!=null || UtilizedAmount!=null || UnutilizedAmount!=null || Status != \"\"\n || CreatedDate!=\"\" || RequestType != \"\" || CreatedBy!= \"\") {\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n this.searchCount = 0;\n this.searchCount = this.FilteredScheme.length.toString();\n this.filterCount = \"(filtered from \" + this.allScheme.length + \" total entries)\";\n } \n else{\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n this.searchCount = this.allScheme.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n this.searchCount = this.allScheme.length.toString();\n this.filterCount =\"\";\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n // //this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // this.searchCount = this.allScheme.length;\n // this.filterCount =\"\";\n }\n this.getCheckedBulkAuthorize();\n if (this.FilteredScheme.length!=0 && this.CheckerPrivillage==true && (RequestType==\"Add Approval Pending\" || RequestType==\"Edit Approval Pending\") && (Status==\"Pending\" || Status==\"\")){\n this.BulkApprovalAuthorize=true;\n }\n else{\n this.BulkApprovalAuthorize=false;\n this.AddEditBulkApprovalLabel=false;\n }\n }\n\n fnShowonchange(newObj){\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n }\n\n UncheckAllcheckbox(){\n this.SchemeSelected=false;\n this.AddEditBulkApprovalLabel=false;\n for (var i = 0; i < this.FilteredScheme.length; i++) {\n this.FilteredScheme[i].IsSchemeSelected = false;\n }\n }\n\n //navigate to the rule master \n RuleMaster(scheme:SchemeMaster){\n this._SchemeService.formData = scheme;\n localStorage.setItem('CorporationCode', scheme.CorporationCode.toString());\n localStorage.setItem('CustId',scheme.CustomerId.toString());\n localStorage.setItem('Schemename' ,scheme.SchemeName.toString());\n localStorage.setItem('SchemeID' ,scheme.SchemeId.toString());\n localStorage.setItem('SchemeLinkId' ,scheme.SchAccLinkId.toString());\n localStorage.setItem('schemeReviewStatus',scheme.reviewstatus.toString());\n localStorage.setItem('schemeAccountLinkStatus',scheme.SchAccLinkStatus.toString())\n this.router.navigate(['/ManageRulesMaster']);\n }\n\n //navigate to the scheme acount link \n SchemeAccountLink(scheme:SchemeMaster){\n this._SchemeService.fnGetSchemeBySchemeId(scheme.SchemeId.toString()).subscribe(data=>{ \n localStorage.setItem('SchemeSweepMode', '');\n\n localStorage.setItem('SchemeId', data[0].SchemeId.toString());\n localStorage.setItem('Schemename' ,data[0].SchemeName.toString());\n localStorage.setItem('CorporationCode', data[0].CorporationCode.toString());\n localStorage.setItem('CustId',data[0].CustomerId.toString());\n localStorage.setItem('SchemeLinkId' ,data[0].SchAccLinkId.toString());\n localStorage.setItem('SchemeBudgetAmount' ,data[0].BudgetAmount.toString());\n localStorage.setItem('UnutilizedAmout' ,data[0].UnutilizedAmount.toString());\n localStorage.setItem('UtilizedAmount' ,data[0].UtilizedAmount.toString());\n localStorage.setItem('TransferLimit' ,data[0].TransferLimit.toString());\n localStorage.setItem('schemeReviewStatus',data[0].reviewstatus.toString());\n localStorage.setItem('schemeAccountLinkStatus',data[0].SchAccLinkStatus.toString());\n localStorage.setItem('ParentAccountId',data[0].AccountId.toString());\n \n this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n this.router.navigate(['SchemeAccountLink']).then(() => {\n location.reload();\n });\n });\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n }); \n }\n\n // SweepSchemeAccountLink(scheme:SchemeMaster){\n // this._SchemeService.fnGetSchemeBySchemeId(scheme.SchemeId.toString()).subscribe(data=>{ \n // localStorage.setItem('SchemeSweepMode', 'sweep');\n // localStorage.setItem('SchemeId', data[0].SchemeId.toString());\n // localStorage.setItem('Schemename' ,data[0].SchemeName.toString());\n // localStorage.setItem('CustId',data[0].CustomerId.toString());\n // localStorage.setItem('SchemeLinkId' ,data[0].SchAccLinkId.toString());\n // localStorage.setItem('SchemeBudgetAmount' ,data[0].BudgetAmount.toString());\n // localStorage.setItem('UnutilizedAmout' ,data[0].UnutilizedAmount.toString());\n // localStorage.setItem('UtilizedAmount' ,data[0].UtilizedAmount.toString());\n // localStorage.setItem('TransferLimit' ,data[0].TransferLimit.toString());\n // this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n // this.router.navigate(['SchemeAccountLink']).then(() => {\n // location.reload();\n // });\n // });\n // },\n // (error)=>{\n // this.router.navigate([\"404\"]);\n // return;\n // }); \n // }\n\n// this lone for download PDF\n//@ViewChild('tblSchemaMasterhide', {static: false}) tblSchemaMasterhide: ElementRef;\n\n@ViewChild('tblSchemaMasterhide') tblSchemaMasterhide:ElementRef;\n\n//import/ export\nfndownloadReport(ddlValue){ \n if(ddlValue === \"excel\"){\n this.fileName= 'SchemeMasterReport.xlsx';\n\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblSchemaMasterhide.nativeElement);\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n \n // if(ddlValue === \"pdf\"){\n // this._spinner.show(); \n // $(\"#dvSchemeMasterhide\").css(\"display\", \"block\");\n // this.fileName = 'SchemeMasterReport.pdf';\n // var data = document.getElementById('tblSchemaMasterhide'); \n // html2Canavas(data).then(canvas => { \n // // Few necessary setting options \n // var imgWidth = 208; \n // var pageHeight = 295; \n // var imgHeight = canvas.height * imgWidth / canvas.width; \n // var heightLeft = imgHeight; \n\n // const contentDataURL = canvas.toDataURL('image/png') \n // let pdf = new jsPDF('p', 'mm', 'a4'); // A4 size page of PDF \n // var position = 0; \n // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) \n // pdf.save(this.fileName); // Generated PDF \n // $(\"#dvSchemeMasterhide\").css(\"display\", \"none\"); \n // this._spinner.hide();\n \n // }); \n // }\n\n if(ddlValue === \"rtf\"){\n this.fileName = 'SchemeMasterReport.rtf';\n var ele = document.getElementById('tblSchemaMasterhideRTF');\n var blob = new Blob([\"

Scheme Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'SchemeMasterReport.html'; \n var ele = document.getElementById('tblSchemaMasterhide');\n var blob = new Blob([\"

Scheme Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n} // fun closing\n\n@ViewChild('tblSchemaMasterhidepdf', {static: false}) tblSchemaMasterhidepdf: ElementRef;\nfndownloadReportPdf(ddlValue){\n if(ddlValue === \"pdf\"){\n \n \n let DATA = this.tblSchemaMasterhidepdf.nativeElement;\n var ele = document.getElementById('tblSchemaMasterhidepdf');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Scheme Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('SchemeMasterReport.pdf');\n \n }\n\n\n}\n\n//grid sorting\nfnSortSchemeMaster(field,obj){\n\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableSchemeMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableSchemeMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredScheme = this.FilteredScheme.sort((a, b) => {\n if(field === 'BudgetAmount'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field === 'UtilizedAmount') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field === 'UnutilizedAmount') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else{ \n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n }\n else {\n this.FilteredScheme = this.FilteredScheme.sort((a, b) => {\n if(field === 'BudgetAmount'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field === 'UtilizedAmount') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field === 'UnutilizedAmount') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n return 0;\n }\n });\n }\n\n}\n\n //#region \n // All checke\n checkUncheckAllScheme() {\n \n this.AllSelected=true;\n this.isActive = true;\n this.SchemeSelected != this.SchemeSelected;\n\n if (this.FilteredScheme.length > 0) {\n for (var i = 0; i < this.FilteredScheme.length; i++) {\n this.FilteredScheme[i].IsSchemeSelected = this.SchemeSelected; \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allScheme[i].IsSchemeSelected = this.SchemeSelected; \n }\n }\n\n this.getCheckedItemList();\n }\n\n //single check\n isChecked(UserId,status){\n \n this.AllSelected=false;\n this.IsSchemeSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.allScheme[i].IsSchemeSelected == this.IsSchemeSelected; \n }\n this.getCheckedItemList();\n }\n\n //get checked item records\n getCheckedItemList(){\n\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allScheme[i].IsSchemeSelected == true)\n this.checkedList.push(this.allScheme[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n }\n\n //delete confirmation\n AllDeleteConfirmation(){\n \n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.AllDeleteShow();\n }\n //#endregion \n\n // tab function\n onKeyDown(event: KeyboardEvent) {\n \n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\nreturn a;\n}\n\n//#region -----------------------------------------\ncheckUncheckAllBulkApproval(){\n this.SchemeSelected != this.SchemeSelected;\n if (this.FilteredScheme.length > 0) {\n for (var i = 0; i < this.FilteredScheme.length; i++) {\n if(this.FilteredScheme[i].IsSchemeDisabled != true){\n this.FilteredScheme[i].IsSchemeSelected = this.SchemeSelected; \n }\n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allScheme[i].IsSchemeDisabled != true){\n this.allScheme[i].IsSchemeSelected = this.SchemeSelected; \n }\n }\n }\n this.getCheckedBulkAuthorize();\n// if (this.FilteredScheme.length > 0) {\n// for (var i = 0; i < this.FilteredScheme.length; i++) {\n// this.FilteredScheme[i].IsSchemeSelected = this.SchemeSelected; \n// }\n// }\n// if(this.SchemeSelected==true){\n// this.AddEditBulkApprovalLabel=true;\n// }\n// else{\n// this.AddEditBulkApprovalLabel=false;\n// }\n}\nIsBulkAutherizeCheck(Id,Status){\n Status!= this.SchemeSelected ;\n for (var i = 0; i < this.FilteredScheme; i++) {\n this.FilteredScheme[i].IsSchemeSelected == this.SchemeSelected; \n} this.getCheckedBulkAuthorize();\n// for (var i = 0; i < this.listLengthForSelect; i++) {\n// if(this.FilteredScheme[i].IsSchemeSelected == true){\n// this.AddEditBulkApprovalLabel=true;\n// } \n// }\n}\ngetCheckedBulkAuthorize(){\n\n this.checkedBulkList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.allScheme[i].IsSchemeSelected == true)\n this.checkedBulkList.push(this.allScheme[i]);\n }\n this.checkedList = JSON.stringify(this.checkedBulkList);\n\n if(this.checkedBulkList.length >= 1){\n this.AddEditBulkApprovalLabel=true;\n }\n else{\n this.AddEditBulkApprovalLabel=false;\n }\n}\nApproved(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Approve\"\n this.AuthorizeStatus=2 ;\n this._SchemeService.formData.RequestType = \"\";\n this._SchemeService.formData.StatusTitle = \"\";\n}\nRejectd(){\n this.showModalForAllDelete=true;\n $(document).ready(function () {\n $('#IDshowModalForAuthorize').eq(0).focus();\n });\n this.ConfirmationMsg=\"Reject\";\n this.AuthorizeStatus=3; this._SchemeService.formData.RequestType = \"\";\n this._SchemeService.formData.StatusTitle = \"\";\n\n}\n\nselectSchemeList:any[];\nBulkAuthorizeConfirm(){\n debugger;\n this.selectSchemeList=[];\n\n for(var i=0;i0){\n this._SchemeService.fnBulkSchemeAuthorize(this.selectSchemeList,localStorage.getItem('LoginUserId'),this.AuthorizeStatus).subscribe(res => { \n this.SchemeList(); this.AddEditBulkApprovalLabel=false;\n this.showModalForAllDelete=false;\n this.onTop();\n this.showMsg=true;\n this.lblMessage=\"Bulk Authorize Completed For All Selected Records Succesfully\";\n //this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \n }\n ,(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n \n}\n//#endregion\n\n\nfnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n}\nfnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n}\n}\n","\n
\n
\n
\n
\n

Scheme Master

\n
\n \n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n
\n
\n
\n ×\n {{lblMessage}}\n
\n
\n \n
\n\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n Please Enter valid Name\n
\n
\n
\n \n \n\n \n
\n \n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n\n
\n \n
\n\n
\n \n
\n \n \n
\n \n \n
\n \n \n
\n \n
\n \n
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Scheme NameBudget AmountUtilized AmountUnutilized AmountCreated ByCreated / Updated Date \n StatusRequest TypeStructure Approval Status\n \n Action\n \n \n
\n \n \n
\n
\n \n {{Scheme.SchemeName}}\n \n {{Scheme.BudgetAmount}}{{Scheme.UtilizedAmount}}{{Scheme.UnutilizedAmount}}{{Scheme.CreatedName}}{{Scheme.CreatedDate}}{{Scheme.StatusTitle}}{{Scheme.RequestType}}{{Scheme.SchAccLinkStatusTitle}}\n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n \n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
No records found.
No records found.
\n
\n
\n \n
\n
\n \n
\n
\n \" class=\"nav-link\" class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\" \n style=\"margin-top: -0.65em;margin-left: 2.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" \n aria-expanded=\"false\"/>\n \n \n \n \n \n \n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Scheme NameBudget AmountUtilized AmountUnutilized AmountTransfer LimitScheme start DateCorporation CodeParent AccountStatusRequest TypeCreated ByCreated DateUpdated ByUpdated Date
{{Scheme.SchemeName}} {{Scheme.BudgetAmount}}{{Scheme.UtilizedAmount}}{{Scheme.UnutilizedAmount}}{{Scheme.TransferLimit}}{{Scheme.SchemestartDate}}{{Scheme.CorporationCode}}{{Scheme.AccountName}}{{Scheme.StatusTitle}}{{Scheme.RequestType}}{{Scheme.CreatedName}}{{Scheme.CreatedDate}}{{Scheme.UpdatedName}}{{Scheme.UpdatedDate}}
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Scheme NameBudget AmountUtilized AmountUnutilized AmountTransfer LimitScheme start DateCreated ByCreated DateStatusRequest TypeStructure Approval Status
{{Scheme.SchemeName}}{{Scheme.BudgetAmount}}{{Scheme.UtilizedAmount}}{{Scheme.UnutilizedAmount}}{{Scheme.TransferLimit}}{{Scheme.SchemestartDate}}{{Scheme.CreatedName}}{{Scheme.CreatedDate}}{{Scheme.StatusTitle}}{{Scheme.RequestType}}{{Scheme.SchAccLinkStatusTitle}}
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Scheme NameBudget AmountUtilized AmountUnutilized AmountTransfer LimitScheme start DateCreated ByCreated DateStatusRequest TypeStructure Approval Status
{{Scheme.SchemeName}}{{Scheme.BudgetAmount}}{{Scheme.UtilizedAmount}}{{Scheme.UnutilizedAmount}}{{Scheme.TransferLimit}}{{Scheme.SchemestartDate}}{{Scheme.CreatedName}}{{Scheme.CreatedDate}}{{Scheme.StatusTitle}}{{Scheme.RequestType}}{{Scheme.SchAccLinkStatusTitle}}
\n \n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to {{ConfirmationMsg}} All Selected Records?

\n
\n
\n \n \n
\n
\n
\n
\n \n \n","import { Component, OnInit , ViewEncapsulation, NgZone } from '@angular/core';\nimport { HttpClientModule, HttpClient,HttpHeaders } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { SchemeAccountLink,schemeAccoutnLinkClass , SchemeAcCreatedUpdated} from 'src/app/MasterService/scheme-account-link';\nimport { AccountMasterService } from '../../MasterService/account-master.service';\nimport { SchemeAccountLinkService } from '../../MasterService/scheme-account-link.service';\nimport { AccountMaster } from 'src/app/MasterService/AccountMaster';\nimport { Constants } from 'src/app/Common/constant';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { WindowScrollingService } from 'src/app/MasterService/window-scrolling.service';\nimport { NgForm } from '@angular/forms';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\n\n\n//#region \ndeclare var SchemeReady: any;\ndeclare var apiUrl: string;\ndeclare var SaveSchemeAccountLink: Function;\ndeclare var GetSchemeAccounlinkMaster: Function;\ndeclare var getAllSchemeAccountProperties: Function;\ndeclare var resetSchemeAccountLinkTree: Function;\ndeclare var schemeSweepMethodSelection: Function;\ndeclare var SaveSchemeAccountProperties: Function;\ndeclare var SchemeAccountLinkStatus: any;\ndeclare var IsCheckerRole: any;\ndeclare var IsCheckerCreate: any;\ndeclare var viewModeAccess: string;\ndeclare const GetSchemeAccounlinkMasterAfterSweep: any;\ndeclare var flowy: any;\ndeclare var schemeAccLinkId: any;\ndeclare var filteredlist: any;\ndeclare var rulelist1:any;\ndeclare var selectedRule:any;\ndeclare var newSelectedRule:any;\n//#endregion\n\n@Component({\n selector: 'app-scheme-account-link',\n templateUrl: './scheme-account-link.component.html',\n styleUrls: ['./scheme-account-link.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SchemeAccountLinkComponent implements OnInit {\n\n //#region \n RoleAccess: RoleAccess;\n divCommenthideshow: boolean = false;\n CommentView: boolean = false;\n checkerAccess:boolean = false;\n\n SchemeName:string;\n CustomerId:number;\n SchemeId:number;\n sclinkId:number;\n AccountTypes:any = [];\n AllStructorTypes:any = [];\n Accounts: AccountMaster[];\n FilteredAccountList: AccountMaster[];\n\n SchemeAccountLinkClassObj: schemeAccoutnLinkClass;\n \n //Account Type List------------------------\n AccountTypeList: any[] = [];\n FilteredAccountTypeList: any[] = [];\n LoginUserId: string;\n IsEdit: boolean = false;\n SchemeBudgetAmount:string;\n UtilizedAmount:string;\n UnUtilizedAmount:string;\n TransferLimit:string;\n\n //createdby and updatedby \n SchemeAcCreatedUpdated:SchemeAcCreatedUpdated[];\n createdBy:number;\n createdDate:string;\n userNameCreated:string;\n usernameUpdte:string;\n updtedDate:string;\n showCreatedDiv:boolean=false;\n showUpdatedDiv:boolean=false;\n \n SchemeSweepMode:string;\n SweepMode:boolean=false;\n showModalClearTree: boolean;\n showModalResetTree: boolean;\n IsCreatedByOtherChecker: boolean = false;\n buttonValue: string = \"Save Draft\";\n\n // sweep balance\n showSweepModal: boolean;\n showModal: boolean;\n lblMessage: string;\n\n resetTreeLbl: string;\n\n dropdownList:any = [];\n selectedItems:any = [];\n dropdownSettings:IDropdownSettings = {};\n //#endregion\n\n constructor(private httpService: HttpClient ,private router: Router, public _accountService : AccountMasterService, \n public _schemeLinkService:SchemeAccountLinkService,private _spinner: NgxSpinnerService,public _roleAccess: RoleAccessService,\n public _token:TokenService , public _encrypt:EncryptdecryptService,private ngZone: NgZone) { \n }\n\n ngAfterViewInit(): void {\n SchemeReady(); //call js function\n }\n\n ngOnInit(): void {\n window['angularComponentReference'] = { component: this, zone: this.ngZone, loadAngularFunction: () => this.angularFunctionCalled(), };\n this._spinner.show();\n\n this.LoginUserId = localStorage.getItem('LoginUserId');\n this.onTop();\n this.dropdownSettings = {\n singleSelection: false,\n idField: 'RuleId',\n textField: 'RuleName',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n itemsShowLimit: 1,\n allowSearchFilter: true\n };\n\n this.SchemeName = localStorage.getItem('Schemename');\n this.CustomerId = parseInt(localStorage.getItem('CustId'));\n this.SchemeId = parseInt(localStorage.getItem('SchemeId'));\n this.sclinkId = parseInt(localStorage.getItem('SchemeLinkId'));\n this.SchemeBudgetAmount = localStorage.getItem('SchemeBudgetAmount');\n this.UnUtilizedAmount = localStorage.getItem('UnutilizedAmout');\n this.UtilizedAmount = localStorage.getItem('UtilizedAmount');\n this.TransferLimit = localStorage.getItem('TransferLimit');\n\n this.SchemeSweepMode = localStorage.getItem('SchemeSweepMode');\n schemeAccLinkId = this.sclinkId;\n\n viewModeAccess = this.SchemeSweepMode;\n\n if (this.SchemeId != 0 && this.sclinkId != 0) {\n this._schemeLinkService.formData = {\n AccountType:'',\n CustomerId:this.CustomerId,\n SchemeId:this.SchemeId,\n UserId:this.LoginUserId,\n SchemeAccountstatus:'',\n OutputJson:'',\n SchemeAclinkId:this.sclinkId,\n Comments:'',\n Oldcomment:'',\n //StructorId:0,\n //StructorName:''\n Priority:null,\n CreatedBy: null,\n UpdatedBy:null\n }\n this.IsEdit = true;\n this.SchemeBudgetAmount = this.SchemeBudgetAmount;\n }\n else{\n this._schemeLinkService.formData = {\n AccountType:'',\n CustomerId:this.CustomerId,\n SchemeId:this.SchemeId,\n UserId:this.LoginUserId,\n SchemeAccountstatus:'',\n OutputJson:'',\n SchemeAclinkId:0,\n Comments:'',\n Oldcomment:'',\n Priority:null,\n CreatedBy: null,\n UpdatedBy: null\n }\n this.IsEdit = false;\n this.SchemeBudgetAmount = this.SchemeBudgetAmount;\n }\n this.GetPrivillageRoles();\n }\n\n //#region \n showSweep() { this.showSweepModal = true; }\n hideSweep() { this.showSweepModal = false; }\n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n HideModalConfirmation() {\n var x = document.getElementById(\"ModalPopupConfirmation\");\n x.style.display = \"none\";\n }\n\n showClearTree() { \n var data = flowy.output();\n if (data != undefined) { this.showModalClearTree = true; }\n else {\n this.showModal = true;\n this.lblMessage = \"No tree available to clear\";\n }\n }\n hideClearTree() { this.showModalClearTree = false; }\n\n hideResetTree() { this.showModalResetTree = false; }\n\n showResetTree() {\n this._schemeLinkService.fnResetTreelable(this.sclinkId).subscribe(msg => {\n this.resetTreeLbl = msg;\n this.showModalResetTree = true;\n });\n\n }\n //#endregion\n\n //bind rule dropdown\n angularFunctionCalled() { \n this.dropdownList = rulelist1;\n this.selectedItems = selectedRule;\n } \n\n \n ruleSemethod(event){\n newSelectedRule = event;\n }\n ruleDemethod(event){\n newSelectedRule = event;\n }\n Allrulemethod(event){\n newSelectedRule = event;\n }\n\n //save scheme account link\n SaveFunction(form:NgForm,IsConfirm,IsSendForApproval) {\n if(form.invalid){\n (Object).values(form.controls).forEach(control => {\n control.markAsTouched();\n });\n\n return false;\n }\n else{\n if ((this.RoleAccess != undefined && this.RoleAccess.CheckerAccess == false)\n || (this.RoleAccess.CheckerAccess == true && this._schemeLinkService.formData.CreatedBy == +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))\n || (this.RoleAccess.CheckerAccess == true && this.sclinkId == 0)) {\n this._schemeLinkService.formData.SchemeAccountstatus = \"1\";\n }\n this._schemeLinkService.formData.SchemeId = this.SchemeId;\n this._schemeLinkService.formData.UserId = this.LoginUserId;\n this._schemeLinkService.formData.CustomerId= this.CustomerId;\n\n if(IsSendForApproval){\n this._schemeLinkService.formData.SchemeAccountstatus = \"5\";\n }\n SaveSchemeAccountLink(this._schemeLinkService.formData, IsConfirm);\n }\n }\n\n //navigate back\n BackButton(){\n this.router.navigate(['/ManageScheme']);\n }\n\n //bind accounttype value\n AccountType(){\n this._accountService.fnGetAccountType().subscribe(data=>{\n this.AccountTypes = data;\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n //get scheme accountlink by sclinkId\n GetAccountLinkingMasterData() {\n this._accountService.fnGetAccountListForAccountLink(localStorage.getItem(\"LoginUserId\"),this.CustomerId.toString()).subscribe(res => {\n this.Accounts = res.AccountsList;\n this.AccountTypeList = res.AccountTypeList;\n \n if (this.IsEdit) {\n \n if(this.SchemeSweepMode == \"sweep\")\n this.SweepMode = true;\n else\n this.SweepMode = false;\n\n this.FilteredAccountList = this.Accounts.filter(row => { return (row.CustomerId == this.CustomerId); });\n filteredlist = this.FilteredAccountList;\n this.FilteredAccountTypeList = this.AccountTypeList.filter(row => { return row.CustomerId == this.CustomerId; });\n this._schemeLinkService.fnGetSchemeAccountLinkMaster(this.sclinkId).subscribe(scaclinkObj => {\n \n this._schemeLinkService.formData = scaclinkObj.SchemeAccountLink;\n this.SchemeAccountLinkClassObj = scaclinkObj;\n\n if (this.RoleAccess.CheckerAccess == true && (this._schemeLinkService.formData.CreatedBy == +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) { \n IsCheckerCreate = true;\n }\n else {\n IsCheckerCreate = false;\n }\n\n setTimeout(() => {\n SchemeAccountLinkStatus = this._schemeLinkService.formData.SchemeAccountstatus;\n getAllSchemeAccountProperties(this.SchemeAccountLinkClassObj.SchemeAccountLink.CustomerId);\n GetSchemeAccounlinkMaster(this.SchemeAccountLinkClassObj);\n this.fnGetCreatedNUpdatedAccount();\n this.SchemeAccountLinkClassObj.SchemeAccountLink.AccountType='';\n\n if (this._schemeLinkService.formData.SchemeAccountstatus === '1' || this._schemeLinkService.formData.SchemeAccountstatus === '2' || this._schemeLinkService.formData.SchemeAccountstatus === '3' || this._schemeLinkService.formData.SchemeAccountstatus === '5') {\n this.divCommenthideshow = true;\n this.CommentView = false;\n }\n if (this._schemeLinkService.formData.SchemeAccountstatus == '5') {\n this._schemeLinkService.formData.SchemeAccountstatus = null;\n this.CommentView = true;\n }\n\n if (this.RoleAccess.CheckerAccess == true && (this._schemeLinkService.formData.CreatedBy != +this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))) {\n this.IsCreatedByOtherChecker = true;\n this.buttonValue = \"Verify\";\n //IsCheckerCreate = true;\n }\n else {\n this.IsCreatedByOtherChecker = false;\n this.buttonValue = \"Save Draft\";\n //IsCheckerCreate = false;\n }\n\n this._spinner.hide();\n }, 500);\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n else{\n this._spinner.hide();\n }\n //this.StructorType();\n this.SelectCustomer();\n this.SelectAccountType();\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n //scroll on top\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n //filter by AccountType\n SelectAccountType() {\n if(this._schemeLinkService.formData.AccountType == null)\n this._schemeLinkService.formData.AccountType = \"\";\n this.FilteredAccountList = this.Accounts.filter(row => { return row.CustomerId == this._schemeLinkService.formData.CustomerId; });\n\n this.FilteredAccountList = this.FilteredAccountList.filter(row => { return row.AccountType.toLocaleLowerCase().match(this._schemeLinkService.formData.AccountType.toLocaleLowerCase())});\n }\n\n //bind accountype\n GetAccountTypeList(accountsList: AccountMaster[]) {\n\n accountsList.forEach(element => {\n var accountTypeObj = { AccountTypeName: \"\", AccountTypeValue: \"\", CustomerId: 0 };\n\n var accTypeValue = this.AccountTypeList.filter(row => {\n return row.AccountTypeValue == element.AccountType && row.CustomerId == element.CustomerId; })[0];\n if (accTypeValue == null || accTypeValue == undefined) {\n if (element.AccountType == \"SavingAccount\") {\n accountTypeObj.AccountTypeName = \"Saving Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"CurrentAccount\") {\n accountTypeObj.AccountTypeName = \"Current Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"LoanAccount\") {\n accountTypeObj.AccountTypeName = \"Loan Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"EscrowAccount\") {\n accountTypeObj.AccountTypeName = \"Escrow Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"CorrespondentAccount\") {\n accountTypeObj.AccountTypeName = \"Correspondent Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n if (element.AccountType == \"VirtualAccount\") {\n accountTypeObj.AccountTypeName = \"Virtual Account\";\n accountTypeObj.AccountTypeValue = element.AccountType;\n accountTypeObj.CustomerId = element.CustomerId;\n }\n\n this.AccountTypeList.push(accountTypeObj);\n }\n });\n\n this.FilteredAccountTypeList = [];\n\n }\n\n //filter accounts by customerid\n SelectCustomer() {\n if (this._schemeLinkService.formData.CustomerId > 0) {\n this._schemeLinkService.formData.AccountType = null;\n this.FilteredAccountTypeList = this.AccountTypeList.filter(row => { return row.CustomerId == this._schemeLinkService.formData.CustomerId; });\n this.FilteredAccountList = [];\n\n if (this._schemeLinkService.formData.CustomerId > 0 && !this.IsEdit) {\n this._schemeLinkService.fnGetSchemeAccountLinkMasterMaxPriority(this._schemeLinkService.formData.CustomerId).subscribe(maxPriority => {\n this._schemeLinkService.formData.Priority = maxPriority;\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n }\n\n if (this._schemeLinkService.formData.CustomerId > 0 && this._schemeLinkService.formData.AccountType != null) {\n this.FilteredAccountList = this.Accounts.filter(row => { return row.CustomerId == this._schemeLinkService.formData.CustomerId; });\n\n this.FilteredAccountList = this.FilteredAccountList.filter(row => { return row.AccountType == this._schemeLinkService.formData.AccountType; });\n getAllSchemeAccountProperties(this._schemeLinkService.formData.CustomerId);\n }\n else {\n this.FilteredAccountList = [];\n }\n\n }\n\n //create/update user history\n fnGetCreatedNUpdatedAccount(){\n this._schemeLinkService.fnGetCreatedUpdateSchemeAccount(this.sclinkId).subscribe(userdates=>{\n this.SchemeAcCreatedUpdated=userdates;\n if(this.SchemeAcCreatedUpdated[0].CreatedDate != '' && this.SchemeAcCreatedUpdated[1].UpdatedDate != null){\n this.showCreatedDiv=true;\n this.createdDate=this.SchemeAcCreatedUpdated[0].CreatedDate;\n this.userNameCreated=this.SchemeAcCreatedUpdated[0].UserName;\n }\n if(this.SchemeAcCreatedUpdated[1].UpdatedDate != '' && this.SchemeAcCreatedUpdated[1].UpdatedDate != null){\n this.showUpdatedDiv=true;\n this.usernameUpdte=this.SchemeAcCreatedUpdated[1].UserName;\n this.updtedDate=this.SchemeAcCreatedUpdated[1].UpdatedDate;\n }\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n //get role privillage\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/ManageScheme').subscribe(roleAccess => {\n this.RoleAccess = roleAccess[0];\n this.checkerAccess = roleAccess[0].CheckerAccess;\n IsCheckerRole = this.RoleAccess.CheckerAccess \n this.GetAccountLinkingMasterData();\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n Commenthideshow() {\n this.CommentView = false;\n }\n\n ParentAccountId:Number;\n ScAcLinkClass:SchemeAccountLink;\n //clear tree \n ClearTreeStructure() {\n this.hideClearTree();\n resetSchemeAccountLinkTree();\n\n var AccountNumber = \"\";\n var AccountBalance = \"\";\n var AccountName = \"\";\n var BudgetAmount;\n \n this.ScAcLinkClass = {\n SchemeId:0,\n AccountType:null,\n CustomerId:0,\n UserId:null,\n SchemeAclinkId:0,\n OutputJson:null,\n SchemeAccountstatus:null,\n Comments:null,\n Oldcomment:null,\n Priority:null,\n CreatedBy:null,\n UpdatedBy:null,\n }\n \n this.ParentAccountId = +localStorage.getItem(\"ParentAccountId\");\n this.SchemeAccountLinkClassObj.SchemeAccountLinkRelationDetails.forEach(row=>{\n if(row.ParentId == -1)\n BudgetAmount = row.scBudgetedAmount;\n });\n for(var i=0 ; i< this.FilteredAccountList.length; i++){\n if(this.ParentAccountId == this.FilteredAccountList[i].AccountId){\n AccountNumber = this.FilteredAccountList[i].AccountNumber;\n AccountBalance = this.FilteredAccountList[i].CurrentBalance;\n AccountName = this.FilteredAccountList[i].AccountName;\n \n var output = '{\"html\":\"

A/C Name - '+AccountName+'
A/C No - '+AccountNumber+'

Scheme Balance - Rs '+ BudgetAmount +'

Account Balance - Rs '+AccountBalance+'

Execute

\",\"blockarr\":[{\"parent\":-1,\"childwidth\":0,\"id\":0,\"x\":742,\"y\":302,\"width\":242,\"height\":120}],\"blocks\":[{\"id\":0,\"parent\":-1,\"data\":[{\"name\":\"AccountId\",\"value\":\"' + this.ParentAccountId + '\"},{\"name\":\"AccountNumber\",\"value\":\"'+AccountNumber+'\"},{\"name\":null,\"value\":\"\"},{\"name\":null,\"value\":\"\"},{\"name\":\"BankName\",\"value\":\"IDBI Bank\"},{\"name\":\"blockid\",\"value\":\"0\"}],\"attr\":[{\"class\":\"noselect block\"},{\"id\":\"sc'+AccountNumber+'tree\"},{\"style\":\"left: 616px; top: 116px;\"}]}]}';\n \n var schemeclass={};\n this.ScAcLinkClass[\"SchemeAclinkId\"] = this.sclinkId;\n this.ScAcLinkClass[\"OutputJson\"] = output;\n\n\n \n this._schemeLinkService.fnClearTree(this.ScAcLinkClass).subscribe(data=>{\n this.GetAccountLinkingMasterDataEdited();\n }); \n \n }\n }\n \n \n \n }\n\n //reset the canvas tree\n resetToOrginal() {\n this.hideResetTree();\n resetSchemeAccountLinkTree();\n this._schemeLinkService.fnResetTree(this.sclinkId).subscribe(scaclinkObj => {\n scaclinkObj.SchemeAccountLink.UserId = localStorage.getItem('LoginUserId');\n scaclinkObj.SchemeAccountLink.SchemeId = this.SchemeId;\n GetSchemeAccounlinkMaster(scaclinkObj);\n SaveSchemeAccountLink(scaclinkObj.SchemeAccountLink, 'true');\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n\n // Add/edit scheme account link property\n AddSchemeAccountProperties(){\n newSelectedRule = this.selectedItems;\n SaveSchemeAccountProperties(this._schemeLinkService.formData);\n }\n\n // SweepBalance() {\n // this.hideSweep();\n // this._token.fnrenewToken();\n // this._token.fnrenewToken();\n // const httpOptions = {\n // headers: new HttpHeaders({\n // 'Content-Type': 'application/json',\n // 'Authorization': this._token.token\n // })\n // };\n // this._schemeLinkService.fnSweepBalance(this.sclinkId.toString(),localStorage.getItem('LoginUserId'),this.SchemeId.toString()).subscribe(\n // data => {\n // this.lblMessage = data.toString();\n // this.show();\n // this._schemeLinkService.fnGetSchemeAccountLinkMaster(this.sclinkId).subscribe(aclinkObj => {\n // this.SchemeAccountLinkClassObj = aclinkObj;\n // GetSchemeAccounlinkMasterAfterSweep(this.SchemeAccountLinkClassObj);\n // getAllSchemeAccountProperties(this.SchemeAccountLinkClassObj.SchemeAccountLink.CustomerId);\n // },\n // (error)=>{\n // this.router.navigate([\"404\"]);\n // return;\n // });\n // },\n // (error)=>{\n // this.router.navigate([\"404\"]);\n // return;\n // });\n // }\n\n //navigate to manage rule \n navigateToManageBizRule(AccountId){\n localStorage.setItem('CorporationCode', this.CustomerId.toString());\n localStorage.setItem('Schemename' ,this.SchemeName.toString());\n localStorage.setItem('SchemeID' ,this.SchemeId.toString());\n this.router.navigate(['/ManageRulesMaster']);\n }\n\n\n GetAccountLinkingMasterDataEdited() {\n if (this.IsEdit) {\n this._schemeLinkService.fngetschemeaccountmasterlinkEdited(this.sclinkId).subscribe(scaclinkObj => {\n this._schemeLinkService.EditedformData = scaclinkObj.SchemeAccountLink;\n GetSchemeAccounlinkMaster(scaclinkObj);\n },\n (error)=>{\n this.router.navigate([\"404\"]);\n return;\n });\n }\n }\n}","\n
\n
\n \n
\n
\n \n
\n
\n

Manage Scheme Account Link for {{SchemeName}}

\n
\n \n \n \n
\n \n\n
\n \n
\n
\n \n
\n \n \n
\n
\n \n \n
This\n Priority is required
\n
\n
\n \n \n \n \n
\n Please select Accept or Reject.\n
\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n
\n
\n

\n A/C Name - {{account.CustomerName}}
\n A/C No - {{account.AccountNumber}}\n

\n \n

\n Scheme Balance - Rs 0\n

\n

\n Account Balance - Rs ({{account.CurrentBalance}})\n

\n

\n Account Balance - Rs {{account.CurrentBalance}}\n

\n

\n \n \n Execute\n \n

\n\n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
    \n
  • \n \n \n \n
  • \n
\n
\n
\n \n
\n
\n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n
\n
\n \n \n \n
\n
\n
\n
\n\n\n
\n
\n
\n
\n

Properties

\n
\n
\n ×\n
\n
\n \n \n \n\n
\n
\n
\n
\n Select Rule\n
    \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n \n\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n \n
\n
\n \n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to Clear?

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{resetTreeLbl}}

\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessage}}\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n\n\n \n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { FundDisbursmentService } from 'src/app/MasterService/fund-disbursment.service';\nimport { AccountMasterService } from 'src/app/MasterService/account-master.service';\nimport { AccountMaster, AccountType } from 'src/app/MasterService/AccountMaster';\nimport { SchemeMaster } from 'src/app/MasterService/SchemeMaster';\nimport { SchemeMasterService } from 'src/app/MasterService/scheme-master.service';\nimport { CustomerService } from '../../MasterService/customer.service';\nimport { NgForm } from '@angular/forms';\nimport { RoleAccessService } from '../../MasterService/role-access.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Constants } from 'src/app/Common/constant';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { FundCreatedUpdated } from 'src/app/MasterService/fund-disbursment';\nimport { debug } from 'console';\nimport { parse } from 'path';\nimport * as moment from 'moment';\nimport { NgbDateCustomParserFormatter } from '../../MasterService/date-format';\nimport { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';\nimport { element } from 'protractor';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { threadId } from 'worker_threads';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport * as CryptoJS from 'crypto-js';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\n\n@Component({\n selector: 'app-add-edit-funddisbursement',\n templateUrl: './add-edit-funddisbursement.component.html',\n styleUrls: ['./add-edit-funddisbursement.component.css'],\n encapsulation: ViewEncapsulation.None\n // providers: [\n // {provide: NgbDateParserFormatter, useClass: NgbDateCustomParserFormatter}\n // ]\n})\nexport class AddEditFunddisbursementComponent implements OnInit {\n\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n // other options are here...\n };\n\n validDate: boolean = true;\n IsSchemeIsInactive: boolean;\n NewFilterScheme: SchemeMaster;\n InValidCustomer: boolean;\n\n constructor(public _spinner: NgxSpinnerService, public _fundDisbursment: FundDisbursmentService, public _AccountService: AccountMasterService, public _customerService: CustomerService,\n public _SchemeService: SchemeMasterService, public _roleAccess: RoleAccessService, public _token: TokenService, private formBuilder: FormBuilder, private httpClient: HttpClient,\n private router: Router, private _encrypt: EncryptdecryptService) { }\n\n Accounts: AccountMaster[];\n AccountTypes: AccountType[];\n FilterAccount: AccountMaster[];\n Scheme: SchemeMaster[];\n FilterScheme: SchemeMaster[];\n allCustomers: any = [];\n allCustomersselectedval: any = [];\n ParentAccount: any = [];\n Account: any = [];\n FilterParentAccount: any = [];\n ChildAccount: any = [];\n FilterChildAccount: any = [];\n lblMessage: string;\n disableButton: boolean;\n showMsg: boolean;\n showerrormsg: boolean;\n CheckerPrivillage: boolean;\n EditPriv: boolean;\n AddPriv: boolean;\n Comment1blockshow: boolean;\n Comment2blockshow: boolean;\n lblTitle: string;\n viewMode: boolean;\n IsfileView: boolean;\n ISFileExists: string;\n showModal: boolean;\n newdate: string;\n newtime: string;\n buttonvalue: string;\n disabledAuthorize: boolean = false;\n disabledApprove: boolean = false;\n disableReject1: boolean = false;\n disableReject2: boolean = false;\n readonly rootURL = Constants.apiURL;\n readonly InvoiceCopyUrl = Constants.InvoiceCopyUrl;\n\n uploadForm: FormGroup;\n\n editedFundId: number;\n Flag: string;\n\n FundCreatedUpdated1: FundCreatedUpdated[];\n createdBy: number;\n createdDate: string;\n userNameCreated: string;\n usernameUpdte: string;\n updtedDate: string;\n showCreatedDiv: boolean = false;\n showUpdatedDiv: boolean = false;\n disableClear: boolean;\n HiddenClr: boolean = false;\n CustomerId:number = 0;\n FromToAccountNumber:any = [];\n\n ngOnInit(): void {\n \n this._spinner.show();\n this.onTop();\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n this.editedFundId = +localStorage.getItem('newIndendentId');\n this.Flag = localStorage.getItem('_Flag');\n //Get Privilage based on Id\n this.GetPrivillageRoles();\n this.disableButton = false;\n // this.SchemeList();\n // //this.ChildAccountNumber();\n // this.AccountType();\n this.AccountList(); //vaibhav\n this.fnGetAllCustomerDetails(); //vaibhav\n this.SchemeList(); //vaibhav\n this.uploadForm = this.formBuilder.group({\n profile: ['']\n });\n\n if (this.editedFundId == 0) {\n // this.fndefaultRequestTime();\n // var dt = new Date();\n // var _savedStartTimeObjectnew = {hour: 0, minute: 0};\n // _savedStartTimeObjectnew.hour = + dt.getHours();\n // _savedStartTimeObjectnew.minute = + dt.getMinutes();\n // this._fundDisbursment.formData.RequestedTime =_savedStartTimeObjectnew; \n }\n this.lblMessage = localStorage.getItem(\"Msg\");\n localStorage.removeItem(\"Msg\");\n }\n//---Get GetPrivillage Method based on Id----------\n GetPrivillageRoles() {\n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'), '/ManageFundDisbursement').subscribe(roleAccess => {\n this.EditPriv = roleAccess[0].EditAccess;\n this.AddPriv = roleAccess[0].AddAccess;\n this.CheckerPrivillage = roleAccess[0].CheckerAccess;\n this.fnGetFundById();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n // AccountType() {\n // this._AccountService.fnGetAccountType().subscribe(accountTypes => {\n // this.AccountTypes = accountTypes; \n // })\n // }\n//----set account Number in edt Mode-----------------\nParentAccountNumber(value:string=\"\") {\n if(value != \"\"){\n this._fundDisbursment.formData.FromAccountNumber=null;\n this._fundDisbursment.formData.ToAccountNumber=null;\n let list = this.allCustomers.filter(x => x.CustomerName === value)[0];\n if(list==undefined){\n this.InValidCustomer=true;\n }\n else{\n this.InValidCustomer=false;\n this._fundDisbursment.formData.CustomerId = list.CustPkId;\n }\n }\n else{\n this.InValidCustomer=false;\n }\n\n this.Account = [];\n if(this.InValidCustomer==false){\n // this._fundDisbursment.fnGetFundDisbursmenetAccount\n console.log(localStorage.getItem(\"LoginUserId\"));\n this._fundDisbursment.fnGetAccountForFund(localStorage.getItem(\"LoginUserId\"),\n this._fundDisbursment.formData.CustomerId).subscribe(AccountNumber => {\n // AccountNumber.forEach(element => {\n // if(element[\"AccountType\"] == \"Saving A/c\")\n // element[\"AccountType\"] = \"SavingAccount\";\n // else if(element[\"AccountType\"] == \"Current A/c\")\n // element[\"AccountType\"] = \"CurrentAccount\";\n // else if(element[\"AccountType\"] == \"Loan A/c\")\n // element[\"AccountType\"] = \"LoanAccount\";\n // else if(element[\"AccountType\"] == \"Escrow A/c\")\n // element[\"AccountType\"] = \"EscrowAccount\";\n // else if(element[\"AccountType\"] == \"Correspondent A/c\")\n // element[\"AccountType\"] = \"CorrespondentAccount\";\n // else if(element[\"AccountType\"] == \"Virtual A/c\")\n // element[\"AccountType\"] = \"VirtualAccount\"; \n // this.Account.push(element);\n // });\n this.Account = AccountNumber;\n for (var j = 0; j < this.Account.length; j++) {\n this.Account[j].AccountNumber = this.decryptUsingAES256(this.Account[j].AccountNumber);\n }\n this.ParentAccount = this.Account;\n this.ChildAccount = this.Account;\n this.fnAccount(this._fundDisbursment.formData.ToAccountType, this._fundDisbursment.formData.FromAccountType, this._fundDisbursment.formData.FromAccountId);\n this.ChangeTransferType();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n } \n //}\n}\n // Declare this key and iv values in declaration\n private key = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n private iv = CryptoJS.enc.Utf8.parse('MAKV2SPBNI992121');\n\n decryptUsingAES256(decString) {\n var decrypted = CryptoJS.AES.decrypt(decString, this.key, {\n keySize: 128 / 8,\n iv: this.iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7\n });\n return decrypted.toString(CryptoJS.enc.Utf8);\n }\n //-Get Account List------------------------------------\n AccountList() {\n this._AccountService.fnGetAccountList(localStorage.getItem('LoginUserId'),\"0\",\"1\",\"1000\",\n \"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\", \"\").subscribe(accounts => {\n this.Accounts = accounts;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n//--------------Get Customer Data For AClink--------------------\n fnGetAllCustomerDetails() {\n \n this._customerService.fnGetCustomerDataForAClink(localStorage.getItem('LoginUserId')).subscribe(allCustomers => {\n this.allCustomersselectedval = allCustomers;\n allCustomers.forEach(element => {\n if (element[\"Status\"] == \"Active\")\n this.allCustomers.push(element);\n });\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n//Filter account --------------------------\n fnAccount(ToAccountType, FromAccountType, FromAccountId) {\n \n let list = this.ParentAccount.filter(x => x.AccountNumber === FromAccountId)[0];\n if(list==undefined){ } \n else{\n FromAccountId = list.AccountId;\n } \n \n this.FilterParentAccount = this.ParentAccount.filter(row => {\n return row.AccountType.toLocaleLowerCase().match(FromAccountType.toLocaleLowerCase());\n })\n\n this.FilterChildAccount = this.ChildAccount.filter(row => {\n return row.AccountType.toLocaleLowerCase().match(ToAccountType.toLocaleLowerCase());\n });\n if (parseInt(FromAccountId) > 0)\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.AccountId !== parseInt(FromAccountId);\n });\n\n this.fnScheme(this._fundDisbursment.formData.CustomerId);\n if (this._fundDisbursment.formData.SchemeId == 0)\n this._fundDisbursment.formData.SchemeId = null;\n\n setTimeout(() => {\n this._spinner.hide();\n }, 100);\n }\n\n fnSelectFromAccount(FromAccount) {\n this.FilterChildAccount = this.FilterChildAccount.filter(row => {\n return row.FromAccountId !== parseInt(FromAccount);\n });\n }\n //-----------Get Scheme List-----------------------\n SchemeList() {\n this._SchemeService.fnGetSchemMasterList(localStorage.getItem('LoginUserId')).subscribe(Scheme => {\n this.Scheme = Scheme;\n this.fnScheme(this._fundDisbursment.formData.CustomerId);\n if (this._fundDisbursment.formData.SchemeId == 0)\n this._fundDisbursment.formData.SchemeId = null;\n });\n }\n//---------get Scheme based on Customer ID----------------\n fnScheme(CustomerId) {\n if (this._fundDisbursment.formData.SchemeId == null || this._fundDisbursment.formData.SchemeId == 0) {\n if(this.Scheme != undefined){\n this.FilterScheme = this.Scheme.filter(row => {\n return row.CustomerId === parseInt(CustomerId);\n });\n this.FilterScheme = this.FilterScheme.filter(row => {\n return row.Status === 1;\n });\n }\n }\n }\n\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n fnHideSuccessMsg(event) {\n\n this.showMsg = false;\n this.showerrormsg = false;\n\n }\n IsSweepSuccess: boolean;\n\n //------------Indent Authorize Method--------------\n AuthorizeReject(form: NgForm, Status) {\n if (this._fundDisbursment.formData.RequestedDate.singleDate.date.month >= 10) {\n this.newdate = this._fundDisbursment.formData.RequestedDate.singleDate.date.year + \"-\" + this._fundDisbursment.formData.RequestedDate.singleDate.date.month + \"-\" + this._fundDisbursment.formData.RequestedDate.singleDate.date.day;\n }\n else {\n this.newdate = this._fundDisbursment.formData.RequestedDate.singleDate.date.year + \"-0\" + this._fundDisbursment.formData.RequestedDate.singleDate.date.month + \"-\" + this._fundDisbursment.formData.RequestedDate.singleDate.date.day;\n }\n\n\n // if (form.value.RequestedDate.singleDate.date.month >= \"10\") {\n // this.newdate = form.value.RequestedDate.singleDate.date.year+\"-\"+form.value.RequestedDate.singleDate.date.month+\"-\"+form.value.RequestedDate.singleDate.date.day;\n // }\n // else {\n // this.newdate = form.value.RequestedDate.singleDate.date.year+\"-0\"+form.value.RequestedDate.singleDate.date.month+\"-\"+form.value.RequestedDate.singleDate.date.day;\n // }\n\n\n if (this._fundDisbursment.formData.RequestedTime != \"\") {\n this.newtime = this._fundDisbursment.formData.RequestedTime.hour + \":\" + this._fundDisbursment.formData.RequestedTime.minute;\n }\n\n\n form.value[\"flag\"] = \"autho\";\n form.value[\"UserId\"] = localStorage.getItem('LoginUserId');\n form.value[\"Status\"] = Status;\n form.value.Comment1 = this._fundDisbursment.formData.Comment1;\n form.value.Comment2 = this._fundDisbursment.formData.Comment2;\n form.value.CustomerId = this._fundDisbursment.formData.CustomerId;\n // form.value.AccountId = this._fundDisbursment.formData.AccountId;\n form.value.Amount = this._fundDisbursment.formData.Amount;\n\n let list1 = this.FilterParentAccount.filter(x => x.AccountNumber === this._fundDisbursment.formData.FromAccountNumber)[0];\n if(list1==undefined){ } \n else{\n this._fundDisbursment.formData.FromAccountId = list1.AccountId;\n } \n let list2 = this.FilterChildAccount.filter(x => x.AccountNumber === this._fundDisbursment.formData.ToAccountNumber)[0];\n if(list2==undefined){ } \n else{\n this._fundDisbursment.formData.ToAccountId = list2.AccountId;\n }\n form.value.FromAccountId = this._fundDisbursment.formData.FromAccountId;\n form.value.ToAccountId = this._fundDisbursment.formData.ToAccountId;\n form.value.FromAccountType = this._fundDisbursment.formData.FromAccountType;\n form.value.ToAccountType = this._fundDisbursment.formData.ToAccountType;\n //form.value.RequestedDate = this._fundDisbursment.formData.RequestedDate;\n form.value.RequestedDate = this.newdate;\n form.value.RequestedTime = this.newtime;\n form.value.Uploadedinvoice = this._fundDisbursment.formData.Uploadedinvoice;\n form.value.SchemeId = this._fundDisbursment.formData.SchemeId;\n form.value.TransferType = this._fundDisbursment.formData.TransferType; //seema 18/12/2020 12:58 PM\n\n if (Status == 2 || Status == 4) {\n this.disabledAuthorize = true;\n this.disableReject1 = true;\n }\n if (Status == 4 || Status == 3) {\n this.disabledApprove = true;\n this.disableReject2 = true;\n }\n\n this._fundDisbursment.fnAddEditFundDisbursmentDetails(form.value).subscribe(data => {\n this._fundDisbursment.formData.Id = data.Id;\n\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(data.RequestedDate).toObject();\n\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n this._fundDisbursment.formData.RequestedDate = _savedStartDate;\n\n\n var _savedStartTime = data.RequestedTime.split(\":\");\n var _savedStartTimeObject = { hour: 0, minute: 0 };\n _savedStartTimeObject.hour = +_savedStartTime[0];\n _savedStartTimeObject.minute = +_savedStartTime[1];\n this._fundDisbursment.formData.RequestedTime = _savedStartTimeObject;\n\n this.lblMessage = data.Statusmsg;\n this.disableButton = false;\n this.showMsg = true;\n this.showerrormsg = false;\n this.onTop();\n this.fnGetCreatedNUpdatedFund();\n this.IsSweepSuccess = false;\n\n if (Status == 3) {\n \n this._fundDisbursment.fnFundTranfer(form.value[\"Id\"], localStorage.getItem('LoginUserId')).subscribe(data => {\n var msg = data;\n if (msg == \"Sweep Failed\") {\n this.lblMessage += \" \" + data + \" due to Insufficient Balance.\";\n this.IsSweepSuccess = false;\n }\n else if (msg == \"User transaction limit exceeds\"){\n this.lblMessage += \" \" + data ;\n this.IsSweepSuccess = false;\n }\n else {\n this.lblMessage += \" \" + data;\n this.IsSweepSuccess = true;\n }\n });\n }\n else {\n this.lblMessage = data.Statusmsg;\n }\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n\n\n\n\n }\n//------------File Size check Method-------------------\n uploadFile(event) {\n\n if (event.target.files[0].size > 4194304) {\n //this.IsMaxFileSize=true;\n this.lblMessage = \"Maximum file size should be 4MB\"\n this.disableButton = true;\n this.showMsg = false;\n // this.showerrormsg = true;\n }\n else {\n if (event.target.files.length > 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n // this.disableButton = false;\n }\n }\n }\n getDate(date) {\n\n if (date.year >= 9999 || date.year <= 999) {\n this.validDate = false;\n }\n else {\n this.validDate = true;\n }\n }\n\n onSubmit(form: NgForm) {\n\n\n if(this.CustomerId == 0){\n form.value.CustomerId = this._fundDisbursment.formData.CustomerId;\n }\n else{\n form.value.CustomerId = this.CustomerId;\n }\n\n if(this._fundDisbursment.formData.TransferType == 3 && parseInt(this._fundDisbursment.formData.Amount) < 200000){\n this.isNotValidAmount = true;\n return false;\n }\n else { \n this.isNotValidAmount = false;\n }\n\n \n var name = this.allCustomersselectedval.filter(\n row => row.CustPkId == form.value.CustomerId\n );\n\n\n if (form.valid && this.validDate == true) {\n this.disableButton = true;\n }\n if (form.value.RequestedDate.singleDate.date.month >= 10) {\n this.newdate = form.value.RequestedDate.singleDate.date.year + \"-\" + form.value.RequestedDate.singleDate.date.month + \"-\" + form.value.RequestedDate.singleDate.date.day;\n }\n else {\n this.newdate = form.value.RequestedDate.singleDate.date.year + \"-0\" + form.value.RequestedDate.singleDate.date.month + \"-\" + form.value.RequestedDate.singleDate.date.day;\n }\n const mxDate = new Date();\n if (mxDate != null) {\n //this.newtime = mxDate.getHours()+\":\"+mxDate.getMinutes();\n this.newtime = \"00\" + \":\" + \"00\"\n }\n\n \n\n if (parseInt(this._fundDisbursment.formData.Status) != 6 && parseInt(this._fundDisbursment.formData.Status) != 7)\n form.value[\"Status\"] = 1;\n else if(parseInt(this._fundDisbursment.formData.Status) == 7 && this._fundDisbursment.formData.UserId == this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId')))\n form.value[\"Status\"] = 1;\n else\n form.value[\"Status\"] = parseInt(this._fundDisbursment.formData.Status);\n\n form.value[\"flag\"] = \"save\";\n form.value[\"UserId\"] = localStorage.getItem('LoginUserId'); \n\n // if(this._fundDisbursment.formData.Status != '')\n // form.value[\"Status\"] = this._fundDisbursment.formData.Status;\n // else\n // form.value[\"Status\"] = 1;\n\n const formData = new FormData();\n if (this._fundDisbursment.formData.Id == 0) {\n if (this.editedFundId > 0) {\n this._fundDisbursment.formData.Id = this.editedFundId;\n }\n }\n\n formData.append('file', this.uploadForm.get('profile').value);\n form.value[\"RequestedDate\"] = this.newdate;\n form.value[\"RequestedTime\"] = this.newtime\n if (this.validDate == true) {\n if (this.uploadForm.get('profile').value != \"\") {\n\n // this._token.fnrenewToken();\n // const httpOptions = {\n // headers: new HttpHeaders({\n // 'Content-Type': 'application/json',\n // 'Authorization': this._token.token\n // })\n // };\n // this._fundDisbursment.fnDuplicateIndent(this.editedFundId,this._fundDisbursment.formData.CustomerId,this._fundDisbursment.formData.FromAccountId,this._fundDisbursment.formData.ToAccountId).subscribe(data => {\n // if (data == 1) {\n // this.showMsg = false;\n // this.showerrormsg = true;\n // this.lblMessage = 'Indent Request already exists, Please select new account number.';\n // this.onTop();\n // this.disableButton = false;\n // return false;\n // }\n // else{\n this._fundDisbursment.fnUploadFile(formData).subscribe((res) => {\n this._fundDisbursment.formData.Uploadedinvoice = res as string;\n form.value.Uploadedinvoice = this._fundDisbursment.formData.Uploadedinvoice;\n\n if (parseInt(this._fundDisbursment.formData.Status) != 6 && parseInt(this._fundDisbursment.formData.Status) != 7)\n form.value[\"Status\"] = 1;\n else if(parseInt(this._fundDisbursment.formData.Status) == 7 && this._fundDisbursment.formData.UserId == this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId')))\n form.value[\"Status\"] = 1;\n else\n form.value[\"Status\"] = parseInt(this._fundDisbursment.formData.Status);\n form.value[\"RequestedDate\"] = this.newdate;\n form.value[\"RequestedTime\"] = this.newtime\n form.value[\"UserId\"] = localStorage.getItem('LoginUserId');\n form.value[\"flag\"] = \"save\";\n\n if(this.CustomerId == 0){\n form.value.CustomerId = this._fundDisbursment.formData.CustomerId;\n }\n else{\n form.value.CustomerId = this.CustomerId;\n }\n\n let list1 = this.FilterParentAccount.filter(x => x.AccountNumber === this._fundDisbursment.formData.FromAccountNumber)[0];\n if(list1==undefined){ } \n else{\n form.value[\"FromAccountId\"] = list1.AccountId;\n } \n let list2 = this.FilterChildAccount.filter(x => x.AccountNumber === this._fundDisbursment.formData.ToAccountNumber)[0];\n if(list2==undefined){ } \n else{\n form.value[\"ToAccountId\"] = list2.AccountId;\n }\n\n this._fundDisbursment.fnAddEditFundDisbursmentDetails(form.value).subscribe(data => {\n\n if (this.editedFundId > 0) {\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(data.RequestedDate).toObject();\n\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n form.value.RequestedDate = _savedStartDate;\n\n\n // var _savedStartTime = data.RequestedTime.split(\":\");\n // var _savedStartTimeObject = {hour: 0, minute: 0};\n // _savedStartTimeObject.hour = +_savedStartTime[0];\n // _savedStartTimeObject.minute = +_savedStartTime[1];\n // form.value.RequestedTime =_savedStartTimeObject; \n\n\n\n }\n else {\n //form.resetForm();\n // this._fundDisbursment.formData.ToAccountType = 'CurrentAccount';\n //this._fundDisbursment.formData.FromAccountType = 'CurrentAccount';\n\n }\n\n // if (this.CheckerPrivillage && (parseInt(data.Status) == 6 || parseInt(data.Status) == 7) && this.editedFundId > 0)\n // this.disableButton = true;\n // else\n // this.disableButton = false;\n \n if ((data.Status.toString() == '1' || data.Status.toString()=='6' || data.Status.toString()=='7') && data.UserId == this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))\n && this.CheckerPrivillage)\n this.disableButton = true;\n else if ((data.Status.toString() == \"1\") && !this.CheckerPrivillage)\n this.disableButton = true;\n else\n this.disableButton = false; \n\n if (this._fundDisbursment.formData.Id == 0) {\n this.fnPageRefresh(form);\n\n }\n else {\n this.showMsg = true;\n this.showerrormsg = false;\n }\n this.lblMessage = data.CustomerName + \" Indent Request \" + data.msg;\n //If we are not refreshing page then why to add in localstorage.\n localStorage.setItem(\"Msg\", this.lblMessage);\n\n\n this.onTop();\n // this.fnGetCreatedNUpdatedFund();\n this.fndefaultRequestTime();\n },\n (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n },\n (err) => {\n this.router.navigate([\"404\"]);\n }\n );\n // }\n // },\n // (err)=>{\n // this.router.navigate([\"404\"]);\n // });\n }\n else {\n // this._fundDisbursment.fnDuplicateIndent(this.editedFundId,this._fundDisbursment.formData.CustomerId,this._fundDisbursment.formData.FromAccountId,this._fundDisbursment.formData.ToAccountId).subscribe(data => {\n // if (data == 1) {\n // this.showMsg = false;\n // this.showerrormsg = true;\n // this.lblMessage = 'Indent Request already exists, Please select new account number.';\n // this.onTop();\n // this.disableButton = false;\n // return false;\n // }\n // else{\n form.value.Uploadedinvoice = this._fundDisbursment.formData.Uploadedinvoice;\n\n if (parseInt(this._fundDisbursment.formData.Status) != 6 && parseInt(this._fundDisbursment.formData.Status) != 7)\n form.value[\"Status\"] = 1;\n else if(parseInt(this._fundDisbursment.formData.Status) == 7 && this._fundDisbursment.formData.UserId == this._encrypt.decryptUsingAES256(localStorage.getItem('LoginUserId')))\n form.value[\"Status\"] = 1;\n else\n form.value[\"Status\"] = parseInt(this._fundDisbursment.formData.Status);\n form.value[\"RequestedDate\"] = this.newdate;\n form.value[\"RequestedTime\"] = this.newtime\n form.value[\"UserId\"] = localStorage.getItem('LoginUserId');\n form.value[\"flag\"] = \"save\";\n\n if(this.CustomerId == 0){\n form.value.CustomerId = this._fundDisbursment.formData.CustomerId;\n }\n else{\n form.value.CustomerId = this.CustomerId;\n }\n\n let list1 = this.FilterParentAccount.filter(x => x.AccountNumber === this._fundDisbursment.formData.FromAccountNumber)[0];\n if(list1==undefined){ } \n else{\n form.value[\"FromAccountId\"] = list1.AccountId;\n } \n let list2 = this.FilterChildAccount.filter(x => x.AccountNumber === this._fundDisbursment.formData.ToAccountNumber)[0];\n if(list2==undefined){ } \n else{\n form.value[\"ToAccountId\"] = list2.AccountId;\n }\n\n this._fundDisbursment.fnAddEditFundDisbursmentDetails(form.value).subscribe(data => {\n\n if (this.editedFundId > 0) {\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(data.RequestedDate).toObject();\n\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n form.value.RequestedDate = _savedStartDate;\n\n\n // var _savedStartTime = data.RequestedTime.split(\":\");\n // var _savedStartTimeObject = {hour: 0, minute: 0};\n // _savedStartTimeObject.hour = +_savedStartTime[0];\n // _savedStartTimeObject.minute = +_savedStartTime[1];\n // form.value.RequestedTime =_savedStartTimeObject;\n\n }\n else {\n // form.resetForm();\n //this._fundDisbursment.formData.ToAccountType = 'CurrentAccount';\n //this._fundDisbursment.formData.FromAccountType = 'CurrentAccount';\n }\n\n if (this._fundDisbursment.formData.Id == 0) {\n this.fnPageRefresh(form);\n }\n else {\n this.showMsg = true;\n this.showerrormsg = false;\n }\n this.lblMessage = data.CustomerName + \" Indent Request \" + data.msg;\n localStorage.setItem(\"Msg\", this.lblMessage);\n\n\n // if (this.CheckerPrivillage && (parseInt(data.Status) == 6 || parseInt(data.Status) == 7) && this.editedFundId > 0)\n // this.disableButton = true;\n // else\n // this.disableButton = false;\n\n if ((data.Status.toString() == '1' || data.Status.toString() == '6' || data.Status.toString() == '7') && data.UserId == this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))\n && this.CheckerPrivillage)\n this.disableButton = true;\n else if ((data.Status.toString() == \"1\") && !this.CheckerPrivillage)\n this.disableButton = true;\n else\n this.disableButton = false; \n\n\n // this.showMsg = true;\n // this.showerrormsg = false;\n this.onTop();\n // this.fnGetCreatedNUpdatedFund();\n this.fndefaultRequestTime();\n },\n (err) => {\n this.router.navigate([\"404\"]);\n });\n // }\n // },\n // (err)=>{\n // this.router.navigate([\"404\"]);\n // });\n }\n }\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n resetForm(form: NgForm) {\n if (this.editedFundId > 0) {\n form.reset();\n this._fundDisbursment.formData = {\n Id: 0,\n // AccountId: null,\n AccountNumber: '',\n Amount: null,\n RequestedDate: '',\n RequestedTime: '',\n Uploadedinvoice: '',\n CustomerId: null,\n CustomerName: '',\n Branch: '',\n Status: '1',\n msg: '',\n ToAccountId: null,\n ToAccountType: 'CurrentAccount',\n FromAccountId: null,\n FromAccountType: 'CurrentAccount',\n SchemeId: null,\n SchemeName: '',\n IndentStatus: '',\n readonly: false,\n Statusmsg: '',\n AuthorizeHide: false,\n Comment1: '',\n Comment2: '',\n lblTitle: 'Edit Indent Request',\n RequestedDateAndTime: '',\n CreatedBy: '',\n CreatedDate: '',\n StatusByUserId: 0,\n DateCreated: '',\n FundDisbursementApproval: '',\n UserId: null,\n TransferType: null,\n TransferTypeDesc:'',\n FromAccountNumber:'',\n ToAccountNumber:''\n }\n this.editedFundId = +localStorage.getItem('newIndendentId');\n } else {\n form.reset();\n this._fundDisbursment.formData = {\n Id: 0,\n // AccountId: null,\n AccountNumber: '',\n Amount: null,\n RequestedDate: '',\n RequestedTime: '',\n Uploadedinvoice: '',\n CustomerId: null,\n CustomerName: '',\n Branch: '',\n Status: '1',\n msg: '',\n ToAccountId: null,\n ToAccountType: 'CurrentAccount',\n FromAccountId: null,\n FromAccountType: 'CurrentAccount',\n SchemeId: null,\n SchemeName: '',\n IndentStatus: '',\n readonly: false,\n Statusmsg: '',\n AuthorizeHide: false,\n Comment1: '',\n Comment2: '',\n lblTitle: 'Add Indent Request',\n RequestedDateAndTime: '',\n CreatedBy: '',\n CreatedDate: '',\n StatusByUserId: 0,\n DateCreated: '',\n FundDisbursementApproval: '',\n UserId: null,\n TransferType: null,\n TransferTypeDesc:'',\n FromAccountNumber:'',\n ToAccountNumber:''\n }\n }\n }\n//--------Get fund by ID----------------\n oldstatus: number;\n IsDisableDeleteButton:boolean = false;\n\n fnGetFundById() {\n\n this.showMsg = false;\n this.showerrormsg = false;\n\n if (this.editedFundId > 0) {\n\n if (this.editedFundId > 0 && this.Flag === 'NonAuthorization') {\n this._fundDisbursment.GetIndentDataById(this.editedFundId.toString()).subscribe(AllFund => {\n this._fundDisbursment.formData = AllFund; \n\n this._fundDisbursment.fnGetAccountForFund(localStorage.getItem(\"LoginUserId\"),\n this._fundDisbursment.formData.CustomerId).subscribe(AccountNumber => {\n this.FromToAccountNumber = AccountNumber; \n let list1 = this.FromToAccountNumber.filter(x => x.AccountId === this._fundDisbursment.formData.FromAccountId)[0];\n if(list1==undefined){ } \n else{\n this._fundDisbursment.formData.FromAccountNumber = this._encrypt.decryptUsingAES256(list1.AccountNumber);\n } \n let list2 = this.FromToAccountNumber.filter(x => x.AccountId === this._fundDisbursment.formData.ToAccountId)[0];\n if(list2==undefined){ } \n else{\n this._fundDisbursment.formData.ToAccountNumber = this._encrypt.decryptUsingAES256(list2.AccountNumber);\n }\n });\n\n //This when status is approved and Sweep Successful disable fields on edit\n if (this._fundDisbursment.formData.Status == \"8\" || this._fundDisbursment.formData.Status == \"3\") {\n this.viewMode = true;\n }\n\n if(this._fundDisbursment.formData.Status != \"4\" && this._fundDisbursment.formData.UserId != this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))\n this.IsDisableDeleteButton = true;\n if(this._fundDisbursment.formData.Status == \"1\")\n this.IsDisableDeleteButton = true;\n \n if (AllFund.RequestedDate != null) {\n\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(AllFund.RequestedDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._fundDisbursment.formData.RequestedDate = _savedStartDate;\n\n // var _savedStartDate = moment(AllFund.RequestedDate).toObject();\n\n // var _savedStartDateObject = {day:0,month:0,year:0};4\n\n // _savedStartDateObject.day = _savedStartDate.date;\n // _savedStartDateObject.month = _savedStartDate.months+1;\n // _savedStartDateObject.year = _savedStartDate.years;\n // this._fundDisbursment.formData.RequestedDate =_savedStartDateObject; \n\n }\n\n if (AllFund.RequestedTime != null) {\n\n var _savedStartTime = AllFund.RequestedTime.split(\":\");\n\n var _savedStartTimeObject = { hour: 0, minute: 0 };\n\n _savedStartTimeObject.hour = +_savedStartTime[0];\n _savedStartTimeObject.minute = +_savedStartTime[1];\n\n this._fundDisbursment.formData.RequestedTime = _savedStartTimeObject;\n\n }\n\n if (AllFund.SchemeId == 0)\n this._fundDisbursment.formData.SchemeId = null;\n this.lblTitle = 'Edit Indent Request';\n this._fundDisbursment.formData.readonly = false;\n this.ISFileExists = this._fundDisbursment.formData.Uploadedinvoice;\n this.HiddenClr = true;\n\n //this.fnGetAllCustomerDetails(); //vaibhav\n //this.SchemeList();\n //this.AccountType();\n // this.AccountList(); ////vaibhav\n\n this.fnGetCreatedNUpdatedFund();\n\n if (this.ISFileExists != \"\") {\n this.IsfileView = true;\n }\n this.oldstatus = parseInt(this._fundDisbursment.formData.Status);\n\n if (this.CheckerPrivillage == true && (this.oldstatus == 5 || this.oldstatus == 6 || this.oldstatus == 7)\n && (this._fundDisbursment.formData.UserId != this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))))\n this.buttonvalue = \"Verify\";\n else\n this.buttonvalue = \"Submit\";\n\n\n if ((this._fundDisbursment.formData.Status.toString() == '5') && this._fundDisbursment.formData.UserId == this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"))\n && this.CheckerPrivillage)\n this.disableButton = true;\n else if ((this._fundDisbursment.formData.Status.toString() == \"5\") && !this.CheckerPrivillage)\n this.disableButton = true;\n else\n this.disableButton = false;\n if (this.CheckerPrivillage && this._fundDisbursment.formData.UserId != this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")) &&\n (this.oldstatus == 6 || this.oldstatus == 7 || this.oldstatus == 2 || this.oldstatus == 9 || this.oldstatus == 4))\n this.disableButton = true;\n\n if (this.oldstatus == 1) {\n this.disableButton = true;\n }\n\n if (this._fundDisbursment.formData.Status.toString() == '5' && this.CheckerPrivillage && this._fundDisbursment.formData.UserId != this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\")))\n this._fundDisbursment.formData.Status = null;\n\n if (this.oldstatus == 6)\n this.disableButton = true;\n\n\n //vaibhav----------------------------------------\n if (this._fundDisbursment.formData.SchemeId != 0 && this._fundDisbursment.formData.SchemeId != null) {\n this._SchemeService.fnGetSchemeListforDropDown(this._fundDisbursment.formData.SchemeId.toString()).subscribe(Scheme => {\n this.Scheme = Scheme;\n \n this.FilterScheme = this.Scheme.filter(row => {\n return row.CustomerId === this._fundDisbursment.formData.CustomerId;\n });\n if (this.FilterScheme[0].Status == 0 || this.FilterScheme[0].Status == 2) {\n this.IsSchemeIsInactive = true;\n }\n else {\n this.IsSchemeIsInactive = false;\n }\n // this._fundDisbursment.formData.SchemeId = this.FilterScheme[0].SchemeId;\n });\n }\n else {\n this.SchemeList();\n }\n if (this.editedFundId != 0)\n this.ParentAccountNumber();\n //---------------------------------------------------------\n \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else if (this.editedFundId > 0 && this.Flag === 'View') {\n this._fundDisbursment.GetIndentDataById(this.editedFundId.toString()).subscribe(AllFund => {\n this._fundDisbursment.formData = AllFund;\n\n this._fundDisbursment.fnGetAccountForFund(localStorage.getItem(\"LoginUserId\"),\n this._fundDisbursment.formData.CustomerId).subscribe(AccountNumber => {\n this.FromToAccountNumber = AccountNumber; \n let list1 = this.FromToAccountNumber.filter(x => x.AccountId === this._fundDisbursment.formData.FromAccountId)[0];\n if(list1==undefined){ } \n else{\n this._fundDisbursment.formData.FromAccountNumber = this._encrypt.decryptUsingAES256(list1.AccountNumber);\n } \n let list2 = this.FromToAccountNumber.filter(x => x.AccountId === this._fundDisbursment.formData.ToAccountId)[0];\n if(list2==undefined){ } \n else{\n this._fundDisbursment.formData.ToAccountNumber = this._encrypt.decryptUsingAES256(list2.AccountNumber);\n }\n });\n\n if (AllFund.RequestedDate != null) {\n\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(AllFund.RequestedDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._fundDisbursment.formData.RequestedDate = _savedStartDate;\n\n // var _savedStartDate = moment(AllFund.RequestedDate).toObject();\n\n // var _savedStartDateObject = {day:0,month:0,year:0};\n\n // _savedStartDateObject.day = _savedStartDate.date;\n // _savedStartDateObject.month = _savedStartDate.months+1;\n // _savedStartDateObject.year = _savedStartDate.years;\n // this._fundDisbursment.formData.RequestedDate =_savedStartDateObject; \n\n }\n\n if (AllFund.RequestedTime != null) {\n\n var _savedStartTime = AllFund.RequestedTime.split(\":\");\n\n var _savedStartTimeObject = { hour: 0, minute: 0 };\n\n _savedStartTimeObject.hour = +_savedStartTime[0];\n _savedStartTimeObject.minute = +_savedStartTime[1];\n\n this._fundDisbursment.formData.RequestedTime = _savedStartTimeObject;\n\n }\n\n if (AllFund.SchemeId == 0)\n this._fundDisbursment.formData.SchemeId = null;\n this.lblTitle = 'View Indent Request';\n this._fundDisbursment.formData.readonly = false;\n this.disableButton = true;\n this.disableClear = true;\n this.HiddenClr = true;\n //this._fundDisbursment.formData.readonly = true;\n this.viewMode = true;\n\n //vaibhav----------------------------------------\n if (this._fundDisbursment.formData.SchemeId != 0 && this._fundDisbursment.formData.SchemeId != null) {\n this._SchemeService.fnGetSchemeListforDropDown(this._fundDisbursment.formData.SchemeId.toString()).subscribe(Scheme => {\n this.Scheme = Scheme;\n \n this.FilterScheme = this.Scheme.filter(row => {\n return row.CustomerId === this._fundDisbursment.formData.CustomerId;\n });\n if (this.FilterScheme[0].Status == 0 || this.FilterScheme[0].Status == 2) {\n this.IsSchemeIsInactive = true;\n }\n else {\n this.IsSchemeIsInactive = false;\n }\n // this._fundDisbursment.formData.SchemeId = this.FilterScheme[0].SchemeId;\n });\n }\n else {\n this.SchemeList();\n }\n if (this.editedFundId != 0)\n this.ParentAccountNumber();\n //---------------------------------------------------------\n\n //this.fnGetAllCustomerDetails(); //vaibhav\n //this.SchemeList();\n //this.AccountType();\n //this.AccountList(); //vaibhav\n\n this.fnGetCreatedNUpdatedFund();\n\n \n\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n this.IsfileView = false;\n }\n else if (this.editedFundId > 0 && this.Flag === 'Authorization') {\n this._fundDisbursment.GetIndentDataById(this.editedFundId.toString()).subscribe(AllFund => {\n this._fundDisbursment.formData = AllFund;\n\n this._fundDisbursment.fnGetAccountForFund(localStorage.getItem(\"LoginUserId\"),\n this._fundDisbursment.formData.CustomerId).subscribe(AccountNumber => {\n this.FromToAccountNumber = AccountNumber; \n let list1 = this.FromToAccountNumber.filter(x => x.AccountId === this._fundDisbursment.formData.FromAccountId)[0];\n if(list1==undefined){ } \n else{\n this._fundDisbursment.formData.FromAccountNumber = this._encrypt.decryptUsingAES256(list1.AccountNumber);\n } \n let list2 = this.FromToAccountNumber.filter(x => x.AccountId === this._fundDisbursment.formData.ToAccountId)[0];\n if(list2==undefined){ } \n else{\n this._fundDisbursment.formData.ToAccountNumber = this._encrypt.decryptUsingAES256(list2.AccountNumber);\n }\n });\n\n if (AllFund.RequestedDate != null) {\n\n var _savedStartDate = {\n isRange: false,\n singleDate: { date: { year: 0, month: 0, day: 0 }, jsDate: \"\", formatted: \"\", epoc: \"\" },\n dateRange: null\n };\n\n var newObj = moment(AllFund.RequestedDate).toObject();\n _savedStartDate.singleDate.date.day = newObj.date;\n _savedStartDate.singleDate.date.month = newObj.months + 1;\n _savedStartDate.singleDate.date.year = newObj.years;\n\n this._fundDisbursment.formData.RequestedDate = _savedStartDate;\n\n // var _savedStartDate = moment(AllFund.RequestedDate).toObject();\n\n // var _savedStartDateObject = {day:0,month:0,year:0};\n\n // _savedStartDateObject.day = _savedStartDate.date;\n // _savedStartDateObject.month = _savedStartDate.months+1;\n // _savedStartDateObject.year = _savedStartDate.years;\n // this._fundDisbursment.formData.RequestedDate =_savedStartDateObject; \n\n }\n\n if (AllFund.RequestedTime != null) {\n\n var _savedStartTime = AllFund.RequestedTime.split(\":\");\n\n var _savedStartTimeObject = { hour: 0, minute: 0 };\n\n _savedStartTimeObject.hour = +_savedStartTime[0];\n _savedStartTimeObject.minute = +_savedStartTime[1];\n\n this._fundDisbursment.formData.RequestedTime = _savedStartTimeObject;\n\n }\n\n if (AllFund.SchemeId == 0)\n this._fundDisbursment.formData.SchemeId = null;\n\n this.lblTitle = 'Verify Indent Request';\n\n this._fundDisbursment.formData.readonly = true;\n if (this._fundDisbursment.formData.readonly == true && (this._fundDisbursment.formData.Status == \"2\" || this._fundDisbursment.formData.Status == \"3\" || this._fundDisbursment.formData.Status == \"4\") &&\n this._fundDisbursment.formData.Comment1 == \"\")\n this.Comment1blockshow = false;\n else\n this.Comment1blockshow = true;\n\n if (this._fundDisbursment.formData.readonly == true && (this._fundDisbursment.formData.Status == \"3\" || this._fundDisbursment.formData.Status == \"4\") &&\n this._fundDisbursment.formData.Comment2 == \"\")\n this.Comment2blockshow = false;\n\n else\n this.Comment2blockshow = true;\n\n\n //vaibhav----------------------------------------\n if (this._fundDisbursment.formData.SchemeId != 0 && this._fundDisbursment.formData.SchemeId != null) {\n this._SchemeService.fnGetSchemeListforDropDown(this._fundDisbursment.formData.SchemeId.toString()).subscribe(Scheme => {\n this.Scheme = Scheme;\n \n this.FilterScheme = this.Scheme.filter(row => {\n return row.CustomerId === this._fundDisbursment.formData.CustomerId;\n });\n if (this.FilterScheme[0].Status == 0 || this.FilterScheme[0].Status == 2) {\n this.IsSchemeIsInactive = true;\n }\n else {\n this.IsSchemeIsInactive = false;\n }\n // this._fundDisbursment.formData.SchemeId = this.FilterScheme[0].SchemeId;\n });\n }\n else {\n this.SchemeList();\n }\n if (this.editedFundId != 0)\n this.ParentAccountNumber();\n //---------------------------------------------------------\n \n //this.fnGetAllCustomerDetails(); //vaibhav\n //this.SchemeList();\n //this.AccountType();\n // this.AccountList(); //vaibhav\n\n this.fnGetCreatedNUpdatedFund();\n \n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n this.IsfileView = false;\n }\n }\n else {\n this.lblTitle = 'Add Indent Request';\n this._fundDisbursment.formData = {\n Id: 0,\n // AccountId: null,\n AccountNumber: '',\n Amount: null,\n RequestedDate: '',\n RequestedTime: '',\n Uploadedinvoice: '',\n CustomerId: null,\n CustomerName: '',\n Branch: '',\n Status: '1',\n msg: '',\n ToAccountId: null,\n ToAccountType: 'CurrentAccount',\n FromAccountId: null,\n FromAccountType: 'CurrentAccount',\n SchemeId: null,\n SchemeName: '',\n IndentStatus: '',\n readonly: false,\n Statusmsg: '',\n AuthorizeHide: false,\n Comment1: '',\n Comment2: '',\n lblTitle: 'Add Indent Request',\n RequestedDateAndTime: '',\n CreatedBy: '',\n CreatedDate: '',\n StatusByUserId: 0,\n DateCreated: '',\n FundDisbursementApproval: '',\n UserId: null,\n TransferType: null,\n TransferTypeDesc:'',\n FromAccountNumber:'',\n ToAccountNumber:''\n }\n //this.fnGetAllCustomerDetails(); //vaibhav\n //this.SchemeList();\n //this.AccountType();\n // this.AccountList(); //vaibhav\n this.buttonvalue = \"Submit\";\n this.fndefaultRequestTime();\n if (this.lblMessage == null || this.lblMessage == \"\") {\n } else {\n this.lblMessage == localStorage.getItem(\"Msg\");\n this.showMsg = true;\n this.showerrormsg = false;\n localStorage.removeItem(\"Msg\");\n // this.onTop();\n }\n setTimeout(() => {\n this._spinner.hide();\n }, 100);\n }\n }\n//-----Created & Last Updated by History--------\n fnGetCreatedNUpdatedFund() {\n this._fundDisbursment.fnGetCreatedNUpatedDateOfFundDisbursement(this._fundDisbursment.formData.Id.toString()).subscribe(userdates => {\n this.FundCreatedUpdated1 = userdates;\n\n if (this.FundCreatedUpdated1[0].CreatedDate != '') {\n this.showCreatedDiv = true;\n this.createdDate = this.FundCreatedUpdated1[0].CreatedDate;\n this.userNameCreated = this.FundCreatedUpdated1[0].UserName;\n }\n if(this.FundCreatedUpdated1.length == 2){\n if (this.FundCreatedUpdated1[1].UpdatedDate != '' && this.FundCreatedUpdated1[1].UpdatedDate != null) {\n this.showUpdatedDiv = true;\n this.usernameUpdte = this.FundCreatedUpdated1[1].UserName;\n this.updtedDate = this.FundCreatedUpdated1[1].UpdatedDate;\n }\n }\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n// ----Delete Invoice File Method------\n DeleteInvoiceMethod() {\n this._fundDisbursment.fnDeleteInvoceCopy(this.editedFundId).subscribe(res => {\n if (res.length > 0) {\n this.ISFileExists = \"\";\n }\n this.IsfileView = false;\n this.lblMessage = res;\n this.hide();\n this.showlbl();\n this.onTop();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n//----Show Confirmation popup for Delete invice file\n DeleteInvoiceCopy() {\n this.show();\n }\n\n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n//---------page Reresh-----------------\n fnPageRefresh(form) {\n if (this.editedFundId > 0) {\n this.resetForm(form);\n this.onTop();\n }\n else {\n \n //this.resetForm(form)\n this.onTop();\n setTimeout(function () {\n this.document.location.reload();\n }, 100);\n }\n }\n\n fndefaultRequestTime() {\n var dt = new Date();\n var _savedStartTimeObjectnew = { hour: 0, minute: 0 };\n _savedStartTimeObjectnew.hour = + dt.getHours();\n _savedStartTimeObjectnew.minute = + dt.getMinutes();\n this._fundDisbursment.formData.RequestedTime = _savedStartTimeObjectnew;\n }\n //--------only Number on key press--\n onKeyDown(event: KeyboardEvent) {\n\n let a = (event.charCode == 8 || event.charCode == 45 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n\n\n futureDateError: boolean;\n inputDate: Date;\n //--------date validaton----------------\n checkDateValidity(date) {\n const mxDate = new Date();\n this.inputDate = date.singleDate.jsDate;\n if (this.inputDate.getDate() == mxDate.getDate() && this.inputDate.getMonth() == mxDate.getMonth() && this.inputDate.getFullYear() == mxDate.getFullYear()) {\n this.futureDateError = false;\n }\n else {\n if (this.inputDate < mxDate) { this.futureDateError = true; }\n else { this.futureDateError = false; }\n }\n return this.futureDateError;\n }\n//------------back button code----------\n BackButton() {\n localStorage.removeItem('Msg');\n this.router.navigate(['/ManageFundDisbursement']);\n }\n SchemeOnChange(SchemeId) {\n \n for (var i = 0; i < this.FilterScheme.length; i++) {\n if (this.FilterScheme[i].SchemeId == SchemeId) {\n this.NewFilterScheme = this.FilterScheme[i];\n }\n }\n if (this.NewFilterScheme.Status == 0 || this.NewFilterScheme.Status == 2) {\n this.IsSchemeIsInactive = true;\n }\n else {\n this.IsSchemeIsInactive = false;\n }\n }\n\n ChangeTransferType() {\n if (this._fundDisbursment.formData.TransferType == 1) {\n this.ParentAccount = this.Account.filter(row => { return row.IsCorrespondentBank == 0 });\n this.ChildAccount = this.Account.filter(row => { return row.IsCorrespondentBank == 0 });\n }\n else if (this._fundDisbursment.formData.TransferType == 2) {\n this.ParentAccount = this.Account.filter(row => { return row.IsCorrespondentBank == 0 });\n this.ChildAccount = this.Account.filter(row => { return row.IsCorrespondentBank == 1 });\n }\n else if (this._fundDisbursment.formData.TransferType == 3) {\n this.ParentAccount = this.Account.filter(row => { return row.IsCorrespondentBank == 0 });\n this.ChildAccount = this.Account.filter(row => { return row.IsCorrespondentBank == 1 && row.IsRTGSEnable == 1 });\n }\n this.fnAccount(this._fundDisbursment.formData.ToAccountType,this._fundDisbursment.formData.FromAccountType, this._fundDisbursment.formData.FromAccountId);\n }\n\n NavigateToAcccountMaster() {\n localStorage.setItem(\"IndentId\", this.editedFundId.toString());\n this.router.navigate(['/ManageAccount']);\n }\n\n StatusChange(){\n if(this._fundDisbursment.formData.Status == \"null\")\n this._fundDisbursment.formData.Status = null;\n }\n\n isNotValidAmount:boolean = false;\n AmountValidation(TransferType){\n if(TransferType == \"3\" && parseInt(this._fundDisbursment.formData.Amount) < 200000)\n this.isNotValidAmount = true;\n else \n this.isNotValidAmount = false; \n }\n}\n","
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n

{{lblTitle}}

\n
\n
\n
\n
\n \n
\n
\n
\n

* Marked Fields Are Mandatory.

\n
\n
\n
\n ×\n Success! {{lblMessage}}. View Updated a/c balances\n
\n \n
\n ×\n Error! {{lblMessage}}.\n
\n \n
\n
\n
\n \n\n \n \n \n \n \n
\n Customer Name is required.\n
\n
\n Please select valid Customer Name.\n
\n \n \n\n \n\n\n \n
\n \n
\n \n \n
Amount is required.
\n
Minimum Amount request should be 200000.
\n
\n\n
\n
\n \n \n
\n This Status is required
\n
\n\n
\n \n \n
\n Transfer Type is required
\n
\n\n\n
\n \n \n
From Account Type is required.
\n
\n \n \n\n
\n
\n \n \n \n
\n From Account is required.
\n
\n\n
\n \n \n
To Account Type is required.
\n
\n\n \n
\n
\n \n \n \n
\n To Account is required.
\n
\n\n \n\n
\n \n \n \n
\n \n \n
\n \n \n \n
\n\n
\n\n \n\n \n\n \n \n
\n \n\n
\n \n
\n
\n \n
\n Requested Date should be greater than or equal to current date\n
\n
\n Requested Date is required.\n
\n
\n Enter a valid date in DD-MM-YYYY format \n
\n
\n Enter a valid date in YYYY-MM-DD format \n
\n\n \n
\n\n \n\n \n\n
\n \n \n
\n\n
\n \n \n
\n \n
\n
\n \n
\n \n
\n
\n
\n\n \n\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n\n
\n Created By {{ userNameCreated }} on {{ createdDate }}\n
\n
\n Updated By {{ usernameUpdte }} on {{ updtedDate }}\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to delete.

\n
\n
\n \n \n
\n
\n
\n
\n\n \n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { Router,NavigationExtras } from '@angular/router';\nimport { FundDisbursmentService } from '../../MasterService/fund-disbursment.service';\nimport { FundDisbursment } from '../../MasterService/fund-disbursment';\nimport { RoleAccessService }from '../../MasterService/role-access.service';\nimport { RoleAccess } from '../../MasterService/RoleAccess';\nimport { NgxSpinnerService } from \"ngx-spinner\";\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { formatDate,DatePipe } from '@angular/common';\nimport * as $ from 'jquery';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport { saveAs } from 'file-saver';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\n\n\ndeclare var sortTableIndentMst: Function;\n\n@Component({\n selector: 'app-master-fund-disbursement-component',\n templateUrl: './master-fund-disbursement-component.component.html',\n styleUrls: ['./master-fund-disbursement-component.component.css']\n})\nexport class MasterFundDisbursementComponentComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n };\n myDpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n // other options are here...\n };\n\n date1: Date;\n date2: number;\n isActive: boolean;\n AllIndentChk: boolean;\n showModalForAllDelete: boolean;\n AllSelected: boolean;\n ConfirmationMsg: string;\n DecryptedUserId : string;\n ddlshowStartValue: number;\n allCustList:any=[];\n IsCustomerInActive:boolean=false;\n ddlDropdownValue: any;\n ComingFromExport: boolean=false;\n CraredDateforExportSrch: any;\n RequestedDateforExportSrch: any;\n\n constructor(private router: Router , public _FundDisbursmentService:FundDisbursmentService, public _customerService: CustomerService,\n public _roleAccess: RoleAccessService,public _spinner:NgxSpinnerService , public _encrypt:EncryptdecryptService,\n public _PaginationService:PaginationService, private ngbDateParserFormatter: NgbDateParserFormatter) { }\n\n FundDisbursmentList : any = [];\n FilteredFundDisbursmentList : any = [];\n RoleAccess:RoleAccess;\n\n EditPriv:boolean;\n DeletePrivllage:boolean;\n AddPrivillage:boolean;\n ViewPrivllage:boolean;\n CheckerPrivillage:boolean;\n ddlshowvalue:number;\n config: any;\n filterCount:string;\n showvalue:number;\n searchCount:string;\n lblMessage:string;\n IndentId : number;\n lastSortedByField;\n ascendingOrder = true;\n AddExportAccess:boolean;\n fileName:string;\n\n // Bulk Delete fields\n FundSelected:boolean;\n IsFundSelected:boolean;\n checkedList:any=[];\n listLengthForSelect: 0;\n BulkDelete:boolean = true;\n showerrormsg:boolean = false; \n \n \n ngOnInit(): void {\n this._spinner.show();\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n this.DecryptedUserId = this._encrypt.decryptUsingAES256(localStorage.getItem(\"LoginUserId\"));\n //bind NgModel on page load---\n this.FundMaster();\n //GetPrivillage based on id-----\n this.GetPrivillageRoles();\n //Get CustomerList in dropdwon-----\n this.fnGetCustomerName();\n // this.FnFundDisbursment();\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue =10;\n this.ddlshowStartValue = 1;\n //grid Sorting on Created Date---\n sortTableIndentMst(6,false);\n\n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n }\n//-------pagination Control method-----\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n // if(this.FilteredFundDisbursmentList.length<=this.ddlshowvalue)\n // this.ddlshowvalue = this.FilteredFundDisbursmentList.length;\n }\n//-------On click Add indent button --------\n NewFundMaster() {\n localStorage.setItem('newIndendentId',String('0'));\n localStorage.setItem('_Flag','');\n this._FundDisbursmentService.formData = {\n Id: 0,\n // AccountId: null,\n AccountNumber: '',\n Amount:'',\n RequestedDate:'',\n RequestedTime:'',\n Uploadedinvoice:'',\n CustomerId:null,\n CustomerName:'',\n Branch:'',\n Status:'',\n msg: '',\n ToAccountId: null,\n ToAccountType : 'CurrentAccount',\n FromAccountId : null,\n FromAccountType: 'CurrentAccount',\n SchemeId : null,\n SchemeName :'',\n IndentStatus : '',\n readonly:false,\n Statusmsg:'',\n AuthorizeHide:false,\n Comment1:'',\n Comment2:'',\n lblTitle:'Add Indent Request',\n RequestedDateAndTime:'',\n CreatedBy:'',\n CreatedDate:'',\n StatusByUserId:0,\n DateCreated:'',\n FundDisbursementApproval:'',\n UserId:null,\n TransferType :null,\n TransferTypeDesc:'',\n FromAccountNumber:'',\n ToAccountNumber:''\n }\n this.router.navigate(['/AddEditFundDisburs']);\n }\n //--On page load NgModel Bind------ \n FundMaster() {\n this._FundDisbursmentService.formData = {\n Id: 0,\n // AccountId: null,\n AccountNumber: '',\n Amount:'',\n RequestedDate:'',\n RequestedTime:'',\n Uploadedinvoice:'',\n CustomerId:null,\n CustomerName:'',\n Branch:'',\n Status:'',\n msg: '',\n ToAccountId: null,\n ToAccountType : 'CurrentAccount',\n FromAccountId : null,\n FromAccountType: 'CurrentAccount',\n SchemeId : null,\n SchemeName :'',\n IndentStatus : '',\n readonly:false,\n Statusmsg:'',\n AuthorizeHide:false,\n Comment1:'',\n Comment2:'',\n lblTitle:'',\n RequestedDateAndTime:'',\n CreatedBy:'',\n CreatedDate:'',\n StatusByUserId:0,\n DateCreated:'',\n FundDisbursementApproval:'',\n UserId:null,\n TransferType:null,\n TransferTypeDesc:'',\n FromAccountNumber:'',\n ToAccountNumber:''\n }\n }\n//-----------GetPrivillageRoles by id Method----------------\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),'/ManageFundDisbursement').subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.EditPriv =this.RoleAccess.EditAccess; \n this.DeletePrivllage=this.RoleAccess.DeleteAccess;\n this.AddPrivillage=this.RoleAccess.AddAccess;\n this.CheckerPrivillage= this.RoleAccess.CheckerAccess;\n this.AddExportAccess=this.RoleAccess.AddExportAccess; \n //this.ViewPrivllage = this.RoleAccess.ViewAccess;\n if(!this.EditPriv && this.RoleAccess.ViewAccess)\n this.ViewPrivllage=true;\n this.FnFundDisbursment(\"\",\"\",\"\",\"\",\"\",this.sortOrder,\"1\");\n //this.FnFundDisbursmentExport();\n },(err)=>{\n this.router.navigate([\"404\"]);\n }) ; \n }\n\n//get Funddisbursement data for export\nExportFundlist:any=[];\nFilterExportFundList:any=[];\n\n// FnFundDisbursmentExport(){\n// this._FundDisbursmentService.fnGetExportFundDisbursmenetList(localStorage.getItem(\"LoginUserId\")).subscribe(Fund=>{\n// Fund.forEach(element => {\n// if(element[\"UserId\"] == this.DecryptedUserId){\n// if(parseInt(element[\"Status\"]) != 2)\n// this.ExportFundlist.push(element);\n// }\n// }); \n// this.FilterExportFundList = this.ExportFundlist;\n// });\n// }\n\n//--------get funddisbursement data ------------------------ \nFnFundDisbursment (RequestDate, Amount, CustomerName, Status, CreateDate, SortOrder=\"\", PageNumber=\"\"){\n \n if(PageNumber != \"\")\n this.pageNo=PageNumber;\n\n this._FundDisbursmentService.fnGetFundDisbursmenetList(localStorage.getItem(\"LoginUserId\"),this.pageNo,this.config.itemsPerPage.toString(),SortOrder,\n RequestDate, Amount, CustomerName, Status, CreateDate).subscribe(AllFund=>{\n \n this.FundDisbursmentList = [];\n\n AllFund.forEach(element => {\n\n if(parseInt(element[\"Status\"]) == 1 || (parseInt(element[\"Status\"]) == 5 && (!this.CheckerPrivillage || element[\"UserId\"] == this.DecryptedUserId)) ||\n (this.CheckerPrivillage && parseInt(element[\"Status\"]) == 2)){\n element[\"loggedInUserDisable\"] = true;\n }\n else\n {\n element[\"loggedInUserDisable\"] = false;\n }\n\n if(element[\"role\"] == \"ADMIN\"){\n this.FundDisbursmentList.push(element);\n }\n else{\n if(this.CheckerPrivillage){\n if(element[\"UserId\"] == this.DecryptedUserId || element[\"StatusByUserId\"] == parseInt(this.DecryptedUserId)){\n\n if((parseInt(element[\"Status\"]) == 1 || parseInt(element[\"Status\"]) == 4 || parseInt(element[\"Status\"]) == 3 \n || parseInt(element[\"Status\"]) == 5 || parseInt(element[\"Status\"]) == 6 || parseInt(element[\"Status\"]) == 7\n || parseInt(element[\"Status\"]) == 8 || parseInt(element[\"Status\"]) == 9) && element[\"UserId\"] == this.DecryptedUserId){\n this.FundDisbursmentList.push(element);\n element[\"AuthorizeHide\"] = false;\n }\n else if(parseInt(element[\"Status\"]) == 2 && element[\"StatusByUserId\"] == parseInt(this.DecryptedUserId)) {\n this.FundDisbursmentList.push(element);\n element[\"AuthorizeDisable\"] = true;\n element[\"AuthorizeHide\"] = true;\n }\n else if(parseInt(element[\"Status\"]) != 2 && element[\"StatusByUserId\"] == parseInt(this.DecryptedUserId)) {\n this.FundDisbursmentList.push(element);\n element[\"AuthorizeDisable\"] = false;\n element[\"AuthorizeHide\"] = true;\n }\n }\n else{\n element[\"AuthorizeHide\"] = true;\n this.FundDisbursmentList.push(element);\n }\n }\n else{\n if(element[\"UserId\"] == this.DecryptedUserId){\n element[\"AuthorizeHide\"] = false;\n if(parseInt(element[\"Status\"]) == 1 || parseInt(element[\"Status\"]) == 4 || parseInt(element[\"Status\"]) == 3 \n || parseInt(element[\"Status\"]) == 5 || parseInt(element[\"Status\"]) == 6 || parseInt(element[\"Status\"]) == 7 \n || parseInt(element[\"Status\"]) == 8 || parseInt(element[\"Status\"]) == 9 ){\n this.FundDisbursmentList.push(element);\n }\n else{\n //RUbina added 18/01/2021 pagination issue\n // element[\"AuthorizeHide\"] = true;\n this.FundDisbursmentList.push(element);\n }\n }\n }\n }\n // else{\n // element[\"AuthorizeHide\"] = true;\n // this.FundDisbursmentList.push(element);\n // }\n });\n\n for (var i = 0; i < this.FundDisbursmentList.length; i++) {\n this.FundDisbursmentList[i].IsFundSelected = false;\n }\n\n this.FilteredFundDisbursmentList = this.FundDisbursmentList; \n this.listLengthForSelect = this.FundDisbursmentList.length;\n \n if(this.FilteredFundDisbursmentList.length > 0){ \n this.totalCount = this.FilteredFundDisbursmentList[0].FundListCount;\n this.totalNoOfPages(); \n }\n else if(this.FilteredFundDisbursmentList.length == 0){\n this.totalCount = 0;\n this.totalNoOfPages(); \n }\n debugger;\n if(this.ddlDropdownValue==10 || this.ddlDropdownValue==undefined){\n if(this.FilteredFundDisbursmentList.length<10 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredFundDisbursmentList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue== 25 ){\n if(this.FilteredFundDisbursmentList.length< 25 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredFundDisbursmentList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue== 50 ){\n if(this.FilteredFundDisbursmentList.length < 50 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredFundDisbursmentList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n if(this.ddlDropdownValue== 100 ){\n if(this.FilteredFundDisbursmentList.length <100 ){\n this.ddlshowvalue = this.totalCount;\n }\n else if(this.FilteredFundDisbursmentList.length==0){\n this.ddlshowvalue = 0;\n }\n }\n this._spinner.hide(); \n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n \n }\n//--------------Edit Indent Detail---------------------\n EditFundDisbursementDetails(_fundDisbursment: FundDisbursment) {\n localStorage.setItem('newIndendentId',String(_fundDisbursment.Id));\n localStorage.setItem('_Flag','NonAuthorization');\n //this._FundDisbursmentService.formData = _fundDisbursment;\n //this._FundDisbursmentService.formData.lblTitle = 'Edit Indent Request';\n //this._FundDisbursmentService.formData.readonly = false;\n this.router.navigate(['/AddEditFundDisburs']);\n }\n //---------For view Indent detail--------------------\n ViewFundDisbursementDetails(_fundDisbursment: FundDisbursment) {\n localStorage.setItem('newIndendentId',String(_fundDisbursment.Id));\n localStorage.setItem('_Flag','View');\n //this._FundDisbursmentService.formData = _fundDisbursment;\n //this._FundDisbursmentService.formData.lblTitle = 'Edit Indent Request';\n //this._FundDisbursmentService.formData.readonly = false;\n this.router.navigate(['/AddEditFundDisburs']);\n }\n//----For Authorization --------------------\n EditFundDisbursementDetailsForAuthorization(_fundDisbursment: FundDisbursment) {\n localStorage.setItem('newIndendentId',String(_fundDisbursment.Id));\n localStorage.setItem('_Flag','Authorization');\n //this._FundDisbursmentService.formData = _fundDisbursment;\n //this._FundDisbursmentService.formData.lblTitle = 'Add Indent Request';\n //this._FundDisbursmentService.formData.readonly = true;\n this.router.navigate(['/AddEditFundDisburs']);\n }\n \n\n//------------Seach Method------------------\n OnSearch(CustomerName,Status,RequestedDateAndTime,Amount,CreatedDate){\n this._spinner.show();\n this.CraredDateforExportSrch=CreatedDate;\n this.RequestedDateforExportSrch=RequestedDateAndTime;\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n \n if(CreatedDate == null || CreatedDate == undefined || CreatedDate == \"\")\n CreatedDate = \"\"; \n else if (CreatedDate != null && CreatedDate!=\"\") {\n CreatedDate = this.ngbDateParserFormatter.format(CreatedDate.singleDate.date);\n }\n if(RequestedDateAndTime == null || RequestedDateAndTime == undefined || RequestedDateAndTime == \"\")\n RequestedDateAndTime = \"\"; \n else if (RequestedDateAndTime != null && RequestedDateAndTime!=\"\") {\n RequestedDateAndTime = this.ngbDateParserFormatter.format(RequestedDateAndTime.singleDate.date);\n }\n if(this.ComingFromExport==false){\n this.FnFundDisbursment(RequestedDateAndTime,Amount,CustomerName,Status,CreatedDate,this.sortOrder,\"1\");\n this.pageChanged(1);\n }\n \n if(this.ComingFromExport==true){\n if(Status != \"\"){\n if(Status == \"1\"){Status = \"Pending Authorization\"; } \n else if(Status == \"2\"){Status = \"Validating\"; }\n else if(Status == \"3\"){Status = \"Approved\"; }\n else if(Status == \"4\"){Status = \"Rejected\"; }\n else if(Status == \"5\"){Status = \"Delete Approval Pending\"; }\n else if(Status == \"6\"){Status = \"Delete Approved\"; }\n else if(Status == \"7\"){Status = \"Delete Rejected\"; }\n else if(Status == \"8\"){Status = \"Sweep Successful\"; }\n else if(Status == \"9\"){Status = \"Sweep Failed\"; }\n this.FilterExportFundList = this.ExportFundlist.filter(row=>{\n return row.IndentStatus == Status;\n });\n }\n this.FilterExportFundList = this.FilterExportFundList.filter(row=>{\n return row.CustomerName.toLocaleLowerCase().match(CustomerName.toLocaleLowerCase());\n });\n if(RequestedDateAndTime!=\"\" && RequestedDateAndTime!=null){\n this.FilterExportFundList = this.FilterExportFundList.filter(row=>{\n return row.RequestedDateAndTime.toLocaleLowerCase().match(this.RequestedDateforExportSrch.singleDate.formatted.toLocaleLowerCase());\n });\n }\n if(CreatedDate!=\"\" && CreatedDate!=null){\n this.FilterExportFundList = this.FilterExportFundList.filter(row=>{\n return row.CreatedDate.toLocaleLowerCase().match(this.CraredDateforExportSrch.singleDate.formatted.toLocaleLowerCase());\n \n // return row.CreatedDate.toLocaleLowerCase().match(CreatedDate);\n });\n }\n if(Amount!=null && Amount !=\"\") { \n this.FilterExportFundList = this.FilterExportFundList.filter(row=>{\n return row.AmountList.toLocaleLowerCase().match(Amount.toLocaleLowerCase());\n });\n this.FilterExportFundList;\n }\n this.ComingFromExport=false;\n}\n\n// debugger\n// this.ddlshowvalue=this.FilteredFundDisbursmentList.length;\n// if (CustomerName !=\"\" || Status != \"\" || RequestedDateAndTime!=\"\" || (Amount!=\"\" )) {\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// this.ddlshowStartValue = 1;\n// }\n// // if (this.ddlshowvalue.toString() == \"10\") {\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = 10;\n// // }\n// // else{\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.FilteredFundDisbursmentList.length;\n// // }\n// // this.ddlshowStartValue=1;\n// // this.ddlshowvalue = 0;\n// // this.ddlshowvalue = this.config.itemsPerPage; \n \n// this.searchCount = \"\";\n// this.searchCount = this.FilteredFundDisbursmentList.length.toString();\n// this.filterCount = \"(filtered from \"+ this.FundDisbursmentList.length +\" total entries)\";\n// }\n// else{\n// if (this.ddlshowvalue <= this.config.itemsPerPage) {\n// // this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.ddlshowvalue;\n// this.ddlshowStartValue = 1;\n// this.searchCount = this.FundDisbursmentList.length.toString();\n// this.filterCount =\"\";\n// }\n// else {\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// this.ddlshowStartValue = 1;\n// this.searchCount = this.FundDisbursmentList.length.toString();\n// this.filterCount =\"\";\n// }\n \n// }\n \n \n// if(this.FilteredFundDisbursmentList.length < this.ddlshowvalue)\n// this.showvalue = this.FilteredFundDisbursmentList.length;\n// else \n// this.showvalue = this.ddlshowvalue;\n// this.filterCount = '(filtered from '+ this.FundDisbursmentList.length +' total entries)';\n}\n //-------------pagination Dropdown------------- \n fnShowonchange(newObj,RequestDate, Amount, CustomerName, Status, CreateDate){\n this.ddlDropdownValue=newObj.target.value;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = newObj.target.value;\n this.ddlshowStartValue = 1;\n this.currentPage= 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n\n if(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n\n this.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder,\"1\"); \n }\n\n showModal:boolean;\n showMsg:boolean;\n\n show() { this.showModal = true; \n $(document).ready(function () {\n $('#IDshowModal').eq(0).focus();\n }); }\n hide() { this.showModal = false; } \n\n showlbl(){\n this.showMsg = true;\n }\n hidelbl(){\n this.showMsg = false;\n }\n\n showerrorlbl(){\n this.showerrormsg = true;\n }\n hideerrorlbl(){\n this.showerrormsg = false;\n }\n\n AllDeletehide(){\n this.showModalForAllDelete=false;\n this.isActive = false;\n this.AllIndentChk=false;\n }\n AllDeleteShow(){\n this.showModalForAllDelete=true;\n }\n AllDeleteConfirm(){\n this.FundDisbursmentList.forEach(element => {\n if(element.IsFundSelected == true){\n this._FundDisbursmentService.fnDeleteIndent(element.Id.toString(),localStorage.getItem(\"LoginUserId\")).subscribe(res=>{\n this.FnFundDisbursment(\"\",\"\",\"\",\"\",\"\",this.sortOrder,\"1\");\n this.lblMessage=\"All Selected Record Deleted Successfully\"\n // this.lblMessage=\"All Account Deleted Successfully except Account Number used in Other Master. \"\n this.showlbl();\n this.onTop();\n this.AllDeletehide();\n this.FundSelected = false;\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n });\n }\n SelectAllIndent(){\n this.isActive = true;\n this.AllIndentChk=true;\n this.AllDeleteShow();\n }\n//-------Delete Indent by Id------------------------\n DeleteIndentById()\n { \n this._FundDisbursmentService.fnDeleteIndent(this.IndentId.toString(),localStorage.getItem(\"LoginUserId\")).subscribe(res=>{\n this._FundDisbursmentService.formData.RequestedDate=\"\",\n this._FundDisbursmentService.formData.Amount=\"\", \n this._FundDisbursmentService.formData.CustomerName=\"\", \n this._FundDisbursmentService.formData.Status=\"\", \n this._FundDisbursmentService.formData.CreatedDate=\"\",\n this.showFirstPage(this._FundDisbursmentService.formData.RequestedDate,\n this._FundDisbursmentService.formData.Amount, \n this._FundDisbursmentService.formData.CustomerName, \n this._FundDisbursmentService.formData.Status, \n this._FundDisbursmentService.formData.CreatedDate)\n // this.FnFundDisbursment(\"\",\"\",\"\",\"\",\"\",this.sortOrder,\"1\");\n this.lblMessage=res;\n if(this.lblMessage == \"Record Deleted Successful.\")\n this.showlbl(); \n else\n this.showerrorlbl() \n this.hide();\n this.onTop();\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n//------show popup for delete confirmation --------\n IndentDeleteConfirmation(Indent: FundDisbursment) {\n this.IndentId = Indent.Id;\n this.show(); \n}\n//------------On top method-----------------------\nonTop(){\n window.scroll({\n top: 0,\n left: 0,\n behavior:'smooth'\n })\n}\n//---------------Grid Sorting Method-------------------\nfnSortIndentMaster(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableIndentMst(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableIndentMst(obj,this.ascendingOrder);\n }\n\n if(this.ascendingOrder) {\n this.FilteredFundDisbursmentList = this.FilteredFundDisbursmentList.sort((a, b) => {\n if(field=='CreatedDate'){ \n // a[\"CreatedDate\"] = a[\"CreatedDate\"].split(\" \");\n //b[\"CreatedDate\"] = b[\"CreatedDate\"].split(\" \");\n // let date1= a[\"CreatedDate\"][0];\n //let date2= b[\"CreatedDate\"][0]\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n if(field=='RequestedDateAndTime'){\n if (a[\"RequestedDate\"].toLowerCase() < b[\"RequestedDate\"].toLowerCase())\n return -1;\n if (a[\"RequestedDate\"].toLowerCase() > b[\"RequestedDate\"].toLowerCase())\n return 1;\n } \n if(field === 'AmountList'){\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n // else{\n // if (a[field].toLowerCase() < b[field].toLowerCase())\n // return -1;\n // if (a[field].toLowerCase() > b[field].toLowerCase())\n // return 1;\n // }\n // return 0;\n });\n }\n else {\n this.FilteredFundDisbursmentList = this.FilteredFundDisbursmentList.sort((a, b) => {\n if(field=='CreatedDate'){ \n // a[\"CreatedDate\"] = a[\"CreatedDate\"].split(\" \");\n //b[\"CreatedDate\"] = b[\"CreatedDate\"].split(\" \");\n // let date1= a[\"CreatedDate\"][0];\n //let date2= b[\"CreatedDate\"][0]\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n if(field=='RequestedDateAndTime'){\n if (a[\"RequestedDate\"].toLowerCase() > b[\"RequestedDate\"].toLowerCase())\n return -1;\n if (a[\"RequestedDate\"].toLowerCase() < b[\"RequestedDate\"].toLowerCase())\n return 1;\n } \n if(field === 'AmountList'){\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else{\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n}\n\n//------------------------------------------------------\n\ncheckUncheckAllFund() {\n this.AllSelected=true;\n this.isActive = true;\n this.FundSelected != this.FundSelected;\n\n if (this.FilteredFundDisbursmentList.length > 0) {\n for (var i = 0; i < this.FilteredFundDisbursmentList.length; i++) {\n this.FilteredFundDisbursmentList[i].IsFundSelected = this.FundSelected; \n }\n }\n else\n {\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.FundDisbursmentList[i].IsFundSelected = this.FundSelected; \n }\n }\n\n this.getCheckedItemList();\n}\n\nisChecked(Id,status){\n this.AllSelected=false;\n this.IsFundSelected != status;\n for (var i = 0; i < this.listLengthForSelect; i++) {\n this.FundDisbursmentList[i].IsFundSelected == this.IsFundSelected; \n}\n this.getCheckedItemList();\n}\n\n\ngetCheckedItemList(){\n this.checkedList = [];\n for (var i = 0; i < this.listLengthForSelect; i++) {\n if(this.FundDisbursmentList[i].IsFundSelected == true)\n this.checkedList.push(this.FundDisbursmentList[i]);\n }\n this.checkedList = JSON.stringify(this.checkedList);\n\n if(this.checkedList.length > 2){\n this.BulkDelete = false;\n }\n else{\n this.BulkDelete = true;\n }\n}\n\nAllDeleteConfirmation(){\n if(this.AllSelected==true){\n this.ConfirmationMsg=\"Are you sure you want to delete All records?\"\n }\n if(this.AllSelected==false){\n this.ConfirmationMsg=\"Are you sure you want to delete selected records?\"\n }\n this.AllDeleteShow();\n}\n//------------Only Number on Keypress------------------\nonKeyDown(event: KeyboardEvent) {\n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\nreturn a;\n}\n\n//-----HTML & RTf & Excel download Method----------------\n@ViewChild('tblIndentMasterhide') tblIndentMasterhide:ElementRef;\n//title = 'Excel'; \nfndownloadReport(ddlValue){\n this._spinner.show();\n this._FundDisbursmentService.fnGetExportFundDisbursmenetList(localStorage.getItem(\"LoginUserId\")).subscribe(Fund=>{\n this.ExportFundlist = Fund;\n // Fund.forEach(element => {\n // if(element[\"UserId\"] == this.DecryptedUserId){\n // if(parseInt(element[\"Status\"]) != 2)\n // this.ExportFundlist.push(element);\n // }\n // }); \n this.ComingFromExport=true;\n this.FilterExportFundList = this.ExportFundlist;\n this.OnSearch(this._FundDisbursmentService.formData.CustomerName,this._FundDisbursmentService.formData.Status,\n this._FundDisbursmentService.formData.RequestedDate,this._FundDisbursmentService.formData.Amount,\n this._FundDisbursmentService.formData.CreatedDate);\n setTimeout(() => {\n this.ExportForFund(ddlValue)\n this._spinner.hide();\n }, 500);\n });\n} \nExportForFund(ddlValue){\n if(ddlValue === \"excel\"){\n this.fileName= 'IndentMasterReport.xlsx';\n\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblIndentMasterhide.nativeElement);\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n\n /* save to file */\n XLSX.writeFile(wb, this.fileName);\n }\n \n if(ddlValue === \"rtf\"){\n this.fileName = 'IndentMasterReport.rtf';\n var ele = document.getElementById('tblIndentMasterhideRTF');\n var blob = new Blob([\"

Indent Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n\n if(ddlValue === \"html\"){\n this.fileName = 'IndentMasterReport.html'; \n var ele = document.getElementById('tblIndentMasterhide');\n var blob = new Blob([\"

Indent Master's Report.


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n}\n//-----------PDF Download Method---------------------------\n@ViewChild('tblIndentMasterhidePDF', {static: false}) tblIndentMasterhidePDF: ElementRef;\nfndownloadReportPdf(ddlValue){\n this._spinner.show();\n this._FundDisbursmentService.fnGetExportFundDisbursmenetList(localStorage.getItem(\"LoginUserId\")).subscribe(Fund=>{\n this.ExportFundlist = Fund;\n // Fund.forEach(element => {\n // if(element[\"UserId\"] == this.DecryptedUserId){\n // if(parseInt(element[\"Status\"]) != 2)\n // this.ExportFundlist.push(element);\n // }\n // }); \n this.ComingFromExport=true;\n this.FilterExportFundList = this.ExportFundlist;\n this.OnSearch(this._FundDisbursmentService.formData.CustomerName,this._FundDisbursmentService.formData.Status,\n this._FundDisbursmentService.formData.RequestedDate,this._FundDisbursmentService.formData.Amount,\n this._FundDisbursmentService.formData.CreatedDate);\n setTimeout(() => {\n this.ExportForFundPDF(ddlValue)\n this._spinner.hide();\n }, 500);\n });\n}\nExportForFundPDF(ddlValue){\n if(ddlValue === \"pdf\"){\n let DATA = this.tblIndentMasterhidePDF.nativeElement;\n var ele = document.getElementById('tblIndentMasterhidePDF');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Indent Master's Report.


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('IndentMasterReport.pdf');\n \n }\n}\n//----Get Customer list-----------\nfnGetCustomerName(){\n return this._customerService.fnGetCustomerListForDropdown(\"0\",localStorage.getItem('LoginUserId')).subscribe(data =>{\n data.forEach(element => {\n this.allCustList.push(element); \n if(element[\"Status\"]=='0'){\n this.IsCustomerInActive=true;\n }\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n });\n}\n//--------gear Menu and SubMenu display on tab Event-----\nfnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n}\nfnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n}\n//------------------------------------------------------\n\n\n\n//------------------method for pagination-------------------- \n//-------------------------pagination start------------------------------------------\n\npageNo: any = 1; \npageNumber: boolean[] = []; \nsortOrder: any = 'CreatedDate_DESC'; \norder:any='CreatedDate'; \n//Pagination Variables \n \n\npageField = []; \nexactPageList: any; \npaginationData: number; \norderBy: string='Desc'; \n\ntotalCount: any; \ncurrentPage = 1; \nComingFromLast:boolean = false;\nComingFromFirst:boolean = false;\n\ntotalNoOfPages() { \nif(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n}\nif(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n} \nthis.filterCount = this.totalCount;\nthis.paginationData = Number(this.totalCount/this.config.itemsPerPage); \nlet tempPageData = this.paginationData.toFixed(); \nif (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n} else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n}\nif(this._PaginationService.exactPageList < 10){\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n}\nelse{\n this._PaginationService.pageNumberShow = 10;\n} \nthis._PaginationService.pageOnLoad(); \nthis.pageField = this._PaginationService.pageField; \n\nif(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n}\n} \n\nshowFundsByPageNumber(page, i,RequestDate, Amount, CustomerName, Status, CreateDate) { \nthis.pageNumber = []; \nthis.pageNumber[i] = true; \nthis.pageNo = page; \nthis.currentPage =page;\n\n if(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n\nthis.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder); \nthis.pageChanged(this.pageNo); \n} \n\nshowPrev(RequestDate, Amount, CustomerName, Status, CreateDate) { \nif (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n\n this.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder); \n this.pageChanged(this.pageNo); \n} \n\n} \n\nshowFirstPage(RequestDate, Amount, CustomerName, Status, CreateDate){\n\n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n\n if(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n\n this.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder); \n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n}\n\nshowLastPage(RequestDate, Amount, CustomerName, Status, CreateDate){\n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n\n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n\n if(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n\n this.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder);\n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n}\n\nsortByHeading(value: string, id,RequestDate, Amount, CustomerName, Status, CreateDate) { \n this.sortOrder = value; \n this.order =value; \nif (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder = this.sortOrder+'_ASC'; \n sortTableIndentMst(id,true);\n} else { \n this.orderBy = \"Desc\"; \n this.sortOrder = this.sortOrder+'_DESC';\n sortTableIndentMst(id,false); \n} \n\nif(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n\n this.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder); \n this.pageChanged(this.pageNo);\n} \n\nshowNext(RequestDate, Amount, CustomerName, Status, CreateDate) { \n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0]; \n\n if(CreateDate == null || CreateDate == undefined || CreateDate == \"\")\n CreateDate = \"\"; \n else if (CreateDate != null && CreateDate!=\"\") {\n CreateDate = this.ngbDateParserFormatter.format(CreateDate.singleDate.date);\n }\n if(RequestDate == null || RequestDate == undefined || RequestDate == \"\")\n RequestDate = \"\"; \n else if (RequestDate != null && RequestDate!=\"\") {\n RequestDate = this.ngbDateParserFormatter.format(RequestDate.singleDate.date);\n }\n \n this.FnFundDisbursment(RequestDate, Amount, CustomerName, Status, CreateDate,this.sortOrder);\n this.pageChanged(this.pageNo); \n } \n } \n}\n\n\n\n","
\n
\n
\n
\n

\n Fund Disbursement Master\n

\n
\n
\n\n
\n
\n ×\n Success! {{ lblMessage }}.\n
\n\n
\n ×\n {{ lblMessage }}.\n
\n
\n\n
\n
\n \n
\n \n
\n \n
\n
\n
\n Please Enter valid Date Format\n
\n\n\n \n
\n
\n \n \n
\n
\n \n\n \n\n \n \n \n\n
\n \n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
\n
\n \n \n
\n \n\n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n
\n \n Search\n \n
\n\n \n \n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n\n \n
\n
\n
\n \n \n \n Customer Name\n \n\n Branch\n \n Status\n \n\n Request Date\n \n Amount\n \n Transfer Type\n \n Created By\n \n Created / Updated Date & Time\n \n \n Action\n \n \n \n \n \n \n \n {{ fund.CustomerName }}\n \n {{ fund.BranchName }}\n {{ fund.IndentStatus }}\n \n {{ fund.RequestedDateAndTime }}\n {{ fund.AmountList }} \n {{ fund.TransferTypeDesc }} \n {{ fund.CreatedBy }} \n {{ fund.CreatedDate }} \n \n
\n \n \n \n
\n \n \n \n
\n
\n \n
\n
\n \n
\n
\n \n\n \n \n \n No records found.\n \n \n \n \n\n \n
\n
\n \n
\n
\n \n\n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n
\n
\n \n\n\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameBranchStatusRequest DateAmountTransfer TypeCreated ByCreated / Updated Date & Time
{{ fund.CustomerName }} {{ fund.BranchName }}{{ fund.IndentStatus }}{{ fund.RequestedDateAndTime }}{{ fund.AmountList }}{{ fund.TransferTypeDesc }}{{ fund.CreatedBy }}{{ fund.CreatedDate }}
\n\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameBranchStatusRequest DateAmountTransfer TypeCreated ByCreated / Updated Date & Time
{{ fund.CustomerName }} {{ fund.BranchName }}{{ fund.IndentStatus }}{{ fund.RequestedDateAndTime }}{{ fund.AmountList }}{{ fund.TransferTypeDesc }}{{ fund.CreatedBy }}{{ fund.CreatedDate }}
\n\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Customer NameBranchStatusRequest DateAmountTransfer TypeCreated ByCreated / Updated Date & Time
{{ fund.CustomerName }} {{ fund.BranchName }}{{ fund.IndentStatus }}{{ fund.RequestedDateAndTime }}{{ fund.AmountList }}{{ fund.TransferTypeDesc }}{{ fund.CreatedBy }}{{ fund.CreatedDate }}
\n\n
\n\n\n
\n
\n
\n

Confirmation

\n \n ×\n \n
\n
\n

Are you sure you want to delete.

\n
\n
\n \n \n Close\n \n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

{{ConfirmationMsg}}

\n
\n
\n \n \n
\n
\n
\n
\n\n\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { SweepChargesModelService } from 'src/app/MasterService/sweep-charges-model.service';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { Router } from '@angular/router';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { formatDate, DatePipe } from '@angular/common';\nimport { NgbDateStruct, NgbDateParserFormatter, NgbDate } from '@ng-bootstrap/ng-bootstrap';\nimport { NgbDateCustomParserFormatter } from '../../MasterService/date-format';\nimport { IAngularMyDpOptions, IMyDateModel } from 'angular-mydatepicker';\nimport { Constants } from 'src/app/Common/constant';\nimport { TOUCH_BUFFER_MS } from '@angular/cdk/a11y';\nimport { saveAs } from 'file-saver';\nimport * as $ from 'jquery';\nimport * as XLSX from 'xlsx';\nimport * as jsPDF from 'jspdf';\nimport { RoleAccessService } from 'src/app/MasterService/role-access.service';\nimport { RoleAccess } from 'src/app/MasterService/RoleAccess';\nimport { connect } from 'http2';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaginationService } from 'src/app/Paging/pagination.service';\n\ndeclare var sortTableSweepChargesMst: Function;\ndeclare var sortTableDailySweepCharges:Function;\ndeclare var sortTableMonthlySweepCharges:Function;\n\n@Component({\n selector: 'app-sweepcharges-list',\n templateUrl: './sweepcharges-list.component.html',\n styleUrls: ['./sweepcharges-list.component.css'],\n})\nexport class SweepchargesListComponent implements OnInit {\n today = new Date();\n myDpOptions: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy'\n // other options are here...\n };\n myDpOptions1: IAngularMyDpOptions = {\n dateRange: false,\n dateFormat: 'dd-mm-yyyy',\n disableSince: {year: this.today.getFullYear(), month: this.today.getMonth() + 1, day: this.today.getDate() + 1}\n \n // other options are here...\n };\n\n model: any;\n model2: any;\n\n readonly TTUMCopyUrl = Constants.TTUMUrl;\n ttumFile: any;\n disabledTTUMFile:boolean=true;\n TTUMnewUrl : any;\n TTUMfnName:any;\n\n allCustomerList: any = [];\n FilteredCustomerList: any = [];\n\n allSweepChargesList: any = [];\n FilteredSweepChargesList: any = [];\n\n allDailyFlatDailySweepChargesList: any = [];\n FilteredDailyFlatDailySweepChargesList: any = [];\n\n allMonthlyFlatMonthlySweepChargesList: any = [];\n FilteredMonthlyFlatMonthlySweepChargesList: any = [];\n\n config: any;\n showModal: boolean;\n showMsg: boolean;\n showerrormsg:boolean;\n lblMessage: string;\n\n customerId: number = null;\n FromDate: any = null;\n ToDate: any = null;\n chargeStatus: string = \"\";\n chargeType: string = \"PerSweep\";\n ddlshowvalue: number;\n searchCount: number;\n filterCount: string;\n lastSortedByField;\n ascendingOrder = true;\n date: Date = null;\n chargeDisable:boolean;\n IsMonthlyOrFlatMontlhy:boolean=false;\n ddlMonth:string=\"1\";\n ddlYear:string=\"2020\";\n fromDateError: boolean;\n inputDate: string;\n errorMessage: string;\n isValidDate: boolean;\n sanitizer: any;\n http: any;\n UserType:string;\n disableCustomer:boolean = false;\n fileName: string;\n tblForExport: any;\n ddlshowStartValue: number;\n WaiveOffSelected:boolean;\n IsWaiveOffSelected:boolean;\n showModalForWaiveOff: boolean;\n ConfirmationMsg: string;\n AuthorizeWaiveOffStatus: number;\n checkedWaiveOffList: any[];\n BulkWaiveOffButton: boolean=false;\n MakershowModalForWaiveOff:boolean;\n\n DailyFlatWaiveOffSelected:boolean;\n IsDailyFlatWaiveOffSelected:boolean;\n BulkDailyflatWaiveOffButton:boolean;\n\n MonthlyFlatWaiveOffSelected:boolean;\n IsMonthlyFlatWaiveOffSelected:boolean;\n BulkMonthlyflatWaiveOffButton:boolean;\n checkedDailyflatList: any[];\n checkedMonthlyFlatList: any[];\n RoleAccess: RoleAccess;\n CheckerPrivillage: boolean;\n AddPrivillage: boolean;\n checkerAccess: boolean;\n FilterdSweepcheckedList: any[];\n ddlDropdownValue: number =10;\n constructor(public _SweepChargesModelService: SweepChargesModelService, private router: Router, private _spinner: NgxSpinnerService, \n private ngbDateParserFormatter: NgbDateParserFormatter, private datePipe: DatePipe,\n private _roleAccess:RoleAccessService, public _encreptdecrept:EncryptdecryptService,\n public _PaginationService:PaginationService) { }\n\n ngOnInit(): void {\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n\n if(!$('.js-sticky-header').is(':visible')){\n $('.js-sticky-header').css('display','block');\n }\n \n this._spinner.show();\n // Setting default value \n this.GetFormData(); \n // Getting role from userid\n this.GetPrivillageRoles();\n // Getting Customer List\n this.GetCustomerList();\n //this.fnGetAllSweepChargeList(); // called this function synchronously (added this function into GetPrivillageRoles)\n //this.fnGetAllDailyFlatDailySweepChargeList();\n //this.fnGetAllMonthlyFlatMonthlySweepChargeList();\n \n var today = new Date();\n var month = today.getMonth()+1;\n this.ddlMonth = month.toString();\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n this.ddlshowvalue = 10;\n this.ddlshowStartValue=1;\n this.UserType = localStorage.getItem('UserTypeVal');\n if (this.UserType == '2') {\n this.disableCustomer = true;\n }else{\n this.disableCustomer = false;\n }\n this.pageNumber[0] = true; \n this._PaginationService.temppage = 0; \n this.DownloadTTUM();\n\n }\n\n // Setting default value \n GetFormData(){ \n this._SweepChargesModelService.formData={\n CustomerId: null,\n TransactionId: 0,\n FromAccountId: 0,\n FromAccountNumber: '',\n FromAccountName: '',\n ToAccountId: 0,\n ToAccountNumber: '',\n ToAccountName: '',\n BalanceTransfer: 0,\n charges: 0,\n chargeStatus: 'Uncharged',\n CreatedDate: null,\n datefilter: null,\n AcLinkId: 0,\n ChargeType:'PerSweep',\n TransactionCount: 0,\n AclinkName: '',\n SweepMonth:'',\n FromDate:'',\n ToDate:'',\n WaiveStatus:'',\n SweepId:0,\n CustomerName : '',\n DropDownValue:\"10\",\n }\n }\n\n // Page changed event function\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n \n // if(this.chargeType==\"PerSweep\"){\n // if(this.FilteredSweepChargesList.length<=this.ddlshowvalue){\n // this.ddlshowvalue = this.FilteredSweepChargesList.length;}\n // }\n // if(this.chargeType==\"DailyOrFlatDaily\"){\n // if(this.FilteredDailyFlatDailySweepChargesList.length<=this.ddlshowvalue){\n // this.ddlshowvalue = this.FilteredDailyFlatDailySweepChargesList.length;}\n // }\n // if(this.chargeType==\"MonthlyOrFlatMontlhy\"){\n // if(this.FilteredMonthlyFlatMonthlySweepChargesList.length<=this.ddlshowvalue){\n // this.ddlshowvalue = this.FilteredMonthlyFlatMonthlySweepChargesList.length;}\n // }\n }\n BulkChargeButton:boolean;\n preSweepSortOrder:string;\n // Getting Sweep Charge List from database\n\n //#region \n allSweepChargesListExport:any = [];\n FilterallSweepChargesListExport:any = [];\n fnGetAllSweepChargeListExport(){\n this._SweepChargesModelService.fnGetAllSweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allSweepChargesListExport = respose; \n this.FilterallSweepChargesListExport = this.allSweepChargesListExport;\n for(var i=0;i 0){ \n // for (var j = 0; j < this.checkedWaiveOffList.length; j++) {\n // if(this.checkedWaiveOffList[j].TransactionId == this.FilterallSweepChargesListExport[i].TransactionId){\n // this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = true; \n // } \n // } \n // }\n // }\n\n if(!this.CheckerPrivillage){\n if((this.FilterallSweepChargesListExport[i].chargeStatus.toLowerCase()==\"uncharged\" || this.FilterallSweepChargesListExport[i].chargeStatus.toLowerCase()==\"charged\")\n && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\"){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Pending\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\"){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=false;\n this.FilterallSweepChargesListExport[i].disableWaiveOff=true;\n } \n if(this.FilterallSweepChargesListExport[i].chargeStatus.toLowerCase()==\"charged\" && this.FilterallSweepChargesListExport[i].WaiveStatus !=\"Not Applicable\") {\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=false;\n this.FilterallSweepChargesListExport[i].disableWaiveOff=true;\n }\n }\n else {\n \n //checker to checker flow. \n if(this.FilterallSweepChargesListExport[i].accLinCreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){ \n if((this.FilterallSweepChargesListExport[i].chargeStatus==\"Uncharged\" || this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\")\n && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\"){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=true; \n this.FilterallSweepChargesListExport[i].disableWaiveOff=false; \n }\n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Pending\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\"){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=false;\n this.FilterallSweepChargesListExport[i].disableWaiveOff=true;\n } \n if(this.FilterallSweepChargesListExport[i].chargeStatus.toLowerCase()==\"charged\" && this.FilterallSweepChargesListExport[i].WaiveStatus !=\"Not Applicable\") {\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=false;\n this.FilterallSweepChargesListExport[i].disableWaiveOff=true;\n }\n }\n else{\n //checker access\n if((this.FilterallSweepChargesListExport[i].chargeStatus==\"Uncharged\" || this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\")\n && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\"){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=false;\n this.FilterallSweepChargesListExport[i].disableWaiveOff=true;\n }\n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Pending\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\"){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Pending\") {\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=true;\n }\n }\n }\n //This when charges is charged or rejected and waive off is approved n rejected then hide checkbox.\n if((this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\" || this.FilterallSweepChargesListExport[i].chargeStatus==\"Charge Rejected\")\n && (this.FilterallSweepChargesListExport[i].WaiveStatus==\"Approved\" || this.FilterallSweepChargesListExport[i].WaiveStatus==\"Rejected\")){\n this.FilterallSweepChargesListExport[i].hideWaiveOffAndCharge=true;\n this.FilterallSweepChargesListExport[i].disableWaiveOff=true;\n } \n }\n this.OnSearch(null,null,null);\n });\n }\n //#endregion\n \n fnGetAllSweepChargeList(customerName,fromDate,toDate,chargestatus,waiveOffStatus,sortOrder,fromSearch=0,pageNumber=10,pageSize=1) {\n if(fromSearch==0 && this._SweepChargesModelService.formData.CustomerName ==\"\")\n this._SweepChargesModelService.formData.CustomerName=\"\";\n if(sortOrder ==\"\"){\n sortOrder=\"CreatedDate_DESC\"\n }\n if(pageNumber>1){\n let listCust = this.allCustomerList.filter(x => x.CustomerName === customerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n }\n if(fromSearch==1){\n pageSize=this.ddlDropdownValue;\n pageNumber=1;\n this.currentPage=1;\n }\n else{\n pageSize=this.config.itemsPerPage.toString();\n pageNumber=this.pageNo;\n }\n this._SweepChargesModelService.fnGetAllSweepChargesList(localStorage.getItem('LoginUserId'),this.customerId,fromDate,toDate,chargestatus,waiveOffStatus,pageSize,pageNumber,sortOrder).subscribe(respose => {\n this.allSweepChargesList = respose; \n this.FilteredSweepChargesList = this.allSweepChargesList;\n for(var i=0;i 0){ \n for (var j = 0; j < this.checkedWaiveOffList.length; j++) {\n if(this.checkedWaiveOffList[j].TransactionId == this.FilteredSweepChargesList[i].TransactionId){\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = true; \n } \n } \n }\n }\n\n if(!this.CheckerPrivillage){\n if((this.FilteredSweepChargesList[i].chargeStatus.toLowerCase()==\"uncharged\" || this.FilteredSweepChargesList[i].chargeStatus.toLowerCase()==\"charged\")\n && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilteredSweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredSweepChargesList[i].disableWaiveOff=true;\n } \n if(this.FilteredSweepChargesList[i].chargeStatus.toLowerCase()==\"charged\" && this.FilteredSweepChargesList[i].WaiveStatus !=\"Not Applicable\") {\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredSweepChargesList[i].disableWaiveOff=true;\n }\n }\n else {\n \n //checker to checker flow. \n if(this.FilteredSweepChargesList[i].accLinCreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){ \n if((this.FilteredSweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredSweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=true; \n this.FilteredSweepChargesList[i].disableWaiveOff=false; \n }\n if(this.FilteredSweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredSweepChargesList[i].disableWaiveOff=true;\n } \n if(this.FilteredSweepChargesList[i].chargeStatus.toLowerCase()==\"charged\" && this.FilteredSweepChargesList[i].WaiveStatus !=\"Not Applicable\") {\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredSweepChargesList[i].disableWaiveOff=true;\n }\n }\n else{\n //checker access\n if((this.FilteredSweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredSweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredSweepChargesList[i].disableWaiveOff=true;\n }\n if(this.FilteredSweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilteredSweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Pending\") {\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=true;\n }\n }\n }\n //This when charges is charged or rejected and waive off is approved n rejected then hide checkbox.\n if((this.FilteredSweepChargesList[i].chargeStatus==\"Charged\" || this.FilteredSweepChargesList[i].chargeStatus==\"Charge Rejected\")\n && (this.FilteredSweepChargesList[i].WaiveStatus==\"Approved\" || this.FilteredSweepChargesList[i].WaiveStatus==\"Rejected\")){\n this.FilteredSweepChargesList[i].hideWaiveOffAndCharge=true;\n this.FilteredSweepChargesList[i].disableWaiveOff=true;\n } \n }\n debugger;\n this.searchCount = this.allSweepChargesList.length;\n if(this.allSweepChargesList.length==0)\n this.searchCount=0;\n if(this.searchCount >0){\n this.totalCount=this.allSweepChargesList[0].sweepChargeCount;\n this.totalNoOfPages(); \n }\n else{\n this.totalCount=0;\n this.totalNoOfPages(); \n }\n // this.ddlshowvalue=this.ddlshowStartValue + this.allSweepChargesList.length -1;\n //this.OnSearch(\"\",\"\",\"\");\n //this.fnGetAllDailyFlatDailySweepChargeList();\n this.perSweepSearch('','')\n this._spinner.hide();\n sortTableSweepChargesMst(4, false);\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n //#region \n allDailyFlatDailySweepChargesListExport:any = [];\n FilterallDailyFlatDailySweepChargesListExport:any = [];\n fnGetAllDailyFlatDailySweepChargeListExport(){\n this._SweepChargesModelService.fnGetAllDailyAndFlatDailySweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allDailyFlatDailySweepChargesListExport = respose; \n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport;\n this.OnSearch(null,null,null);\n });\n }\n //#endregion\n\n // Getting Daily Flat Daily Sweep Charge List from database\n fnGetAllDailyFlatDailySweepChargeList(customerId,fromDate,toDate,chargeStatus,waiveOffStatus,fromSearch=0,pageSize,pageNumber,sortOrder) { \n if(fromSearch==0 && this._SweepChargesModelService.formData.CustomerName ==\"\")\n this._SweepChargesModelService.formData.CustomerName=\"\";\n if(sortOrder ==\"\"){\n sortOrder=\"CreatedDate_DESC\"\n } \n if(fromSearch==1){\n pageSize=this.ddlDropdownValue;\n pageNumber=1;\n this.currentPage=1;\n }\n else{\n pageSize=this.config.itemsPerPage.toString();\n pageNumber=this.pageNo;\n }\n this._SweepChargesModelService.fnGetAllDailyAndFlatDailySweepChargesList(localStorage.getItem('LoginUserId'),customerId,fromDate,toDate,chargeStatus,waiveOffStatus,pageSize,pageNumber,sortOrder).subscribe(respose => {\n this.allDailyFlatDailySweepChargesList = respose; \n this.FilteredDailyFlatDailySweepChargesList = this.allDailyFlatDailySweepChargesList;\n for(var i=0;i 0){ \n for (var j = 0; j < this.checkedDailyflatList.length; j++) {\n if(this.checkedDailyflatList[j].AclinkName == this.FilteredDailyFlatDailySweepChargesList[i].AclinkName){\n this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected = true; \n } \n } \n }\n }\n\n if(!this.CheckerPrivillage){\n if((this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus.toLowerCase()==\"uncharged\" || this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus.toLowerCase()==\"charged\")\n && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff=true;\n } \n }\n else {\n \n //checker to checker flow. \n if(this.FilteredDailyFlatDailySweepChargesList[i].accLinCreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){ \n if((this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=true; \n this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff=false; \n }\n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff=true;\n } \n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus.toLowerCase()==\"charged\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus !=\"Not Applicable\") {\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff=true;\n }\n }\n else{\n if((this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff=true;\n }\n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Pending\") {\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOffAndCharge=true;\n }\n } \n }\n //This when charges is charged or rejected and waive off is approved n rejected then hide checkbox.\n if((this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\" || this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charge Rejected\")\n && (this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Approved\" || this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Rejected\")){\n this.FilteredDailyFlatDailySweepChargesList[i].hideWaiveOff=true;\n this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff=true;\n }\n }\n //this.OnSearch(\"\",\"\",\"\");\n \n this.searchCount = this.allDailyFlatDailySweepChargesList.length;\n if(this.allDailyFlatDailySweepChargesList.length==0)\n this.searchCount=0;\n if(this.searchCount >0){\n this.totalCount=this.allDailyFlatDailySweepChargesList[0].sweepChargeCount;\n this.totalNoOfPages(); \n }\n else{\n this.totalCount=0;\n this.totalNoOfPages(); \n }\n // this.ddlshowvalue=this.ddlshowStartValue + this.allDailyFlatDailySweepChargesList.length -1;\n this.DailySearchMethod(\"\",\"\")\n this._spinner.hide();\n //this.fnGetAllMonthlyFlatMonthlySweepChargeList();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n //#region \n allMonthlyFlatMonthlySweepChargesListExport:any = [];\n FilterallMonthlyFlatMonthlySweepChargesListExport:any = [];\n fnGetAllMonthlyFlatMonthlySweepChargeListExport(){\n this._SweepChargesModelService.fnGetAllMonthlyAndFlatMonthlySweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allMonthlyFlatMonthlySweepChargesListExport = respose;\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport;\n this.OnSearch(null,null,null);\n });\n }\n //#endregion\n\n BulkMonthlyflatChargeButton:boolean;\n // Getting Monthly Flat Monthly Sweep Charge List from database\n fnGetAllMonthlyFlatMonthlySweepChargeList(fromDate,chargeStatus,waiveOffStatus,fromSearch,pageSize,pagenumber,sortOrder) {\n // if(fromSearch==0)\n // this._SweepChargesModelService.formData.CustomerName=\"\";\n if(sortOrder ==\"\"){\n sortOrder=\"SweepMonth_DESC\"\n }\n if(fromSearch==1){\n pageSize=this.ddlDropdownValue;\n pagenumber=1;\n this.currentPage=1;\n }\n this._SweepChargesModelService.fnGetAllMonthlyAndFlatMonthlySweepChargesList(localStorage.getItem('LoginUserId'),this.customerId,fromDate,this.ddlMonth,this.ddlYear,chargeStatus,waiveOffStatus,pageSize,pagenumber,sortOrder).subscribe(respose => {\n this.allMonthlyFlatMonthlySweepChargesList = respose;\n this.FilteredMonthlyFlatMonthlySweepChargesList = this.allMonthlyFlatMonthlySweepChargesList;\n for(var i=0;i 0){ \n for (var j = 0; j < this.checkedMonthlyFlatList.length; j++) {\n if(this.checkedMonthlyFlatList[j].AclinkName == this.FilteredMonthlyFlatMonthlySweepChargesList[i].AclinkName){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = true; \n } \n } \n }\n }\n\n if(!this.CheckerPrivillage){\n if((this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus.toLowerCase()==\"uncharged\" || this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus.toLowerCase()==\"charged\")\n && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=true;\n } \n }\n else {\n //checker to checker flow. \n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].accLinCreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){ \n if((this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=true; \n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=false; \n }\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=true;\n } \n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus.toLowerCase()==\"charged\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus !=\"Not Applicable\") {\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=true;\n }\n }\n else{\n //checker access\n if((this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=false;\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=true;\n }\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=true;\n }\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Pending\") {\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=true;\n } \n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].accLinCreatedBy == +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))){\n if((this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Uncharged\" || this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\")\n && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=true; \n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=false; \n }\n }\n }\n } \n //This when charges is charged or rejected and waive off is approved n rejected then hide checkbox.\n if((this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\" || this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charge Rejected\")\n && (this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Approved\" || this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Rejected\")){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].hideWaiveOffAndCharge=true;\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff=true;\n }\n }\n \n //this.OnSearch(\"\",\"\",\"\");\n this.MonthlySearchMethod();\n if(this.allMonthlyFlatMonthlySweepChargesList.length==0)\n this.searchCount=0;\n else\n this.searchCount=this.allMonthlyFlatMonthlySweepChargesList.length; \n if(this.searchCount >0){\n this.totalCount=this.allMonthlyFlatMonthlySweepChargesList[0].sweepChargeCount;\n this.totalNoOfPages(); \n }\n else{\n this.totalCount=0;\n this.totalNoOfPages(); \n }\n this.ddlshowvalue=this.ddlshowStartValue + this.allMonthlyFlatMonthlySweepChargesList.length -1;\n this._spinner.hide();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n // Getting customer list\n GetCustomerList() {\n this._SweepChargesModelService.fnGetCustomerListForSweepCharges(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allCustomerList = respose;\n this.FilteredCustomerList = this.allCustomerList;\n this.FilteredCustomerList = this.allCustomerList.filter(row => {\n return row.SweepChargeType == 'PerSweep';\n });\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n waiveStatus:string;\n allPerSweepDisbale:boolean;\n allDailyDisbale:boolean;\n allMonthDisbale:boolean;\n\n // Filtering data from list based on input\n OnSearch(FromDate,ToDate,CustomerName) {\n //this.pageChanged(event);\n this._spinner.show();\n this.chargeStatus = this._SweepChargesModelService.formData.chargeStatus;\n this.waiveStatus=this._SweepChargesModelService.formData.WaiveStatus;\n\n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n \n if (FromDate != \"\" && FromDate!=null) {\n this.FromDate = this.ngbDateParserFormatter.format(FromDate.singleDate.date);\n }\n else {\n this.FromDate = \"\";\n }\n if (ToDate != \"\" && ToDate!=null) {\n this.ToDate = this.ngbDateParserFormatter.format(ToDate.singleDate.date);\n }\n else {\n this.ToDate = \"\";\n } \n // this.FromDate = this.model.singleDate.formatted;\n // this.ToDate = this.model2.singleDate.formatted;\n //Ruubina added--------20/01/2021 \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n this.ComingFromFirst = true;\n if (this.chargeType == \"All\") {\n\n if (this.customerId > 0) {\n this.FilteredDailyFlatDailySweepChargesList = this.allDailyFlatDailySweepChargesList.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilteredDailyFlatDailySweepChargesList = this.allDailyFlatDailySweepChargesList;\n }\n //Rubina\n if (FromDate != null && FromDate != \"\") {\n this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n }\n if (ToDate != null && ToDate != \"\") {\n this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n return row.datefilter <= this.ToDate;\n });\n }\n // if (this.FromDate != undefined && this.FromDate != \"\") {\n // this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n // return row.datefilter >= this.FromDate;\n // });\n // }\n \n // if (this.ToDate != undefined && this.ToDate != \"\") {\n // this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n // return row.datefilter <= this.ToDate;\n // });\n // }\n //Rubina\n // this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n // return row.chargeStatus.match(this.chargeStatus);\n // });\n \n \n \n var list = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n return row.chargeStatus.match(\"Uncharged\"); \n });\n \n if((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n this.chargeDisable = false;\n }\n else{\n this.chargeDisable = true;\n }\n \n if(FromDate !=\"\" || ToDate != \"\" || this.chargeType != \"All\" || this.customerId!=null || this.chargeStatus!=\"\") \n {\n this.ddlshowStartValue = 1;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n //this.searchCount = \"\";\n this.searchCount = this.FilteredDailyFlatDailySweepChargesList.length;\n this.filterCount = \"(filtered from \"+ this.allDailyFlatDailySweepChargesList.length +\" total entries)\";\n }\n else{\n this.ddlshowStartValue = 1;\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n //this.searchCount = \"\";\n this.searchCount = this.allDailyFlatDailySweepChargesList.length;\n this.filterCount = \"\";\n \n }\n\n }\n \n else if (this.chargeType == \"PerSweep\") { \n \n if(this.isComingFromCheckBox==false){\n this.fnGetAllSweepChargeList(this.customerId,this.FromDate,this.ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder,1,1,10);\n \n }\n else if(this.isComingFromCheckBox==true) { \n if (this.customerId > 0) {\n this.FilterallSweepChargesListExport = this.allSweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallSweepChargesListExport = this.allSweepChargesListExport;\n }\n if (FromDate != null && FromDate != \"\") {\n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n }\n if (ToDate != null && ToDate != \"\") {\n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.datefilter <= this.ToDate;\n });\n }\n if (this.customerId > 0) {\n this.FilterallSweepChargesListExport = this.allSweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallSweepChargesListExport = this.allSweepChargesListExport;\n }\n // //Rubina\n \n // // // if (this.ToDate != undefined && this.ToDate != \"\") {\n // // // this.FilteredSweepChargesList = this.FilteredSweepChargesList.filter(row => {\n // // // return row.datefilter <= this.ToDate;\n // // // });\n // // // }\n \n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.chargeStatus.match(this.chargeStatus);\n });\n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.WaiveStatus.match(this.waiveStatus);\n });\n }\n this.isComingFromCheckBox=false;\n \n \n //Rubina\n //---------------data in perSweepSearch(FromDate,ToDate) Rubina 21/01/2021 \n \n \n // var list = this.FilteredSweepChargesList.filter(row => {\n // return row.chargeStatus.match(\"Uncharged\"); \n // });\n \n // if((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n // this.chargeDisable = false;\n // }\n // else{\n // this.chargeDisable = true;\n // }\n \n // this.ddlshowvalue=this.FilteredSweepChargesList.length;\n // if(this.ddlshowvalue >0)\n // this.allPerSweepDisbale=false;\n // else\n // this.allPerSweepDisbale=true; \n\n // if(FromDate !=\"\" || ToDate != \"\" || this.chargeType != \"PerSweep\" || this.waiveStatus != \"\" || this.customerId!=null || this.chargeStatus!=\"\") \n // {\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // }\n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.searchCount = \"\";\n // //this.searchCount = this.FilteredSweepChargesList.length;\n // this.filterCount = \"(filtered from \"+ this.allSweepChargesList.length +\" total entries)\";\n // }\n // else{\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // //this.searchCount = this.allSweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // //this.searchCount = this.allSweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // // // this.searchCount = \"\";\n // // this.searchCount = this.allSweepChargesList.length;\n // // this.filterCount = \"\";\n \n // }\n\n }\n else if (this.chargeType == \"DailyOrFlatDaily\") {\n if(this.isComingFromCheckBox==false){\n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,this.FromDate,this.ToDate,this._SweepChargesModelService.formData.chargeStatus,\n this._SweepChargesModelService.formData.WaiveStatus,1,this.config.itemsPerPage.toString(),\n this.pageNo,this.sortOrder);\n }\n else if(this.isComingFromCheckBox==true){\n if (this.customerId > 0) {\n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport;\n }\n //Rubina\n if (FromDate != null && FromDate != \"\") {\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n }\n if (ToDate != null && ToDate != \"\") {\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.datefilter <= this.ToDate;\n });\n } \n } \n this.isComingFromCheckBox=false;\n ///----------data in DailySearchMethod(FromDate,ToDate)----Rubina 21/01/2021 defect 1864\n // \n // //Rubina\n // this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n // return row.chargeStatus.match(this.chargeStatus);\n // });\n \n // this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n // return row.WaiveStatus.match(this.waiveStatus);\n // });\n \n // var list = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n // return row.chargeStatus.match(\"Uncharged\"); \n // });\n \n // if((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n // this.chargeDisable = false;\n // }\n // else{\n // this.chargeDisable = true;\n // }\n // this.ddlshowvalue=this.FilteredDailyFlatDailySweepChargesList.length;\n // if(this.ddlshowvalue >0)\n // this.allDailyDisbale=false;\n // else\n // this.allDailyDisbale=true; \n\n // if(FromDate !=\"\" || ToDate != \"\" || this.chargeType != \"DailyOrFlatDaily\" || this.waiveStatus!=\"\"|| this.customerId!=null || this.chargeStatus!=\"\") \n // {\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // }\n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.searchCount = \"\";\n // //this.searchCount = this.FilteredDailyFlatDailySweepChargesList.length;\n // this.filterCount = \"(filtered from \"+ this.allDailyFlatDailySweepChargesList.length +\" total entries)\";\n // }\n // else{\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // //this.searchCount = this.allDailyFlatDailySweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // // this.searchCount = this.allDailyFlatDailySweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n \n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // // //this.searchCount = \"\";\n // // this.searchCount = this.allDailyFlatDailySweepChargesList.length;\n // // this.filterCount = \"\";\n \n // }\n }\n else if (this.chargeType == \"MonthlyOrFlatMontlhy\") {\n if(this.isComingFromCheckBox==false){\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,1,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n // if (this.customerId > 0) {\n // this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n // }\n // else {\n // this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport;\n // }\n }\n else if(this.isComingFromCheckBox==true){\n if (this.customerId > 0) {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport;\n }\n \n \n \n // if (this.FromDate != undefined && this.FromDate != \"\") {\n // var frmDt = formatDate(this.FromDate, 'yyyyMM', 'en-US');\n // this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n // return row.datefilter >= frmDt;\n // });\n // }\n //--------------------data in MOnthlySearchMethod()----Rubina 21/01/2021 defect 1864\n if (this.ddlMonth != \"\" && this.ddlYear != \"\") {\n var newDate = this.ddlYear + \"-\" + this.ddlMonth + \"-\" + \"01\";\n var frmDt = formatDate(newDate, 'yyyyMM', 'en-US');\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.datefilter.match(frmDt); \n });\n }\n \n // if (this.ToDate != undefined && this.ToDate != \"\") {\n // var toDt = formatDate(this.ToDate, 'yyyyMM', 'en-US');\n // this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n // return row.datefilter <= toDt;\n // });\n // }\n \n //below code commented -vaibhav 28-10-2020 5:52\n // if (this.ddlMonth != \"\" && this.ddlYear != \"\") {\n // var newDate = this.ddlYear + \"-\" + this.ddlMonth + \"-\" + \"28\";\n // var toDt = formatDate(newDate, 'yyyyMM', 'en-US');\n // this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n // return row.datefilter <= toDt;\n // });\n // }\n \n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(this.chargeStatus); \n });\n \n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.WaiveStatus.match(this.waiveStatus);\n });\n }\n this.isComingFromCheckBox= false;\n\n // var list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n // return row.chargeStatus.match(\"Uncharged\"); \n // });\n \n \n // if((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n // this.chargeDisable = false;\n // }\n // else{\n // this.chargeDisable = true;\n // }\n \n // this.ddlshowvalue=this.FilteredMonthlyFlatMonthlySweepChargesList.length;\n // if(this.ddlshowvalue >0)\n // this.allMonthDisbale=false;\n // else\n // this.allMonthDisbale=true; \n\n //End--------------------\n\n\n // if(FromDate !=\"\" || ToDate != \"\" || this.chargeType != \"MonthlyOrFlatMontlhy\" || this.waiveStatus!=\"\"|| this.customerId!=null || this.chargeStatus!=\"\" || this.ddlMonth != \"\" && this.ddlYear != \"\") \n // {\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // }\n // // this.ddlshowStartValue = 1;\n // // this.ddlshowvalue = 0;\n // // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.searchCount = \"\";\n // this.searchCount = this.FilteredMonthlyFlatMonthlySweepChargesList.length;\n // this.filterCount = \"(filtered from \"+ this.allMonthlyFlatMonthlySweepChargesList.length +\" total entries)\";\n // }\n // else{\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // this.searchCount = this.allMonthlyFlatMonthlySweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // this.searchCount = this.allMonthlyFlatMonthlySweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n \n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.searchCount = \"\";\n // this.searchCount = this.allMonthlyFlatMonthlySweepChargesList.length;\n // this.filterCount = \"\";\n \n //}\n\n }\n // this.pageNumber = [];\n // this.pageNumber[0] = true;\n // this.pageChanged(1);\n \n this.pageChanged(1);\n\n }\n perSweepSearch(FromDate,ToDate){ \n this.ddlshowStartValue;\n this.ddlshowvalue;\n\n if (FromDate != null && FromDate != \"\") {\n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n}\nif (ToDate != null && ToDate != \"\") {\n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.datefilter <= this.ToDate;\n });\n}\n //Rubina\n\n// // if (this.ToDate != undefined && this.ToDate != \"\") {\n// // this.FilteredSweepChargesList = this.FilteredSweepChargesList.filter(row => {\n// // return row.datefilter <= this.ToDate;\n// // });\n// // }\n\nthis.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.chargeStatus.match(this.chargeStatus);\n});\nthis.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.WaiveStatus.match(this.waiveStatus);\n});\n\nvar list = this.FilteredSweepChargesList.filter(row => {\n return row.chargeStatus.match(\"Uncharged\"); \n});\n\nif((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n this.chargeDisable = false;\n}\nelse{\n this.chargeDisable = true;\n}\n\nthis.ddlshowvalue=this.FilteredSweepChargesList.length;\nif(this.ddlshowvalue >0)\nthis.allPerSweepDisbale=false;\nelse\nthis.allPerSweepDisbale=true; \n\nif(FromDate !=\"\" || ToDate != \"\" || this.chargeType != \"PerSweep\" || this.waiveStatus != \"\" || this.customerId!=null || this.chargeStatus!=\"\") \n{\nif (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n this.pageChanged(this.pageNo);\n// this.ddlshowStartValue = 1;\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n//this.searchCount = \"\";\n//this.searchCount = this.FilteredSweepChargesList.length;\nif(this.allSweepChargesList.length > 0){\n this.filterCount = this.filterCount=this.allSweepChargesList[0].sweepChargeCount;\n}\nelse\nthis.filterCount=\"0\";\n}\nelse{\nif (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n //this.searchCount = this.allSweepChargesList.length.toString();\n this.filterCount =\"\";\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n //this.searchCount = this.allSweepChargesList.length.toString();\n this.filterCount =\"\";\n }\n// this.ddlshowStartValue = 1;\n// this.ddlshowvalue = 0;\n// this.ddlshowvalue = this.config.itemsPerPage; \n// // this.searchCount = \"\";\n// this.searchCount = this.allSweepChargesList.length;\n// this.filterCount = \"\";\n\n}\n }\n DailySearchMethod(FromDate,ToDate){\n if (this.customerId > 0) {\n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport;\n }\n //Rubina\n if (FromDate != null && FromDate != \"\") {\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.datefilter >= this.FromDate;\n });\n }\n if (ToDate != null && ToDate != \"\") {\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.datefilter <= this.ToDate;\n });\n }\n // if (this.FromDate != undefined && this.FromDate != \"\") {\n // this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n // return row.datefilter >= this.FromDate;\n // });\n // }\n\n // if (this.ToDate != undefined && this.ToDate != \"\") {\n // this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n // return row.datefilter <= this.ToDate;\n // });\n // }\n//Rubina\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(this.chargeStatus);\n });\n\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.WaiveStatus.match(this.waiveStatus);\n });\n\n var list = this.FilteredDailyFlatDailySweepChargesList.filter(row => {\n return row.chargeStatus.match(\"Uncharged\"); \n });\n\n if((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n this.chargeDisable = false;\n }\n else{\n this.chargeDisable = true;\n }\n this.ddlshowvalue=this.FilteredDailyFlatDailySweepChargesList.length;\n if(this.ddlshowvalue >0)\n this.allDailyDisbale=false;\nelse\n this.allDailyDisbale=true; \n\n if(FromDate !=\"\" || ToDate != \"\" || this.chargeType != \"DailyOrFlatDaily\" || this.waiveStatus!=\"\"|| this.customerId!=null || this.chargeStatus!=\"\") \n {\n if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // this.ddlshowvalue = 0;\n this.ddlshowvalue = this.ddlshowvalue;\n this.ddlshowStartValue = 1;\n }\n else {\n this.ddlshowvalue = 0;\n this.ddlshowvalue = this.config.itemsPerPage; \n this.ddlshowStartValue = 1;\n }\n if(this.allDailyFlatDailySweepChargesList.length>0){\n this.filterCount = this.allDailyFlatDailySweepChargesList[0].sweepChargeCount;\n }else{\n this.filterCount = \"0\";\n }\n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n //this.searchCount = \"\";\n //this.searchCount = this.FilteredDailyFlatDailySweepChargesList.length;\n //this.filterCount = \"(filtered from \"+ this.allDailyFlatDailySweepChargesList.length +\" total entries)\";\n }\n else{\n // if (this.ddlshowvalue <= this.config.itemsPerPage) {\n // // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.ddlshowvalue;\n // this.ddlshowStartValue = 1;\n // //this.searchCount = this.allDailyFlatDailySweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n // else {\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // this.ddlshowStartValue = 1;\n // // this.searchCount = this.allDailyFlatDailySweepChargesList.length.toString();\n // this.filterCount =\"\";\n // }\n \n // this.ddlshowStartValue = 1;\n // this.ddlshowvalue = 0;\n // this.ddlshowvalue = this.config.itemsPerPage; \n // //this.searchCount = \"\";\n // this.searchCount = this.allDailyFlatDailySweepChargesList.length;\n // this.filterCount = \"\";\n\n }\n this.pageChanged(this.pageNo);\n }\n MonthlySearchMethod(){\n if (this.ddlMonth != \"\" && this.ddlYear != \"\") {\n var newDate = this.ddlYear + \"-\" + this.ddlMonth + \"-\" + \"01\";\n var frmDt = formatDate(newDate, 'yyyyMM', 'en-US');\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.datefilter.match(frmDt); \n });\n }\n\n // if (this.ToDate != undefined && this.ToDate != \"\") {\n // var toDt = formatDate(this.ToDate, 'yyyyMM', 'en-US');\n // this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n // return row.datefilter <= toDt;\n // });\n // }\n\n //below code commented -vaibhav 28-10-2020 5:52\n // if (this.ddlMonth != \"\" && this.ddlYear != \"\") {\n // var newDate = this.ddlYear + \"-\" + this.ddlMonth + \"-\" + \"28\";\n // var toDt = formatDate(newDate, 'yyyyMM', 'en-US');\n // this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n // return row.datefilter <= toDt;\n // });\n // }\n\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(this.chargeStatus); \n });\n\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.WaiveStatus.match(this.waiveStatus);\n });\n\n var list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => {\n return row.chargeStatus.match(\"Uncharged\"); \n });\n\n \n if((this.chargeStatus == \"Uncharged\" || this.chargeStatus == \"\") && list.length > 0){\n this.chargeDisable = false;\n }\n else{\n this.chargeDisable = true;\n }\n \n this.ddlshowvalue=this.FilteredMonthlyFlatMonthlySweepChargesList.length;\n if(this.ddlshowvalue >0)\n this.allMonthDisbale=false;\n else\n this.allMonthDisbale=true; \n }\n show() { this.showModal = true; }\n hide() { this.showModal = false; }\n showlbl() { this.showMsg = true; }\n hidelbl() { this.showMsg = false; }\n hideerror() {\n this.showerrormsg = false;\n }\n\n showChargePopUp() {\n this.show();\n }\n\n // Getting Charge based on chargeType\n Charge() {\n \n this.hide();\n if (this.chargeType == \"PerSweep\") {\n var list = this.FilteredSweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n if (list.length > 0) {\n this._SweepChargesModelService.fnPerSweepCharges(localStorage.getItem(\"LoginUserId\"), this.customerId, this.FromDate, this.ToDate).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n this.lblMessage = count.toString() + \" records charged successfully\";\n //this.showlbl();\n this.showerrormsg = false;\n this.showMsg = true;\n //this.fnGetAllSweepChargeList();\n this.DownloadTTUM();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\";\n //this.showlbl();\n this.showerrormsg = true;\n this.showMsg = false;\n }\n }\n else if (this.chargeType == \"DailyOrFlatDaily\") {\n var list = this.FilteredDailyFlatDailySweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n if (list.length > 0) {\n this._SweepChargesModelService.fnDailyAndFlatDailySweepCharges(localStorage.getItem(\"LoginUserId\"), this.customerId, this.FromDate, this.ToDate).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n this.lblMessage = count.toString() + \" records charged successfully\";\n \n //this.showlbl();\n this.showerrormsg = false;\n this.showMsg = true;\n this.fnGetAllDailyFlatDailySweepChargeList(\"\",null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,10,1,this.sortOrder);\n this.DownloadTTUM();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\";\n //this.showlbl();\n this.showerrormsg = true;\n this.showMsg = false;\n }\n }\n else if (this.chargeType == \"MonthlyOrFlatMontlhy\") {\n var list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n if (list.length > 0) {\n this._SweepChargesModelService.fnMonthlyAndFlatMonthlySweepCharges(localStorage.getItem(\"LoginUserId\"), this.customerId, this.FromDate, this.ToDate).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n this.lblMessage = count.toString() + \" records charged successfully\";\n \n //this.showlbl();\n this.showerrormsg = false;\n this.showMsg = true;\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.DownloadTTUM();\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\";\n //this.showlbl();\n this.showerrormsg = true;\n this.showMsg = false;\n }\n }\n\n }\n\n // Getting change Charge Type\n changeChargeType() {\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.customerId=null;\n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.ddlDropdownValue=10;\n this._SweepChargesModelService.formData.DropDownValue=\"10\";\n //this.pageNo = page; \n //this.currentPage = page; \n // if (this.customerId > 0) {\n // this.customerId = null;\n // }\n // if (this.chargeType == 'All') {\n // this.IsMonthlyOrFlatMontlhy=false;\n // this.FilteredCustomerList = this.allCustomerList;\n // // this.FilteredCustomerList = this.allCustomerList.filter(row => \n // // }, (err) => {\n // // this.router.navigate([\"404\"]);\n // // });\n // this.OnSearch(\"\",\"\");\n \n // }\n \n if (this.chargeType == 'PerSweep') {\n this.IsMonthlyOrFlatMontlhy=false;\n this.FilteredCustomerList = this.allCustomerList.filter(row => {\n return row.SweepChargeType == 'PerSweep';\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n this.fnGetAllSweepChargeList(\"\",null,null,\"Uncharged\",\"\",this.sortOrder,1);\n }\n else if (this.chargeType == 'DailyOrFlatDaily') {\n this.fnGetAllDailyFlatDailySweepChargeList(\"\",null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,1,10,1,this.sortOrder);\n this.IsMonthlyOrFlatMontlhy=false;\n this.FilteredCustomerList = this.allCustomerList.filter(row => {\n return row.SweepChargeType == 'DailyOrFlatDaily';\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else if (this.chargeType == 'MonthlyOrFlatMontlhy') {\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,1,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.IsMonthlyOrFlatMontlhy=true;\n this.FilteredCustomerList = this.allCustomerList.filter(row => {\n return row.SweepChargeType == 'MonthlyOrFlatMontlhy';\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n //this.OnSearch(\"\",\"\",\"\");\n }\n \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n this.ComingFromFirst = true;\n this.pageChanged(1);\n }\n\n fnShowonchange(newObj,FromDate,ToDate,CustomerName) {\n this.ddlDropdownValue= newObj.target.value;\n this.ddlshowvalue = newObj.target.value;\n this.ddlshowStartValue = 1;\n this.currentPage = 1;\n this.config = {\n itemsPerPage: this.ddlshowvalue,\n currentPage: 1,\n };\n this.pageNumber = [];\n this.pageNumber[0] = true;\n this._PaginationService.comingFromPreAndNext = false;\n if(this.chargeType == 'PerSweep')\n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,\n this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder,1,this.pageNo,this.config.itemsPerPage.toString()) \n else if (this.chargeType == 'DailyOrFlatDaily') \n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,null,null,this._SweepChargesModelService.formData.chargeStatus,\n this._SweepChargesModelService.formData.WaiveStatus,1,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n else if(this.chargeType == 'MonthlyOrFlatMontlhy')\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,\n this._SweepChargesModelService.formData.WaiveStatus,1,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n\n }\n @ViewChild('tblAllSweephide') tblAllSweephide:ElementRef;\n @ViewChild('tblPerSweephide') tblPerSweephide:ElementRef;\n @ViewChild('tblDailyOrFlatDailyhide') tblDailyOrFlatDailyhide:ElementRef;\n @ViewChild('tblMonthlyOrFlatMontlhyhide') tblMonthlyOrFlatMontlhyhide:ElementRef;\n//title = 'Excel'; \nisComingFromCheckBox:boolean=false;\nfndownloadReport(ddlValue,ChargeType,customerName){ \n this._spinner.show();\n this.isComingFromCheckBox=true; \n if(ChargeType==\"PerSweep\"){\n this._SweepChargesModelService.fnGetAllSweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allSweepChargesListExport = respose; \n this.FilterallSweepChargesListExport = this.allSweepChargesListExport; \n \n this.OnSearch(this._SweepChargesModelService.formData.FromDate,\n this._SweepChargesModelService.formData.ToDate,customerName);\n console.log(this.FilterallSweepChargesListExport);\n setTimeout(() => {\n this.ExportSweepCharges(ddlValue,ChargeType);\n this._spinner.hide(); \n }, 500);\n });\n }\n else if(ChargeType==\"DailyOrFlatDaily\"){\n this._SweepChargesModelService.fnGetAllDailyAndFlatDailySweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allDailyFlatDailySweepChargesListExport = respose; \n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport;\n this.OnSearch(null,null,customerName);\n setTimeout(() => {\n this.ExportSweepCharges(ddlValue,ChargeType);\n this._spinner.hide(); \n }, 500);\n });\n }\n else if(ChargeType==\"MonthlyOrFlatMontlhy\"){\n this._SweepChargesModelService.fnGetAllMonthlyAndFlatMonthlySweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allMonthlyFlatMonthlySweepChargesListExport = respose;\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport;\n this.OnSearch(null,null,customerName);\n setTimeout(() => {\n this.ExportSweepCharges(ddlValue,ChargeType);\n this._spinner.hide(); \n }, 500);\n });\n } \n} \n\nExportSweepCharges(ddlValue,ChargeType){\n \n if(ChargeType==\"PerSweep\"){\n this.tblForExport=this.tblPerSweephide;\n }\n if(ChargeType==\"DailyOrFlatDaily\"){\n this.tblForExport=this.tblDailyOrFlatDailyhide;\n }\n if(ChargeType==\"MonthlyOrFlatMontlhy\"){\n this.tblForExport=this.tblMonthlyOrFlatMontlhyhide;\n } \n if(ddlValue === \"excel\"){\n this.fileName= 'SweepChargesReport.xlsx';\n //let element = document.getElementById('tblAccountMaster'); \n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.tblForExport.nativeElement);\n /* generate workbook and add the worksheet */\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, this.fileName);\n }\n if(ddlValue === \"rtf\"){\n this.fileName = 'SweepChargesReport.rtf';\n if(ChargeType==\"All\"){var ele = document.getElementById('tblAllSweephide');}\n if(ChargeType==\"PerSweep\"){\n var ele = document.getElementById('tblPerSweephide');\n var blob = new Blob([\"

Per Sweep Charges Report


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ChargeType==\"DailyOrFlatDaily\"){\n var ele = document.getElementById('tblDailyOrFlatDailyhide');\n var blob = new Blob([\"

Daily/Flat Range Daily Sweep Charges Report


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n }\n if(ChargeType==\"MonthlyOrFlatMontlhy\"){\n var ele = document.getElementById('tblMonthlyOrFlatMontlhyhide');\n var blob = new Blob([\"

Monthly/ Flat Range Monthly Sweep Charges Report


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);\n } \n\n // var ele = document.getElementById(this.tblForExport.nativeElement);\n \n }\n if(ddlValue === \"html\"){\n this.fileName = 'SweepChargesReport.html'; \n if(ChargeType==\"All\"){\n var ele = document.getElementById('tblAllSweephide');\n }\n if(ChargeType==\"PerSweep\"){var ele = document.getElementById('tblPerSweephide');\n var blob = new Blob([\"

Per Sweep Charges Report


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);}\n if(ChargeType==\"DailyOrFlatDaily\"){var ele = document.getElementById('tblDailyOrFlatDailyhide');\n var blob = new Blob([\"

Daily/Flat Range Daily Sweep Charges Report


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);}\n if(ChargeType==\"MonthlyOrFlatMontlhy\"){var ele = document.getElementById('tblMonthlyOrFlatMontlhyhide');\n var blob = new Blob([\"

Monthly/ Flat Range Monthly Sweep Charges Report


\"+ele.innerHTML+\"
\"], {\n type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8\"\n });\n saveAs(blob, this.fileName);} \n \n }\n\n if(ddlValue === \"pdf\"){ \n let DATA = this.tblForExport.nativeElement;\n if(ChargeType==\"All\"){var ele = document.getElementById('tblAllSweephide');}\n if(ChargeType==\"PerSweep\"){var ele = document.getElementById('tblPerSweephide');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Per Sweep Charges Report


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('SweepChargesReport.pdf')}\n if(ChargeType==\"DailyOrFlatDaily\"){var ele = document.getElementById('tblDailyOrFlatDailyhide');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Daily/Flat Range Daily Sweep Charges Report


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('SweepChargesReport.pdf')}\n if(ChargeType==\"MonthlyOrFlatMontlhy\"){var ele = document.getElementById('tblMonthlyOrFlatMontlhyhide');\n let doc = new jsPDF('l','mm',[2600,1300]);\n var blob = new Blob([], {\n });\n let handleElement = {\n '#editor':function(element,renderer){\n return true;\n }\n };\n doc.fromHTML(\"

Monthly/ Flat Range Monthly Sweep Charges Report


\"+DATA.innerHTML+\"
\",15,15,{\n 'width':1300,\n 'elementHandlers': handleElement\n });\n doc.save('SweepChargesReport.pdf')} \n\n //var ele = document.getElementById('tblForExport');\n \n }\n}\n\n\n /*----------Per Sweep-----------*/\n fnSortSweepChargesMaster(field, obj) {\n \n if (this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableSweepChargesMst(obj, this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableSweepChargesMst(obj, this.ascendingOrder);\n }\n if (this.ascendingOrder) {\n this.FilteredSweepChargesList = this.FilteredSweepChargesList.sort((a, b) => {\n if (field === 'TransactionId') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field == 'BalanceTransfer') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if(field =='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return -1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return 1;\n }\n else if (field == 'charges') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n\n });\n }\n else {\n this.FilteredSweepChargesList = this.FilteredSweepChargesList.sort((a, b) => {\n if (field === 'TransactionId') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field == 'BalanceTransfer') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if(field =='CreatedDate'){\n if (a[\"DateCreated\"].toLowerCase() < b[\"DateCreated\"].toLowerCase())\n return 1;\n if (a[\"DateCreated\"].toLowerCase() > b[\"DateCreated\"].toLowerCase())\n return -1;\n }\n else if (field == 'charges') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n\n /*----------Daily-----------*/\n fnSortDailySweepChargesMaster(field, obj) {\n \n if (this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableDailySweepCharges(obj, this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableDailySweepCharges(obj, this.ascendingOrder);\n }\n if (this.ascendingOrder) {\n this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.sort((a, b) => {\n if (field === 'TransactionCount') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field === 'charges') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n }\n else {\n this.FilteredDailyFlatDailySweepChargesList = this.FilteredDailyFlatDailySweepChargesList.sort((a, b) => {\n if (field === 'TransactionCount') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field === 'charges') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n /*----------Monthly-----------*/\n fnSortMonthlySweepChargesMaster(field, obj) {\n \n if (this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n sortTableMonthlySweepCharges(obj, this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n sortTableMonthlySweepCharges(obj, this.ascendingOrder);\n }\n\n if (this.ascendingOrder) {\n this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.sort((a, b) => {\n if (field === 'TransactionCount') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else if (field == 'charges') {\n if (Number(a[field]) < Number(b[field]))\n return -1;\n if (Number(a[field]) > Number(b[field]))\n return 1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n }\n return 0;\n });\n }\n else {\n this.FilteredMonthlyFlatMonthlySweepChargesList = this.FilteredMonthlyFlatMonthlySweepChargesList.sort((a, b) => {\n if (field === 'TransactionCount') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else if (field == 'charges') {\n if (Number(a[field]) < Number(b[field]))\n return 1;\n if (Number(a[field]) > Number(b[field]))\n return -1;\n }\n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n }\n return 0;\n });\n }\n\n }\n /*----------------------------------*/\n\n // Download TTUM function\n DownloadTTUM(){\n this._SweepChargesModelService.fndownloadTTUM(localStorage.getItem(\"LoginUserId\")).subscribe(data => {\n \n if(data != \"1\"){\n this.ttumFile = data;\n this.disabledTTUMFile = true;\n this.TTUMnewUrl = this.TTUMCopyUrl.toString().split('/api/');\n this.TTUMnewUrl = this.TTUMnewUrl[0];\n this.TTUMfnName = 'api/SweepChargesApi/FnDownloadTTUMTextFile';\n }\n else{\n this.disabledTTUMFile = true;\n }\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n\n // Download TTUM as text file function\n DownloadTTUMTextFie() {\n \n location.href=$('#ttumtextFile').attr('href');\n }\n\n checkValidFromDate(FromDate){\n const MaxSdate=new Date();\n if(FromDate!=null){\n if (FromDate.singleDate.jsDate > MaxSdate) {\n this.fromDateError = true;\n } else{\n this.fromDateError = false;\n // this.OnSearch(CustomerName,FromDate,ToDate,Status); \n }\n }\n else{\n this.fromDateError = false;\n return this.fromDateError;\n }\n }\n\n // From date and To date validation function\n ValidateDateRange(sDate,eDate){\n const MaxSdate=new Date();\n if((sDate != null && eDate !=null )){\n if((eDate.singleDate.jsDate) < (sDate.singleDate.jsDate)){\n this.errorMessage='To date should be greater than From date.';\n this.isValidDate = false;\n }\n else{\n this.errorMessage=\"\";\n this.isValidDate = true;\n // this.OnSearch(CustomerName,sDate, eDate,Status);\n }\n }\n else{\n this.errorMessage=\"\";\n this.isValidDate = true; \n }\n return this.isValidDate;\n }\n\n onKeyDown(event: KeyboardEvent) {\n \n let a= (event.charCode == 8 || event.charCode == 45 || event.charCode == 0 ) ? null : event.charCode >= 48 && event.charCode <= 57;\n return a;\n }\n fnOpengearMenu(){\n $(\".icon-cog\").trigger(\"click\");\n }\n fnsubOpengearMenu(){\n $('[class=\"dropdown-menu\"]').trigger(\"click\").css('display','block');\n }\n //-------------------------\n // Getting role from userid\n GetPrivillageRoles(){ \n this._roleAccess.fnGetRoleAccess(localStorage.getItem('LoginUserId'),this.router.url).subscribe(roleAccess=>{ \n this.RoleAccess=roleAccess[0]; \n this.CheckerPrivillage = roleAccess[0].CheckerAccess; \n this.AddPrivillage=this.RoleAccess.AddAccess;\n \n // this.checkerAccess=this.RoleAccess.CheckerAccess\n //This added bcoz on page of checker it show pending records.\n if(this.CheckerPrivillage){\n this._SweepChargesModelService.formData.WaiveStatus='Pending';\n }\n //this.fnGetAllSweepChargeListExport();\n this.fnGetAllSweepChargeList(\"\",null,null,\"Uncharged\",this._SweepChargesModelService.formData.WaiveStatus,\"CreatedDate_DESC\");\n //this.fnGetAllDailyFlatDailySweepChargeListExport();\n //this.fnGetAllMonthlyFlatMonthlySweepChargeListExport();\n }\n , (err) => {\n this.router.navigate([\"404\"]);\n });\n \n }\n\n ///-----------------per sweep------------------------------------------------------------\n hideWaiveOff(){this.showModalForWaiveOff=false;\n var Prevcomment = (document.getElementById('waiveOffComment'));\n Prevcomment.value=\"\";\n }\n showWaiveOff(){this.showModalForWaiveOff=true;}\n hideMakeWaiveOff(){this.MakershowModalForWaiveOff=false;}\n showMakerWaiveOff(){this.MakershowModalForWaiveOff=true;}\nhideMakerCharge(){this.MakershowModalForCharge=false;}\nhideChargeModal(){this.showModalForCharge=false;}\n AllSweepulkWaiveOffSelected(){ \n this._spinner.show();\n this._SweepChargesModelService.fnGetAllSweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allSweepChargesListExport = respose; \n this.FilterallSweepChargesListExport = this.allSweepChargesListExport; \n setTimeout(() => {\n this.CheckAllCheckBoxPerSweep();\n this._spinner.hide(); \n }, 500);\n });\n }\n \n CheckAllCheckBoxPerSweep(){\n \n if (this.FilteredSweepChargesList.length > 0) {\n for (var i = 0; i < this.FilteredSweepChargesList.length; i++) {\n if(!this.FilteredSweepChargesList[i].disableWaiveOff )\n if(this.FilteredSweepChargesList[i].WaiveStatus != \"\" && this.CheckerPrivillage){\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = this.WaiveOffSelected; \n }\n else if(!this.CheckerPrivillage){\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = this.WaiveOffSelected; \n } \n }\n } \n\n // var list = this.FilteredSweepChargesList.filter(row => { return row.IsWaiveOffSelected == true }); \n \n let listCust = this.allCustomerList.filter(x => x.CustomerName === this._SweepChargesModelService.formData.CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n if (this.customerId > 0) {\n this.FilterallSweepChargesListExport = this.allSweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallSweepChargesListExport = this.allSweepChargesListExport;\n }\n var chargestatuss=this._SweepChargesModelService.formData.chargeStatus;\n this.FilterallSweepChargesListExport = this.FilterallSweepChargesListExport.filter(row => {\n return row.chargeStatus.match(chargestatuss);\n });\n\n if (this.FilterallSweepChargesListExport.length > 0) {\n for (var i = 0; i < this.FilterallSweepChargesListExport.length; i++) {\n if(!this.FilterallSweepChargesListExport[i].disableWaiveOff )\n if(this.FilterallSweepChargesListExport[i].WaiveStatus != \"\" && this.CheckerPrivillage){\n this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = this.WaiveOffSelected; \n }\n else if(!this.CheckerPrivillage){\n this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = this.WaiveOffSelected; \n } \n }\n } \n var list = this.FilterallSweepChargesListExport.filter(row => { return row.IsWaiveOffSelected == true }); \n this.SweepCheckedBulkWaiveOff();\n }\n PerSweepCheckAll(){\n \n \n this.SweepCheckedBulkWaiveOff();\n }\n\n // Per Sweep Waive Off Check function\n IsPerSweepWaiveOffCheck(id ,status){\n \n // status= !this.WaiveOffSelected ;\n for (var i = 0; i < this.FilteredSweepChargesList.length; i++) {\n if(!this.FilteredSweepChargesList[i].disableWaiveOff ){\n if(this.FilteredSweepChargesList[i].TransactionId == id){\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = status; \n if(this.FilteredSweepChargesList[i].WaiveStatus == \"Not Application\" && this.CheckerPrivillage){\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = status; \n }\n else if(!this.CheckerPrivillage){\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = status; \n }\n } \n } \n }\n for (var i = 0; i < this.FilterallSweepChargesListExport.length; i++) {\n // if(!this.FilterallSweepChargesListExport[i].disableWaiveOff ){\n if(this.FilterallSweepChargesListExport[i].TransactionId == id){\n this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = status; \n if(this.FilterallSweepChargesListExport[i].WaiveStatus == \"Not Application\" && this.CheckerPrivillage){\n this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = status; \n }\n else if(!this.CheckerPrivillage){\n this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = status; \n } \n }\n // } \n }\n \n this.SinglePersweep();\n }\nSinglePersweep(){\n this.checkedWaiveOffList = [];\n for (var i = 0; i < this.FilteredSweepChargesList.length; i++) {\n if(this.FilteredSweepChargesList[i].IsWaiveOffSelected == true) {\n this.checkedWaiveOffList.push(this.FilteredSweepChargesList[i]);\n if(this.FilteredSweepChargesList[i].chargeStatus==\"Uncharged\" && !this.CheckerPrivillage) {\n this.BulkChargeButton=true;\n }\n else if(this.FilteredSweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkChargeButton=true;\n }\n else if(this.FilteredSweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\" && !this.CheckerPrivillage){\n this.BulkWaiveOffButton=true;\n }\n else if(this.FilteredSweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkWaiveOffButton=true;\n }\n else if(this.FilteredSweepChargesList[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n //charge request\n if(this.FilteredSweepChargesList[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.BulkChargeButtonChecker=false;\n this.bulkChargePreCheckerToChecker=true; \n }\n //waive off request\n else if(this.FilteredSweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredSweepChargesList[i].WaiveStatus==\"Not Applicable\" && this.CheckerPrivillage) {\n this.BulkWaiveOffCheckerButton=false;\n this.BulkWaiveOffCheckertocheckerButton=true; \n }\n }\n else if(this.FilteredSweepChargesList[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilteredSweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.BulkChargeButtonChecker=true;\n this.bulkChargePreCheckerToChecker=false;\n }\n \n }\n else{\n this.BulkWaiveOffButton=false;\n this.BulkChargeButton=false;\n }\n } \n } \n var checkedList = this.FilteredSweepChargesList.filter(row => { return row.IsWaiveOffSelected == true }); \n if(checkedList.length==0){\n this.BulkWaiveOffButton=false;\n this.BulkChargeButton=false;\n }\n if(this.FilterallSweepChargesListExport.length == checkedList.length){\n this.WaiveOffSelected = true;\n }\n else{\n this.WaiveOffSelected=false;\n }\n}\n\n BulkChargeButtonChecker:boolean;\n bulkChargePreCheckerToChecker:boolean;;\n BulkWaiveOffCheckerButton:boolean;\n BulkWaiveOffCheckertocheckerButton:boolean;\n // Sweep Checked Bulk Waive Off function \n SweepCheckedBulkWaiveOff(){\n \n this.checkedWaiveOffList = [];\n for (var i = 0; i < this.FilterallSweepChargesListExport.length; i++) {\n if(this.FilterallSweepChargesListExport[i].IsWaiveOffSelected == true) {\n this.checkedWaiveOffList.push(this.FilterallSweepChargesListExport[i]);\n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Uncharged\" && !this.CheckerPrivillage) {\n this.BulkChargeButton=true;\n }\n else if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkChargeButton=true;\n }\n else if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\" && !this.CheckerPrivillage){\n this.BulkWaiveOffButton=true;\n }\n else if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkWaiveOffButton=true;\n }\n else if(this.FilterallSweepChargesListExport[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n //charge request\n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.BulkChargeButtonChecker=false;\n this.bulkChargePreCheckerToChecker=true; \n }\n //waive off request\n else if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallSweepChargesListExport[i].WaiveStatus==\"Not Applicable\" && this.CheckerPrivillage) {\n this.BulkWaiveOffCheckerButton=false;\n this.BulkWaiveOffCheckertocheckerButton=true; \n }\n }\n else if(this.FilterallSweepChargesListExport[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallSweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.BulkChargeButtonChecker=true;\n this.bulkChargePreCheckerToChecker=false;\n }\n \n }\n else{\n this.BulkWaiveOffButton=false;\n this.BulkChargeButton=false;\n }\n } \n } \n //when we checked and unchecked then button should not display.\n var checkedList = this.FilterallSweepChargesListExport.filter(row => { return row.IsWaiveOffSelected == true });\n if(checkedList.length==0) {\n this.BulkWaiveOffButton=false;\n this.BulkChargeButton=false;\n this.bulkChargePreCheckerToChecker=false;\n this.BulkWaiveOffCheckerButton=false;\n this.BulkWaiveOffCheckertocheckerButton=false;\n }\n // this.FilterallSweepChargesListExport = [];\n // for(var i=0;idocument.getElementById('waiveOffComment'));\n var comment1=document.getElementById('waiveOffComment');\n this.waiveComment=comment.value;\n \n }\n //Below function is used to apply charges.\n BulkChargeConfirm(){\n var list;\n if(!this.CheckerPrivillage || (this.bulkChargePreCheckerToChecker || this.bulkChargeDailyCheckerToChecker || this.bulkChargeMonthlyCheckerToChecker)){\n //1=pending.\n \n if (this.chargeType == \"PerSweep\") {\n if(this.FilterallSweepChargesListExport.length==0) {\n list = this.FilteredSweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n }\n else{\n list = this.FilterallSweepChargesListExport.filter(row => { return row.chargeStatus == 'Uncharged' });\n } \n if (list.length > 0) { \n this._SweepChargesModelService.fnPerSweepChargesApply(localStorage.getItem(\"LoginUserId\"), this.customerId, 1,this.FilterallSweepChargesListExport).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.lblMessage = count.toString() + \" records are send to checker for reviews charges successfully\"; \n this.showerrormsg = false;\n this.showMsg = true;\n this.fnGetAllSweepChargeList(this.customerId,this.FromDate,this.ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder);\n //this.DownloadTTUM();\n this.MakershowModalForCharge=false;\n this.BulkChargeButton=false;\n this.bulkChargePreCheckerToChecker=false;\n if(this.WaiveOffSelected)\n this.WaiveOffSelected=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\"; \n this.showerrormsg = true;\n this.showMsg = false;\n this.MakershowModalForCharge=false;\n }\n }\n else if (this.chargeType == \"DailyOrFlatDaily\") {\n if(this.FilterallDailyFlatDailySweepChargesListExport.length==0) {\n list = this.FilteredDailyFlatDailySweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n }\n else{\n list = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => { return row.chargeStatus == 'Uncharged' });\n }\n \n if (list.length > 0) {\n this._SweepChargesModelService.fnDailyAndFlatChargesApply(localStorage.getItem(\"LoginUserId\"), this.customerId, this.FromDate, this.ToDate,1,this.checkedDailyflatList,this.pageNo,this.config.itemsPerPage.toString(),this.sortOrder).subscribe(count => { \n this.lblMessage = count.toString() + \" records are send to checker for reviews charges successfully\"; \n this.showerrormsg = false;\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.showMsg = true;\n this.fnGetAllDailyFlatDailySweepChargeList(\"\",null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n // this.DownloadTTUM();\n this.MakershowModalForCharge=false;\n this.BulkDailyflatChargeButton=false;\n this.bulkChargeDailyCheckerToChecker=false;\n if(this.DailyFlatWaiveOffSelected)\n this.DailyFlatWaiveOffSelected=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\"; \n this.showerrormsg = true;\n this.showMsg = false;\n this.MakershowModalForCharge=false;\n }\n }\n else if (this.chargeType == \"MonthlyOrFlatMontlhy\") {\n if(this.FilteredMonthlyFlatMonthlySweepChargesList.length==0) {\n list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n }\n else{\n list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => { return row.chargeStatus == 'Uncharged' });\n }\n \n if (list.length > 0) {\n this._SweepChargesModelService.fnMonthlyAndFlatChargesApply(localStorage.getItem(\"LoginUserId\"), this.customerId, 1,this.checkedMonthlyFlatList).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n this.lblMessage = count.toString() + \" records are send to checker for reviews charges successfully\"; \n this.showerrormsg = false;\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.showMsg = true;\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n // this.DownloadTTUM();\n this.MakershowModalForCharge=false;\n this.BulkMonthlyflatChargeButton=false;\n this.bulkChargeMonthlyCheckerToChecker=false;\n if(this.MonthlyFlatWaiveOffSelected)\n this.MonthlyFlatWaiveOffSelected=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\";\n //this.showlbl();\n this.showerrormsg = true;\n this.showMsg = false;\n this.MakershowModalForCharge=false;\n }\n }\n }\n else{\n if (this.chargeType == \"PerSweep\") {\n if(this.FilterallSweepChargesListExport.length==0) {\n list = this.FilteredSweepChargesList.filter(row => { return row.chargeStatus == 'Pending' });\n }\n else{\n list = this.FilterallSweepChargesListExport.filter(row => { return row.chargeStatus == 'Pending' });\n }\n \n if (list.length > 0) { \n this._SweepChargesModelService.fnPerSweepChargesApply(localStorage.getItem(\"LoginUserId\"), this.customerId,this.AuthorizeWaiveOffStatus,this.checkedWaiveOffList).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n if(this.AuthorizeWaiveOffStatus==2) { \n this.lblMessage = count.toString() + \" records charged successfully\";\n }\n else if(this.AuthorizeWaiveOffStatus==3){ \n this.lblMessage = count.toString() + \" records charges rejected successfully\";\n } this._SweepChargesModelService.formData.CustomerName = \"\"; \n this.showerrormsg = false;\n this.showMsg = true;\n this.fnGetAllSweepChargeList(this.customerId,this.FromDate,this.ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder);\n this.DownloadTTUM();\n this.showModalForCharge=false;\n this.BulkChargeButton=false;\n this.BulkChargeButtonChecker=false;\n if(this.WaiveOffSelected)\n this.WaiveOffSelected=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\"; \n this.showerrormsg = true;\n this.showMsg = false;\n this.showModalForCharge=false;\n }\n }\n else if (this.chargeType == \"DailyOrFlatDaily\") {\n if(this.FilterallDailyFlatDailySweepChargesListExport.length==0) {\n list = this.FilteredDailyFlatDailySweepChargesList.filter(row => { return row.chargeStatus == 'Pending' });\n }\n else{\n list = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => { return row.chargeStatus == 'Pending' });\n }\n \n if (list.length > 0) {\n this._SweepChargesModelService.fnDailyAndFlatChargesApply(localStorage.getItem(\"LoginUserId\"), this.customerId, this.FromDate, this.ToDate,this.AuthorizeWaiveOffStatus,this.checkedDailyflatList,this.pageNo,this.config.itemsPerPage.toString(),this.sortOrder).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\"; \n if(this.AuthorizeWaiveOffStatus==2) { \n this.lblMessage = count.toString() + \" records charged successfully\";\n }\n else if(this.AuthorizeWaiveOffStatus==3){ \n this.lblMessage = count.toString() + \" records charges rejected successfully\";\n } \n this._SweepChargesModelService.formData.CustomerName = \"\";\n //this.showlbl();\n this.showerrormsg = false;\n this.showMsg = true;\n this.fnGetAllDailyFlatDailySweepChargeList(\"\",null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,10,1,this.sortOrder);\n this.DownloadTTUM();\n this.showModalForCharge=false;\n this.BulkDailyflatChargeButton=false;\n this.BulkChargeDailyChecker=false;\n if(this.DailyFlatWaiveOffSelected)\n this.DailyFlatWaiveOffSelected=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\";\n //this.showlbl();\n this.showerrormsg = true;\n this.showMsg = false;\n this.showModalForCharge=false;\n }\n }\n else if (this.chargeType == \"MonthlyOrFlatMontlhy\") {\n if(this.FilteredMonthlyFlatMonthlySweepChargesList.length==0) {\n list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => { return row.chargeStatus == 'Pending' });\n }\n else{\n list = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => { return row.chargeStatus == 'Pending' });\n }\n \n if (list.length > 0) {\n this._SweepChargesModelService.fnMonthlyAndFlatChargesApply(localStorage.getItem(\"LoginUserId\"), this.customerId, this.AuthorizeWaiveOffStatus,this.checkedMonthlyFlatList).subscribe(count => {\n // this.lblMessage = count.toString() + \" records updated\";\n if(this.AuthorizeWaiveOffStatus==2) { \n this.lblMessage = count.toString() + \" records charged successfully\";\n }\n else if(this.AuthorizeWaiveOffStatus==3){ \n this.lblMessage = count.toString() + \" records charges rejected successfully\";\n } \n \n this._SweepChargesModelService.formData.CustomerName = \"\";\n //this.showlbl();\n this.showerrormsg = false;\n this.showMsg = true;\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.DownloadTTUM();\n this.showModalForCharge=false;\n this.BulkMonthlyflatChargeButton=false;\n this.BulkChargeMonthlyChecker=false;\n if(this.MonthlyFlatWaiveOffSelected)\n this.MonthlyFlatWaiveOffSelected=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n });\n }\n else {\n this.lblMessage = \"No records for charge\";\n //this.showlbl();\n this.showerrormsg = true;\n this.showMsg = false;\n this.showModalForCharge=false;\n }\n }\n }\n \n }\n\n // Bulk hide Waive Off Confirmation function\n BulkhideWaiveOffConfirm(){\n if(!this.CheckerPrivillage || this.BulkWaiveOffCheckertocheckerButton || this.BulkDailyflatWaiveOffCheckerTocheckerButton || this.BulkMonthlyflatWaiveOffCheckerToCheckerButton){ \n //1= pending status.\n if(this.checkedWaiveOffList != undefined){\n this._SweepChargesModelService.fnUpdateWaiveOffStatusAndBalance(this.checkedWaiveOffList,1,'',1).subscribe(respose => {\n this.fnGetAllSweepChargeList(this.customerId,this._SweepChargesModelService.formData.FromDate,this._SweepChargesModelService.formData.ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder);\n for (var i = 0; i < this.FilteredSweepChargesList.length; i++) {\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = false;\n }\n for (var i = 0; i < this.FilterallSweepChargesListExport.length; i++) {\n this.FilterallSweepChargesListExport[i].IsWaiveOffSelected = false;\n }\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.SweepCheckedBulkWaiveOff();\n this.WaiveOffSelected=false;\n this.hideMakeWaiveOff();\n this.lblMessage=\"Waive off Request has been sent to checker for review.\";\n this.IsWaiveOffSelected=false;\n this.BulkWaiveOffButton=false;\n this.MakershowModalForWaiveOff=false;\n this.BulkWaiveOffCheckertocheckerButton=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else if(this.checkedDailyflatList != undefined){\n this._SweepChargesModelService.fnUpdateWaiveOffStatusAndBalance(this.checkedDailyflatList,1,'',2).subscribe(respose => {\n this.fnGetAllDailyFlatDailySweepChargeList(\"\",null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,10,1,this.sortOrder);\n for (var i = 0; i < this.FilteredDailyFlatDailySweepChargesList.length; i++) {\n this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected = false;\n }\n for (var i = 0; i < this.FilterallDailyFlatDailySweepChargesListExport.length; i++) {\n this.FilterallDailyFlatDailySweepChargesListExport[i].IsDailyFlatWaiveOffSelected = false;\n }\n this.hideMakeWaiveOff();\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.lblMessage=\"Waive off Request has been sent to checker for review.\";\n this.BulkDailyflatWaiveOffButton=false;\n this.DailyFlatWaiveOffSelected=false;\n this.BulkDailyflatWaiveOffCheckerTocheckerButton=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else if(this.checkedMonthlyFlatList != undefined){\n this._SweepChargesModelService.fnUpdateWaiveOffStatusAndBalance(this.checkedMonthlyFlatList,1,'',3).subscribe(respose => {\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n for (var i = 0; i < this.FilteredMonthlyFlatMonthlySweepChargesList.length; i++) {\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = false;\n }\n for (var i = 0; i < this.FilterallMonthlyFlatMonthlySweepChargesListExport.length; i++) {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected = false;\n }\n this._SweepChargesModelService.formData.CustomerName = \"\";\n this.hideMakeWaiveOff();\n this.lblMessage=\"Waive off Request has been sent to checker for review.\";\n this.BulkMonthlyflatWaiveOffButton=false;\n this.BulkMonthlyflatWaiveOffCheckerToCheckerButton=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n this.showMsg=true;\n }\n else{\n if(this.checkedWaiveOffList != undefined){\n this._SweepChargesModelService.fnUpdateWaiveOffStatusAndBalance(this.checkedWaiveOffList,this.AuthorizeWaiveOffStatus,this.waiveComment,1).subscribe(respose => {\n this.fnGetAllSweepChargeList(this.customerId,this._SweepChargesModelService.formData.FromDate,this._SweepChargesModelService.formData.ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder);\n for (var i = 0; i < this.FilteredSweepChargesList.length; i++) {\n this.FilteredSweepChargesList[i].IsWaiveOffSelected = false;\n }this._SweepChargesModelService.formData.CustomerName = \"\";\n this.SweepCheckedBulkWaiveOff();\n this.WaiveOffSelected=false;\n this.hideWaiveOff();\n this.BulkWaiveOffButton=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else if(this.checkedDailyflatList != undefined) {\n this._SweepChargesModelService.fnUpdateWaiveOffStatusAndBalance(this.checkedDailyflatList,this.AuthorizeWaiveOffStatus,this.waiveComment,2).subscribe(respose => {\n this.fnGetAllDailyFlatDailySweepChargeList(\"\",null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,10,1,this.sortOrder);\n for (var i = 0; i < this.FilteredDailyFlatDailySweepChargesList.length; i++) {\n this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected = false;\n }this._SweepChargesModelService.formData.CustomerName = \"\";\n this.DailyCheckedBulkWaiveOff();\n this.DailyFlatWaiveOffSelected=false;\n this.hideWaiveOff();\n this.BulkDailyflatWaiveOffButton=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n else if(this.checkedMonthlyFlatList != undefined){\n this._SweepChargesModelService.fnUpdateWaiveOffStatusAndBalance(this.checkedMonthlyFlatList,this.AuthorizeWaiveOffStatus,this.waiveComment,3).subscribe(respose => {\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n for (var i = 0; i < this.FilteredMonthlyFlatMonthlySweepChargesList.length; i++) {\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = false;\n }this._SweepChargesModelService.formData.CustomerName = \"\";\n this.MonthlyCheckedBulkWaiveOff();\n this.MonthlyFlatWaiveOffSelected=false;\n this.hideWaiveOff();\n this.BulkMonthlyflatWaiveOffButton=false;\n }, (err) => {\n this.router.navigate([\"404\"]);\n }); \n }\n if(this.AuthorizeWaiveOffStatus==2) {\n this.showMsg=true;\n this.lblMessage=\"Waive off Request Approved Successfully.\";\n }\n else if(this.AuthorizeWaiveOffStatus==3){\n this.showMsg=true;\n this.lblMessage=\"Waive off Request Rejected Successfully.\";\n }\n }\n \n }\n ////--------------------------------dialy-----------------\n AllDailyFlatWaiveOffSelected(){\n this._spinner.show();\n this._SweepChargesModelService.fnGetAllDailyAndFlatDailySweepChargesListExport(localStorage.getItem('LoginUserId')).subscribe(respose => {\n this.allDailyFlatDailySweepChargesListExport = respose; \n this.FilterallDailyFlatDailySweepChargesListExport = this.allDailyFlatDailySweepChargesListExport;\n \n setTimeout(() => {\n this.CheckAllDailyflatCheckBox();\n this._spinner.hide(); \n }, 500);\n });\n\n // this.DailyFlatWaiveOffSelected != this.DailyFlatWaiveOffSelected;\n \n}\n\nCheckAllDailyflatCheckBox(){\n if (this.FilteredDailyFlatDailySweepChargesList.length > 0) {\n for (var i = 0; i < this.FilteredDailyFlatDailySweepChargesList.length; i++) {\n if(!this.FilteredDailyFlatDailySweepChargesList[i].disableWaiveOff ){\n if((this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus != \"Pending\" || this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus !=\"Pending\") \n && this.CheckerPrivillage){\n this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected = this.DailyFlatWaiveOffSelected; \n }\n else if(!this.CheckerPrivillage && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus == \"Not Applicable\"){\n this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected = this.DailyFlatWaiveOffSelected; \n }\n } \n \n }\n }\n let listCust = this.allCustomerList.filter(x => x.CustomerName === this._SweepChargesModelService.formData.CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n if (this.customerId > 0) {\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport;\n }\n var chargestatuss=this._SweepChargesModelService.formData.chargeStatus;\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(chargestatuss);\n });\n \n if (this.FilterallDailyFlatDailySweepChargesListExport.length > 0) {\n for (var i = 0; i < this.FilterallDailyFlatDailySweepChargesListExport.length; i++) {\n if(!this.FilterallDailyFlatDailySweepChargesListExport[i].disableWaiveOff ){\n if((this.FilterallDailyFlatDailySweepChargesListExport[i].WaiveStatus != \"Pending\" || this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus !=\"Pending\") \n && this.CheckerPrivillage){\n this.FilterallDailyFlatDailySweepChargesListExport[i].IsDailyFlatWaiveOffSelected = this.DailyFlatWaiveOffSelected; \n }\n else if(!this.CheckerPrivillage && this.FilterallDailyFlatDailySweepChargesListExport[i].WaiveStatus == \"Not Applicable\"){\n this.FilterallDailyFlatDailySweepChargesListExport[i].IsDailyFlatWaiveOffSelected = this.DailyFlatWaiveOffSelected; \n }\n } \n \n }\n }\n this.DailyCheckedBulkWaiveOff();\n}\nDailyFlatCheckAll(){\n var chargestatuss=this._SweepChargesModelService.formData.chargeStatus;\n this.FilterallDailyFlatDailySweepChargesListExport = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(chargestatuss);\n });\n this.DailyCheckedBulkWaiveOff();\n}\n IsDailyFlatWaiveOffCheck(AclinkName,status){\n \n // status!= this.DailyFlatWaiveOffSelected ;\n for (var i = 0; i < this.FilteredDailyFlatDailySweepChargesList.length; i++) {\n if(this.FilteredDailyFlatDailySweepChargesList[i].AclinkName == AclinkName)\n this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected = status; \n }\n for (var i = 0; i < this.FilterallDailyFlatDailySweepChargesListExport.length; i++) {\n if(this.FilterallDailyFlatDailySweepChargesListExport[i].AclinkName == AclinkName)\n this.FilterallDailyFlatDailySweepChargesListExport[i].IsDailyFlatWaiveOffSelected = status; \n}\n this.DailySingleChecks();\n }\n\n DailySingleChecks(){\n this.checkedDailyflatList = [];\n for (var i = 0; i < this.FilteredDailyFlatDailySweepChargesList.length; i++) {\n if(this.FilteredDailyFlatDailySweepChargesList[i].IsDailyFlatWaiveOffSelected == true){\n this.checkedDailyflatList.push(this.FilteredDailyFlatDailySweepChargesList[i]);\n \n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Uncharged\" && !this.CheckerPrivillage) {\n this.BulkDailyflatChargeButton=true;\n }\n else if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkDailyflatChargeButton=true;\n }\n else if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\" && !this.CheckerPrivillage){ \n this.BulkDailyflatWaiveOffButton=true;\n }\n else if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Pending\" && this.CheckerPrivillage){ \n this.BulkDailyflatWaiveOffButton=true; \n this.BulkDailyflatWaiveOffCheckerButton=false;\n this.BulkDailyflatWaiveOffCheckerTocheckerButton=false; \n } \n else if(this.FilteredDailyFlatDailySweepChargesList[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.BulkChargeDailyChecker=false;\n this.bulkChargeDailyCheckerToChecker=true;\n }\n else if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredDailyFlatDailySweepChargesList[i].WaiveStatus==\"Not Applicable\" && this.CheckerPrivillage) {\n this.BulkDailyflatWaiveOffCheckerButton=false;\n this.BulkDailyflatWaiveOffCheckerTocheckerButton=true;\n this.BulkDailyflatWaiveOffButton=false; \n }\n }\n else if(this.FilteredDailyFlatDailySweepChargesList[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilteredDailyFlatDailySweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.BulkChargeDailyChecker=true;\n this.bulkChargeDailyCheckerToChecker=false;\n }\n } \n else{\n this.BulkDailyflatWaiveOffButton=false;\n this.BulkDailyflatChargeButton=false;\n this.BulkChargeDailyChecker=false;\n this.bulkChargeDailyCheckerToChecker=false;\n }\n }\n }\n var checkedList = this.FilteredDailyFlatDailySweepChargesList.filter(row => { return row.IsDailyFlatWaiveOffSelected == true }); \n if(this.FilteredDailyFlatDailySweepChargesList.length == checkedList.length){\n this.DailyFlatWaiveOffSelected = true;\n }\n else{\n this.DailyFlatWaiveOffSelected=false;\n }\n \n if(checkedList.length==0){\n this.BulkDailyflatWaiveOffButton=false;\n this.BulkDailyflatChargeButton=false;\n this.BulkChargeDailyChecker=false;\n this.bulkChargeDailyCheckerToChecker=false;\n }\n }\n\n BulkDailyflatChargeButton:boolean;\n BulkChargeDailyChecker:boolean;\n bulkChargeDailyCheckerToChecker:boolean;\n\n BulkDailyflatWaiveOffCheckerButton:boolean;\n BulkDailyflatWaiveOffCheckerTocheckerButton:boolean;\n isCheckBoxSelected:boolean=false;\n DailyCheckedBulkWaiveOff(){\n\n this.checkedDailyflatList = [];\n for (var i = 0; i < this.FilterallDailyFlatDailySweepChargesListExport.length; i++) {\n if(this.FilterallDailyFlatDailySweepChargesListExport[i].IsDailyFlatWaiveOffSelected == true){\n this.checkedDailyflatList.push(this.FilterallDailyFlatDailySweepChargesListExport[i]);\n this.isCheckBoxSelected=true;\n if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Uncharged\" && !this.CheckerPrivillage) {\n this.BulkDailyflatChargeButton=true;\n }\n else if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkDailyflatChargeButton=true;\n }\n else if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallDailyFlatDailySweepChargesListExport[i].WaiveStatus==\"Not Applicable\" && !this.CheckerPrivillage){ \n this.BulkDailyflatWaiveOffButton=true;\n }\n else if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallDailyFlatDailySweepChargesListExport[i].WaiveStatus==\"Pending\" && this.CheckerPrivillage){ \n this.BulkDailyflatWaiveOffButton=true; \n this.BulkDailyflatWaiveOffCheckerButton=false;\n this.BulkDailyflatWaiveOffCheckerTocheckerButton=false; \n } \n else if(this.FilterallDailyFlatDailySweepChargesListExport[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.BulkChargeDailyChecker=false;\n this.bulkChargeDailyCheckerToChecker=true;\n }\n else if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallDailyFlatDailySweepChargesListExport[i].WaiveStatus==\"Not Applicable\" && this.CheckerPrivillage) {\n this.BulkDailyflatWaiveOffCheckerButton=false;\n this.BulkDailyflatWaiveOffCheckerTocheckerButton=true;\n this.BulkDailyflatWaiveOffButton=false; \n }\n }\n else if(this.FilterallDailyFlatDailySweepChargesListExport[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallDailyFlatDailySweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.BulkChargeDailyChecker=true;\n this.bulkChargeDailyCheckerToChecker=false;\n }\n } \n else{\n this.BulkDailyflatWaiveOffButton=false;\n this.BulkDailyflatChargeButton=false;\n this.BulkChargeDailyChecker=false;\n this.bulkChargeDailyCheckerToChecker=false;\n }\n }\n }\n //when we checked and unchecked then button should not display.\n var checkedList = this.FilterallDailyFlatDailySweepChargesListExport.filter(row => { return row.IsDailyFlatWaiveOffSelected == true });\n if(checkedList.length==0) {\n this.BulkDailyflatWaiveOffButton=false;\n this.BulkDailyflatChargeButton=false;\n this.bulkChargeDailyCheckerToChecker=false;\n this.BulkDailyflatWaiveOffCheckerButton=false;\n this.BulkDailyflatWaiveOffCheckerTocheckerButton=false;\n } \n this.FilterdSweepcheckedList = [];\n for(var i=0;i {\n this.allMonthlyFlatMonthlySweepChargesListExport = respose;\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.allMonthlyFlatMonthlySweepChargesListExport; \n setTimeout(() => {\n this.CheckAllMonthlyCheckBox()\n this._spinner.hide(); \n }, 500);\n });\n \n }\n\n CheckAllMonthlyCheckBox(){\n this.MonthlyFlatWaiveOffSelected != this.MonthlyFlatWaiveOffSelected;\n if (this.FilteredMonthlyFlatMonthlySweepChargesList.length > 0) {\n for (var i = 0; i < this.FilteredMonthlyFlatMonthlySweepChargesList.length; i++) {\n if(!this.FilteredMonthlyFlatMonthlySweepChargesList[i].disableWaiveOff)\n if((this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus == \"Pending\" || \n this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\") && this.CheckerPrivillage){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n else if(!this.CheckerPrivillage && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus == \"Not Applicable\"){\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n else if(this.allMonthlyFlatMonthlySweepChargesList[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.allMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n }\n else if(this.allMonthlyFlatMonthlySweepChargesList[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.allMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n \n } \n }\n }\n let listCust = this.allCustomerList.filter(x => x.CustomerName === this._SweepChargesModelService.formData.CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n if (this.customerId > 0) {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => { return row.CustomerId == this.customerId; });\n }\n else {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport;\n }\n var chargestatuss=this._SweepChargesModelService.formData.chargeStatus;\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(chargestatuss);\n });\n \n if (this.FilterallMonthlyFlatMonthlySweepChargesListExport.length > 0) {\n for (var i = 0; i < this.FilterallMonthlyFlatMonthlySweepChargesListExport.length; i++) {\n if(!this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].disableWaiveOff)\n if((this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].WaiveStatus == \"Pending\" || \n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Pending\") && this.CheckerPrivillage){\n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n else if(!this.CheckerPrivillage && this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].WaiveStatus == \"Not Applicable\"){\n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected = this.MonthlyFlatWaiveOffSelected; \n }\n \n } \n }\n }\n this.MonthlyCheckedBulkWaiveOff();\n }\n MonthlyCheckAll(){\n var chargestatuss=this._SweepChargesModelService.formData.chargeStatus;\n this.FilterallMonthlyFlatMonthlySweepChargesListExport = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => {\n return row.chargeStatus.match(chargestatuss);\n });\n this.MonthlyCheckedBulkWaiveOff();\n }\n IsMonthlyFlatWaiveOffCheck(id,status){\n \n // status!= this.MonthlyFlatWaiveOffSelected ;\n for (var i = 0; i < this.FilteredMonthlyFlatMonthlySweepChargesList.length; i++) {\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].AclinkName == id)\n this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected = status; \n }\n for (var i = 0; i < this.FilterallMonthlyFlatMonthlySweepChargesListExport.length; i++) {\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].AclinkName == id)\n this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected = status; \n}\n this.MonthlySingleCheck();\n }\n BulkMonthlyflatWaiveOffCheckerButton:boolean;\n BulkMonthlyflatWaiveOffCheckerToCheckerButton:boolean;\n\n MonthlySingleCheck(){\n this.checkedMonthlyFlatList = [];\n for (var i = 0; i < this.FilteredMonthlyFlatMonthlySweepChargesList.length; i++) {\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].IsMonthlyFlatWaiveOffSelected == true){\n this.checkedMonthlyFlatList.push(this.FilteredMonthlyFlatMonthlySweepChargesList[i]);\n\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Uncharged\" && !this.CheckerPrivillage) {\n this.BulkMonthlyflatChargeButton=true\n }\n else if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkMonthlyflatChargeButton=true;\n }\n else if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\" && !this.CheckerPrivillage){ \n this.BulkMonthlyflatWaiveOffButton=true; \n }\n else if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Pending\" && this.CheckerPrivillage){ \n this.BulkMonthlyflatWaiveOffButton=true; \n }\n else if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.BulkChargeMonthlyChecker=false;\n this.bulkChargeMonthlyCheckerToChecker=true;\n }\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Charged\" && this.FilteredMonthlyFlatMonthlySweepChargesList[i].WaiveStatus==\"Not Applicable\" && this.CheckerPrivillage) {\n this.BulkMonthlyflatWaiveOffCheckerButton=false;\n this.BulkMonthlyflatWaiveOffCheckerToCheckerButton=true;\n }\n }\n else if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilteredMonthlyFlatMonthlySweepChargesList[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.BulkChargeMonthlyChecker=true;\n this.bulkChargeMonthlyCheckerToChecker=false;\n }\n \n }\n else{\n this.BulkMonthlyflatWaiveOffButton=false;\n this.BulkMonthlyflatChargeButton=false;\n }\n \n }\n \n } \n var checkedList = this.FilteredMonthlyFlatMonthlySweepChargesList.filter(row => { return row.IsMonthlyFlatWaiveOffSelected == true });\n if(checkedList.length==0) {\n this.BulkMonthlyflatWaiveOffButton=false;\n this.BulkMonthlyflatChargeButton=false;\n this.bulkChargeMonthlyCheckerToChecker=false;\n this.BulkMonthlyflatWaiveOffCheckerButton=false;\n this.BulkMonthlyflatWaiveOffCheckerToCheckerButton=false;\n } \n if(this.FilteredMonthlyFlatMonthlySweepChargesList.length == checkedList.length){\n this.MonthlyFlatWaiveOffSelected = true;\n }\n else{\n this.MonthlyFlatWaiveOffSelected=false;\n }\n }\nisMonthlyCheckBoxSelected:boolean;\n MonthlyCheckedBulkWaiveOff(){\n \n this.checkedMonthlyFlatList = [];\n \n for (var i = 0; i < this.FilterallMonthlyFlatMonthlySweepChargesListExport.length; i++) {\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].IsMonthlyFlatWaiveOffSelected == true){\n this.checkedMonthlyFlatList.push(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i]);\n this.isMonthlyCheckBoxSelected=true;\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Uncharged\" && !this.CheckerPrivillage) {\n this.BulkMonthlyflatChargeButton=true\n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage){\n this.BulkMonthlyflatChargeButton=true;\n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].WaiveStatus==\"Not Applicable\" && !this.CheckerPrivillage){ \n this.BulkMonthlyflatWaiveOffButton=true; \n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].WaiveStatus==\"Pending\" && this.CheckerPrivillage){ \n this.BulkMonthlyflatWaiveOffButton=true; \n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].accLinCreatedBy==+this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Uncharged\" && this.CheckerPrivillage) {\n this.BulkChargeMonthlyChecker=false;\n this.bulkChargeMonthlyCheckerToChecker=true;\n }\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Charged\" && this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].WaiveStatus==\"Not Applicable\" && this.CheckerPrivillage) {\n this.BulkMonthlyflatWaiveOffCheckerButton=false;\n this.BulkMonthlyflatWaiveOffCheckerToCheckerButton=true;\n }\n }\n else if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].accLinCreatedBy != +this._encreptdecrept.decryptUsingAES256(localStorage.getItem('LoginUserId'))) {\n if(this.FilterallMonthlyFlatMonthlySweepChargesListExport[i].chargeStatus==\"Pending\" && this.CheckerPrivillage) {\n this.BulkChargeMonthlyChecker=true;\n this.bulkChargeMonthlyCheckerToChecker=false;\n }\n \n }\n else{\n this.BulkMonthlyflatWaiveOffButton=false;\n this.BulkMonthlyflatChargeButton=false;\n }\n \n }\n \n } \n //when we checked and unchecked then button should not display.\n var checkedList = this.FilterallMonthlyFlatMonthlySweepChargesListExport.filter(row => { return row.IsMonthlyFlatWaiveOffSelected == true });\n if(checkedList.length==0) {\n this.BulkMonthlyflatWaiveOffButton=false;\n this.BulkMonthlyflatChargeButton=false;\n this.bulkChargeMonthlyCheckerToChecker=false;\n this.BulkMonthlyflatWaiveOffCheckerButton=false;\n this.BulkMonthlyflatWaiveOffCheckerToCheckerButton=false;\n }\n this.FilterdSweepcheckedList = [];\n for(var i=0;i x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n if(chargeType==1)\n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder);\n else if(chargeType==2)\n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n else if(chargeType==3)\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n } \n totalNoOfPages() { \n \n if(this.ComingFromLast == true){\n this.pageNumber = []; \n this.pageNumber[this._PaginationService.pageNumberShow - 1] = true; \n this.ComingFromLast = false;\n }\n if(this.ComingFromFirst == true){\n this.pageNumber = []; \n this.pageNumber[0] = true;\n this.ComingFromFirst = false;\n } \n this.filterCount = this.totalCount;\n this.paginationData = Number(this.totalCount/this.config.itemsPerPage); \n let tempPageData = this.paginationData.toFixed(); \n if (Number(tempPageData) < this.paginationData) { \n this.exactPageList = Number(tempPageData) + 1; \n this._PaginationService.exactPageList = this.exactPageList; \n } else { \n this.exactPageList = Number(tempPageData); \n this._PaginationService.exactPageList = this.exactPageList \n }\n if(this._PaginationService.exactPageList < 10){\n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList;\n this._PaginationService.disabledPrevBtn = true;\n this._PaginationService.disabledNextBtn = true;\n }\n else{\n this._PaginationService.pageNumberShow = 10;\n } \n this._PaginationService.pageOnLoad(); \n this.pageField = this._PaginationService.pageField; \n \n if(this.pageField.length < 10){\n this._PaginationService.disabledNextBtn = true;\n this._PaginationService.disabledPrevBtn = true;\n }\n \n }\n\n showPerSweepAndDailyPrevPage(FromDate,ToDate,CustomerName,chargeType) { \n if (this._PaginationService.showNoOfCurrentPage != 1) { \n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.prevValue(); \n this.pageNumber = []; \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n if(chargeType==1)\n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder); \n else if(chargeType==2)\n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n else if(chargeType==3)\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.pageChanged(this.pageNo); \n } \n } \n showPerSwepAndDailyLastPage(FromDate,ToDate,CustomerName,chargeType){\n \n this._PaginationService.temppage = this._PaginationService.exactPageList;\n if(this._PaginationService.exactPageList%10 == 0)\n this._PaginationService.pageNumberShow = 10;\n else \n this._PaginationService.pageNumberShow = this._PaginationService.exactPageList%10;\n \n this._PaginationService.showNoOfCurrentPage = Math.ceil(this._PaginationService.exactPageList/10);\n this._PaginationService.comingFromPreAndNext = true;\n this._PaginationService.LastValue(); \n \n this.currentPage = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1]; \n this.pageNo = this._PaginationService.pageField[this._PaginationService.pageNumberShow - 1];\n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n\n if(chargeType==1)\n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder); \n else if(chargeType==2)\n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n else if(chargeType==3)\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder)\n this.pageChanged(this.pageNo); \n this.ComingFromLast = true;\n \n \n }\n\n showNextPerSweepAndDaily(FromDate,ToDate,CustomerName,chargeType) { \n if (this._PaginationService.disabledNextBtn == false) { \n this.pageNumber = []; \n this._PaginationService.nextValue(); \n this.pageNumber[0] = true; \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0]; \n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n if(chargeType==1) \n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder); \n else if(chargeType==2)\n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n else if(chargeType==3)\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.pageChanged(this.pageNo); \n } \n }\n\n sortperSweepGrid(value: string, id,FromDate,ToDate,CustomerName) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableSweepChargesMst(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableSweepChargesMst(id,false); \n } \n \n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder); \n this.pageChanged(this.pageNo); \n \n } \n\n showPerAndDailyFirstPage(FromDate,ToDate,CustomerName,chargeType){ \n this._PaginationService.temppage = 10;\n this._PaginationService.pageNumberShow = 10;\n this._PaginationService.showNoOfCurrentPage = 1;\n this._PaginationService.FirstValue(); \n this.currentPage = this._PaginationService.pageField[0]; \n this.pageNo = this._PaginationService.pageField[0];\n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n }\n if(chargeType==1)\n this.fnGetAllSweepChargeList(CustomerName,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,this.sortOrder); \n else if (chargeType==2) \n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,null,null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n else if(chargeType==3)\n this.fnGetAllMonthlyFlatMonthlySweepChargeList(null,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.pageChanged(this.pageNo);\n this.ComingFromFirst = true;\n // } \n }\n\n sortMonthlyGrid(value: string, id,FromDate,ToDate,CustomerName) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableMonthlySweepCharges(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableMonthlySweepCharges(id,false); \n } \n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n } \n this.fnGetAllMonthlyFlatMonthlySweepChargeList(this.customerId,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.pageChanged(this.pageNo); \n \n }\n\n sortDailyGrid(value: string, id,FromDate,ToDate,CustomerName) { \n this.sortOrder = value; \n this.order =value; \n if (this.orderBy == \"Desc\") { \n this.orderBy = \"Asc\" \n this.sortOrder =this.sortOrder+'_ASC'; \n sortTableDailySweepCharges(id,true);\n } else { \n this.orderBy = \"Desc\"; \n this.sortOrder =this.sortOrder+'_DESC';\n sortTableDailySweepCharges(id,false); \n } \n let listCust = this.allCustomerList.filter(x => x.CustomerName === CustomerName)[0];\n if(listCust==undefined){\n this.customerId = 0;\n } \n else{\n this.customerId = listCust.CustPkId;\n }\n this.fnGetAllDailyFlatDailySweepChargeList(this.customerId,FromDate,ToDate,this._SweepChargesModelService.formData.chargeStatus,this._SweepChargesModelService.formData.WaiveStatus,0,this.config.itemsPerPage.toString(),this.pageNo,this.sortOrder);\n this.pageChanged(this.pageNo); \n \n }\n \n}\n","
\n
\n
\n
\n

Sweep Charges

\n
\n
\n\n
\n
\n ×\n Success! {{lblMessage}}\n
\n \n
\n ×\n {{ lblMessage }}.\n
\n
\n\n
\n \n\n
\n \n\n \n\n \n \n \n\n
\n Please Enter a valid Customer Name\n
\n
\n\n
\n \n \n
\n\n\n
\n\n \n \n \n
\n
\n \n\n
\n \n
\n
\n
\n Please Enter a valid Date Format\n
\n
\n Date should be less than current date\n
\n
\n\n \n
\n \n
\n\n
\n\n
\n\n \n\n \n\n \n \n
\n
\n \n
\n \n
\n
\n
\n Please Enter valid Date Format\n
\n
\n {{ errorMessage }}\n
\n\n
\n\n \n
\n \n
\n\n
\n\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n\n
\n
\n \n
\n\n
\n \n \n
\n
\n \n\n \n
\n\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Transaction IDFrom AccountTo AccountBalance TransferDate of TransactionChargesCharge StatusWaive-Off Status\n
\n \n \n
\n
{{sweepcharge.TransactionId}}{{sweepcharge.FromAccountName}} - {{sweepcharge.FromAccountNumber}}{{sweepcharge.ToAccountName}} - {{sweepcharge.ToAccountNumber}}{{sweepcharge.BalanceTransfer}}{{sweepcharge.CreatedDate | date:'medium'}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}\n
\n\n \n \n
\n
No records found.
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"margin-top: -0.65em;margin-left:16.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\"\n aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n
A/c Link NameAccountSweep DateCharge TypeNo. Of TransactionChargesCharge StatusWaive-Off Status\n
\n \n \n
\n
{{sweepcharge.AclinkName}}{{sweepcharge.FromAccountName}} - {{sweepcharge.FromAccountNumber}}{{sweepcharge.CreatedDate | date:'mediumDate'}}{{sweepcharge.ChargeType}}{{sweepcharge.TransactionCount}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}\n
\n \n \n
\n
No records found.
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n
A/c Link NameAccountSweep MonthCharge TypeNo. Of TransactionChargesCharge StatusWaive-Off Status\n
\n \n \n
\n
{{sweepcharge.AclinkName}}{{sweepcharge.FromAccountName}} - {{sweepcharge.FromAccountNumber}}{{sweepcharge.SweepMonth}}{{sweepcharge.ChargeType}}{{sweepcharge.TransactionCount}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}\n
\n \n \n
\n
No records found.
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n \n
\n Page {{currentPage}} of Total page {{_PaginationService.exactPageList}} \n
\n\n
\n
\n
\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\" aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n \" class=\"nav-link\"\n class=\"btn btn-primary btn-md text-white pull-right\" id=\"navbarDropdownMenuLink\" data-toggle=\"dropdown\"\n style=\"margin-top: -0.65em;margin-left:16.5em;color:#4ad4e3;font-size: 15px;;\" aria-haspopup=\"true\"\n aria-expanded=\"false\" />\n \n
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to charge.

\n
\n
\n \n \n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
A/c Link NameAccountSweep DateCharge TypeChargesCharge StatusWaive-Off Status
{{sweepcharge.AclinkName}}{{sweepcharge.FromAccountName}} -\n {{sweepcharge.FromAccountNumber}}{{sweepcharge.CreatedDate | date:'mediumDate'}}{{sweepcharge.ChargeType}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n
Transaction IDFrom AccountTo AccountBalance TransferDate of TransactionChargesCharge StatusWaive-Off Status
{{sweepcharge.TransactionId}}{{sweepcharge.FromAccountName}} -\n {{sweepcharge.FromAccountNumber}}{{sweepcharge.ToAccountName}} -\n {{sweepcharge.ToAccountNumber}}{{sweepcharge.BalanceTransfer}}{{sweepcharge.CreatedDate | date:'medium'}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
A/c Link NameAccountSweep DateCharge TypeNo. Of TransactionChargesCharge StatusWaive-Off Status
{{sweepcharge.AclinkName}}{{sweepcharge.FromAccountName}} -\n {{sweepcharge.FromAccountNumber}}{{sweepcharge.CreatedDate | date:'mediumDate'}}{{sweepcharge.ChargeType}}{{sweepcharge.TransactionCount}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
A/c Link NameAccountSweep MonthCharge TypeNo. Of TransactionChargesCharge StatusWaive-Off Status
{{sweepcharge.AclinkName}}{{sweepcharge.FromAccountName}} -\n {{sweepcharge.FromAccountNumber}}{{sweepcharge.SweepMonth}}{{sweepcharge.ChargeType}}{{sweepcharge.TransactionCount}}{{sweepcharge.charges}}{{sweepcharge.chargeStatus}}{{sweepcharge.WaiveStatus}}
\n
\n\n\n\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to Waive off the charges?

\n\n \n \n\n\n \n
\n
\n \n \n\n \n
\n
\n
\n
\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to send the Waive off request ?

\n \n
\n
\n \n \n\n \n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to send the charges request ?

\n \n
\n
\n \n \n\n
\n
\n
\n
\n\n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n

Are you sure you want to charge?

\n\n\n\n \n
\n
\n \n \n\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, NgForm,FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { UserService } from '../../MasterService/user.service';\nimport * as XLSX from 'xlsx';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { BranchService } from 'src/app/MasterService/branch.service';\nimport { Console } from 'console';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Constants } from 'src/app/Common/constant';\n\n@Component({\n selector: 'app-branch-bulk-upload',\n templateUrl: './branch-bulk-upload.component.html',\n styleUrls: ['./branch-bulk-upload.component.css'],\n})\nexport class BranchBulkUploadComponent implements OnInit {\n uploadForm: FormGroup;\n lblMessage: string;\n lblSuccessDetails: string;\n file: any;\n arrayBuffer: any;\n filelist: any;\n showMsg: boolean;\n showerrormsg: boolean;\n disableButton: boolean = true;\n ErrorList: any = [];\n Message: any;\n splitResult: any;\n showOrangemsg: boolean;\n splitresult: any;\n newsplitresult: any;\n viewresult: any;\n IsValid: boolean;\n sbresult: string;\n rowNumber: number;\n filename: string;\n\n headerArrayList: any;\n headerColumns: any;\n IsMaxFileSize: boolean;\n ErrorMessage: string;\n headerColumnsArrays: any;\n FileValid: boolean = true;\n errorFileURL:string;\n uploadList: any[];\n config:any;\n \n constructor(\n private router: Router,\n private _branchservice: BranchService,\n public _spinner: NgxSpinnerService,\n private formBuilder: FormBuilder\n ) {}\n\n ngOnInit(): void {\n this.disableButton = true;\n this.uploadForm = this.formBuilder.group({\n profile: [''],\n });\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n\n this.errorFileURL=Constants.tokenURL;\n this._branchservice\n .GetAndInsertImportFileData('',localStorage.getItem('LoginUserId')).subscribe((data) => {\n console.log(data);\n this.uploadList = data;\n for(var i=0;i 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n }\n }\n\n\n addfile(event) {\n this._spinner.show();\n this.disableButton = true;\n this.ErrorMessage = '';\n this.lblMessage = ' Please select valid file';\n this.showMsg = false;\n this.showerrormsg = false;\n this.showOrangemsg = false;\n this.viewresult = '';\n\n\n this.file = event.target.files[0];\n this.filename = this.file.name;\n let fileReader = new FileReader();\n fileReader.readAsArrayBuffer(this.file);\n\n // if (this.filename == \"UploadBranch (1).xlsx\")\n // this.filename = \"UploadBranch.xlsx\";\n // if (this.filename == \"UploadBranch (2).xlsx\")\n // this.filename = \"UploadBranch.xlsx\";\n // if (this.filename == \"UploadBranch (3).xlsx\")\n // this.filename = \"UploadBranch.xlsx\";\n\n fileReader.onload = (e) => {\n this.arrayBuffer = fileReader.result;\n var data = new Uint8Array(this.arrayBuffer);\n var arr = new Array();\n for (var i = 0; i != data.length; ++i)\n arr[i] = String.fromCharCode(data[i]);\n var bstr = arr.join('');\n var workbook = XLSX.read(bstr, { type: 'binary' });\n var first_sheet_name = workbook.SheetNames[0];\n var worksheet = workbook.Sheets[first_sheet_name];\n var arraylist = XLSX.utils.sheet_to_json(worksheet, { raw: true });\n this.headerArrayList = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\n this.headerColumns = this.headerArrayList[0].toString();\n var ExcelHeader = this.headerColumns.split(',');\n this.headerColumnsArrays = ExcelHeader;\n if (\n this.headerColumnsArrays[0] != 'CorrespondentBank' ||\n this.headerColumnsArrays[1] != 'BankName' ||\n this.headerColumnsArrays[2] != 'BranchCode' ||\n this.headerColumnsArrays[3] != 'BranchName' ||\n this.headerColumnsArrays[4] != 'BICCode' ||\n this.headerColumnsArrays[5] != 'IFSCCode' ||\n this.headerColumnsArrays[6] != 'MICRCode' ||\n this.headerColumnsArrays[7] != 'Address1' ||\n this.headerColumnsArrays[8] != 'Address2' ||\n this.headerColumnsArrays[9] != 'Country' ||\n this.headerColumnsArrays[10] != 'State' ||\n this.headerColumnsArrays[11] != 'City'\n ) {\n this.FileValid = false;\n this.showerrormsg = true;\n this.lblMessage = ' Please select valid file';\n } else {\n this.FileValid = true;\n }\n\n if (arraylist.length > 0) {\n this.disableButton = false;\n }\n\n if (this.file.size > 4194304) {\n this.IsMaxFileSize = true;\n this.disableButton = true;\n this.ErrorMessage = ' Maximum file size should be 4MB.';\n }\n this.filelist = arraylist;\n };\n setTimeout(() => {\n this._spinner.hide();\n }, 500);\n }\n\n onSubmit(form: NgForm) {\n debugger;\n this._spinner.show();\n if (this.filelist.length > 0) {\n this.rowNumber = 1;\n this.sbresult = '';\n if (this.FileValid == true) {\n\n this.IsValid=true;\n // this.filelist.forEach((element, index) => {\n // debugger;\n // this.rowNumber = this.rowNumber + 1;\n // this.IsValid = true;\n\n // if (element['CorrespondentBank'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Correspondent bank is required.
';\n // }\n\n // if (element['CorrespondentBank'] != undefined) {\n // if (\n // element['CorrespondentBank'].toString().toLowerCase() === 'yes' ||\n // element['CorrespondentBank'].toString().toLowerCase() === 'no'\n // ) {\n // if (\n // element['CorrespondentBank'].toString().toLowerCase() === 'no'\n // ) {\n // if (element['BankName'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' BankName is required.
';\n // }\n\n // if (element['BankName'] != undefined) {\n // if (\n // element['BankName'].toString().toLowerCase() != 'idbi bank'\n // ) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber +\n // ' If Correspondent Bank is NO then Bank Name should be IDBI Bank.
';\n // }\n // }\n // }\n\n // if (\n // element['CorrespondentBank'].toString().toLowerCase() === 'yes'\n // ) {\n // if (element['BankName'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' BankName is required.
';\n // }\n\n // if (element['BankName'] != undefined) {\n // if (\n // element['BankName'].toString().toLowerCase() === 'idbi bank'\n // ) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber +\n // ' If Correspondent Bank is YES then Bank Name should not be IDBI Bank.
';\n // }\n // }\n // }\n // } else {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber +\n // ' Correspondent Bank Type does not belong to the table.
';\n // }\n // }\n\n // if (element['BranchCode'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' Branch Code is required.
';\n // }\n\n // if (element['BranchName'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' Branch Name is required.
';\n // }\n\n // // if (element[\"BICCode\"] != undefined) {\n // // var regBIC = /^[a-z]{6}[0-9a-z]{2}([0-9a-z]{3})?\\z/i;\n // // var txtBIC = regBIC.test(element[\"BICCode\"]);\n // // if (!txtBIC) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" BIC Code must be in Correct Format.
\";\n // // }\n // // }\n\n // if (element['IFSCCode'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' IFSC Code is required.
';\n // }\n\n // if (element['IFSCCode'] != undefined) {\n // var reg = /^[A-Za-z]{4}[0-9]{6,7}$/;\n // var txtIFSC = reg.test(element['IFSCCode']);\n // if (!txtIFSC) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' IFSC Code must be in Correct Format.
';\n // }\n // }\n\n // // if (element[\"MICRCode\"] == undefined) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Status is required.
\";\n // // }\n\n // if (element['Country'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' Country is required.
';\n // }\n\n // if (element['State'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' State is required.
';\n // }\n\n // if (element['City'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' City is required.
';\n // }\n // });\n\n if (this.IsValid) {\n const formData = new FormData();\n formData.append('file', this.uploadForm.get('profile').value);\n this._branchservice.fnUploadFile(formData).subscribe((res) => { \n if (res != null) { \n this._branchservice\n .GetAndInsertImportFileData(res,localStorage.getItem('LoginUserId'))\n .subscribe((data) => { \n this.uploadList = data;\n\n for(var i=0;i {\n // debugger;\n\n // this.splitresult = res.m_StringValue.split(',
');\n // this.newsplitresult = this.splitresult[0].split(',@');\n\n // if (this.newsplitresult[0] == 'Red') {\n // this.lblMessage = this.newsplitresult[1];\n // this.Message = this.splitresult[1];\n // this.showerrormsg = true;\n // this.showMsg = false;\n // this.showOrangemsg = false;\n // } else if (this.newsplitresult[0] == 'Green') {\n // this.lblMessage = this.newsplitresult[1];\n // this.Message = '';\n // this.showerrormsg = false;\n // this.showMsg = true;\n // this.showOrangemsg = false;\n // } else if (this.newsplitresult[0] == 'Orange') {\n // this.lblMessage = this.newsplitresult[1];\n // this.Message = this.splitresult[1];\n // this.showerrormsg = false;\n // this.showMsg = false;\n // this.showOrangemsg = true;\n // }\n\n // this.onTop();\n // });\n } else {\n this.Message = '';\n this.Message = 'Import Summary
' + this.sbresult;\n }\n }\n } else {\n this.lblMessage = \"Please upload valid file\";\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangemsg = false;\n }\n setTimeout(() => {\n this._spinner.hide();\n }, 500);\n }\n\n BackButton() {\n this.router.navigate(['/ManageBranchMaster']);\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n\n showOrangeerror() {\n this.showOrangemsg = true;\n }\n hideOrangeerror() {\n this.showOrangemsg = false;\n }\n}\n","
\n
\n
\n
\n \n
\n
\n \n
\n
\n

\n Upload Branch\n

\n
\n
\n
\n
\n\n \n
\n \n

\n * Marked Fields Are Mandatory.\n

\n
\n \n
\n\n \n\n \n ×\n {{ lblMessage }}.\n
\n
\n
\n \n\n
\n
\n
\n
\n
\n\n
\n \n
\n\n
\n \n
\n
\n
\n
\n
\n
\n \n {{ ErrorMessage }}\n \n \n
\n
\n \n \n \n Import File Name\n Uploaded Date\n Uploaded By\n Status \n Results/Comments \n \n \n \n \n {{ upload.originalFileName }}\n {{ upload.CREATEDDATE }}\n {{ upload.USERNAME }}\n {{ upload.STATUS }}\n \n Error Log\n \n {{ upload.TOTALRECORDS }} Records\n \n \n No records found.\n \n \n \n\n
\n
\n \n
\n\n
\n \n
\n
\n\n
\n
\n \n \n \n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { UserService } from '../../MasterService/user.service';\nimport * as XLSX from 'xlsx'; \nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Constants } from 'src/app/Common/constant';\nimport { FormBuilder } from '@angular/forms';\n\n\n@Component({\n selector: 'app-customerbulkupload',\n templateUrl: './customerbulkupload.component.html',\n styleUrls: ['./customerbulkupload.component.css']\n})\nexport class CustomerbulkuploadComponent implements OnInit {\n\n lblMessage:string;\n file:any;\n arrayBuffer:any;\n filelist:any;\n showMsg: boolean;\n showerrormsg: boolean;\n showOrangeerrormsg: boolean;\n disableButton:boolean = true;\n viewresult:any;\n splitresult:any;\n newsplitresult:any;\n headerArrayList:any;\n headerColumns:any;\n IsValid:boolean;\n sbresult:string;\n rowNumber:number;\n IsMaxFileSize: boolean;\n ErrorMessage: string;\n headerColumnsArrays: any;\n FileValid: boolean=true;\n uploadForm: FormGroup;\n uploadList: any[];\n errorFileURL:string;\n config:any;\n\n constructor(private router: Router,private _customerservice:CustomerService,public _spinner:NgxSpinnerService,\n private formBuilder: FormBuilder) { }\n\n ngOnInit(): void { \n this.disableButton = true;\n this.uploadForm = this.formBuilder.group({\n profile: [''],\n });\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n \n this.errorFileURL=Constants.tokenURL;\n this._customerservice\n .GetAndInsertImportFileData('',localStorage.getItem('LoginUserId'))\n .subscribe((data) => {\n console.log(data);\n this.uploadList = data;\n for(var i=0;i 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n }\n }\n\n addfile(event) \n {\n this._spinner.show();\n this.disableButton = true;\n this.ErrorMessage=\"\";\n this.showerrormsg=false;\n this.lblMessage = \"\";\n\n debugger\n this.showMsg = false;\n this.showerrormsg = false;\n this.showOrangeerrormsg = false;\n this.viewresult = \"\";\n\n this.file= event.target.files[0]; \n let fileReader = new FileReader(); \n fileReader.readAsArrayBuffer(this.file); \n fileReader.onload = (e) => { \n this.arrayBuffer = fileReader.result; \n var data = new Uint8Array(this.arrayBuffer); \n var arr = new Array(); \n for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]); \n var bstr = arr.join(\"\"); \n var workbook = XLSX.read(bstr, {type:\"binary\"}); \n var first_sheet_name = workbook.SheetNames[0]; \n var worksheet = workbook.Sheets[first_sheet_name]; \n var arraylist = XLSX.utils.sheet_to_json(worksheet,{raw:true}); \n this.headerArrayList = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\n this.headerColumns = this.headerArrayList[0].toString();\n var ExcelHeader = this.headerColumns.split(',');\n this.headerColumnsArrays=ExcelHeader;\n if ((this.headerColumnsArrays[0] != \"CustomerId\") || (this.headerColumnsArrays[1] != \"CustomerName\") || (this.headerColumnsArrays[2] != \"CorporationCode\") \n || (this.headerColumnsArrays[3] != \"DateOfEstablishment\") || (this.headerColumnsArrays[4] != \"ContactPerson\") || (this.headerColumnsArrays[5]!= \"MobileNumber\")\n || (this.headerColumnsArrays[6] != \"Email\") || (this.headerColumnsArrays[7] != \"Address1\") || (this.headerColumnsArrays[8] != \"Address2\")\n || (this.headerColumnsArrays[9] != \"Country\") || (this.headerColumnsArrays[10] != \"State\") || (this.headerColumnsArrays[11] != \"City\")\n || (this.headerColumnsArrays[12] != \"ZipCode\") || (this.headerColumnsArrays[13] != \"Description\") ){\n this.FileValid = false;\n this.showerrormsg=true;\n this.lblMessage = \" Please select valid file\";\n }\n else{\n this.FileValid = true;\n }\n if(arraylist.length>0 && this.FileValid ==true)\n {\n this.disableButton = false;\n } \n if(this.file.size > 4194304){\n this.IsMaxFileSize=true;\n this.disableButton = true;\n this.ErrorMessage=\" Maximum file size should be 4MB.\"\n } \n this.filelist = arraylist; \n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n \n } \n}\n\nonSubmit(form: NgForm) {\n debugger;\n this._spinner.show();\n if (this.filelist.length > 0) { \n\n this.rowNumber = 1;this.sbresult = \"\";\n \n if( this.FileValid==true){\n this.IsValid = true;\n\n // this.filelist.forEach((element,index) => {\n // debugger;\n // this.rowNumber = this.rowNumber + 1;\n // this.IsValid = true;\n\n // if (element[\"CustomerId\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Customer Id is required.
\";\n // }\n\n // if (element[\"CustomerName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Customer Name is required.
\";\n // }\n\n // if (element[\"CorporationCode\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Corporation Code is required.
\";\n // }\n\n // if (element[\"DateOfEstablishment\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Date Of Establishment is required.
\";\n // }\n\n // if (element[\"DateOfEstablishment\"] != undefined) {\n // var regex = new RegExp(\"([0-9]{4}[-](0[1-9]|1[0-2])[-]([0-2]{1}[0-9]{1}|3[0-1]{1})|([0-2]{1}[0-9]{1}|3[0-1]{1})[-](0[1-9]|1[0-2])[-][0-9]{4})\");\n // var dateOk = regex.test(element[\"DateOfEstablishment\"]);\n // if(!dateOk){\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Date Of Establishment provided is not in the DD-MM-YYYY Format.
\";\n // }\n // }\n\n // if (element[\"ContactPerson\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Contact Person is required.
\";\n // }\n\n // if (element[\"MobileNumber\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Mobile Number is required.
\";\n // }\n\n // if (element[\"MobileNumber\"] != undefined) {\n // var mob = /^[1-9]{1}[0-9]{9}$/;\n // var txtMobile = mob.test(element[\"MobileNumber\"]);\n // if (!txtMobile) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Mobile Number must be 10 digits.
\";\n // }\n // }\n\n // if (element[\"Email\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Email Id is required.
\";\n // }\n\n // if (element[\"Email\"] != undefined) {\n // //var reg = /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;\n // var reg = /^[a-zA-Z0-9\\-_]+(\\.[a-zA-Z0-9\\-_]+)*@[a-z0-9]+(\\-[a-z0-9]+)*(\\.[a-z0-9]+(\\-[a-z0-9]+)*)*\\.[a-z]{2,4}$/;\n // var IsValidEmail = reg.test(element[\"Email\"].toLowerCase());\n // if (!IsValidEmail) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Email must be in Correct Format.
\";\n // }\n // }\n\n // if (element[\"Address1\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Address1 is required.
\";\n // }\n\n // if (element[\"Country\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Country is required.
\";\n // }\n\n // if (element[\"State\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" State is required.
\";\n // }\n\n // if (element[\"City\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" City is required.
\";\n // }\n\n // if (element[\"ZipCode\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" ZipCode is required.
\";\n // }\n\n // // if (element[\"Status\"] == undefined) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Status is required.
\";\n // // }\n\n // // if (element[\"Status\"] == undefined) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Status is required.
\";\n // // }\n\n // // if (element[\"Status\"] == undefined) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Status is required.
\";\n // // }\n\n // });\n\n if (this.IsValid) {\n const formData = new FormData();\n formData.append('file', this.uploadForm.get('profile').value);\n this._customerservice.fnUploadFile(formData).subscribe((res) => { \n if (res != null) { \n this._customerservice\n .GetAndInsertImportFileData(res,localStorage.getItem('LoginUserId'))\n .subscribe((data) => { \n this.uploadList = data;\n for(var i=0;i{\n // debugger;\n \n // this.splitresult = res.m_StringValue.split(\",
\")\n // this.newsplitresult = this.splitresult[0].split(\",@\");\n \n // if (this.newsplitresult[0] == \"Red\") {\n // this.lblMessage = this.newsplitresult[1];\n // this.viewresult = this.splitresult[1];\n // this.showerrormsg = true;\n // this.showMsg = false;\n // this.showOrangeerrormsg = false;\n // }\n // if (this.newsplitresult[0] == \"Green\") {\n // this.lblMessage = this.newsplitresult[1];\n // this.viewresult = \"\";\n // this.showerrormsg = false;\n // this.showOrangeerrormsg = false;\n // this.showMsg = true;\n // }\n // if (this.newsplitresult[0] == \"Orange\") {\n // this.lblMessage = this.newsplitresult[1];\n // this.viewresult = this.splitresult[1];\n // this.showerrormsg = false;\n // this.showMsg = false;\n // this.showOrangeerrormsg = true;\n // }\n \n // this.onTop();\n // });\n\n }\n else {\n this.viewresult = \"\";\n this.viewresult = \"Import Summary
\" + this.sbresult;\n }\n }\n}\nelse{\n this.lblMessage = \"Please upload valid file\";\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangeerrormsg = false;\n}\nsetTimeout(() => {\n this._spinner.hide(); \n}, 500);\n\n}\n\n BackButton() {\n this.router.navigate(['/ManageCustomer']);\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n showOrangeerror() {\n this.showOrangeerrormsg = true;\n }\n hideOrangeerror() {\n this.showOrangeerrormsg = false;\n }\n\n\n}\n","
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

Upload Customer

\n
\n
\n
\n
\n
\n \n\n
\n \n \n \n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Failed! {{lblMessage}}.\n
\n\n
\n ×\n {{lblMessage}}.\n
\n\n
\n
\n\n
\n \n
\n
\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n
\n
\n\n
\n
\n \n
\n {{ErrorMessage}}\n
\n
\n
\n
\n
\n \n \n \n Import File Name\n Uploaded Date\n Uploaded By\n Status \n Results/Comments \n \n \n \n \n {{ upload.originalFileName }}\n {{ upload.CREATEDDATE }}\n {{ upload.USERNAME }}\n {{ upload.STATUS }}\n \n Error Log\n \n {{ upload.TOTALRECORDS }} Records \n \n \n \n No records found.\n \n \n \n\n
\n\n
\n \n
\n \n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n \n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormGroup, NgForm } from '@angular/forms';\nimport * as XLSX from 'xlsx'; \nimport { HolidayService } from 'src/app/MasterService/Holiday.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Constants } from 'src/app/Common/constant';\n\n@Component({\n selector: 'app-holidaybulk-upload',\n templateUrl: './holidaybulk-upload.component.html',\n styleUrls: ['./holidaybulk-upload.component.css']\n})\nexport class HolidaybulkUploadComponent implements OnInit {\n uploadForm: FormGroup;\n IsMaxFileSize: boolean;\n ErrorMessage: string;\n headerColumnsArrays: any;\n FileValid: boolean=true;\n lblMessage:string;\n file:any;\n arrayBuffer:any;\n filelist:any;\n showMsg: boolean;\n showerrormsg: boolean;\n disableButton:boolean = true;\n\n ErrorList:any=[];\n Message:any;\n splitResult:any;\n showOrangemsg:boolean;\n splitresult:any;\n newsplitresult:any;\n viewresult:any;\n\n headerArrayList:any;\n headerColumns:any;\n IsValid:boolean;\n sbresult:string;\n rowNumber:number;\n errorFileURL:string;\n uploadList: any[];\n config:any;\n\n constructor(private router: Router,public _holidayService: HolidayService,public _spinner:NgxSpinnerService,private formBuilder: FormBuilder) { }\n\n ngOnInit(): void {\n this.disableButton = true;\n\n this.uploadForm = this.formBuilder.group({\n profile: [''],\n });\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n \n this.errorFileURL = Constants.tokenURL;\n\n this._holidayService.GetAndInsertImportFileData('',localStorage.getItem('LoginUserId')).subscribe((data) => {\n this.uploadList = data;\n console.log(data);\n\n for(var i=0;i 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n }\n }\n\n addfile(event){\n this._spinner.show();\n this.disableButton = true;\n this.ErrorMessage=\"\";\n this.showerrormsg=false;\n this.lblMessage = \"\";\n\n debugger; \n this.file= event.target.files[0]; \n let fileReader = new FileReader(); \n fileReader.readAsArrayBuffer(this.file); \n\n fileReader.onload = (e) => { \n this.arrayBuffer = fileReader.result; \n var data = new Uint8Array(this.arrayBuffer); \n var arr = new Array(); \n for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]); \n var bstr = arr.join(\"\"); \n var workbook = XLSX.read(bstr, {type:\"binary\"}); \n var first_sheet_name = workbook.SheetNames[0]; \n var worksheet = workbook.Sheets[first_sheet_name]; \n var arraylist = XLSX.utils.sheet_to_json(worksheet,{raw:true}); \n this.headerArrayList = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\n this.headerColumns = this.headerArrayList[0].toString();\n var ExcelHeader = this.headerColumns.split(',');\n this.headerColumnsArrays=ExcelHeader;\n\n if ((this.headerColumnsArrays[0] != \"CorrespondentBank\") || (this.headerColumnsArrays[1] != \"BankName\") || (this.headerColumnsArrays[2] != \"BranchName\") \n || (this.headerColumnsArrays[3] != \"BranchCode\") || (this.headerColumnsArrays[4] != \"Leave\") || (this.headerColumnsArrays[5]!= \"Date\")\n || (this.headerColumnsArrays[6] != \"HolidayType\") || (this.headerColumnsArrays[7] != \"Holiday\") || (this.headerColumnsArrays[8] != \"DateFrom\")\n || (this.headerColumnsArrays[9] != \"DateTo\") || (this.headerColumnsArrays[10] != \"NoDays\") || (this.headerColumnsArrays[11] != \"IsHolidayWorking\")\n || (this.headerColumnsArrays[12] != \"Country\") || (this.headerColumnsArrays[13] != \"State\") && (this.headerColumnsArrays[14] != \"City\") ){\n this.FileValid = false;\n this.showerrormsg=true;\n this.lblMessage = \" Please select valid file\";\n }\n else{\n this.FileValid =true;\n }\n \n if(arraylist.length > 0 && this.FileValid ==true){\n this.disableButton = false;\n }\n\n if(this.file.size > 4194304){\n this.IsMaxFileSize=true;\n this.disableButton = true;\n this.ErrorMessage=\" Maximum file size should be 4MB.\"\n } \n this.filelist = arraylist; \n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n } \n }\n\n onSubmit(form: NgForm) {\n this._spinner.show();\n debugger;\n if (this.filelist.length > 0) { \n\n this.rowNumber = 1;this.sbresult = \"\";\n \n if(this.FileValid == true){\n this.IsValid = true;\n // this.filelist.forEach((element,index) => {\n // debugger;\n // this.rowNumber = this.rowNumber + 1;\n // this.IsValid = true;\n\n // if (element[\"CorrespondentBank\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Correspondent Bank is required.
\";\n // }\n\n // if (element[\"CorrespondentBank\"] != undefined) {\n\n // if (element[\"CorrespondentBank\"].toString().toLowerCase() === \"yes\" || element[\"CorrespondentBank\"].toString().toLowerCase() === \"no\") {\n\n // if (element[\"CorrespondentBank\"].toString().toLowerCase() === \"no\") {\n\n // if (element[\"BankName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" BankName is required.
\";\n // }\n\n // if (element[\"BankName\"] != undefined) {\n\n // if (element[\"BankName\"].toString().toLowerCase() != \"idbi bank\") {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" If Correspondent Bank is NO then Bank Name should be IDBI Bank.
\";\n // }\n // }\n\n // }\n\n // if (element[\"CorrespondentBank\"].toString().toLowerCase() === \"yes\") {\n\n // if (element[\"BankName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" BankName is required.
\";\n // }\n\n // if (element[\"BankName\"] != undefined) {\n\n // if (element[\"BankName\"].toString().toLowerCase() === \"idbi bank\") {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" If Correspondent Bank is YES then Bank Name should not be IDBI Bank.
\";\n // }\n\n // }\n\n // }\n\n // }\n // else{\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Correspondent Bank Type does not belong to the table.
\";\n // }\n\n // }\n\n // if (element[\"BranchName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" BranchName is required.
\";\n // }\n\n // if (element[\"BranchCode\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Branch Code is required.
\";\n // }\n\n // if (element[\"Leave\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Leave is required.
\";\n // }\n\n // if (element[\"Leave\"] != undefined) {\n\n // if (element[\"Leave\"].toString().toLowerCase() === \"single\" || element[\"Leave\"].toString().toLowerCase() === \"multiple\"){\n\n // if (element[\"Leave\"].toString().toLowerCase() === \"single\") {\n\n // if (element[\"Date\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Date is required.
\";\n // }\n\n // if (element[\"Date\"] != undefined) {\n // var regex = new RegExp(\"([0-9]{4}[-](0[1-9]|1[0-2])[-]([0-2]{1}[0-9]{1}|3[0-1]{1})|([0-2]{1}[0-9]{1}|3[0-1]{1})[-](0[1-9]|1[0-2])[-][0-9]{4})\");\n // var dateOk = regex.test(element[\"Date\"]);\n // if (!dateOk) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Date provided is not in the DD-MM-YYYY Format.
\"; \n // }\n // }\n\n // if (element[\"DateFrom\"] != undefined && element[\"DateTo\"] != undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" If Leave type is Single then FromDate and ToDate is not required.
\";\n // }\n\n // }\n\n // if(element[\"Leave\"].toString().toLowerCase() === \"multiple\"){\n\n // if (element[\"DateFrom\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" FromDate is required.
\";\n // }\n\n // if (element[\"DateFrom\"] != undefined) {\n // var regex = new RegExp(\"([0-9]{4}[-](0[1-9]|1[0-2])[-]([0-2]{1}[0-9]{1}|3[0-1]{1})|([0-2]{1}[0-9]{1}|3[0-1]{1})[-](0[1-9]|1[0-2])[-][0-9]{4})\");\n // var dateOk = regex.test(element[\"DateFrom\"]);\n // if (!dateOk) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" DateFrom provided is not in the DD-MM-YYYY Format.
\"; \n // }\n // }\n\n // if (element[\"DateTo\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" DateTo is required.
\";\n // }\n\n // if (element[\"DateTo\"] != undefined) {\n // var regex = new RegExp(\"([0-9]{4}[-](0[1-9]|1[0-2])[-]([0-2]{1}[0-9]{1}|3[0-1]{1})|([0-2]{1}[0-9]{1}|3[0-1]{1})[-](0[1-9]|1[0-2])[-][0-9]{4})\");\n // var dateOk = regex.test(element[\"DateTo\"]);\n // if (!dateOk) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" DateTo provided is not in the DD-MM-YYYY Format.
\"; \n // }\n // }\n\n // if (element[\"Date\"] != undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" If Leave is Multiple then Date is not required.
\";\n // }\n\n // } \n // }\n // else{\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Leave does not belong to the table.
\";\n // }\n // }\n\n // if (element[\"HolidayType\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" HolidayType is required.
\";\n // }\n\n // if (element[\"Holiday\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Holiday is required.
\";\n // }\n\n // if (element[\"IsHolidayWorking\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" IsHolidayWorking is required.
\";\n // }\n\n // if (element[\"IsHolidayWorking\"] != undefined) {\n\n // if (element[\"IsHolidayWorking\"].toString().toLowerCase() === \"yes\" || element[\"IsHolidayWorking\"].toString().toLowerCase() === \"no\") {\n\n // if (element[\"IsHolidayWorking\"].toString().toLowerCase() === \"no\") {\n // }\n\n // if (element[\"IsHolidayWorking\"].toString().toLowerCase() === \"yes\") {\n // }\n\n // }\n // else{\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" IsHolidayWorking Type does not belong to the table.
\";\n // }\n\n // }\n\n // if (element[\"Country\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Country is required.
\";\n // }\n\n // if (element[\"State\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" State is required.
\";\n // }\n\n // if (element[\"City\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" City is required.
\";\n // }\n\n // });\n\n if (this.IsValid) {\n this._holidayService.fnUploadHoliay(this.filelist,this.headerColumns,localStorage.getItem('LoginUserId')).subscribe(res=>{\n this.splitResult = res.m_StringValue.split(\",
\")\n if (this.splitResult[0] == \"Red\") {\n this.lblMessage = this.splitResult[1];\n this.Message = this.splitResult[2];\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangemsg = false;\n }\n else if (this.splitResult[0] == \"Green\") {\n this.lblMessage = this.splitResult[1];\n this.Message = \"\";\n this.showerrormsg = false;\n this.showMsg = true;\n this.showOrangemsg = false;\n }\n else if (this.splitResult[0] == \"Orange\") {\n this.lblMessage = this.splitResult[1];\n this.Message = this.splitResult[2];\n this.showerrormsg = false;\n this.showMsg = false;\n this.showOrangemsg = true;\n }\n });\n \n // const formData = new FormData();\n // formData.append('file', this.uploadForm.get('profile').value);\n // this._holidayService.fnUploadFile(formData).subscribe((res) => { \n // if (res != null) { \n // this._holidayService.GetAndInsertImportFileData(res,localStorage.getItem('LoginUserId')).subscribe((data) => { \n // this.uploadList = data;\n \n // for(var i=0;iImport Summary
\" + this.sbresult;\n }\n }\n }\n else{\n this.lblMessage = \"Please upload valid file\";\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangemsg = false;\n}\n setTimeout(() => {this._spinner.hide();}, 500);\n}\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n showlbl() {\n this.showMsg = true;\n }\n\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n\n hideerror() {\n this.showerrormsg = false;\n }\n\n showOrangeerror(){\n this.showOrangemsg = true;\n }\n\n hideOrangeerror(){\n this.showOrangemsg = false;\n }\n\n}\n","
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n

Upload Holiday

\n
\n
\n
\n
\n
\n\n
\n
\n
\n

* Marked Fields Are Mandatory.

\n
\n\n \n\n
\n \n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Failed! {{lblMessage}}.\n
\n\n
\n ×\n {{lblMessage}}.\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n
\n\n
\n
\n\n
\n
{{ErrorMessage}}
\n\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Import File NameUploaded DateUploaded ByStatusResult/Comment
{{upload.originalFileName}}{{upload.CREATEDDATE}}{{upload.USERNAME}}{{upload.STATUS}}\n Error Log\n {{ upload.TOTALRECORDS }} Records
No records found.
\n\n
\n
\n \n
\n \n
\n \n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n \n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, NgForm,FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { UserService } from '../../MasterService/user.service';\nimport * as XLSX from 'xlsx';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { element } from 'protractor';\nimport { Constants } from 'src/app/Common/constant';\n\n@Component({\n selector: 'app-user-bullk-upload',\n templateUrl: './user-bullk-upload.component.html',\n styleUrls: ['./user-bullk-upload.component.css'],\n})\nexport class UserBullkUploadComponent implements OnInit {\n uploadForm: FormGroup;\n lblMessage: string;\n file: any;\n arrayBuffer: any;\n filelist: any;\n showMsg: boolean;\n showerrormsg: boolean;\n disableButton: boolean = true;\n Message: any;\n splitResult: any;\n showOrangemsg: boolean;\n headerArrayList: any;\n headerColumns: any;\n IsValid: boolean;\n sbresult: string;\n rowNumber: number;\n IsMaxFileSize: boolean;\n ErrorMessage: string;\n headerColumnsArrays: any;\n FileValid: boolean = true;\n filename: any;\n errorFileURL:string;\n uploadList: any[];\n config:any;\n\n constructor(\n public _userService: UserService,\n private router: Router,\n public _spinner: NgxSpinnerService,\n private formBuilder: FormBuilder\n ) {}\n\n ngOnInit(): void {\n this.disableButton = true;\n this.uploadForm = this.formBuilder.group({\n profile: [''],\n });\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n\n this.errorFileURL=Constants.tokenURL ;\n this._userService\n .GetAndInsertImportFileData('',localStorage.getItem('LoginUserId')).subscribe((data) => {\n console.log(data);\n this.uploadList = data;\n for(var i=0;i 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n }\n }\n addfile(event) {\n event.value;\n debugger;\n this._spinner.show();\n this.disableButton = true;\n this.ErrorMessage = '';\n this.showerrormsg = false;\n this.lblMessage = '';\n this.showMsg = false;\n this.showerrormsg = false;\n this.showOrangemsg = false;\n // this.viewresult = \"\";\n\n this.file = event.target.files[0];\n let fileReader = new FileReader();\n fileReader.readAsArrayBuffer(this.file);\n\n fileReader.onload = (e) => {\n this.arrayBuffer = fileReader.result;\n var data = new Uint8Array(this.arrayBuffer);\n var arr = new Array();\n for (var i = 0; i != data.length; ++i)\n arr[i] = String.fromCharCode(data[i]);\n var bstr = arr.join('');\n var workbook = XLSX.read(bstr, { type: 'binary' });\n var first_sheet_name = workbook.SheetNames[0];\n var worksheet = workbook.Sheets[first_sheet_name];\n var arraylist = XLSX.utils.sheet_to_json(worksheet, { raw: true });\n this.headerArrayList = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\n this.headerColumns = this.headerArrayList[0].toString();\n var ExcelHeader = this.headerColumns.split(',');\n this.headerColumnsArrays = ExcelHeader;\n if (\n this.headerColumnsArrays[0] != 'FirstName' ||\n this.headerColumnsArrays[1] != 'MiddleName' ||\n this.headerColumnsArrays[2] != 'LastName' ||\n this.headerColumnsArrays[3] != 'Gender' ||\n this.headerColumnsArrays[4] != 'Password' ||\n this.headerColumnsArrays[5] != 'BirthDate' ||\n this.headerColumnsArrays[6] != 'EmailId' ||\n this.headerColumnsArrays[7] != 'MobileNumber' ||\n this.headerColumnsArrays[8] != 'OtherNumber' ||\n this.headerColumnsArrays[9] != 'TransactionLimit' ||\n this.headerColumnsArrays[10] != 'Role' ||\n this.headerColumnsArrays[11] != 'UserType' ||\n this.headerColumnsArrays[12] != 'BankCorpUser' ||\n this.headerColumnsArrays[13] != 'BranchUser'\n ) {\n this.FileValid = false;\n this.showerrormsg = true;\n this.lblMessage = ' Please select valid file';\n } else {\n this.FileValid = true;\n }\n\n if (arraylist.length > 0 && this.FileValid == true) {\n this.disableButton = false;\n }\n if (this.file.size > 4194304) {\n this.IsMaxFileSize = true;\n this.disableButton = true;\n this.ErrorMessage = ' Maximum file size should be 4MB.';\n }\n this.filelist = arraylist;\n };\n setTimeout(() => {\n this._spinner.hide();\n }, 500);\n }\n\n onSubmit(form: NgForm) {\n debugger;\n this._spinner.show();\n if (this.filelist.length > 0) {\n this.rowNumber = 1;\n this.sbresult = '';\n\n if (this.FileValid == true) {\n this.IsValid = true;\n // this.filelist.forEach((element, index) => {\n // debugger;\n // this.rowNumber = this.rowNumber + 1;\n // this.IsValid = true;\n // //ExcelHeader[0];\n // // if (element[\"Status\"] == undefined) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Status is required.
\";\n // // }\n\n // if (element['FirstName'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' FirstName is required.
';\n // }\n\n // if (element['LastName'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' LastName is required.
';\n // }\n\n // if (element['Gender'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' Gender is required.
';\n // }\n\n // if (element['Password'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' Password is required.
';\n // }\n\n // if (element['Password'] != undefined) {\n // if (element['Password'].length < 8) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber +\n // ' Password must be Minimum of 8 characters.
';\n // }\n // }\n\n // if (element['BirthDate'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' BirthDate is required.
';\n // }\n\n // if (element['BirthDate'] != undefined) {\n // var regex = new RegExp(\n // '([0-9]{4}[-](0[1-9]|1[0-2])[-]([0-2]{1}[0-9]{1}|3[0-1]{1})|([0-2]{1}[0-9]{1}|3[0-1]{1})[-](0[1-9]|1[0-2])[-][0-9]{4})'\n // );\n // var dateOk = regex.test(element['BirthDate']);\n // if (!dateOk) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber +\n // ' Birth Date provided is not in the DD-MM-YYYY Format.
';\n // }\n // }\n\n // if (element['EmailId'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' EmailId is required.
';\n // }\n\n // if (element['EmailId'] != undefined) {\n // //var reg = /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;\n // var reg = /^[a-zA-Z0-9\\-_]+(\\.[a-zA-Z0-9\\-_]+)*@[a-z0-9]+(\\-[a-z0-9]+)*(\\.[a-z0-9]+(\\-[a-z0-9]+)*)*\\.[a-z]{2,4}$/;\n // var IsValidEmail = reg.test(element['EmailId'].toLowerCase());\n // if (!IsValidEmail) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Email must be in Correct Format.
';\n // }\n // }\n\n // if (element['MobileNumber'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' MobileNumber is required.
';\n // }\n\n // if (element['MobileNumber'] != undefined) {\n // var mob = /^[1-9]{1}[0-9]{9}$/;\n // var txtMobile = mob.test(element['MobileNumber']);\n // if (!txtMobile) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Mobile Number must be 10 digits.
';\n // }\n // }\n\n // if (element['TransactionLimit'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Transaction Limit is required.
';\n // }\n\n // if (element['TransactionLimit'] != undefined) {\n // if (!/^[0-9.]+$/.test(element['TransactionLimit'])) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber +\n // ' Transaction Limit should accept only Number.
';\n // }\n // }\n\n // if (element['Role'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' Role is required.
';\n // }\n\n // if (element['UserType'] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + ' UserType is required.
';\n // }\n\n // if (element['UserType'] != undefined) {\n // if (element['UserType'].toString().toLowerCase() === 'bank user') {\n // } else if (\n // element['UserType'].toString().toLowerCase() === 'corporate user'\n // ) {\n // if (element['BankCorpUser'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Bank Corporate User is required.
';\n // }\n // } else if (\n // element['UserType'].toString().toLowerCase() === 'branch user'\n // ) {\n // if (element['BranchUser'] == undefined) {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Branch User is required.
';\n // }\n // } else {\n // this.IsValid = false;\n // this.sbresult +=\n // this.rowNumber + ' Please enter correct UserType.
';\n // }\n // }\n // });\n\n if (this.IsValid) {\n const formData = new FormData();\n formData.append('file', this.uploadForm.get('profile').value);\n this._userService.fnUploadFile(formData).subscribe((res) => { \n if (res != null) { \n this._userService\n .GetAndInsertImportFileData(res,localStorage.getItem('LoginUserId'))\n .subscribe((data) => { \n this.uploadList = data; \n for(var i=0;i {\n // debugger;\n // this.splitResult = res.m_StringValue.split(',
');\n\n // if (this.splitResult[0] == 'Red') {\n // this.lblMessage = this.splitResult[1];\n // this.Message = this.splitResult[2];\n // this.showerrormsg = true;\n // this.showMsg = false;\n // this.showOrangemsg = false;\n // } else if (this.splitResult[0] == 'Green') {\n // this.lblMessage = this.splitResult[1];\n // this.Message = '';\n // this.showerrormsg = false;\n // this.showMsg = true;\n // this.showOrangemsg = false;\n // } else if (this.splitResult[0] == 'Orange') {\n // this.lblMessage = this.splitResult[1];\n // this.Message = this.splitResult[2];\n // this.showerrormsg = false;\n // this.showMsg = false;\n // this.showOrangemsg = true;\n // }\n\n // this.onTop();\n // });\n } \n else if(this.filelist.length ==0 ) { \n this.lblMessage = 'Please upload valid file';\n this.showerrormsg = true;\n }\n else{\n this.lblMessage = 'Import summary ' + this.sbresult;\n this.showerrormsg = true;\n }\n }\n } else {\n this.lblMessage = \"Please upload valid file\";\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangemsg = false;\n }\n setTimeout(() => {\n this._spinner.hide();\n }, 500);\n }\n\n BackButton() {\n this.router.navigate(['/ManageUserMaster']);\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n\n showOrangeerror() {\n this.showOrangemsg = true;\n }\n hideOrangeerror() {\n this.showOrangemsg = false;\n }\n}\n","
\n
\n
\n
\n \n
\n
\n \n
\n
\n

\n Upload User\n

\n
\n
\n
\n
\n\n \n
\n \n

\n * Marked Fields Are Mandatory.\n

\n
\n \n
\n\n \n\n \n ×\n {{ lblMessage }}.\n
\n
\n \n\n
\n
\n
\n
\n
\n\n
\n \n
\n\n
\n \n
\n
\n
\n\n
\n
\n \n \n {{ ErrorMessage }}\n
\n \n
\n
\n \n \n \n Import File Name\n Uploaded Date\n Uploaded By\n Status \n Results/Comments \n \n \n \n \n {{ upload.originalFileName }}\n {{ upload.CREATEDDATE }}\n {{ upload.USERNAME }}\n {{ upload.STATUS }}\n \n Error Log\n \n {{ upload.TOTALRECORDS }} Records\n \n \n \n No records found.\n \n \n \n\n
\n
\n \n
\n\n
\n \n
\n
\n\n
\n
\n\n \n \n \n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, NgForm, FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { UserService } from '../../MasterService/user.service';\nimport * as XLSX from 'xlsx'; \nimport { AccountMasterService } from 'src/app/MasterService/account-master.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Constants } from 'src/app/Common/constant';\n\n@Component({\n selector: 'app-accountbulkupload',\n templateUrl: './accountbulkupload.component.html',\n styleUrls: ['./accountbulkupload.component.css']\n})\nexport class AccountbulkuploadComponent implements OnInit {\n lblMessage:string;\n file:any;\n arrayBuffer:any;\n filelist:any;\n showMsg: boolean;\n showerrormsg: boolean;\n disableButton:boolean = true;\n Message:any;\n splitResult:any;\n showOrangemsg:boolean;\n headerArrayList:any;\n headerColumns:any;\n IsValid:boolean;\n sbresult:string;\n rowNumber:number\n IsMaxFileSize:boolean=false;\n headerColumnsArrays: any;\n FileValid: boolean=true;\n uploadForm: FormGroup;\n uploadList: any[];\n errorFileURL:string;\n config:any;\n \n constructor(private router: Router,private _AccountService:AccountMasterService,public _spinner:NgxSpinnerService,\n private formBuilder: FormBuilder) { }\n\n ngOnInit(): void {\n this.disableButton = true;\n this.uploadForm = this.formBuilder.group({\n profile: [''],\n });\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n\n this.errorFileURL=Constants.tokenURL;\n this._AccountService\n .GetAndInsertImportFileData('',localStorage.getItem('LoginUserId')).subscribe((data) => {\n console.log(data);\n this.uploadList = data;\n\n for(var i=0;i 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n }\n }\n\n addfile(event) \n {\n this._spinner.show();\n this.disableButton = true;\n this.IsMaxFileSize=false;\n \n\n this.showMsg = false;\n this.showerrormsg = false;\n this.showOrangemsg = false;\n this.Message = \"\";\n this.lblMessage = \"\";\n\n\n this.file= event.target.files[0]; \n let fileReader = new FileReader(); \n fileReader.readAsArrayBuffer(this.file); \n fileReader.onload = (e) => { \n this.arrayBuffer = fileReader.result; \n var data = new Uint8Array(this.arrayBuffer); \n var arr = new Array(); \n for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]); \n var bstr = arr.join(\"\"); \n var workbook = XLSX.read(bstr, {type:\"binary\"}); \n var first_sheet_name = workbook.SheetNames[0]; \n var worksheet = workbook.Sheets[first_sheet_name]; \n var arraylist = XLSX.utils.sheet_to_json(worksheet,{raw:true}); \n\n this.headerArrayList = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\n this.headerColumns = this.headerArrayList[0].toString();\n var ExcelHeader = this.headerColumns.split(',');\n this.headerColumnsArrays=ExcelHeader;\n if ((this.headerColumnsArrays[0] != \"AccountName\") || (this.headerColumnsArrays[1] != \"AccountNumber\") || (this.headerColumnsArrays[2] != \"AccountType\") \n || (this.headerColumnsArrays[3] != \"CustomerName\") || (this.headerColumnsArrays[4] != \"BranchName\") || (this.headerColumnsArrays[5]!= \"ContactPerson\")\n || (this.headerColumnsArrays[6] != \"MobileNumber\") || (this.headerColumnsArrays[7] != \"EmailId\") || (this.headerColumnsArrays[8] != \"CurrentBalance\")\n || (this.headerColumnsArrays[9] != \"CurrencyCode\") || (this.headerColumnsArrays[10] != \"BaseCurrency\") || (this.headerColumnsArrays[11] != \"ForeignCurrency\")\n || (this.headerColumnsArrays[12] != \"AccountDiscription\")){\n this.FileValid = false;\n this.showerrormsg=true;\n this.lblMessage = \" Please select valid file\";\n }\n else{\n this.FileValid = true;\n }\n if(arraylist.length>0 && this.FileValid == true )\n {\n this.disableButton = false;\n } \n if(this.file.size > 4194304){;\n this.disableButton = true;\n this.IsMaxFileSize=true;\n } \n setTimeout(() => {\n this._spinner.hide(); \n }, 500); \n this.filelist = arraylist; \n \n } \n}\n\nonSubmit(form: NgForm) {debugger;\n this._spinner.show();\nif (this.filelist.length > 0) {\n this.rowNumber = 1;this.sbresult = \"\"; \n \n if(this.FileValid == true){\n this.IsValid=true;\n \n // this.filelist.forEach((element,index) => {\n // this.rowNumber = this.rowNumber + 1;\n // this.IsValid = true;\n\n // if (element[\"AccountName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Account Name is required.
\";\n // }\n\n // if (element[\"AccountNumber\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Account Number is required.
\";\n // }\n\n // if (element[\"AccountType\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" AccountType is required.
\";\n // }\n\n // if (element[\"AccountType\"] != undefined) {\n\n // if (element[\"AccountType\"].toLowerCase() === \"saving a/c\") {\n // }\n // else if(element[\"AccountType\"].toLowerCase() === \"current a/c\"){\n // }\n // else if(element[\"AccountType\"].toLowerCase() === \"loan a/c\"){\n // }\n // else if(element[\"AccountType\"].toLowerCase() === \"escrow a/c\"){\n // }\n // else if(element[\"AccountType\"].toLowerCase() === \"correspondent a/c\"){\n // }\n // else if(element[\"AccountType\"].toLowerCase() === \"virtual a/c\"){\n // }\n // else{\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Account Type not belong to table.
\";\n // }\n\n // }\n\n // if (element[\"CustomerName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Customer Name is required.
\";\n // }\n\n // if (element[\"BranchName\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Branch Name is required.
\";\n // }\n\n // // if (element[\"AccountStatus\"] == undefined) {\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Account Status is required.
\";\n // // }\n\n // // if (element[\"AccountStatus\"] != undefined) {\n\n // // if (element[\"AccountStatus\"].toLowerCase() === \"active\") {\n // // }\n // // else if (element[\"AccountStatus\"].toLowerCase() === \"inactive\") {\n // // }\n // // else if (element[\"AccountStatus\"].toLowerCase() === \"pending\") {\n // // }\n // // else{\n // // this.IsValid = false;\n // // this.sbresult += this.rowNumber + \" Account Status does not belong to the table.
\";\n // // }\n \n // // }\n\n // if (element[\"ContactPerson\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Contact Person is required.
\";\n // }\n\n // if (element[\"MobileNumber\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Mobile Number is required.
\";\n // }\n\n // if (element[\"MobileNumber\"] != undefined) {\n // var mob = /^[1-9]{1}[0-9]{9}$/;\n // var txtMobile = mob.test(element[\"MobileNumber\"]);\n // if (!txtMobile) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Mobile Number must be 10 digits.
\";\n // }\n // }\n\n // if (element[\"EmailId\"] == undefined) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Email Id is required.
\";\n // }\n\n // if (element[\"EmailId\"] != undefined) {\n // //var reg = /^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$/;\n // var reg = /^[a-zA-Z0-9\\-_]+(\\.[a-zA-Z0-9\\-_]+)*@[a-z0-9]+(\\-[a-z0-9]+)*(\\.[a-z0-9]+(\\-[a-z0-9]+)*)*\\.[a-z]{2,4}$/;\n // var IsValidEmail = reg.test(element[\"EmailId\"].toLowerCase());\n // if (!IsValidEmail) {\n // this.IsValid = false;\n // this.sbresult += this.rowNumber + \" Email must be in Correct Format.
\";\n // }\n // }\n\n // });\n\n if (this.IsValid) {\n const formData = new FormData();\n formData.append('file', this.uploadForm.get('profile').value);\n this._AccountService.fnUploadFile(formData).subscribe((res) => { \n if (res != null) { \n this._AccountService\n .GetAndInsertImportFileData(res,localStorage.getItem('LoginUserId'))\n .subscribe((data) => { \n this.uploadList = data;\n for(var i=0;i{\n\n // this.splitResult = res.m_StringValue.split(\",
\")\n \n \n // if (this.splitResult[0] == \"Red\") {\n // this.lblMessage = this.splitResult[1];\n // this.Message = this.splitResult[2];\n // this.showerrormsg = true;\n // this.showMsg = false;\n // this.showOrangemsg = false;\n // }\n // else if (this.splitResult[0] == \"Green\") {\n // this.lblMessage = this.splitResult[1];\n // this.Message = \"\";\n // this.showerrormsg = false;\n // this.showMsg = true;\n // this.showOrangemsg = false;\n // }\n // else if (this.splitResult[0] == \"Orange\") {\n // this.lblMessage = this.splitResult[1];\n // this.Message = this.splitResult[2];\n // this.showerrormsg = false;\n // this.showMsg = false;\n // this.showOrangemsg = true;\n // }\n // this.onTop();\n \n // });\n\n }\n else {\n this.Message = \"\";\n this.Message = \"Import Summary
\" + this.sbresult;\n }\n }\n}\nelse{\n this.lblMessage = \"Please upload valid file\";\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangemsg = false;\n}\nsetTimeout(() => {\n this._spinner.hide(); \n}, 500); \n}\n\n BackButton() {\n this.router.navigate(['/ManageAccount']);\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n\n showOrangeerror(){\n this.showOrangemsg = true;\n }\n hideOrangeerror(){\n this.showOrangemsg = false;\n }\n\n\n\n}\n","
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

Upload Account

\n
\n
\n
\n
\n
\n \n\n
\n \n \n \n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Failed! {{lblMessage}}.\n
\n\n
\n ×\n {{lblMessage}}.\n
\n
\n
\n\n
\n \n
\n
\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n

\n \n
\n Maximum file size should be 4mb.\n
\n
\n \n\n
\n
\n
\n \n \n \n Import File Name\n Uploaded Date\n Uploaded By\n Status \n Results/Comments \n \n \n \n \n {{ upload.originalFileName }}\n {{ upload.CREATEDDATE }}\n {{ upload.USERNAME }}\n {{ upload.STATUS }}\n \n Error Log\n \n {{ upload.TOTALRECORDS }} Records \n \n \n \n No records found.\n \n \n \n\n
\n
\n \n
\n \n
\n \n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n \n ","import { NgModule } from '@angular/core';\nimport {\n NbAuthComponent,\n NbLoginComponent,\n NbLogoutComponent,\n NbRegisterComponent,\n NbRequestPasswordComponent,\n NbResetPasswordComponent,\n} from '@nebular/auth';\nimport { CommonModule } from '@angular/common';\nimport { Routes, RouterModule } from '@angular/router';\nimport { IndexComponent } from './Home/index/index.component';\nimport { AddAccountComponent } from './AccountMaster/add-account/add-account.component';\nimport { ManageAccountComponent } from './AccountMaster/manage-account/manage-account.component';\nimport { DefaultComponent } from './layout/default/default.component';\nimport { UserMasterComponent } from './ManageMaster/user-master/user-master.component';\nimport { AccountlinkComponent } from './AccountMaster/accountlink/accountlink.component';\nimport { LoginPageComponent } from './Home/login/login-page.component';\nimport { ManageUserMasterComponent } from './ManageMaster/manage-user-master/manage-user-master.component';\nimport { CustomerMasterComponent } from './ManageMaster/customer-master/customer-master.component';\nimport { ManageCustomerMasterComponent } from './ManageMaster/manage-customer-master/manage-customer-master.component';\nimport { BranchMasterComponent } from './ManageMaster/branch-master/branch-master.component';\nimport { ManageBranchMasterComponent} from './ManageMaster/manage-branch-master/manage-branch-master.component';\nimport { ManageAccessComponent } from './ManageMaster/manage-access/manage-access.component';\nimport { HolidayMasterSetupComponent } from './ManageMaster/holiday-master-setup/holiday-master-setup.component';\nimport { HolidayMasterComponent } from './ManageMaster/holiday-master/holiday-master.component';\nimport { SignUpComponent } from './Home/sign-up/sign-up.component';\nimport { ViewBranchMasterComponent } from './ManageMaster/view-branch-master/view-branch-master.component';\nimport { EditBranchMasterComponent } from './ManageMaster/edit-branch-master/edit-branch-master.component';\nimport { AddSchemeComponent } from './SchemeMaster/add-scheme/add-scheme.component';\nimport { ManageSchemeComponent } from './SchemeMaster/manage-scheme/manage-scheme.component';\nimport { ManageRoleMasterComponent} from './ManageMaster/manage-role-master/manage-role-master.component';\nimport { RoleMasterComponent } from './ManageMaster/role-master/role-master.component';\nimport { AccountLinkMasterComponent } from './AccountMaster/account-link-master/account-link-master.component';\nimport { SweepChargesMasterComponent} from './ManageMaster/sweep-charges-master/sweep-charges-master.component';\nimport { CustomerMappingComponent } from './ManageMaster/customer-mapping/customer-mapping.component';\nimport { SweepsummaryreportsComponent } from './Reports/sweepsummaryreports/sweepsummaryreports.component';\nimport { UserBullkUploadComponent} from './UploadUser/user-bullk-upload/user-bullk-upload.component';\nimport { MasterFundDisbursementComponentComponent } from './SweepManagement/master-fund-disbursement-component/master-fund-disbursement-component.component';\nimport { AddEditFunddisbursementComponent } from './SweepManagement/add-edit-funddisbursement/add-edit-funddisbursement.component';\nimport { ResetPasswordComponent } from './Home/reset-password/reset-password.component';\nimport { CustomerbulkuploadComponent} from './UploadCustomer/customerbulkupload/customerbulkupload.component';\nimport { BranchBulkUploadComponent} from'./UploadBranch/branch-bulk-upload/branch-bulk-upload.component';\nimport { HolidaybulkUploadComponent } from './UploadHoliday/holidaybulk-upload/holidaybulk-upload.component';\nimport { DashboardComponent} from'./dashboard/dashboard.component';\nimport { AccountbulkuploadComponent} from'./Upload_Account/accountbulkupload/accountbulkupload.component';\nimport { SchemeAccountLinkComponent} from './SchemeMaster/scheme-account-link/scheme-account-link.component';\nimport { ManageRuleMasterComponent } from './SchemeMaster/manage-rule-master/manage-rule-master.component';\nimport { AddRuleMasterComponent } from './SchemeMaster/add-rule-master/add-rule-master.component';\nimport { SweepchargesListComponent } from './SweepManagement/sweepcharges-list/sweepcharges-list.component';\nimport { RuleSummaryReportsComponent } from './Reports/rule-summary-reports/rule-summary-reports.component';\nimport { UserAuditReportComponent} from './Reports/user-audit-report/user-audit-report.component';\nimport { SweepExecutionComponent } from './AccountMaster/sweep-execution/sweep-execution.component';\nimport { SiteConfigurationComponent } from './Home/site-configuration/site-configuration.component';\nimport { ErrorPageComponent} from './Home/error-page/error-page.component';\nimport { AccountAuditReportComponent} from './Reports/account-audit-report/account-audit-report.component';\nimport { from } from 'rxjs';\nimport { CustomerAuditReportComponent } from './Reports/customer-audit-report/customer-audit-report.component';\nimport { PaymentsComponent } from './payments/payments.component';\nimport { UploadPaymentsComponent} from'./upload-payments/upload-payments.component';\nimport { PaymentsReportComponent } from './Reports/payments-report/payments-report.component';\n\nconst routes: Routes = [{\n path:\"\",\n component:DefaultComponent,\n children:[\n { path:\"\", component:IndexComponent },\n { path:\"AddAccount\", component:AddAccountComponent },\n { path:\"EditAccount\", component:AddAccountComponent },\n { path:\"ManageAccount\", component:ManageAccountComponent },\n { path:\"UserMaster\", component:UserMasterComponent },\n { path:\"AccountLinkMaster\", component:AccountlinkComponent },\n { path:\"ManageUserMaster\", component:ManageUserMasterComponent },\n { path:\"LoginPage\", component:LoginPageComponent },\n { path:\"CustomerMaster\", component:CustomerMasterComponent },\n { path:\"ManageCustomer\", component:ManageCustomerMasterComponent },\n { path:\"BranchMaster\", component:BranchMasterComponent },\n { path:\"ManageAccess\", component:ManageAccessComponent },\n { path:\"ManageBranchMaster\", component:ManageBranchMasterComponent },\n { path:\"AddHolidayMaster\", component:HolidayMasterSetupComponent },\n { path:\"HolidayMaster\", component:HolidayMasterComponent },\n { path:\"SignUpPage\", component:SignUpComponent },\n { path:\"ViewBranchMst\", component:ViewBranchMasterComponent },\n { path:\"EditBranchMst\", component:EditBranchMasterComponent },\n { path:\"AddScheme\", component:AddSchemeComponent },\n { path:\"ManageScheme\", component:ManageSchemeComponent },\n { path:\"ManageRole\", component:ManageRoleMasterComponent },\n { path:\"RoleMaster\", component:RoleMasterComponent },\n { path:\"AccountLinkList\", component:AccountLinkMasterComponent },\n { path:\"SweepChargesdetails\", component:SweepChargesMasterComponent },\n { path:\"CustomerMapping\", component:CustomerMappingComponent },\n { path:\"SweepSummaryReports\", component:SweepsummaryreportsComponent },\n {path:\"UploadBullkUser\", component:UserBullkUploadComponent},\n {path:\"ManageFundDisbursement\",component:MasterFundDisbursementComponentComponent},\n {path:\"AddEditFundDisburs\",component:AddEditFunddisbursementComponent},\n {path:\"UploadBulkCustomer\",component:CustomerbulkuploadComponent},\n {path:\"UploadBulkBranch\",component:BranchBulkUploadComponent},\n {path:\"ResetPassword\",component:ResetPasswordComponent},\n {path:\"UploadBulkHoliday\",component:HolidaybulkUploadComponent},\n {\n path: 'Dashboard',\n loadChildren: () => import('./pages/pages.module')\n .then(m => m.PagesModule),\n },\n {\n path: 'CustomerDashboard',\n loadChildren: () => import('./pages/customerPages.module')\n .then(m => m.CustomerPagesModule),\n },\n //{path:\"Dashboard\",component:DashboardComponent},\n {path:\"UploadBulkAccount\",component:AccountbulkuploadComponent},\n {path:\"SchemeAccountLink\",component:SchemeAccountLinkComponent},\n {path:\"ManageRulesMaster\",component:ManageRuleMasterComponent},\n {path:\"AddRuleMaster\",component:AddRuleMasterComponent},\n {path:\"SweepCharges\",component:SweepchargesListComponent},\n {path:\"RuleSummaryReport\",component:RuleSummaryReportsComponent},\n {path:\"UserAuditReport\",component:UserAuditReportComponent},\n {path:\"UserAuditReportById\",component:UserAuditReportComponent},\n {path:\"sweepExecution\",component:SweepExecutionComponent},\n {path:\"SiteConfiguration\",component:SiteConfigurationComponent},\n {path:\"CustomerAuditReport\",component:CustomerAuditReportComponent},\n {path:\"CustomerAuditReportById\",component:CustomerAuditReportComponent},\n {path:\"AccountAuditReport\",component:AccountAuditReportComponent},\n {path:\"AccountAuditReportById\",component:AccountAuditReportComponent},\n {path:\"Payments\",component:PaymentsComponent},\n {path:\"UploadPayments\",component:UploadPaymentsComponent},\n {path:\"PaymentsReport\",component:PaymentsReportComponent},\n {path:\"**\",component:ErrorPageComponent}, \n \n]\n},\n\n];\n\n\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n onSameUrlNavigation: 'reload'\n })],\n exports:[RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, HostListener } from '@angular/core';\nimport { AutoLogoutService } from './MasterService/auto-logout.service';\nimport 'rxjs/add/observable/interval';\nimport { Subscription, Observable } from 'rxjs';\nimport { TokenService } from './MasterService/token.service';\nimport { NavigationEnd, Router } from '@angular/router';\nimport * as $ from 'jquery';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n title = 'LMS';\n\n sub: Subscription;\n\n constructor(private autoLogout: AutoLogoutService, public _token: TokenService,private router: Router) {\n \n // this.sub = Observable.interval(+localStorage.getItem('tokenInterval'))\n // .subscribe((val) => {\n // if (localStorage.getItem('LoginUserId') != null) {\n // this._token.fnrenewTokenTest();\n // }\n // });\n\n }\n\n ngOnInit() {\n this.router.events.subscribe(event => {\n if(event instanceof NavigationEnd) {\n $(\"html\").removeAttr(\"dir\");\n }\n })\n }\n\n\n\n\n\n\n\n\n}","","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { DefaultModule } from './layout/default/default.module';\nimport { UserMasterComponent } from './ManageMaster/user-master/user-master.component';\nimport { BranchMasterComponent } from './ManageMaster/branch-master/branch-master.component';\nimport { UserService } from './MasterService/user.service';\nimport { ManageUserMasterComponent } from './ManageMaster/manage-user-master/manage-user-master.component';\nimport { CustomerService} from './MasterService/customer.service';\nimport { ManageBranchMasterComponent } from './ManageMaster/manage-branch-master/manage-branch-master.component';\nimport { BranchService} from './MasterService/branch.service';\nimport { ViewBranchMasterComponent } from './ManageMaster/view-branch-master/view-branch-master.component';\nimport { EditBranchMasterComponent } from './ManageMaster/edit-branch-master/edit-branch-master.component';\nimport { ManageRoleMasterComponent } from './ManageMaster/manage-role-master/manage-role-master.component';\nimport { RoleMasterComponent } from './ManageMaster/role-master/role-master.component';\nimport { RoleService} from './MasterService/role.service';\nimport { NgxPaginationModule} from 'ngx-pagination';\nimport { NgxSpinnerModule } from \"ngx-spinner\";\nimport { SweepChargesMasterComponent } from './ManageMaster/sweep-charges-master/sweep-charges-master.component';\nimport { ChargesSweepService} from './MasterService/charges-sweep.service';\nimport { SweepsummaryreportsComponent } from './Reports/sweepsummaryreports/sweepsummaryreports.component';\nimport { AutoLogoutService } from './MasterService/auto-logout.service';\nimport { MustMatchDirective } from './Common/must-match.directive';\nimport {ValidateUserNameDirective} from './MasterService/validateUserName.directive';\nimport {CustomvalidationService} from './MasterService/customvalidation.service';\nimport { UserBullkUploadComponent } from './UploadUser/user-bullk-upload/user-bullk-upload.component';\nimport { AddEditFunddisbursementComponent } from './SweepManagement/add-edit-funddisbursement/add-edit-funddisbursement.component';\nimport { MasterFundDisbursementComponentComponent } from './SweepManagement/master-fund-disbursement-component/master-fund-disbursement-component.component';\nimport{CookieService} from \"ngx-cookie-service\";\nimport { ResetPasswordComponent } from './Home/reset-password/reset-password.component';\nimport { CustomerbulkuploadComponent } from './UploadCustomer/customerbulkupload/customerbulkupload.component';\nimport { BranchBulkUploadComponent } from './UploadBranch/branch-bulk-upload/branch-bulk-upload.component';\nimport { HolidaybulkUploadComponent } from './UploadHoliday/holidaybulk-upload/holidaybulk-upload.component';\nimport { AccountBulkUploadComponent } from './UploadAccount/account-bulk-upload/account-bulk-upload.component';\nimport { ChartsModule } from 'ng2-charts';\nimport { LineChartSchemeDetailsComponent } from './line-chart-scheme-details/line-chart-scheme-details.component';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { AccountbulkuploadComponent } from './Upload_Account/accountbulkupload/accountbulkupload.component';\nimport { ManageRuleMasterComponent } from './SchemeMaster/manage-rule-master/manage-rule-master.component';\nimport { AddRuleMasterComponent } from './SchemeMaster/add-rule-master/add-rule-master.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { BarChartSchemeDetailsComponent } from './bar-chart-scheme-details/bar-chart-scheme-details.component';\nimport { LineChartSweepTransactionComponent } from './line-chart-sweep-transaction/line-chart-sweep-transaction.component';\nimport { SweepchargesListComponent } from './SweepManagement/sweepcharges-list/sweepcharges-list.component';\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\nimport { PaymentsComponent } from './payments/payments.component';\nimport { UploadPaymentsComponent } from './upload-payments/upload-payments.component';\nimport { PaymentsReportComponent } from './Reports/payments-report/payments-report.component';\n\n\nimport { HttpClientModule } from '@angular/common/http';\nimport { CoreModule } from './@core/core.module';\nimport { ThemeModule } from './@theme/theme.module';\nimport {\n NbChatModule,\n NbDatepickerModule,\n NbDialogModule,\n NbMenuModule,\n NbSidebarModule,\n NbSpinnerModule,\n NbToastrModule,\n NbWindowModule,\n} from '@nebular/theme';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { RuleSummaryReportsComponent } from './Reports/rule-summary-reports/rule-summary-reports.component';\nimport { AngularMyDatePickerModule } from 'angular-mydatepicker';\nimport { UserAuditReportComponent } from './Reports/user-audit-report/user-audit-report.component';\nimport{UserauditreportService}from 'src/app/MasterService/userauditreport.service';\nimport { SweepExecutionComponent } from './AccountMaster/sweep-execution/sweep-execution.component';\nimport { SiteConfigurationComponent } from './Home/site-configuration/site-configuration.component';\nimport { ErrorPageComponent } from './Home/error-page/error-page.component';\nimport { CustomerAuditReportComponent } from './Reports/customer-audit-report/customer-audit-report.component';\nimport { AccountAuditReportComponent } from './Reports/account-audit-report/account-audit-report.component';\nimport { SchemeAccountLinkComponent } from 'src/app/SchemeMaster/scheme-account-link/scheme-account-link.component';\n@NgModule({\n schemas: [ \n CUSTOM_ELEMENTS_SCHEMA\n ],\n declarations: [\n AppComponent,\n UserMasterComponent,\n BranchMasterComponent,\n ManageUserMasterComponent,\n ManageBranchMasterComponent,\n ViewBranchMasterComponent,\n EditBranchMasterComponent,\n ManageRoleMasterComponent,\n RoleMasterComponent,\n SweepChargesMasterComponent,\n SweepsummaryreportsComponent,\n MustMatchDirective,\n ValidateUserNameDirective,\n UserBullkUploadComponent,\n AddEditFunddisbursementComponent, \n MasterFundDisbursementComponentComponent, \n BranchBulkUploadComponent,\n ResetPasswordComponent, \n CustomerbulkuploadComponent, HolidaybulkUploadComponent, LineChartSchemeDetailsComponent, DashboardComponent,\n CustomerbulkuploadComponent, HolidaybulkUploadComponent, AccountbulkuploadComponent, ManageRuleMasterComponent, AddRuleMasterComponent, BarChartSchemeDetailsComponent, LineChartSweepTransactionComponent,\n CustomerbulkuploadComponent, HolidaybulkUploadComponent, AccountbulkuploadComponent, ManageRuleMasterComponent, AddRuleMasterComponent, BarChartSchemeDetailsComponent, SweepchargesListComponent, RuleSummaryReportsComponent, UserAuditReportComponent, SweepExecutionComponent, SiteConfigurationComponent, ErrorPageComponent, CustomerAuditReportComponent, AccountAuditReportComponent\n // CustomerbulkuploadComponent, HolidaybulkUploadComponent, AccountbulkuploadComponent, ManageRuleMasterComponent, AddRuleMasterComponent, BarChartSchemeDetailsComponent, SweepchargesListComponent, RuleSummaryReportsComponent, UserAuditReportComponent, SweepExecutionComponent, SiteConfigurationComponent, ErrorPageComponent, AccountAuditReportComponent\n //CustomerbulkuploadComponent, AccountBulkUploadComponent\n ,SchemeAccountLinkComponent, PaymentsComponent, UploadPaymentsComponent, PaymentsReportComponent\n ],\n imports: [\n CommonModule,\n BrowserModule,\n FormsModule,\n ReactiveFormsModule,\n AppRoutingModule,\n DefaultModule,\n NgxPaginationModule,\n NgxSpinnerModule,\n ChartsModule,\n BrowserAnimationsModule,\n HttpClientModule,\n NbSidebarModule.forRoot(),\n NbMenuModule.forRoot(),\n NbDatepickerModule.forRoot(),\n NbDialogModule.forRoot(),\n NbWindowModule.forRoot(),\n NbToastrModule.forRoot(),\n NbChatModule.forRoot({\n messageGoogleMapKey: 'AIzaSyA_wNuCzia92MAmdLRzmqitRGvCF7wCZPY',\n }),\n CoreModule.forRoot(),\n ThemeModule.forRoot(),\n NgSelectModule,\n NgbModule,\n AngularMyDatePickerModule,NbSpinnerModule,\n \n NgMultiSelectDropDownModule.forRoot()\n ],\n exports: [SweepchargesListComponent],\n providers: [UserService,CustomerService,BranchService,RoleService,\n ChargesSweepService,AutoLogoutService,CustomvalidationService,CookieService],\n bootstrap: [AppComponent]\n})\n\nexport class AppModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { ChartDataSets, ChartType, ChartOptions } from 'chart.js';\nimport { Color, BaseChartDirective, Label } from 'ng2-charts';\nimport * as pluginAnnotations from 'chartjs-plugin-annotation';\nimport { SchemeMasterService } from '../MasterService/scheme-master.service';\nimport { SchemeMaster } from 'src/app/MasterService/SchemeMaster';\nimport { CustomerService } from '../MasterService/customer.service';\n\n@Component({\n selector: 'app-bar-chart-scheme-details',\n templateUrl: './bar-chart-scheme-details.component.html',\n styleUrls: ['./bar-chart-scheme-details.component.css']\n})\nexport class BarChartSchemeDetailsComponent implements OnInit {\n Scheme : SchemeMaster[];\n FilteredScheme : SchemeMaster[];\n\n constructor(public _SchemeService : SchemeMasterService,public _customerService: CustomerService) { }\n\n ngOnInit(): void {\n this._customerService.fnGetCustomerMasterList().subscribe(customerList => {\n this._customerService.customerList = customerList;\n this.fnGetSchemMasterList(customerList[0].CustPkId);\n }) \n }\n\n SchemeNameList:any =[];\n BudgetAmountList:any =[];\n UtilizedAmountList:any =[];\n UnUtilizedAmountList:any =[];\n\n fnGetSchemMasterList(CustomerId:number){\n this._SchemeService.fnGetSchemMasterList(localStorage.getItem('LoginUserId')).subscribe(Scheme=>{\n this.Scheme = Scheme;\n this.FilteredScheme = this.Scheme.filter(row=>{\n return row.CustomerId.toString().match(CustomerId.toString());\n }); \n if(this.FilteredScheme.length > 0)\n {\n this.FilteredScheme.forEach(element => { \n this.SchemeNameList.push(element[\"SchemeName\"]);\n this.BudgetAmountList.push(element[\"BudgetAmount\"]);\n this.UtilizedAmountList.push(element[\"UtilizedAmount\"]);\n this.UnUtilizedAmountList.push(element[\"UnutilizedAmount\"]); \n }); \n } \n else\n {\n this.SchemeNameList.length=0;\n this.BudgetAmountList.length=0;\n this.UtilizedAmountList.length=0;\n this.UnUtilizedAmountList.length=0;\n } \n });\n }\n\n public barChartOptions: ChartOptions = {\n responsive: true,\n };\n public barChartLabels: Label[] = this.SchemeNameList;\n public barChartType: ChartType = 'bar';\n public barChartLegend = true;\n public barChartPlugins = [];\n\n public barChartData: ChartDataSets[] = [\n { data: this.BudgetAmountList, label: 'Allotted Funds', stack: 'a' },\n { data: this.UtilizedAmountList, label: 'Utilized Funds', stack: 'a' },\n { data: this.UnUtilizedAmountList, label: 'UnUtilized Funds', stack: 'a' }\n ];\n\n}","
\n
Scheme Management
\n
\n \n \n
\n
\n \n \n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.css']\n})\nexport class DashboardComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Constants } from 'src/app/Common/constant';\nimport { LoginDetails } from 'src/app/Common/LoginDetail';\nimport { HolidayService } from 'src/app/MasterService/Holiday.service';\nimport { LoginService } from 'src/app/MasterService/Login.service';\nimport { IfStmt } from '@angular/compiler';\nimport { UserService } from 'src/app/MasterService/user.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport * as $ from 'jquery';\nimport { debug } from 'console';\n\n@Component({\n selector: 'app-default',\n templateUrl: './default.component.html',\n styleUrls: ['./default.component.css']\n})\nexport class DefaultComponent implements OnInit {\n showModalLogout: boolean;\n showLastLogin: boolean;\n ShowLoginUser: boolean;\n lblMessageLogout: string;\n AdminPrivllage: boolean = false;\n LoginINFo: any;\n LoginRoleName: string;\n LastLoginDate: string;\n IsLastLoginPopupDisplay: boolean = false;\n LoginUser: string;\n FirstName: string;\n LastName: string;\n LoginAccessList: any;\n RuleSummaryPrivillage: boolean = false;\n ReportExistinMenu: boolean = false;\n showLogout() { this.showModalLogout = true; }\n hideLogout() { this.showModalLogout = false; }\n constructor(private router: Router, public _login: LoginService, public _user: UserService,\n public _encrypt: EncryptdecryptService) {\n }\n LogoutPopup() {\n this.lblMessageLogout = \"Are you sure, you want to Logout?\";\n this.showLogout();\n }\n\n Hide() {\n this.hideLogout();\n }\n HideLastLogin() {\n this.showLastLogin = false;\n }\n YesLogout() {\n $('#divLastLoginDate').css('display', 'none');\n LoginDetails.UserId = 0;\n this._user.fnUpdateTokenInDb(localStorage.getItem('UID'), \"\").subscribe(data => {\n this.hideLogout();\n localStorage.clear();\n this.router.navigate([\"\"]);\n this.ngOnInit();\n });\n\n }\n readonly rootURL = Constants.apiURL + 'HolidayMasterApi/';\n //public UserName= localStorage.getItem('LoginFirstName')+ ' '+localStorage.getItem('LoginLastName'); \n\n public userID = LoginDetails.UserId;\n public UserName;\n // public UserName=\"Rubina qureshi\";\n ngOnInit(): void {\n if ((localStorage.getItem('LoginUserId')) == null) {\n // this._login.fnGetLoginUserID(localStorage.getItem('LoginUserId'));\n this.UserName = '';\n // LoginDetails.LoginAccessData=[];\n this._login.displaystart = true;\n this._login.displayLogin = false;\n if (localStorage.getItem('RefreshSignIN') == \"true\") {\n debugger;\n this.router.navigate([\"/LoginPage\"]);\n // localStorage.removeItem(\"RefreshSignIN\")\n return;\n }\n else {\n this.router.navigate([\"\"]);\n }\n\n\n }\n if ((localStorage.getItem('LoginUserId')) != null) {\n this.FirstName = localStorage.getItem('LoginFirstName');\n this.LastName = localStorage.getItem('LoginLastName');\n if (this.FirstName.length > 0 || this.LastName.length > 0) {\n this.UserName = this.FirstName.charAt(0).toUpperCase() + this.FirstName.substr(1).toLowerCase() + ' ' + this.LastName.charAt(0).toUpperCase() + this.LastName.substr(1).toLowerCase()\n }\n this._login.displaystart = false;\n this._login.displayLogin = true;\n this._login.fnGetLoginUserID(localStorage.getItem('LoginUserId'));\n this._login.fnGetMenuModuleListForDashboard(localStorage.getItem('LoginUserId'));\n //Rubina added\n\n this.LoginRoleName = this._encrypt.decryptUsingAES256(localStorage.getItem('LoginRoleName'));\n this.LastLoginDate = localStorage.getItem('LastLoginDate');\n // this.LoginUser = localStorage.getItem('LoginUser');\n debugger;\n if (localStorage.getItem('LoginUser') == \"Yes\") {\n if (this.LastLoginDate != '') {\n this.IsLastLoginPopupDisplay = true;\n this.LastLoginDate = this.LastLoginDate;\n\n // this.LastLoginDate = 'Last Login: ' + this.LastLoginDate;\n this.showLastLogin = true;\n localStorage.removeItem('LoginUser')\n $(function () {\n setTimeout(function () {\n // $(\"#divLastLoginDate\").hide();\n $(\"#LastLoginModel\").hide();\n\n // this.showLastLogin=false;\n }, 5000);\n });\n }\n }\n if (this.LoginRoleName.indexOf(\"IDBIAdmin\") !== -1) {\n this.AdminPrivllage = true;\n }\n }\n\n\n\n this._login.fnGetLoginMenuNModule(localStorage.getItem('LoginUserId')).subscribe(data => {\n this.LoginAccessList = data;\n debugger;\n this.LoginAccessList.forEach(element => {\n if (element.menuName == \"Manage Master\") {\n element.moduleList.forEach(element => {\n if (element[\"moduleName\"] == 'Scheme Master') {\n this.RuleSummaryPrivillage = true;\n }\n });\n }\n if (element.menuName == \"Reports\") {\n this.ReportExistinMenu = true;\n }\n //vaibhav 21/12/2020 4:47 PM commented below code for Reports modules showing multiple times.\n // else{ \n // this.ReportExistinMenu=false;\n // }\n });\n });\n // if(localStorage.getItem('LoginUserId')==null){\n // this.router.navigate([\"\"]);\n // return;\n // }\n\n }\n\n bool: boolean = false;\n LoginPage() {\n document.location.reload();\n localStorage.setItem('RefreshSignIN', 'true');\n // if(localStorage.getItem(\"UserTypeVal\")!=null){\n // if(localStorage.getItem(\"UserTypeVal\")==\"2\"){\n // this.bool = true;\n // }\n // else{\n // }\n // }\n // else{\n // document.location.reload();\n // localStorage.setItem('RefreshSignIN', 'true');\n // };\n }\n // redirectToAccoulink() {\n // // this.router.navigate(['/AccountLinkMaster']);\n\n // this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => {\n // this.router.navigate(['AccountLinkMaster']).then(()=> {\n // location.reload();\n // });\n // }); \n\n //}\n\n}\n","
\n
\n
\n
\n\n
\n \n \"logo\"\n \n \n \n
\n \n
\n
\n
\n
\n

Confirmation

\n \n
\n
\n {{lblMessageLogout}}\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n
Last Login:
\n \n
\n
\n \n {{LastLoginDate}}
\n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
{{LoginRoleName}}
\n
\n
\n
\n \n
\n\n \n \n \n
\n \n \n\n
\n \n
\n\n
\n
\n
\n
\n\n\n \n\n\n\n\n\n","import { NgModule,CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { DefaultComponent } from './default.component';\nimport { IndexComponent } from 'src/app/Home/index/index.component';\nimport { LoginPageComponent } from 'src/app/Home/login/login-page.component';\nimport { RouterModule } from '@angular/router';\nimport { AddAccountComponent } from 'src/app/AccountMaster/add-account/add-account.component';\nimport { ManageAccountComponent } from 'src/app/AccountMaster/manage-account/manage-account.component';\nimport { HttpClientModule } from '@angular/common/http'; \nimport { AccountMasterService } from 'src/app/shared/account-master.service';\nimport { AccountlinkComponent } from 'src/app/AccountMaster/accountlink/accountlink.component';\nimport { CustomerMasterComponent } from 'src/app/ManageMaster/customer-master/customer-master.component';\nimport { ManageCustomerMasterComponent } from 'src/app/ManageMaster/manage-customer-master/manage-customer-master.component';\nimport { ManageAccessComponent } from 'src/app/ManageMaster/manage-access/manage-access.component';\nimport { HolidayMasterComponent } from 'src/app/ManageMaster/holiday-master/holiday-master.component';\nimport { HolidayMasterSetupComponent } from 'src/app/ManageMaster/holiday-master-setup/holiday-master-setup.component';\nimport { SignUpComponent } from 'src/app/Home/sign-up/sign-up.component';\nimport { CustomerService } from 'src/app/MasterService/customer.service';\nimport { ManageSchemeComponent } from 'src/app/SchemeMaster/manage-scheme/manage-scheme.component';\nimport { AddSchemeComponent } from 'src/app/SchemeMaster/add-scheme/add-scheme.component';\nimport { SchemeMasterService } from 'src/app/MasterService/scheme-master.service';\nimport { AccountLinkMasterComponent } from 'src/app/AccountMaster/account-link-master/account-link-master.component';\nimport { NgxPaginationModule} from 'ngx-pagination';\nimport { CustomerMappingComponent } from 'src/app/ManageMaster/customer-mapping/customer-mapping.component';\nimport { NgxSpinnerModule } from \"ngx-spinner\";\nimport{CookieService} from \"ngx-cookie-service\";\nimport { NumberDirective } from 'src/app/CustomDirectives/numbers-only.directive';\nimport { DragScrollModule } from 'ngx-drag-scroll';\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport { AngularMyDatePickerModule } from 'angular-mydatepicker';\nimport { ChartsModule } from 'ng2-charts';\n\n@NgModule({\n declarations: [\n DefaultComponent,\n IndexComponent,\n AddAccountComponent,\n ManageAccountComponent,\n AccountlinkComponent,\n LoginPageComponent,\n CustomerMasterComponent,\n ManageCustomerMasterComponent,\n ManageAccessComponent,\n HolidayMasterComponent,\n HolidayMasterSetupComponent,\n SignUpComponent,\n ManageSchemeComponent,\n AddSchemeComponent,\n AccountLinkMasterComponent,\n CustomerMappingComponent,\n NumberDirective,\n ],\n imports: [\n CommonModule,\n RouterModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n NgxPaginationModule,\n NgxSpinnerModule,\n DragScrollModule,\n NgbModule,\n AngularMyDatePickerModule,\n ChartsModule\n],\n\n providers:[\n AccountMasterService,\n CustomerService,\n SchemeMasterService,\n CookieService\n ], \n schemas: [ \n CUSTOM_ELEMENTS_SCHEMA\n ],\n})\nexport class DefaultModule { }\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ChartDataSets, ChartOptions } from 'chart.js';\nimport { Color, BaseChartDirective, Label } from 'ng2-charts';\nimport * as pluginAnnotations from 'chartjs-plugin-annotation';\nimport { SchemeMasterService } from '../MasterService/scheme-master.service';\nimport { SchemeMaster } from 'src/app/MasterService/SchemeMaster';\nimport { CustomerService } from '../MasterService/customer.service';\n\n@Component({\n selector: 'app-line-chart-scheme-details',\n templateUrl: './line-chart-scheme-details.component.html',\n styleUrls: ['./line-chart-scheme-details.component.css']\n})\nexport class LineChartSchemeDetailsComponent implements OnInit {\n Scheme : SchemeMaster[];\n FilteredScheme : SchemeMaster[];\n\n constructor(public _SchemeService : SchemeMasterService,public _customerService: CustomerService) { }\n\n ngOnInit(): void {\n this._customerService.fnGetCustomerMasterList().subscribe(customerList => {\n this._customerService.customerList = customerList;\n this.fnGetSchemMasterList(customerList[0].CustPkId);\n }) \n } \n\n SchemeNameList:any =[];\n BudgetAmountList:any =[];\n UtilizedAmountList:any =[];\n UnUtilizedAmountList:any =[];\n\n fnGetSchemMasterList(CustomerId:number){\n this._SchemeService.fnGetSchemMasterList(localStorage.getItem('LoginUserId')).subscribe(Scheme=>{\n this.Scheme = Scheme;\n this.FilteredScheme = this.Scheme.filter(row=>{\n return row.CustomerId.toString().match(CustomerId.toString());\n }); \n if(this.FilteredScheme.length > 0)\n {\n this.FilteredScheme.forEach(element => { \n this.SchemeNameList.push(element[\"SchemeName\"]);\n this.BudgetAmountList.push(element[\"BudgetAmount\"]);\n this.UtilizedAmountList.push(element[\"UtilizedAmount\"]);\n this.UnUtilizedAmountList.push(element[\"UnutilizedAmount\"]); \n }); \n } \n else\n {\n this.SchemeNameList.length=0;\n this.BudgetAmountList.length=0;\n this.UtilizedAmountList.length=0;\n this.UnUtilizedAmountList.length=0;\n } \n });\n }\n\n public lineChartData: ChartDataSets[] = [\n { data: this.BudgetAmountList, label: 'Allotted Funds' },\n { data: this.UtilizedAmountList, label: 'Utilized Funds' },\n { data: this.UnUtilizedAmountList, label: 'UnUtilized Funds', yAxisID: 'y-axis-1' }\n ];\n public lineChartLabels: Label[] = this.SchemeNameList;\n public lineChartOptions: (ChartOptions & { annotation: any }) = {\n responsive: true,\n scales: {\n // We use this empty structure as a placeholder for dynamic theming.\n xAxes: [{}],\n yAxes: [\n {\n id: 'y-axis-0',\n position: 'left',\n },\n {\n id: 'y-axis-1',\n position: 'right',\n gridLines: {\n color: 'rgba(255,0,0,0.3)',\n },\n ticks: {\n fontColor: 'red',\n }\n }\n ]\n },\n annotation: {\n annotations: [\n {\n type: 'line',\n mode: 'vertical',\n scaleID: 'x-axis-0',\n value: 'March',\n borderColor: 'orange',\n borderWidth: 2,\n label: {\n enabled: true,\n fontColor: 'orange',\n content: 'LineAnno'\n }\n },\n ],\n },\n };\n public lineChartColors: Color[] = [\n { // grey\n backgroundColor: 'rgba(148,159,177,0.2)',\n borderColor: 'rgba(148,159,177,1)',\n pointBackgroundColor: 'rgba(148,159,177,1)',\n pointBorderColor: '#fff',\n pointHoverBackgroundColor: '#fff',\n pointHoverBorderColor: 'rgba(148,159,177,0.8)'\n },\n { // dark grey\n backgroundColor: 'rgba(77,83,96,0.2)',\n borderColor: 'rgba(77,83,96,1)',\n pointBackgroundColor: 'rgba(77,83,96,1)',\n pointBorderColor: '#fff',\n pointHoverBackgroundColor: '#fff',\n pointHoverBorderColor: 'rgba(77,83,96,1)'\n },\n { // red\n backgroundColor: 'rgba(255,0,0,0.3)',\n borderColor: 'red',\n pointBackgroundColor: 'rgba(148,159,177,1)',\n pointBorderColor: '#fff',\n pointHoverBackgroundColor: '#fff',\n pointHoverBorderColor: 'rgba(148,159,177,0.8)'\n }\n ];\n public lineChartLegend = true;\n public lineChartType = 'line';\n public lineChartPlugins = [pluginAnnotations];\n\n @ViewChild(BaseChartDirective, { static: true }) chart: BaseChartDirective; \n\n // events\n public chartClicked({ event, active }: { event: MouseEvent, active: {}[] }): void {\n \n }\n\n public chartHovered({ event, active }: { event: MouseEvent, active: {}[] }): void {\n \n }\n\n public hideOne() {\n const isHidden = this.chart.isDatasetHidden(1);\n this.chart.hideDataset(1, !isHidden);\n } \n\n}\n","
\n
\n \n \n
\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ChartDataSets, ChartType, ChartOptions } from 'chart.js';\nimport { Color, BaseChartDirective, Label } from 'ng2-charts';\nimport { CustomerService } from '../MasterService/customer.service';\nimport { SweepChargesModelService } from 'src/app/MasterService/sweep-charges-model.service';\n\n@Component({\n selector: 'app-line-chart-sweep-transaction',\n templateUrl: './line-chart-sweep-transaction.component.html',\n styleUrls: ['./line-chart-sweep-transaction.component.css']\n})\nexport class LineChartSweepTransactionComponent implements OnInit {\n SweepTransGraphDataList:any[];\n WDays:any=[];\n FixedBalanceTransfer:any=[];\n ReverseBalanceTransfer:any=[];\n ZeroBalanceTransfer:any=[];\n TargetBalanceTransfer:any=[];\n FixedSweepList:any=[];\n ReverseSweepList:any=[];\n ZeroBalSweepList:any=[];\n TargetBalSweepList:any=[];\n\n constructor(public _customerService: CustomerService,public _SweepChargesModelService: SweepChargesModelService) { }\n\n ngOnInit(): void {\n this._customerService.fnGetCustomerMasterList().subscribe(customerList => {\n this._customerService.customerList = customerList; \n this.fnGetSweepTransGraphData(customerList[0].CustPkId,1); \n }) \n }\n\n fnGetSweepTransGraphData(CustId:number,type:number) {\n this.WDays.length=0;\n this.FixedBalanceTransfer.length=0;\n this.ReverseBalanceTransfer.length=0;\n this.ZeroBalanceTransfer.length=0;\n this.TargetBalanceTransfer.length=0;\n this.FixedSweepList.length=0;\n this.ReverseSweepList.length=0;\n this.ZeroBalSweepList.length=0;\n this.TargetBalSweepList.length=0;\n\n this._SweepChargesModelService.fnGetSweepTransGraphData(CustId,type).subscribe(respose => {\n this.SweepTransGraphDataList = respose;\n\n this.FixedSweepList = this.SweepTransGraphDataList.filter(row=>{\n return row.SweepMethod.toString().match('Fixed Sweep');\n }); \n if(this.FixedSweepList.length > 0)\n {\n this.FixedSweepList.forEach(element => { \n this.WDays.push(element[\"WDays\"]);\n this.FixedBalanceTransfer.push(element[\"BalanceTransfer\"]); \n }); \n } \n else\n {\n this.WDays.length=0;\n this.FixedBalanceTransfer.length=0; \n } \n\n this.ReverseSweepList = this.SweepTransGraphDataList.filter(row=>{\n return row.SweepMethod.toString().match('Reverse Sweep');\n }); \n if(this.ReverseSweepList.length > 0)\n {\n this.ReverseSweepList.forEach(element => { \n this.ReverseBalanceTransfer.push(element[\"BalanceTransfer\"]); \n }); \n } \n else\n { \n this.ReverseBalanceTransfer.length=0; \n } \n\n this.TargetBalSweepList = this.SweepTransGraphDataList.filter(row=>{\n return row.SweepMethod.toString().match('Target Balance/Minimum Balance sweep');\n }); \n if(this.TargetBalSweepList.length > 0)\n {\n this.TargetBalSweepList.forEach(element => { \n this.TargetBalanceTransfer.push(element[\"BalanceTransfer\"]); \n }); \n } \n else\n { \n this.TargetBalanceTransfer.length=0; \n } \n\n this.ZeroBalSweepList = this.SweepTransGraphDataList.filter(row=>{\n return row.SweepMethod.toString().match('Zero Balance Sweep');\n }); \n if(this.ZeroBalSweepList.length > 0)\n {\n this.ZeroBalSweepList.forEach(element => { \n this.ZeroBalanceTransfer.push(element[\"BalanceTransfer\"]); \n });\n } \n else\n { \n this.ZeroBalanceTransfer.length=0; \n } \n \n \n });\n }\n\n public lineChartData: ChartDataSets[] = [\n { data: this.FixedBalanceTransfer, label: 'Fixed Sweep' },\n { data: this.ReverseBalanceTransfer, label: 'Reverse Sweep' },\n { data: this.TargetBalanceTransfer, label: 'Target Balance/Minimum Balance sweep' },\n { data: this.ZeroBalanceTransfer, label: 'Zero Balance Sweep' },\n ]; \n\n public lineChartLabels: Label[] = this.WDays;\n public lineChartOptions: (ChartOptions) = {\n responsive: true,\n };\n public lineChartColors: Color[] = [\n {\n borderColor: 'black',\n backgroundColor: 'rgba(255,0,0,0.3)',\n },\n ];\n public lineChartLegend = true;\n public lineChartType = 'line';\n public lineChartPlugins = [];\n\n}\n","
\n
\n
\n
Sweep Transactoins
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
","import { Component, OnInit, AfterViewInit } from '@angular/core';\nimport { ViewEncapsulation } from '@angular/core';\nimport { HttpClientModule, HttpClient, HttpHeaders } from '@angular/common/http';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { WindowScrollingService } from 'src/app/MasterService/window-scrolling.service';\nimport { NgForm } from '@angular/forms';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { EncryptdecryptService } from 'src/app/MasterService/encryptdecrypt.service';\nimport { PaymentsService } from 'src/app/MasterService/payments.service';\nimport { DecimalPipe } from '@angular/common';\nimport { SchemeAccountLinkService } from 'src/app/MasterService/scheme-account-link.service';\nimport { retryWhen } from 'rxjs/operators';\n\nexport class payment {\n PaymentsTrackingId:number;\n DebitAccountNumber: string;\n CreditAccountNumber: string;\n DebitAccountId: number;\n CreditAccountId: number;\n DebitBalance: string;\n CreditBalance: string;\n Amount: string;\n Comments:string;\n isExcuted:string = '0';\n status:string;\n refNumber:string;\n batchId:string;\n userId:string;\n BeforeBalDA:string;\n AfterBalDA:string;\n BeforeBalCA:string;\n AfterBalCA:string;\n Action:string;\n StructureId:number;\n StructureTypeName:string;\n DebitIFSC:string;\n CreditIFSC:string;\n DebitACHName:string;\n CreditACHName:string;\n DebitBankName:string;\n CreditBankName:string;\n}\n\n@Component({\n selector: 'app-payments',\n templateUrl: './payments.component.html',\n styleUrls: ['./payments.component.css']\n})\nexport class PaymentsComponent implements OnInit {\n config: any;\n paymentObj:payment = new payment();\n payments:payment[] = [];\n LoginUserId: string;\n DebitAccountsList: any[] = [];\n AccountsList: any[] = [];\n lastSortedByField;\n ddlshowvalue:number;\n ascendingOrder = true;\n ddlshowStartValue:number;\n filterCount:string;\n AllStructorTypes: any = [];\n \n constructor(private httpService: HttpClient, private router: Router, private _spinner: NgxSpinnerService,\n public _token: TokenService, public _encrypt: EncryptdecryptService,public _PaymentsService: PaymentsService,public _schemeLinkService: SchemeAccountLinkService) {\n }\n ngOnInit(): void {\n if (localStorage.getItem('LoginUserId') == null) {\n this.router.navigate([\"\"]);\n return;\n }\n this.config = {\n itemsPerPage: 5,\n currentPage: 1,\n };\n this.ddlshowvalue =5;\n this.ddlshowStartValue = 1;\n this.filterCount = \"\";\n this.LoginUserId = localStorage.getItem('LoginUserId');\n this.GetAccounts();\n //this.sortTable(1,false);\n this.add(0);\n this.StructorType();\n }\n pageChanged(event) {\n this.config.currentPage = event;\n this.ddlshowvalue = this.config.currentPage*this.config.itemsPerPage;\n this.ddlshowStartValue = this.ddlshowvalue - (this.config.itemsPerPage-1);\n if(this.payments.length<=this.ddlshowvalue)\n this.ddlshowvalue = this.payments.length;\n }\n StructorType() {\n this._schemeLinkService.fnGetStructorType().subscribe(data => {\n this.AllStructorTypes = data;\n });\n }\n addClick(){\n var DebitAccountDetails = this.GetAccountDetails(this.paymentObj.DebitAccountNumber);\n var CreditAccountDetails = this.GetAccountDetails(this.paymentObj.CreditAccountNumber);\n debugger;\n this.paymentObj.status = (\n this.paymentObj.DebitAccountNumber == null?\"Debit Account Number is required\":\n this.paymentObj.CreditAccountNumber == null?\"Credit Account Number is required\":\n this.paymentObj.Amount == null?\"Amount is required\":\n DebitAccountDetails == null?\"Enter valid Debit Account Number\":\n CreditAccountDetails == null?\"Enter valid Credit Account Number\":\n DebitAccountDetails.BankName != \"IDBI Bank\" ? \"Debit account should always be IDBI\":\n this.paymentObj.StructureTypeName == \"Fund Transfer\" && (DebitAccountDetails.BankName != \"IDBI Bank\" || CreditAccountDetails.BankName != \"IDBI Bank\")?\"For fund tranfer both account should be IDBI\":\n (this.paymentObj.StructureTypeName == \"NEFT\" || this.paymentObj.StructureTypeName == \"RTGS\") && ( DebitAccountDetails.BankName == \"IDBI Bank\" && CreditAccountDetails.BankName == \"IDBI Bank\")?\"For NEFT credit account should be non IDBI\":\n this.paymentObj.StructureTypeName == \"RTGS\" && parseFloat(this.paymentObj.Amount) < 200000?\"For RTGS Amount should be 2 Lac or above\":\n \"\"\n );\n if(this.paymentObj.status != \"\"){\n alert(this.paymentObj.status);\n this.paymentObj.status == \"\";\n return;\n }\n else{\n this.paymentObj.DebitAccountId = DebitAccountDetails.AcId;\n this.paymentObj.CreditAccountId = CreditAccountDetails.AcId;\n this.paymentObj.DebitBankName = DebitAccountDetails.BankName;\n this.paymentObj.CreditBankName = CreditAccountDetails.BankName;\n this.paymentObj.DebitACHName = DebitAccountDetails.ACHName;\n this.paymentObj.CreditACHName = CreditAccountDetails.ACHName;\n }\n this.add(0);\n }\n GetAccountDetails(acNo):any{\n var retval = null;\n for(var i = 0;idocument.getElementById(\"StructureId\")).value);\n this.paymentObj.Action = PaymentsTrackingId == 0 ? \"add\" : \"delete\";\n this.paymentObj.PaymentsTrackingId = PaymentsTrackingId;\n this._PaymentsService.addAccounts(this.paymentObj).subscribe(res => {\n this.payments = res;\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n execute(){\n this._PaymentsService.Execute(this.payments).subscribe(res => {\n this.payments = res;\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n GetAccounts(){\n this._PaymentsService.getAccounts().subscribe(res => {\n debugger;\n this.AccountsList = res;\n this.DebitAccountsList = res.filter(function (el) {\n return el[\"BankName\"] == \"IDBI Bank\"\n });\n },(err)=>{\n this.router.navigate([\"404\"]);\n });\n }\n sortTable(n, val) {\n var table = (document.getElementById(\"tblpayment\"));\n $('.sortorder').remove();\n var hdr = table.rows[0].cells[n];\n if (val) {\n $(hdr).html($(hdr).html() + '');\n } else {\n $(hdr).html($(hdr).html() + '');\n }\n }\n fnSortTable(field,obj){\n if(this.lastSortedByField === field) {\n this.ascendingOrder = !this.ascendingOrder;\n\n this.sortTable(obj,this.ascendingOrder);\n }\n else {\n this.lastSortedByField = field;\n this.ascendingOrder = true;\n\n this.sortTable(obj,this.ascendingOrder);\n }\n\n this.payments = this.payments.sort((a, b) => {\n if(this.ascendingOrder) {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return -1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return 1;\n return 0;\n } \n else {\n if (a[field].toLowerCase() < b[field].toLowerCase())\n return 1;\n if (a[field].toLowerCase() > b[field].toLowerCase())\n return -1;\n return 0;\n }\n });\n}\n}\n","
\n
\n
\n
\n \n
\n
\n

Payments

\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Debit Account NumberCredit Account NumberAmountTypeCommentsStatusRef No
{{payment.DebitAccountNumber}} - ({{payment.DebitBalance}}){{payment.CreditAccountNumber}} - ({{payment.CreditBalance}}){{payment.Amount}}{{payment.StructureTypeName}}{{payment.Comments}}{{payment.status}}{{payment.refNumber}} \n
\n
\n \n
\n
\n
No records found.
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n \n \n \n \n \n \n
\n\n\n","import { AccountMaster } from './account-master.model';\nimport { Injectable } from '@angular/core';\nimport { TokenService } from 'src/app/MasterService/token.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n@Injectable({\n providedIn: 'root'\n})\nexport class AccountMasterService {\n formData: AccountMaster;\n \n readonly rootURL = 'http://localhost:4200/api/AccountMasterApi/';\n list: AccountMaster[];\n \n\n\n constructor(private http: HttpClient, public _token:TokenService) { }\n\n AccountMasterList() {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n this.http.get(this.rootURL + 'GetAcccountList', httpOptions)\n .toPromise()\n .then(res=>this.list = res as AccountMaster[]);\n }\n\n AccountMasterById(id) {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n this.http.get(this.rootURL + 'GetAcccountListById/' + id, httpOptions)\n .toPromise()\n .then(res=>this.list = res as AccountMaster[]);\n }\n\n AddEditAccountMaster() {\n this._token.fnrenewToken();\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': this._token.token\n })\n };\n return this.http.post(this.rootURL + 'AddEditAccount/', this.formData, httpOptions);\n }\n\n DeleteAccountMaster(id){\n return this.http.delete(this.rootURL + 'DeleteAccountListById/' + id)\n }\n\n}","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport * as XLSX from 'xlsx'; \nimport { PaymentsService } from 'src/app/MasterService/payments.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Constants } from 'src/app/Common/constant';\nimport { FormBuilder } from '@angular/forms';\n\n\n@Component({\n selector: 'app-upload-payments',\n templateUrl: './upload-payments.component.html',\n styleUrls: ['./upload-payments.component.css']\n})\nexport class UploadPaymentsComponent implements OnInit {\n lblMessage:string;\n file:any;\n arrayBuffer:any;\n filelist:any;\n showMsg: boolean;\n showerrormsg: boolean;\n showOrangeerrormsg: boolean;\n disableButton:boolean = true;\n viewresult:any;\n splitresult:any;\n newsplitresult:any;\n headerArrayList:any;\n headerColumns:any;\n IsValid:boolean;\n sbresult:string;\n rowNumber:number;\n IsMaxFileSize: boolean;\n ErrorMessage: string;\n headerColumnsArrays: any;\n FileValid: boolean=true;\n uploadForm: FormGroup;\n uploadList: any[];\n errorFileURL:string;\n config:any;\n\n constructor(private router: Router,private _paymentservice:PaymentsService,public _spinner:NgxSpinnerService,\n private formBuilder: FormBuilder) { }\n\n ngOnInit(): void { \n this.disableButton = true;\n this.uploadForm = this.formBuilder.group({\n profile: [''],\n });\n\n this.config = {\n itemsPerPage: 10,\n currentPage: 1,\n };\n \n this.errorFileURL=Constants.tokenURL;\n this._paymentservice\n .GetAndInsertImportFileData('',localStorage.getItem('LoginUserId'))\n .subscribe((data) => {\n console.log(data);\n this.uploadList = data;\n for(var i=0;i 0) {\n const file = event.target.files[0];\n this.uploadForm.get('profile').setValue(file);\n }\n }\n\n addfile(event) \n {\n this._spinner.show();\n this.disableButton = true;\n this.ErrorMessage=\"\";\n this.showerrormsg=false;\n this.lblMessage = \"\";\n\n debugger\n this.showMsg = false;\n this.showerrormsg = false;\n this.showOrangeerrormsg = false;\n this.viewresult = \"\";\n\n this.file= event.target.files[0]; \n let fileReader = new FileReader(); \n fileReader.readAsArrayBuffer(this.file); \n fileReader.onload = (e) => { \n this.arrayBuffer = fileReader.result; \n var data = new Uint8Array(this.arrayBuffer); \n var arr = new Array(); \n for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]); \n var bstr = arr.join(\"\"); \n var workbook = XLSX.read(bstr, {type:\"binary\"}); \n var first_sheet_name = workbook.SheetNames[0]; \n var worksheet = workbook.Sheets[first_sheet_name]; \n var arraylist = XLSX.utils.sheet_to_json(worksheet,{raw:true}); \n this.headerArrayList = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\n this.headerColumns = this.headerArrayList[0].toString();\n var ExcelHeader = this.headerColumns.split(',');\n this.headerColumnsArrays=ExcelHeader;\n if ((this.headerColumnsArrays[0] != \"DebitAccountNumber\") || (this.headerColumnsArrays[1] != \"CreditAccountNumber\") \n || (this.headerColumnsArrays[2] != \"Amount\") || (this.headerColumnsArrays[3] != \"Comments\") || (this.headerColumnsArrays[4] != \"StructureType\")){\n this.FileValid = false;\n this.showerrormsg=true;\n this.lblMessage = \" Please select valid file\";\n }\n else{\n this.FileValid = true;\n }\n if(arraylist.length>0 && this.FileValid ==true)\n {\n this.disableButton = false;\n } \n if(this.file.size > 4194304){\n this.IsMaxFileSize=true;\n this.disableButton = true;\n this.ErrorMessage=\" Maximum file size should be 4MB.\"\n } \n this.filelist = arraylist; \n setTimeout(() => {\n this._spinner.hide(); \n }, 500);\n \n } \n}\n\nonSubmit(form: NgForm) {\n debugger;\n this._spinner.show();\n if (this.filelist.length > 0) { \n\n this.rowNumber = 1;this.sbresult = \"\";\n \n if( this.FileValid==true){\n this.IsValid = true;\n\n if (this.IsValid) {\n const formData = new FormData();\n formData.append('file', this.uploadForm.get('profile').value);\n this._paymentservice.fnUploadFile(formData).subscribe((res) => { \n if (res != null) { \n this._paymentservice\n .GetAndInsertImportFileData(res,localStorage.getItem('LoginUserId'))\n .subscribe((data) => { \n this.uploadList = data;\n for(var i=0;iImport Summary
\" + this.sbresult;\n }\n }\n}\nelse{\n this.lblMessage = \"Please upload valid file\";\n this.showerrormsg = true;\n this.showMsg = false;\n this.showOrangeerrormsg = false;\n}\nsetTimeout(() => {\n this._spinner.hide(); \n}, 500);\n\n}\n\n BackButton() {\n this.router.navigate(['/payments']);\n }\n\n onTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n }\n\n showlbl() {\n this.showMsg = true;\n }\n hidelbl() {\n this.showMsg = false;\n }\n\n showerror() {\n this.showerrormsg = true;\n }\n hideerror() {\n this.showerrormsg = false;\n }\n showOrangeerror() {\n this.showOrangeerrormsg = true;\n }\n hideOrangeerror() {\n this.showOrangeerrormsg = false;\n }\n\n\n}\n","
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

Upload Payments

\n
\n
\n
\n
\n
\n \n\n
\n
\n
\n

* Marked Fields Are Mandatory.

\n \n
\n \n
\n \n \n
\n
\n
\n ×\n Success! {{lblMessage}}.\n
\n\n
\n ×\n Failed! {{lblMessage}}.\n
\n\n
\n ×\n {{lblMessage}}.\n
\n\n
\n
\n\n
\n \n
\n
\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n
\n
\n
\n\n
\n
\n \n
\n {{ErrorMessage}}\n
\n
\n
\n
\n
\n \n \n \n Import File Name\n Uploaded Date\n Uploaded By\n Status \n Results/Comments \n \n \n \n \n {{ upload.originalFileName }}\n {{ upload.CREATEDDATE }}\n {{ upload.USERNAME }}\n {{ upload.STATUS }}\n \n Error Log\n \n {{ upload.TOTALRECORDS }} Records \n \n \n \n No records found.\n \n \n \n\n
\n\n
\n \n
\n \n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n \n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"]}