{"version":3,"sources":["webpack:///src/app/components/settings-modal/settings.component.html","webpack:///src/app/components/settings-modal/settings.component.ts","webpack:///src/app/services/auth.guard.ts","webpack:///src/app/services/fav.service.ts","webpack:///src/app/pipes/number-format.pipe.ts","webpack:///src/app/screens/technical-reports/technical-reports.component.ts","webpack:///src/app/screens/technical-reports/technical-reports.component.html","webpack:///src/app/components/trades-history/trades-history.component.ts","webpack:///src/app/components/trades-history/trades-history.component.html","webpack:///fs (ignored)","webpack:///src/app/components/account-header/account-header.component.ts","webpack:///src/app/components/account-header/account-header.component.html","webpack:///src/app/components/create-alert/create-alert.component.ts","webpack:///src/app/components/create-alert/create-alert.component.html","webpack:///crypto (ignored)","webpack:///src/app/components/order-buy/order-buy.component.ts","webpack:///src/app/components/order-buy/order-buy.component.html","webpack:///src/app/services/signalr.service.ts","webpack:///stream (ignored)","webpack:///src/app/services/alert.service.ts","webpack:///node_modules/docking-egid/dist/esm lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","webpack:///src/app/components/ipo-acc-order-modal/ipo-acc-order-modal.component.ts","webpack:///src/app/components/ipo-acc-order-modal/ipo-acc-order-modal.component.html","webpack:///readable-stream (ignored)","webpack:///src/app/screens/test/test.component.ts","webpack:///src/app/screens/test/test.component.html","webpack:///min-document (ignored)","webpack:///src/app/screens/user-profile/invoice/preview-invoice/preview-invoice.component.ts","webpack:///src/app/screens/user-profile/invoice/preview-invoice/preview-invoice.component.html","webpack:///src/app/components/new-trade-chart/new-trade-chart.component.ts","webpack:///src/app/components/new-trade-chart/new-trade-chart.component.html","webpack:///src/app/components/twfa/twfa.component.ts","webpack:///src/app/components/twfa/twfa.component.html","webpack:///src/app/services/flex-layout.service.ts","webpack:///src/app/components/trades/trades.component.html","webpack:///src/app/components/trades/trades.component.ts","webpack:///src/app/screens/home/search.pipe.ts","webpack:///src/app/components/purchase-power-details/purchase-power-details.component.ts","webpack:///src/app/components/purchase-power-details/purchase-power-details.component.html","webpack:///src/app/services/input-comma-sepreated.pipe.ts","webpack:///src/environments/environment.ts","webpack:///src/app/screens/home-new/home-new.component.ts","webpack:///src/app/screens/home-new/home-new.component.html","webpack:///src/app/pipes/check-array.pipe.ts","webpack:///src/app/services/api.service.ts","webpack:///src/app/models/urlConstants.ts","webpack:///src/app/components/user-portfolio/user-portfolio.component.ts","webpack:///src/app/components/user-portfolio/user-portfolio.component.html","webpack:///src/app/components/password-validation-section/password-validation-section.component.ts","webpack:///src/app/components/password-validation-section/password-validation-section.component.html","webpack:///src/app/pipes/ordinal.pipe.ts","webpack:///src/app/components/confirmation/confirmation.component.ts","webpack:///src/app/components/confirmation/confirmation.component.html","webpack:///src/assets/js/Chart.bundle.min.js","webpack:///src/app/components/trades-order-history/trades-order-history.component.ts","webpack:///src/app/components/trades-order-history/trades-order-history.component.html","webpack:///src/app/components/quota-trade/quota-trade.component.html","webpack:///src/app/components/quota-trade/quota-trade.component.ts","webpack:///node_modules/moment-mini/locale sync ^\\.\\/.*$","webpack:///src/app/components/market-watch-table/context-menu/context-menu.component.ts","webpack:///src/app/components/market-watch-table/context-menu/context-menu.component.html","webpack:///src/app/screens/user-profile/user-profile.component.ts","webpack:///src/app/screens/user-profile/user-profile.component.html","webpack:///src/app/screens/mutual-fund/mutual-fund.component.ts","webpack:///src/app/screens/mutual-fund/mutual-fund.component.html","webpack:///src/app/components/market-grid-view/market-grid-view.component.ts","webpack:///src/app/components/market-grid-view/market-grid-view.component.html","webpack:///src/app/components/ipo-selected-symbol-timline-pdf/ipo-selected-symbol-timline-pdf.component.html","webpack:///src/app/components/ipo-selected-symbol-timline-pdf/ipo-selected-symbol-timline-pdf.component.ts","webpack:///src/app/services/market-watch-detail.service.ts","webpack:///src/app/components/quota-bids-asks/quota-bids-asks.component.html","webpack:///src/app/components/quota-bids-asks/quota-bids-asks.component.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/app/components/market-depth/market-depth.component.html","webpack:///src/app/components/market-depth/market-depth.component.ts","webpack:///src/app/components/ipo-selected-symbol/ipo-selected-symbol.component.html","webpack:///src/app/components/ipo-selected-symbol/ipo-selected-symbol.component.ts","webpack:///src/app/components/market-news/market-news.component.ts","webpack:///src/app/components/market-news/market-news.component.html","webpack:///src/app/components/market-watch-table/market-watch-table.component.ts","webpack:///src/app/components/market-watch-table/market-watch-table.component.html","webpack:///src/app/screens/home/home.component.ts","webpack:///src/app/screens/home/home.component.html","webpack:///src/app/components/forget-password/custom-validators.ts","webpack:///src/app/components/material-market-watch/material-market-watch.component.ts","webpack:///src/app/components/material-market-watch/material-market-watch.component.html","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/components/verify-email/verify-email.component.ts","webpack:///src/app/components/verify-email/verify-email.component.html","webpack:///src/app/components/info-Modal/info-modal.component.ts","webpack:///src/app/components/info-Modal/info-modal.component.html","webpack:///src/app/services/gridster.service.ts","webpack:///src/app/services/is-market.guard.ts","webpack:///src/app/screens/ipo/ipo.component.ts","webpack:///src/app/screens/ipo/ipo.component.html","webpack:///src/app/components/news/news.component.ts","webpack:///src/app/components/news/news.component.html","webpack:///src/app/screens/user-profile/statement/statement.component.ts","webpack:///src/app/screens/user-profile/statement/statement.component.html","webpack:///src/app/components/selected-order-trade/selected-order-trade.component.ts","webpack:///src/app/components/selected-order-trade/selected-order-trade.component.html","webpack:///src/app/components/change-password/change-password.component.ts","webpack:///src/app/components/change-password/change-password.component.html","webpack:///src/app/models/mutualFund.ts","webpack:///src/app/services/home-components.service.ts","webpack:///src/app/screens/new-login/new-login.component.ts","webpack:///src/app/screens/new-login/new-login.component.html","webpack:///src/app/components/fund-acc-order-modal/fund-acc-order-modal.component.ts","webpack:///src/app/components/fund-acc-order-modal/fund-acc-order-modal.component.html","webpack:///src/app/models/alert.ts","webpack:///src/app/app.module.ts","webpack:///src/app/services/custom-number.pipe.ts","webpack:///src/app/components/update-order/update-order.component.ts","webpack:///src/app/components/update-order/update-order.component.html","webpack:///src/app/screens/local-market/local-market.component.html","webpack:///src/app/screens/local-market/local-market.component.ts","webpack:///src/app/components/news-details-modal/news-details-modal.component.ts","webpack:///src/app/components/news-details-modal/news-details-modal.component.html","webpack:///src/app/components/hint-popover/hint-popover.component.html","webpack:///src/app/components/hint-popover/hint-popover.component.ts","webpack:///src/environments/environment.prod.ts","webpack:///src/app/pipes/time-format.pipe.ts","webpack:///src/app/services/request-header.interceptor.ts","webpack:///src/app/components/market-trades/market-trades.component.ts","webpack:///src/app/components/market-trades/market-trades.component.html","webpack:///src/app/components/home-market-summary/home-market-summary.component.html","webpack:///src/app/components/home-market-summary/home-market-summary.component.ts","webpack:///src/app/components/order-history/order-history.component.ts","webpack:///src/app/components/order-history/order-history.component.html","webpack:///src/app/components/slick-market-watch/slick-market-watch.component.html","webpack:///src/app/components/slick-market-watch/slick-market-watch.component.ts","webpack:///src/app/services/account.service.ts","webpack:///src/app/components/nav-bar/nav-bar.component.ts","webpack:///src/app/components/nav-bar/nav-bar.component.html","webpack:///src/app/components/invoices-modal/invoices-modal.component.ts","webpack:///src/app/components/invoices-modal/invoices-modal.component.html","webpack:///src/app/screens/login/login.component.ts","webpack:///src/app/screens/login/login.component.html","webpack:///src/app/components/selected-symbol-charts/selected-symbol-charts.component.ts","webpack:///src/app/components/selected-symbol-charts/selected-symbol-charts.component.html","webpack:///src/app/screens/detailed-quota/detailed-quota.component.ts","webpack:///src/app/screens/detailed-quota/detailed-quota.component.html","webpack:///src/app/components/order-book/order-book.component.html","webpack:///src/app/components/order-book/order-book.component.ts","webpack:///src/app/components/select-company-modal/select-company-modal.component.html","webpack:///src/app/components/select-company-modal/select-company-modal.component.ts","webpack:///src/app/components/user-trades-summary/user-trades-summary.component.ts","webpack:///src/app/components/user-trades-summary/user-trades-summary.component.html","webpack:///src/app/components/historical/historical.component.ts","webpack:///src/app/components/historical/historical.component.html","webpack:///src/app/screens/user-profile/invoice/invoice.component.ts","webpack:///src/app/screens/user-profile/invoice/invoice.component.html","webpack:///src/app/components/alert-manager/alert-manager.component.ts","webpack:///src/app/components/alert-manager/alert-manager.component.html","webpack:///src/app/components/selected-symbol-details-pdfs/selected-symbol-details-pdfs.component.html","webpack:///src/app/components/selected-symbol-details-pdfs/selected-symbol-details-pdfs.component.ts","webpack:///src/app/services/contentId.service.ts","webpack:///src/app/components/select-statement-date/select-statement-date.component.ts","webpack:///src/app/components/select-statement-date/select-statement-date.component.html","webpack:///src/app/components/reset-password/reset-password.component.ts","webpack:///src/app/components/reset-password/reset-password.component.html","webpack:///src/app/services/config.service.ts","webpack:///src/app/components/slick-market-watch/favorite-menu/favorite-menu.component.ts","webpack:///src/app/components/slick-market-watch/favorite-menu/favorite-menu.component.html","webpack:///src/app/screens/user-profile/invoice/invoice-details/invoice-details.component.html","webpack:///src/app/screens/user-profile/invoice/invoice-details/invoice-details.component.ts","webpack:///src/app/components/trading-view-chart/trading-view-chart.component.html","webpack:///src/app/components/trading-view-chart/trading-view-chart.component.ts","webpack:///src/app/components/animated-text/animated-text.component.ts","webpack:///src/app/components/search-symbols-modal/search-symbols-modal.component.html","webpack:///src/app/components/search-symbols-modal/search-symbols-modal.component.ts","webpack:///src/app/components/not-full-market/not-full-market.component.ts","webpack:///src/app/components/not-full-market/not-full-market.component.html","webpack:///src/app/components/market-depth-asks/market-depth-asks.component.ts","webpack:///src/app/components/market-depth-asks/market-depth-asks.component.html","webpack:///src/app/components/market-watch-table/update-flash.directive.ts","webpack:///src/app/services/input-comma-sepreated.directive.ts","webpack:///src/app/screens/user-profile/statement/statement-details/statement-details.component.html","webpack:///src/app/screens/user-profile/statement/statement-details/statement-details.component.ts","webpack:///src/app/screens/global-markets/global-markets.component.ts","webpack:///src/app/screens/global-markets/global-markets.component.html","webpack:///src/app/services/two-digit-decimal-number.directive.ts","webpack:///src/app/screens/LandingPageScreens/landingpage-home/landingpage-home.component.ts","webpack:///src/app/screens/LandingPageScreens/landingpage-home/landingpage-home.component.html","webpack:///src/app/components/create-user/create-user.component.ts","webpack:///src/app/components/create-user/create-user.component.html","webpack:///src/app/app-routing.module.ts","webpack:///src/app/components/margin-calculator/margin-calculator.component.ts","webpack:///src/app/components/margin-calculator/margin-calculator.component.html","webpack:///src/app/screens/company-profile/company-profile.component.ts","webpack:///src/app/screens/company-profile/company-profile.component.html","webpack:///src/app/components/market-depth-bids/market-depth-bids.component.ts","webpack:///src/app/components/market-depth-bids/market-depth-bids.component.html","webpack:///src/app/pipes/million.pipe.ts","webpack:///src/main.ts","webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/components/forget-password/forget-password.component.ts","webpack:///src/app/components/forget-password/forget-password.component.html","webpack:///src/app/services/shared.service.ts"],"names":["SettingsComponent","dialog","acc","router","gridsterService","elementRef","zoomValues","fontSize","localStorage","getItem","userProfile","JSON","parse","showNewsBar","Ticker","showQuickButton","quickButton","darkTheme","setItem","stringify","document","body","setAttribute","setTicker","setQuickButton","closeAll","zoomPercent","nativeElement","ownerDocument","style","zoom","window","location","reload","navigateByUrl","switchTheme","navigateChangePw","saveSettings","AuthGuard","accountService","route","state","user","userValue","navigate","queryParams","returnUrl","url","FavService","accService","http","toastr","_translate","favCompanies","favCompaniesSymbols","marketWatches","activeMarketWatch","selectedMarketWatchId","accList","symbol","favSymbols","getValue","includes","marketWatchId","favCodes","index","indexOf","splice","next","updateFavs","marketWatchID","post","backofficeUrl","isFav","removeFav","push","symbols","marketWatchName","defaultList","marketId","relationCode","MarketWatchID","RelationCode","Symbols","MarketWatchName","IsDefault","subscribe","res","fetchAllMarketWatches","warning","instant","positionClass","closeButton","titleClass","messageClass","tempFavs","pop","get","headers","Pragma","defaultWatch","find","watch","isDefault","setActiveMarketWatch","fetchFavs","marketWatch","fetchFavoritesData","Promise","resolve","reject","response","length","forEach","err","feedUrl","NumberFormatPipe","value","isNaN","toString","toLocaleString","TechnicalReportsComponent","translate","_service","dtOptions","paging","searching","autoWidth","info","responsive","order","types","name","id","indexTypes","searchObj","searchForm","dateTo","dateFrom","type","required","report","cols","rows","noDataFound","skip","take","currentPage","loading","setValue","Date","getTime","fromDate","fetchTechnicalAnalysisSymbols","$event","controls","setValidators","updateValueAndValidity","valid","fetchTechnicalAnalysis","allMarketNames","Skip","Take","setRows","hasMoreRows","map","row","CreateDate","title","currentLang","TitleEn","TitleAr","IsGeneral","SymbolCode","market","SYMBOL_CODE","eng_shortname","arb_shortname","IndexType","Uploads","file","FilePath","Desc","ShortDesc","ShortDescEn","ShortDescAr","DescEn","DescAr","filePath","open","fullPath","replace","item","maxHeight","panelClass","data","direction","timeOut","getTypeNum","search","TradesHistoryComponent","apiService","isTrade","searchSubmit","isOrdersLoading","isTradesLoading","records","stocksFilter","today","orderRequestFormGroup","symbolCode","fixStatus","transactionType","getUTCFullYear","getUTCMonth","toDate","transactionRequestFormGroup","selectedValue","fetchAccounts","getOrderFilters","appendFooter","limit","day","getUTCDate","month","year","patchValue","datepicker2","close","datepicker","matCalendar","getElementsByClassName","appendChild","datepickerFooter","datepickerFooter2","selectedAccount","filterList","fetchOrderFilters","statusFilter","Status","marketFilter","Markets","typeFilter","TransactionTypes","event","val","target","toLowerCase","toggleBool","filter","d","ReutersCode","SymbolNameA","SymbolNameE","fetchfilteredOrders","ShowNotActive","userOrders","fetchfilteredTransactions","userTransactions","symbolCodeName","onOpen","orderPrevDate","credentialsSearchFilter","fetchOrders","PrevDate","fetchTrades","AccountHeaderComponent","accChange","isLoadingPdf","changes","accObject","x","accountType","background","isDarkTheme","color","width","inputUser","date","toISOString","fetchClientPortfolio","changed","Condition","CreateAlert","Conditions","CreateAlertComponent","dialogRef","newAlert","tempCondition","notificationTypes","fire","position","icon","showConfirmButton","timer","addAlert","alertManager","createAlert","OrderBuyComponent","signalService","datepipe","sharedService","_marketDetail","isBuyLoading","marketDisbaled","isLoading","sendingOrder","company","isMyShares","sellType","TransactionId","TransactionNameE","TransactionTypeA","tiffFlagValue","NameE","NameA","demandMethods","Id","Value","tabIndex","tomorrow","setDate","getDate","isFetchingUserData","orderForm","client","qty","price","custodian","execRule","validTill","tiffDate","demandMethod","minFillVolume","term","ENG_NAME","ARB_NAME","Reuters","fetchCompany","e","isMarket","disable","enable","fetchInvestmentAmount","investmentData","investmentAmount","Number","targetWeight","toFixed","currentWeight","stock","companyDetail","reg","companyDetails","RoundDigits","input","String","fromCharCode","charCode","test","preventDefault","fetchSymbolBO","EnablePriceLimit","maxLimit","MaxLimit","error","console","fetchMySymbols","myShareSymbols","myCompanies","companies","avgCommission","AvgCommission","minCommission","MinCommission","minCommissionUSD","MinCommissionUSD","orderValue","feePercentage","totalFees","CURRENCY","fetchSymbolPortfolio","RatedPortfolio","Portfolio","EGPPortfolio","inputCustodian","currentPortfolioCompany","CustodianCode","USDPortfolio","sellTypeChange","settledQty","AvbSetteledQty","AvbTPlusZeroQty","AvbTPlusOneQty","f","typeName","trans","quantity","totalCost","tiffFlag","custodianList","CustodianNameE","orderTotal","parseFloat","orderFees","calculateFees","clientData","purchasePower","EGP","USD","brokerInfo","IsAllowExceedPP","titleMessage","textConfirmMassage","orderType","transform","getTiffFlag","custodianName","html","showCancelButton","confirmButtonText","cancelButtonText","reverseButtons","then","result","isConfirmed","Qty","Price","TakeMarketPrice","ISMSCDBook","OrderType","ApprovedStatus","isValidOrder","TiffFlag","TiffDate","FillFlag","ISOPR","DemandMethod","MinFillVolume","relCode","valueChanges","buyInterval","setInterval","clearInterval","interval","initqty","fetchCommissions","allMarketCompanies","onSelectClient","fetchAllMarketWatch","marketChanges","element","updateStockDetail","marketNames","namesSubject","clearValidators","which","keyCode","reset","ErrorMessages","ErrMsgNoOptions","ErrMsgNoUrl","ErrMsgNoHubName","ErrMsgNojQuery","ErrMsgNoSignalR","SignalRService","orderChanges","tradeChanges","depthChanges","summaryChanges","newsChanges","marketStatusChanges","marketWatchConnection","withUrl","newSignalR","skipNegotiation","transport","WebSockets","build","start","on","update","tradesConnection","stop","AlertService","subject","defaultId","asObservable","pipe","message","options","alert","Success","Error","Info","Warning","webpackAsyncContext","req","__webpack_require__","o","code","ids","keys","webpackAsyncContextKeys","Object","module","exports","IpoAccOrderModalComponent","signalR","cdr","datePipe","isBuy","isIpo","accountSelected","accounts","typeSelected","quantityControl","pattern","selectedCurr","numberOfAccounts","isSendingOrder","isStep1Completed","isStep2Completed","notEntered","isLessThanMin","isMoreThanMax","lang","clientsAccount","IPOdetails","minQtyIndividual","MinQtyIndividual","maxQtyIndividual","MaxQtyIndividual","handleQuantityChange","selectAccount","userPortfolio","PurchasePower","Rated","account","exchangeCode","ExchangeCode","config","hubName","logging","connect","portfolioConnection","invoke","method","listen","fetchUserPortfolio","errors","initPortfolioSignalR","CurrencyId","IPOBalanceUSD","IPOBalanceEGP","stepper","selectedIndex","findIndex","detectChanges","clicked","Balance","maxQuantity","Math","floor","StockPrice","fees","maxQuantiyEGP","maxQuantiyUSD","Quantity","inputValue","errorMessage","selectedAcc","selectedAccountRealtionCode","EgpPurchasePower","UsdPurchasePower","PaidPer","calculateMaxQuantity","custodianRes","custodianErr","fetchPurchasePower","filteredValue","emitEvent","trimmedValue","TARGET","currentTarget","tabs","querySelectorAll","i","classList","remove","getElementById","add","currentDate","stopNavigation","setTimeout","sendOrder","currentStepIndex","orderPayload","Remark","TestComponent","gridService","nav","configService","userIdle","homeComponentService","slotAssigned","Set","isDialogOpen","companiesUpdates","dashboardIndex","dashboardList","floatingPaneParams","popupAlertTime","connectMarketWatch","connectTradesUpdates","setConfigValues","idle","getIdleTime","timeout","isCompaniesLoading","fetchTodayMarketWatch","WindowResize","key","customF4Function","customF5Function","orderBuy","isSell","disableClose","afterClosed","reuter","nameEn","nameAr","wasChanged","selectedCompanySymbol","selectedCompanyReuters","selectedCompanyName","actionButton","_elementRef","dispatchEvent","Event","isDarktheme","savedIndex","parseInt","checkAndSetDefaultLayout","loadDashboard","startWatching","onTimerStart","count","isVisible","timerInterval","timerProgressBar","didOpen","content","getHtmlContainer","showLoading","getElementsByTagName","innerHTML","getTimerLeft","willClose","resetTimer","onTimeout","sessionStorage","userName","logOut","logout","stopTimer","stopWatching","paneAdded$","pane","addFloatingPane","header","headerId","isLinked","isResetting","dashboard","contentIdMap","assignFireFunctionToComponents","defaultDash","dashboardString","dashboardIndexString","dashboardLayoutString","parsedDashboardLayout","storedValue","rootPane","getAllPanes","floatingPanes","getAllFloatingPanes","rootPanes","panes","allPanes","checkSplitAndTabGroupPanes","params","contentId","getSlotByContentId","getIsLinkedForPane","additionalParams","reuters","companyName","newPane","contentPane","newFloatingPane","splitPane","orientation","horizontal","floatingHeight","floatingWidth","floatingLocation","y","flexlayout","layout","assign","updateLayout","clickButtonTwice","addEventListener","ev","dockedPanes","lastTabGroupPane","components","queryList","componentRef","instance","fireFunction","otherComponent","setPaneCompanyData","isNewsLoading","fetchCompanyNews","companyNews","book","TYPE","announcements","isTime","fetchCompanyTradesByTime","timeTrades","fetchCompanyTradesByPrice","priceTrades","companyDepth","isDepthLoading","isOrder","fetchDepthByOrder","fetchDepthByPrice","depthConnection","stopSignalRConnection","connectSignalR","connection","depthUpdate","asksPerPrice","bidsPerPrice","totalsBidsAndAsks","startDate","setMonth","getMonth","addWidget","companyData","addNewDashboard","getGrid","saveLayoutList","loadNewLayout","loadLayout","removeDashboard","min","api","optionsChanged","disconnectMwSignalr","disconnectTradesSignalr","onButtonClick","PreviewInvoiceComponent","exportService","printerService","exportAsConfig","elementIdOrContent","jsPDF","unit","format","invoice","getCurrentNavigation","extras","printDiv","save","printerMarkerClicked","NewTradeChartComponent","httpClient","resultData","getChartData","currentValue","getShareGraph","responseHistory","Data","companyReuters","initChartData","REUTERS","period","SYMBOLS_CODE","Nth","slice","newDate","slicedResult","graphData","series","chart","stacked","height","enabled","autoScaleYaxis","toolbar","autoSelected","dataLabels","markers","size","colors","yaxis","labels","formatter","text","xaxis","tooltip","shared","theme","TwfaComponent","secAuthReq","arrayCount","onKeyPress","button","keyboard","clearInput","handleShift","onInputChange","setInput","currentLayout","layoutName","shiftToggle","setOptions","tfa","remeberMe","passCount","secondParameter","maxCount","carItems","Items","onInputFocus","focus","ordinalNum","Index","nextElement","nextSibling","disabled","nextElementSibling","select","UserName","Username","Parameter","checkSecondAuth","userToken","getAccountList","saveUserProfile","snapshot","submitSecAuth","FlexLayoutService","idService","paneAddedSubject","contentIdIsLinkedMap","vertical","initializePanes","defaultDashList","layoutSubject","layout$","newGenericWidget","initTheme","checkLocal","generateId","createCustomContentPane","storeContentIdMap","component","generateFloatingId","toUpperCase","existingRootPanes","existingFloatingPanes","duplicatePane","revertLastGeneratedFloatingId","addPane","exactPane","updatePaneInDefaultDash","updatedPane","updatePanesRecursive","saveLayout","tabGroupPane","compositePane","some","childPane","rootPaneUpdated","floatingPane","contentPanes","stack","currentPane","Array","isArray","undefined","hasSplitPane","tabGroupPaneCount","firstItemProcessed","firstPane","newLayout","defaultLayout","gridData","layoutLists","tempLayout","language","newColsList","newState","TradesComponent","SEC_BORAD_ID","unshift","fetchCompanyTrades","toggleView","SearchPipe","args","toLocaleLowerCase","PurchasePowerDetailsComponent","dismiss","emit","usdWithdraw","egpWithdraw","tempUsd","blockingAmount","curr","tempEgp","filteredBlockingAmount","currencySelection","AvailableBalanceForWithdrow","InputCommaSepreatedPipe","minFractionDigits","maxFractionDigits","locale","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","environment","production","globalDataApi","recaptcha","siteKey","HomeNewComponent","trackById","rowHeight","w","h","transitions","currentTransition","dragStartThreshold","disableDrag","disableResize","disableRemove","autoResize","preventCollision","isDragging","isResizing","resizeSubscription","grid","resize","unsubscribe","change","compactType","checked","stopPropagation","comp","first","newLayoutItem","ktdArrayRemoveItem","array","condition","arrayCopy","switchEgx","egx","selectedEgx","newSymbol","onLayoutUpdated","CheckArrayPipe","v","ApiService","request","orderNumber","OrderNumber","orderId","changePassObj","username","typesIDs","itemsIDs","IpoId","DataCount","MainCode","UrlConstants","compare","v1","v2","UserPortfolioComponent","isProfileLoading","accType","arrWithOrderIcon","hasOrders","BlkSetteledQty","BlkTPlusZeroQty","BlkTPlusOneQty","custodianCode","currentUser","fixedHeader","ordering","sorting","searchPortfolio","sortedData","portfolioDataList","sortAfterSearch","temp","SymbolNameEn","SymbolNameAr","CustodianNameA","list","sortActive","sortDirection","sort","a","b","isAsc","MarketPrice","AvgCost","MarketValue","CostValue","GL","GLPerc","Weight","active","aValue","bValue","ws","table_to_sheet","table","hidden","wb","book_new","book_append_sheet","success","exportAsExcel","PasswordValidationSectionComponent","OrdinalPipe","int","ones","tens","ConfirmationComponent","buttonText","ok","cancel","onConfirmClick","t","globalThis","global","self","n","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","hasOwnProperty","rgb","channels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","r","s","defineProperty","max","l","u","pow","atan2","PI","sqrt","cos","sin","arguments","round","substring","match","split","join","distance","parent","conversion","prototype","call","raw","getRgba","getHsla","c","getRgb","getHsl","getHwb","getAlpha","hexString","rgbString","g","rgbaString","percentString","m","percentaString","hslString","p","hslaString","hwbString","_","values","alpha","setValues","lightness","whiteness","isValid","setSpace","rgbArray","hslArray","hsvArray","hwbArray","concat","cmykArray","rgbaArray","hslaArray","setChannel","hue","saturation","saturationv","blackness","rgbNumber","luminosity","contrast","level","dark","light","negate","lighten","darken","saturate","desaturate","whiten","blacken","greyscale","clearer","opaquer","rotate","mix","toJSON","clone","spaces","maxes","getValues","charAt","Color","k","M","noop","uid","isNullOrUndef","substr","isObject","isFinite","valueOrDefault","valueAtIndexOrDefault","callback","apply","each","arrayEquals","_merger","merge","_mergerIf","mergeIf","merger","extend","inherits","constructor","__super__","_deprecated","warn","S","callCallback","getValueOrDefault","getValueAtIndexOrDefault","D","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","C","effects","easingEffects","P","T","O","A","F","I","L","clear","ctx","clearRect","roundedRect","moveTo","arc","closePath","rect","drawPoint","drawImage","restore","beginPath","lineTo","SQRT1_2","fill","stroke","_isPointInArea","left","right","top","bottom","clipArea","clip","unclipArea","steppedLine","tension","bezierCurveTo","controlPointPreviousX","controlPointNextX","controlPointPreviousY","controlPointNextY","R","drawRoundedRectangle","N","_set","defaultColor","defaultFontColor","defaultFontFamily","defaultFontSize","defaultFontStyle","defaultLineHeight","showLines","W","Y","z","toLineHeight","toPadding","_parseFont","family","fontFamily","lineHeight","fontStyle","weight","string","cacheable","E","_factorize","log10","log","LOG10E","V","H","B","j","U","G","q","getRtlAdapter","setWidth","textAlign","xPlus","leftForLtr","overrideTextDirection","canvas","getPropertyValue","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","easing","math","rtl","Z","initialize","_type","pivot","_view","_model","_start","transition","tooltipPosition","hasValue","isNumber","$","X","currentStep","numSteps","render","onAnimationProgress","onAnimationComplete","K","set","animation","duration","onProgress","onComplete","J","animations","addAnimation","startTime","now","animating","requestAnimationFrame","cancelAnimation","requestAnimFrame","startDigest","advance","Q","tt","et","_chartjs","listeners","nt","datasetElementType","dataElementType","_datasetElementOptions","_dataElementOptions","linkScales","addElements","getMeta","updateIndex","scales","getDataset","xAxisID","xAxes","yAxisID","yAxes","datasets","getDatasetMeta","getScaleForId","_getValueScaleId","_getIndexScaleId","_getValueScale","_getIndexScale","_update","destroy","_data","createMetaDataset","_chart","_datasetIndex","createMetaData","_index","dataset","addElementAndReset","updateElement","buildOrUpdateElements","isExtensible","configurable","enumerable","resyncElements","_configure","_config","_cachedDataOpts","draw","getStyle","_resolveDatasetElementOptions","_resolveDataElementOptions","backgroundColor","borderColor","custom","elements","datasetIndex","hover","dataIndex","freeze","removeHoverStyle","$previousStyle","setHoverStyle","getHoverColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","_removeDatasetHoverStyle","_setDatasetHoverStyle","insertElements","onDataPush","onDataPop","onDataShift","shift","onDataSplice","onDataUnshift","it","at","rt","startAngle","endAngle","pixelMargin","outerRadius","innerRadius","ot","borderAlign","lineWidth","lineJoin","fullCircles","st","inLabelRange","radius","hoverRadius","inRange","getAngleFromPoint","angle","getCenterPoint","getArea","circumference","fillStyle","strokeStyle","lt","ut","line","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","capBezierPoints","dt","spanGaps","_children","_loop","previousItem","lineCap","setLineDash","lineDashOffset","ht","ct","ft","abs","hitRadius","point","pointStyle","gt","inXRange","inYRange","padding","rotation","mt","pt","vt","base","bt","yt","borderSkipped","xt","rectangle","_t","outer","inner","fillRect","wt","kt","Mt","St","Dt","Arc","Line","Point","Rectangle","Ct","Pt","Tt","barThickness","stackCount","pixels","_length","getTicks","getPixelForTick","scale","categoryPercentage","barPercentage","chunk","ratio","mode","offset","gridLines","offsetGridLines","bar","Ot","minBarLength","maxBarThickness","_ruler","getRuler","_xScale","_yScale","datasetLabel","label","_updateElementGeometry","getBasePixel","isHorizontal","calculateBarValuePixels","calculateBarIndexPixels","head","center","_getStacks","_getMatchingVisibleMetas","getStackCount","getStackIndex","getPixelForValue","_startPixel","end","_endPixel","_parseValue","chartArea","At","Ft","tooltips","callbacks","xLabel","yLabel","It","getPixelForDecimal","NaN","_options","Lt","Rt","Nt","Wt","animateRotate","animateScale","legendCallback","createElement","createTextNode","outerHTML","legend","generateLabels","controller","onClick","cutoutPercentage","Yt","getRingIndex","isDatasetVisible","_getRingWeight","getMaxBorderWidth","radiusLength","_getVisibleDatasetWeightTotal","offsetX","offsetY","total","calculateTotal","_getRingWeightOffset","calculateCircumference","axis","horizontalBar","zt","Et","Vt","Ht","Bt","ticks","reverse","jt","Ut","Gt","_showLine","showLine","lineTension","_scale","updateBezierControlPoints","calculatePointY","stepped","getRightValue","_getSortedVisibleDatasetMetas","cubicInterpolationMode","splineCurveMonotone","splineCurve","nextItem","previous","qt","angleLines","display","circular","pointLabels","beginAtZero","Zt","_starts","_angles","_updateRadius","countVisibleElements","_computeAngle","getVisibleDatasetCount","xCenter","yCenter","getDistanceFromCenterForValue","doughnut","$t","Xt","Kt","getPointPositionForValue","scatter","Jt","bubble","polarArea","pie","radar","Qt","getRelativePosition","te","ee","ne","POSITIVE_INFINITY","ie","ae","intersect","re","modes","single","nearest","oe","se","where","pos","le","ue","de","box","maxPadding","getPadding","outerWidth","outerHeight","he","ce","fullWidth","fe","ge","me","defaults","addBox","boxes","_layers","removeBox","configure","leftAndTop","rightAndBottom","availableWidth","vBoxMaxWidth","hBoxMaxHeight","pe","__proto__","ve","be","ye","xe","_e","we","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","ke","Me","passive","Se","De","removeEventListener","Ce","Pe","className","Te","resizer","_reset","scrollLeft","scrollTop","bind","maintainAspectRatio","parentNode","clientWidth","renderProxy","animationName","reflow","offsetParent","insertBefore","firstChild","Oe","removeChild","Ae","disableCSSInjection","_enabled","_ensureLoaded","getRootNode","containsStyles","host","acquireContext","getContext","getAttribute","initial","aspectRatio","releaseContext","removeAttribute","proxies","addEvent","removeEvent","Fe","Ie","plugins","Le","_plugins","_cacheId","register","unregister","getAll","notify","descriptors","plugin","$plugins","_invalidate","Re","constructors","registerScaleType","getScaleConstructor","getScaleDefaults","updateScaleDefaults","addScalesToLayout","Ne","We","titleFontStyle","titleSpacing","titleMarginBottom","titleFontColor","titleAlign","bodySpacing","bodyFontColor","bodyAlign","footerFontStyle","footerSpacing","footerMarginTop","footerFontColor","footerAlign","yPadding","xPadding","caretPadding","caretSize","cornerRadius","multiKeyBackground","displayColors","beforeTitle","afterTitle","beforeBody","beforeLabel","labelColor","labelTextColor","afterLabel","afterBody","beforeFooter","footer","afterFooter","Ye","average","distanceBetweenPoints","ze","Ee","Ve","xAlign","yAlign","textDirection","_bodyFontFamily","bodyFontFamily","_bodyFontStyle","bodyFontStyle","_bodyAlign","bodyFontSize","_titleFontFamily","titleFontFamily","_titleFontStyle","titleFontSize","_titleAlign","_footerFontFamily","footerFontFamily","_footerFontStyle","footerFontSize","_footerAlign","opacity","legendColorBackground","He","Be","je","_lastActive","getTitle","getBeforeBody","getBody","before","lines","after","getAfterBody","getFooter","_active","caretX","caretY","_eventPosition","getLabelForIndex","itemSort","labelColors","labelTextColors","dataPoints","reduce","measureText","font","fontString","drawCaret","getCaretPosition","x1","y1","x2","y2","x3","y3","drawTitle","textBaseline","fillText","drawBody","strokeRect","drawFooter","drawBackground","quadraticCurveTo","globalAlpha","handleEvent","getElementsAtEventForMode","Ue","Ge","positioners","qe","Ze","$e","Xe","ensureScalesHaveIDs","buildOrUpdateScales","Ke","Je","Qe","events","onHover","animationDuration","responsiveAnimationDuration","tn","construct","_bufferedRender","instances","retinaScale","devicePixelRatio","bindEvents","initToolTip","getMaximumWidth","getMaximumHeight","onResize","dtype","dposition","mergeTicksOptions","buildOrUpdateControllers","destroyDatasetMeta","resetElements","lazy","updateDatasets","lastActive","_bufferedRequest","_idx","updateDataset","meta","drawDatasets","_drawTooltip","_getSortedDatasetMetas","drawDataset","easingValue","getElementAtEvent","getElementsAtEvent","getElementsAtXAxis","getDatasetAtEvent","_meta","generateLegend","unbindEvents","toBase64Image","toDataURL","_chartInstance","_listeners","eventHandler","updateHoverStyle","en","Controller","configMerge","scaleMerge","nn","an","formats","diff","startOf","endOf","_create","override","rn","_date","formatters","toExponential","logarithmic","sn","ln","un","dn","hn","cn","major","minor","gc","last","widest","highest","fn","drawTicks","tickMarkLength","gn","mn","fontColor","pn","vn","bn","ceil","drawBorder","drawOnChartArea","zeroLineWidth","zeroLineColor","zeroLineBorderDash","zeroLineBorderDashOffset","scaleLabel","labelString","minRotation","maxRotation","mirror","autoSkip","autoSkipPadding","labelOffset","yn","zeroLineIndex","paddingLeft","paddingTop","paddingRight","paddingBottom","_ticks","_getLabels","xLabels","yLabels","beforeUpdate","sampleSize","maxWidth","margins","_labelSizes","_maxLabelLines","longestLabelWidth","longestTextCache","_gridLineItems","_labelItems","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","_convertTicksToLabels","beforeCalculateTickRotation","calculateTickRotation","afterCalculateTickRotation","beforeFit","fit","afterFit","_ticksToDraw","source","_autoSkip","afterUpdate","minSize","_reversePixels","beforeTickToLabelConversion","convertTicksToLabels","userCallback","afterTickToLabelConversion","_isVisible","labelRotation","_getLabelSizes","toDegrees","toRadians","handleMargins","isFullWidth","_getScaleLabel","getValueForPixel","getDecimalForPixel","getBaseValue","maxTicksLimit","_tickSize","_computeGridLineItems","_alignPixel","tx1","ty1","tx2","ty2","ticksLength","borderValue","_computeLabelItems","textOffset","_drawGrid","_drawLabels","_drawTitle","_draw","xn","_n","wn","minIndex","maxIndex","_startValue","_valueRange","kn","_defaults","Mn","Sn","Dn","handleTickRangeOptions","sign","suggestedMin","suggestedMax","getTickLimit","stepSize","_computeTickLimit","handleDirectionalChanges","maxTicks","precision","fixedStepSize","niceNum","_decimalPlaces","almostWhole","almostEquals","ticksAsNumbers","_endValue","Cn","Pn","neg","relativePoints","Tn","On","NEGATIVE_INFINITY","An","Fn","In","Ln","Rn","Nn","minNotZero","tickValues","_getFirstTickValue","_valueOffset","Wn","Yn","zn","En","Vn","animate","showLabelBackdrop","backdropColor","backdropPaddingY","backdropPaddingX","Hn","Bn","jn","Un","Gn","qn","Zn","drawingArea","_pointLabelSizes","getPointPosition","longestText","getIndexAngle","setReductions","setCenterPoint","getBasePosition","$n","Xn","Kn","Jn","Qn","MIN_SAFE_INTEGER","ti","MAX_SAFE_INTEGER","ei","millisecond","common","steps","second","minute","hour","week","quarter","ni","ii","ai","time","ri","oi","lo","hi","si","_adapter","parser","li","ui","di","adapters","displayFormats","_table","_timestamps","getLabelCapacity","distribution","minUnit","unitStepSize","isoWeekday","bounds","_unit","_majorUnit","_offsets","factor","tooltipFormat","datetime","tickFormatFunction","getPixelForOffset","_getLabelSize","getLabelWidth","ci","displayFormat","fi","category","radialLinear","gi","valueOf","utc","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","_isValid","_d","invalidWeekday","_strict","bigHour","isFrozen","momentProperties","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","updateOffset","suppressDeprecationWarnings","deprecationHandler","Function","localeData","ordinal","invalidDate","longDateFormat","lastIndex","RegExp","_w","_a","parseTwoDigitYear","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","_monthsParse","_longMonthsParse","_shortMonthsParse","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","getFullYear","setFullYear","UTC","setUTCFullYear","getUTCDay","dayOfYear","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hours","minutes","_meridiemParse","seconds","_isPm","isPM","_meridiem","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","MM","yy","dow","doy","meridiemParse","_abbr","abbr","parentLocale","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","_useUTC","GG","_week","gg","_dayOfYear","_nextDay","getDay","setUTCMinutes","getUTCMinutes","exec","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","ISO_8601","RFC_2822","meridiemHour","preparse","score","createFromInputFallback","getOwnPropertyNames","isoWeek","_milliseconds","_days","_months","_bubble","utcOffset","setTime","local","getTimezoneOffset","ms","milliseconds","from","to","isBefore","isAfter","invalid","defaultFormat","defaultFormatUtc","weekYear","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","calendarFormat","weekday","isUtc","postformat","humanize","fromNow","toNow","invalidAt","isBetween","isSame","isSameOrAfter","isSameOrBefore","parsingFlags","priority","subtract","toArray","toObject","years","inspect","isLocal","unix","creationData","isUTC","strict","isLeapYear","quarters","daysInMonth","weeks","isoWeeks","weeksInYear","isoWeeksInYear","days","_changeInProgress","parseZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","zone","isDSTShifted","_isDSTShifted","_calendar","_longDateFormat","_invalidDate","_ordinal","_relativeTime","pastFuture","isFormat","standalone","_monthsShort","_monthsParseExact","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_fullWeekdaysParse","langData","as","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","toIsoString","version","isDate","isMoment","isDuration","defineLocale","updateLocale","locales","normalizeUnits","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","DATE","TIME","TIME_SECONDS","TIME_MS","WEEK","MONTH","mi","_id","filler","propagate","pi","boundary","vi","bi","el","cx","cy","scaleBottom","scaleTop","scaleZero","yi","visible","xi","wi","ki","Mi","afterDatasetsUpdate","$filler","mapper","beforeDatasetsDraw","Si","Di","Ci","Pi","usePointStyle","boxWidth","align","onLeave","lineDash","Ti","legendHitBoxes","_hoveredItem","doughnutMode","beforeBuildLabels","buildLabels","afterBuildLabels","legendItems","lineWidths","columnWidths","columnHeights","SQRT2","_getLegendItemAt","Oi","Ai","_element","beforeInit","afterEvent","Fi","Ii","Li","titleBlock","Ri","Ni","Wi","Yi","zi","helpers","defaultView","_getParentNode","getComputedStyle","findNextWhere","findPreviousWhere","aliasPixel","currentDevicePixelRatio","EPSILON","model","deltaK","mK","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","originalEvent","srcElement","getBoundingClientRect","touches","clientX","clientY","getConstraintWidth","getConstraintHeight","_calculatePadding","clientHeight","currentStyle","garbageCollect","numberOfLabelLines","CanvasGradient","CanvasPattern","_adapters","Animation","animationService","controllers","DatasetController","Element","Interaction","layouts","platform","Scale","scaleService","Ticks","Tooltip","Ei","Chart","Legend","Title","pluginService","PluginBase","canvasHelpers","layoutService","LinearScaleBase","TradesOrderHistoryComponent","snackBar","_gridService","changeDetector","DataToShow","ColumnMode","dtTrigger","orderRequest","mapFixStatusColor","Map","allFilters","prop","isChecked","columns","fixStatusCode","colorMatch","typesList","statusList","getOrderHistoryColumns","previousIndex","currentIndex","updateCols","saveOrderHistoryColumns","col","previousValue","orderNum","drop","QuotaTradeComponent","companyTrades","webpackContext","webpackContextResolve","webpackContextKeys","ContextMenuComponent","eRef","favService","matDialog","addNew","clickedOutside","contains","obj","setAlert","addWidgett","navigateProfile","FileToUpload","fileName","fileSize","fileType","fileAsBase64","UserProfileComponent","formatPipe","newDeposit","newWithdraw","newReqStock","newReqT0","newComplain","newCashTransfer","newStockTransfer","fileToUpload","banksList","currencyList","isSubmitting","showTradesSummary","ppDetailsShown","files","maxAllowedSize","form","Amount","timeZone","CurrencyID","DepositeBankId","BankID","reader","FileReader","onload","postDepositeToServer","readAsDataURL","AbbreviationA","BankNameA","AbbreviationE","BankNameE","submitStatus","resetForm","payableForm","ActionType","depositBank","bankBranch","AccountNumber","SwiftCode","BankId","BankBrachId","BranchID","userInvoice","noChart","Profile","CompanyNameAr","Endorsement","ratedActiveBalance","TotalMarketValue","purchaseStocks","chartStocks","initChart","BlockingAmount","activebalance","chartOptions","palette","breakpoint","bookBalance","blkAmt","pendBuy","withHeldAmt","penSellCommission","isComplain","DepartmentId","DepartmentNameA","DepartmentNameE","Body","DepartmentID","branches","BankBranches","fetchBanks","fetchActiveCurrencies","fetchDepartment","lastLogin","LastSuccessLoginTime","number","arg","purchasePowerRes","balanceAmount","withdrawForm","FromAccountStock","ToRelationCode","Symbol","FromRelationCode","latest_date","IpAddress","IsPost","FromAccount","ToAccount","Currency","ShortNameA","CostPrice","ShortNameE","fetchTPlusZero","toAccList","SetteledQty","selectedAccFrom","stocksSymbolList","localeCompare","SubCode","toStockAccList","fetchBOAllSymbols","allstocks","fetchAllCustd","allCustod","fetchDepartments","deptList","UsedMarginPersentage","marginPercent","hideTradesSummary","submitDeposit","importFile","submitWithdraw","submitReqStock","fetchSymbolsandCustd","noDecimal","submitReqT0","submitComplain","accountListValidation","submitCashTransfer","onReset","accountStockListValidation","stockTransferChanged","submitStockTransfer","MutualFundComponent","selected","isEGID","mutualFundList","getMutualFundList","attributes","GetMutualFundList","selectedFund","getMutualFundDetails","getFundPriceHistory","GetMutualFundDetails","fundDetails","PdfsUrls","PdfsUrlsList","GetFundPriceHistory","fundPriceChartData","fund","MarketGridViewComponent","optionsForIndiv","bezierCurve","fetchGraphs","chartsIndiv","bg","querySelector","border","LAST_CHANGE_PRC","gradient","lineChartData","curDateMonth","prvDateMonth","FromDate","ToDate","CLOSE_PRICE","setCharts","IpoSelectedSymbolTimlinePdfComponent","DisabledEtrade","GetIpoDetails","iPODetails","checkDisabledEtradeStatus","ipoDocuments","OprEvents","hasDisabledEtrade","eventsWithStatus","status","MarketWatchDetailService","fetchMarketWatchNames","QuotaBidsAsksComponent","SharedModule","forRoot","confirmButtonType","MarketDepthComponent","isAllDepthView","isFlashing","flashingIndex","flashDirection","previousValues","previousCompanyDepth","flashingData","isFullMarketUser","startConnection","updateMarketDepth","updatedAsks","updatedBids","processFlashingLogic","processUpdates","newDataList","oldDataList","newData","oldData","applyFlashLogic","flashData","volume","flashType","checkChange","newValue","oldValue","triggerFlash","VOLUME_TRADED","ORDER_PRICE","removeFlash","flash","fetchAllDepthByPrice","allDepth","record","searchValue","toggleOrderView","IpoSelectedSymbolComponent","sanitizer","refreshEvent","ipoList","lastIpoList","lastSelectedIpoIndex","isRefreshing","GetAvailableIposList","lastSelectedIPOID","ipo","handleCoverageCalculation","ipoAllotmentRatio","IPO","GetIpoDocuments","selectedIPO","apiCalls","fetchIPOTotalVolume","responses","IPOTotalVolume","PublicStake","ipoDetail","ipoTotalVolume","CalculateIPOCoverage","coverageRatio","ipoAllocationRatio","fundActionModal","MarketNewsComponent","isNewsView","fetchTodayNews","isMarketNewsLoading","fetchMarketNews","setNewsView","MarketWatchTableComponent","egxCompanies","searchText","SelectionType","contextmenu","matColumns","tableView","favView","isFavsLoading","itemIndex","isUpdate","myWidget","contextmenuX","contextmenuY","addWidgetSymbolCode","rowDetail","toggleExpandRow","column","SYMBOL_STATE","suspended","sendCompanySymbol","searchComp","getMarketWatchColumns","fetchEGX","saveMarketWatchColumns","selectedSymbol","flashit","MARKET_ID","fetchEgxMarket","updateFilter","fetchTodayActive","fetchCompanies","fetchMarket","clickedOutsideMenu","HomeComponent","slideConfig","speed","autoplay","autoplaySpeed","cssEase","slidesToShow","slidesToScroll","arrows","dots","pauseOnHover","pauseOnFocus","infinite","onNewGenericAdded","gridType","ScrollVertical","CompactUpAndLeft","itemChangeCallback","updateGridWithIndex","draggable","resizable","handles","sw","nw","outerMargin","outerMarginLeft","setGridSize","swap","pushItems","displayGrid","None","disableWindowResize","scrollToNewItems","minCols","minRows","maxCols","minItemCols","minItemRows","dirType","RTL","LTR","dragEnabled","resizeEnabled","itemComponent","CustomValidators","regex","control","password","confirmPassword","setErrors","NoPassswordMatch","MaterialMarketWatchComponent","AppComponent","notMarketDashboard","pageTabTitle","innerText","getZoomValue","addLangs","getLang","use","setDefaultLang","saveGrid","token","decoded","isDemo","setIsFullMarket","VerifyEmailComponent","formBuilder","alertService","recaptchaV3Service","verifyEmail","formForget","group","email","execute","Email","VerifyEmail","_subscription","visibility","onLogin","InfoModalComponent","GridsterService","newDashboard","tempDashboard","IsMarketGuard","IPOComponent","description","ipoOrderValue","__zone_symbol__value","ipoTotalOrderQty","publicStake","volumePromises","all","Logo","bypassSecurityTrustUrl","changingThisBreaksApplicationSecurity","CalculateIPOAllotmentRatio","NewsComponent","StatementComponent","isInvoicesLoading","selectedClient","selectedStatement","invoicee","isRated","noStatement","fetchClientStatement","onDateChange","SelectedOrderTradeComponent","noData","fetchHistory","fetchOrderHistory","orderHistory","OrderHistory","ChangePasswordComponent","showPassword1","showPassword2","passwordStepper","resetPassWordForm","currentPassword","compose","firstNewPassword","patternValidator","hasNumber","hasCapitalCase","hasSmallCase","hasSpecialCharacters","minLength","reFirstNewPassword","secondNewPassword","maxLength","reSecondNewPassword","firstPasswordMatchValidator","secondPasswordMatchValidator","secondPassword","changePassword","resMsg","IsSuccess","AccountType","HomeComponentsServices","fetchMarketTrades","trade","ARB_Name","ENG_Name","endDate","NewLoginComponent","forgetPassObj","submitted","forgetPass","correctEmail","currentVersion","GetCompanySettings","saveLang","checkAuth","twfa","dsConnection","newTab","connectOrdersSignalr","forgetPassword","companySettings","supportNumber","loginWithToken","switchLang","onSubmit","FundAccOrderModalComponent","accountList","FUND","MAINCODE","OpenNewFundAccountRequest","Alert","init","AlertType","initializeApp","appInitService","getFeedUrl","Init","createConfig","appKey","executeEventsInZone","executeErrorsInZone","executeStatusChangeInZone","AppModule","provide","useFactory","deps","multi","useValue","useUtc","useClass","printOpenWindow","loader","HttpLoaderFactory","CustomNumberPipe","exp","rounded","suffixes","UpdateOrderComponent","popoverTitle","popoverMessage","confirmText","cancelText","confirmClicked","cancelClicked","updateOrderForm","orderToUpdate","initializeForm","initializeInitialValues","OrgQty","OrgPrice","initialPrice","initialQty","initialOrderValue","initialFees","initalTotalCost","setupValueChanges","newOrderTotal","newOrderFees","newTotalCost","FixVal","exccedingLimits","isExceedingLimits","customClass","confirmButton","purchasePowerLimit","MinLimit","LocalMarketComponent","colorScheme","activeEgx","news","fetchInvestorTypeIndividual","individualChartOptions","fetchInvestorTypes","investorChartOptions","TOTAL_PERC","SELL_CLIENT_EN","SELL_CLIENT","fetchAllInvestor","investorSummary","fetchTop5Best","top5Best","fetchTop5Worst","top5Worst","fetchEgx","TradingView","widget","timezone","hide_side_toolbar","hide_top_toolbar","container_id","NewsDetailsModalComponent","egxUrl","HintPopoverComponent","TimeFormatPipe","convertTo12HourFormat","convertedTime","trim","browser","navigator","userAgent","RequestHeaderInterceptor","browserName","getBrowserName","idToken","modifiedRequest","handle","MarketTradesComponent","tradesUpdates","saveTradesColumns","cleanupSubscriptions","tradeChangesSubscription","namesSubscription","HomeMarketSummaryComponent","egxIndex","egxData","totalCalc","UNCHANGED","ADVANCING","DECLINING","isMarketActive","fetchMarketSummary","fetchMarketStatus","nowDate","OrderHistoryComponent","statusValue","viewValue","symbolList","getTradeHistoryColumns","saveTradeHistoryColumns","confirmed","afterDismissed","SlickMarketWatchComponent","renderer","isShow","dropdownX","dropdownY","selectedItem","openDropdowns","dropdownOpen","deletingMarketWatch","showAddFavorite","newFavoriteName","isActive","addGeneric","tableContainer","existingMenu","dropdownMenu","outsideClickUnlistener","handleOutsideClick","clickedInsideDropdown","closest","clickedDropdownToggle","isMarketUser","watches","defaultMarketWatch","saveState","favName","toast","popup","showCloseButton","confirmBtn","cancelBtn","successTitle","successText","errorTitle","errorText","confirmBtnText","deleteMarketWatch","createFavorite","closeDropdown","selectMarketWatch","updateMarketWatchState","colsss","toggleFav","AccountService","userSubject","showTicker","show","Password","TOKEN","removeItem","resetPassObj","NavBarComponent","isFullscreen","hasTechnicalAnalysis","logoLink","enableIPO","enableMutualFund","showMenu","innerWidth","elem","documentElement","isDataLoaded","fetchNotMarketSymbols","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","exitFullscreen","mozCancelFullScreen","webkitExitFullscreen","msExitFullscreen","currentUrl","navButtonColor","resetGrid","toggleMenu","statmentDialog","settings","closeFullscreen","openFullscreen","InvoicesModalComponent","activatedRoute","fetchInvoiceById","InvoiceID","selectedInvoice","fetchClientInvoices","invoices","paramMap","history","LoginComponent","SelectedSymbolChartsComponent","showSlider","highValue","step","showTicks","showTicksValues","chartConfiguration","chartDataXaxis","chartDataYaxis","ClosePrice","toLocaleDateString","axisBorder","chartTextColor","shadeIntensity","opacityFrom","opacityTo","stops","gradientToColors","curve","DetailedQuotaComponent","companyQuota","setCode","OrderBookComponent","isFromProfile","searchUserOrders","switchedAccount","fixStatusValues","transactionIdValue","priceTypeValue","ordersConnection","currentProfile","selectedAccountObject","updateList","OrderStatus","FixStatus","LastUpdateDate","TradedQty","IsMarketPrice","FixStatusEn","FixStatusAr","ISMSCDSucceeded","getOrders","columnDefs","targets","selectedOrder","TransactionTypeAr","TransactionTypeEn","cancelOrder","CanBeFIXUpdated","updateOrder","userOrderList","SymbolShortNameAr","SymbolShortNameEn","isDec","companySymbol","getCurrentUserData","setFilter","SelectCompanyModalComponent","scrollTo","scrollHeight","navigateDetails","UserTradesSummaryComponent","tradeRequest","trades","fetchTradesSummary","fetchWidgetfilteredTransactions","tradeDetail","ArbName","EngName","HistoricalComponent","range","fetchCompanyMarketDepth","InvoiceComponent","AlertManagerComponent","isAlertsLoading","columnsToDisplay","activeAlerts","notifications","expirationDate","triggeredDate","minHeight","SelectedSymbolDetailsPdfsComponent","IdService","idCounter","getFromLocalStorage","defaultPaneCount","defaultValue","prefix","setToLocalStorage","floatingPanePrefix","SelectStatementDateComponent","loadingStatement","statement","ResetPasswordComponent","IsValid","onForget","login","ConfigService","configUrl","getConfigServers","idleTime","FavoriteMenuComponent","addNewFavorite","selectMarketWatchEvent","deleteMarketWatchEvent","toggleAddFavorite","InvoiceDetailsComponent","_accService","profile","getUserProfile","InvoiceComm","CommValue","TradingViewChartComponent","toolbar_bg","enable_publishing","withdateranges","allow_symbol_change","show_popup_button","autosize","hide_legend","save_image","no_referral_id","fadeInOutTimeout","fadeInOut","AnimatedTextComponent","SearchSymbolsModalComponent","searchCompany","NotFullMarketComponent","MarketDepthAsksComponent","UpdateFlashDirective","InputCommaSepreatedDirective","StatementDetailsComponent","GlobalMarketsComponent","_renderer2","fetchMajorIndexes","majorIndexes","fetchMiddleEastIndexes","middleEastIndexes","fetchExchangeRates","exchangeRates","fetchGDR","gdrData","fetchMetals","metalsData","renderIndexData","script","src","tradingview","TwoDigitDecimalNumberDirective","specialKeys","isTripleDecimal","current","selectionStart","LandingpageHomeComponent","viewportScroller","firstAdPath","adsPaths","servicecards","buttonColor","langImg","currentYear","offersAttachmentsiDS","servicesSectionAttachmentsiDS","toggleBacground","section","scrollToAnchor","links","link","OtherSettings","ThemeColor","onLangChange","GetPageItemsByTypesIDs","sectionsList","heroSection","ID","HasAttachments","offerSection","PageItems","GetAttachmentsByItemIDs","attachments","offersAttachments","Attachments","aboutSection","marketSummarySection","servicesSection","servicesSectionAttachments","drawServiceCard","serviceSectionData","attachment","path","subtitle","SubTitleAr","SubTitleEn","ContentAr","ContentEn","btns","iconMenu","navmenu","flexDirection","justifyContent","alignItems","gap","styles","top_Button","scrollFunction","btn","behavior","bypassSecurityTrustResourceUrl","CompanyLatitude","CompanyLongitude","landingNavButtonColor","hide_linkedin_icon","show_linkedin_colors","hide_facebook_icon","show_facebook_colors","hide_twitter_icon","show_twitter_colors","hide_youtube_icon","show_youtube_colors","navigateToSection","changeStyle","showAction","CreateUserComponent","_Activatedroute","createUserObj","Otp","SecondPassword","create","isDuplicateUserName","checkUserNameAvailability","routes","canActivate","loadChildren","ProfileModule","AppRoutingModule","scrollPositionRestoration","MarginCalculatorComponent","marginCalculator","marginReq","requiredBuy","requiredSell","fetchClientsCashPosition","statusDetctor","DebtPer","circleColor","textCircle","buy","marginObj","sell","calculateSell","resetCalculator","calculateBuy","CompanyProfileComponent","sector","ENG_DESC","tempReuters","ngAfterViewInit","popup_width","popup_height","scriptt","existingTech","tradingTechnical","existingFin","replaceChildren","tradingFinancial","MarketDepthBidsComponent","MillionPipe","decimalPipe","digits","bootstrapModule","webpackEmptyAsyncContext","ForgetPasswordComponent","OTP","otp","resetPassword","SharedService"],"mappings":"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AAoD;;AACC;;;;AAAuB;;AAC5E;;AACA;AAAA,qBAAS,IAAAA,iBAAA,EAAT;AAA4B,aAA5B;;AAAoD;;AAElD;;;;AAAwB;;AAC5B;;AACA;;AACE;;AACE;;;;;;AAEF;;AACF;;AACA;;AACA;;AAEF;;AAEA;;AACE;;AACE;;AACE;;AACE;;AAMA;;AACE;;AACE;;AAAoB;AAAA,qBAAa,IAAA/vE,kBAAA,QAAb;AAAuC,aAAvC;;AACkB;;AACxC;;AACA;;AACE;;AACE;;AACE;;AACE;;AAA6B;;;;AAAqB;;AACpD;;AACA;;AACE;;AACE;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAA4B;;;;AAAqB;;AACnD;;AACA;;AACE;;AACE;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAA4B;;;;AAA0B;;AACxD;;AACA;;AACE;;AACE;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAA4B;;;;AAAuB;;AACrD;;AACA;;AACE;;AACE;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAA4B;;;;AAAuB;;AACrD;;AACA;;AACE;;AACE;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAA4B;;;;AAAsB;;AACpD;;AACA;;AACE;;AACE;;AACF;;AACF;;AACF;;AACF;;AACF;;AAIF;;AAEF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAIA;;AAGF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAA6C;AAAA;AAAA;;AAE3C;;AACE;;AAAuC;;;;AAAmB;;AAC5D;;AACA;;AACE;;AAAwC;;;;AAAmB;;AAC7D;;AACA;;AACE;;AAAuC;;;;AAAqB;;AAC9D;;AACF;;AACF;;AACA;;AAkBA;;AACE;;AAAgC;;;;AAC9B;;AACF;;AACA;;AAGA;;AAGF;;AACA;;AACE;;AAAgC;;;;AAC9B;;AACF;;AACA;;AAGA;;AAIF;;AACA;;AACE;;AAAgC;;;;AAAmB;;AACnD;;AAGE;;;;AAEA;;AAGA;;AAGF;;AACF;;AACF;;AACF;;AACF;;AACF;;AA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;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CA2IA;AACA;AACA;AACA;;;AAiCA,UAAItkG,GAAJ;;AACO,eAASukG,aAAT,CAAuBC,cAAvB,EAAsD;AAC3D,eAAO,YAAoB;AACzBxkG,aAAG,GAAGwkG,cAAc,CAACC,UAArB;AACA,iBAAOD,cAAc,CAACE,IAAf,EAAP;AACD,SAHD;AAID;;AAEM,eAASC,YAAT,GAAqB;AAC1B,YAAM55D,CAAC,GAAG,IAAI,iEAAJ,EAAV;AAEA,YAAIhnB,GAAG,GAAG,oEAAa6gF,MAAvB;AACA75D,SAAC,CAAC/qC,GAAF,GAAQ,oEAAaoE,OAArB;AAEA2mC,SAAC,CAAC/rB,OAAF,GAAY,KAAZ;AAEA+rB,SAAC,CAAC85D,mBAAF,GAAwB,IAAxB,CAR0B,CAQI;;AAC9B95D,SAAC,CAAC+5D,mBAAF,GAAwB,KAAxB,CAT0B,CASK;;AAC/B/5D,SAAC,CAACg6D,yBAAF,GAA8B,IAA9B,CAV0B,CAUU;;AAEpC,eAAOh6D,CAAP;AACD;;UAqMYi6D,S;;;;;yBAAAA,S;AAAS,O;;;cAATA,S;AAAS,oBAFR,2DAEQ;;;mBA/BT,CACT,wEADS,EAET,iFAFS,EAGT,yDAHS,EAIT,8FAJS,EAKT,2GALS,EAMT,6EANS,EAOT,iEAPS,EAQT,4DARS,EAST;AACEC,iBAAO,EAAE,6DADX;AAEEC,oBAAU,EAAEX,aAFd;AAGEY,cAAI,EAAE,CAAC,6EAAD,CAHR;AAIEC,eAAK,EAAE;AAJT,SATS,EAeT;AAAEH,iBAAO,EAAE,kGAAX;AAA4CI,kBAAQ,EAAE;AAAEC,kBAAM,EAAE;AAAV;AAAtD,SAfS,EAgBT;AAAEL,iBAAO,EAAE,uEAAX;AAA4BI,kBAAQ,EAAE;AAAtC,SAhBS,EAiBT;AAAEJ,iBAAO,EAAE,kEAAX;AAAkCI,kBAAQ,EAAE,0EAAYztE,SAAZ,CAAsBC;AAAlE,SAjBS,EAkBT;AACEotE,iBAAO,EAAE,sEADX;AAEEM,kBAAQ,EAAE,+FAFZ;AAGEH,eAAK,EAAE;AAHT,SAlBS,C;AA4BV,kBApGQ,CACP,2DAAchS,OAAd,CAAsBuR,YAAtB,CADO,EAEP,4EAAuBvR,OAAvB,EAFO,EAGP,uEAHO,EAIP,4DAJO,EAKP,iEALO,EAMP,oEANO,EAOP,qEAPO,EAQP,2DARO,EASP,mEATO,EAUP,6FAVO,EAWP,6DAXO,EAYP,8DAZO,EAaP,gFAbO,EAcP,yEAdO,EAeP,8EAfO,EAgBP,qEAhBO,EAiBP,yEAjBO,EAkBP,yEAlBO,EAmBP,uEAnBO,EAoBP,6EApBO,EAqBP,qFArBO,EAsBP,qEAtBO,EAuBP,iEAvBO,EAwBP,mEAxBO,EAyBP,qEAzBO,EA0BP,qEA1BO,EA2BP,sFA3BO,EA4BP,iEA5BO,EA6BP,qEA7BO,EA8BP,2EA9BO,EA+BP,6DA/BO,EAgCP,uEAhCO,EAiCP,iFAjCO,EAkCP,kEAlCO,EAmCP,2EAnCO,EAoCP,0EApCO,EAqCP,uEArCO,EAsCP,sEAtCO,EAuCP,oFAvCO,EAwCP,uEAxCO,EAyCP,6DAzCO,EA0CP,yDA1CO,EA2CP,oEA3CO,EA4CP,oEA5CO,EA6CP,qEA7CO,EA8CP,8DAAiBA,OAAjB,CAAyB;AAAEoS,yBAAe,EAAE;AAAnB,SAAzB,CA9CO,EA+CP,0EAAuBpS,OAAvB,EA/CO,EAgDP,mEAAkBA,OAAlB,EAhDO,EAiDP,8EAjDO,EAkDP,sFAlDO,EAmDP,4EAnDO,EAoDP,4EApDO,EAqDP,4EArDO,EAsDP,4EAtDO,EAuDP,qEAAgBA,OAAhB,CAAwB;AACtBqS,gBAAM,EAAE;AACNR,mBAAO,EAAE,oEADH;AAENC,sBAAU,EAAEQ,iBAFN;AAGNP,gBAAI,EAAE,CAAC,+DAAD;AAHA;AADc,SAAxB,CAvDO,EA8DP,qEA9DO,EA+DP,mEAAe/R,OAAf,CAAuB,EAAvB,CA/DO,EAgEP,yFAA0BA,OAA1B,CAAkC;AAChCC,2BAAiB,EAAE;AADa,SAAlC,CAhEO,EAmEP,0DAAaD,OAAb,EAnEO,EAoEP,oEApEO,CAoGR,EA9BS,yEA8BT,EA9B0B,uEA8B1B,EA9B0C,8EA8B1C,EA9B8D,oEA8B9D;;;;4HAGU4R,S,EAAS;AAAA,yBAjMlB,2DAiMkB,EAhMlB,2EAgMkB,EA/LlB,8EA+LkB,EA9LlB,qEA8LkB,EA7LlB,oFA6LkB,EA5LlB,6EA4LkB,EA3LlB,qGA2LkB,EA1LlB,sHA0LkB,EAzLlB,sHAyLkB,EAxLlB,6GAwLkB,EAvLlB,mHAuLkB,EAtLlB,mHAsLkB,EArLlB,8EAqLkB,EApLlB,wHAoLkB,EAnLlB,gHAmLkB,EAlLlB,wGAkLkB,EAjLlB,yHAiLkB,EAhLlB,2GAgLkB,EA/KlB,sFA+KkB,EA9KlB,4FA8KkB,EA7KlB,sFA6KkB,EA5KlB,gGA4KkB,EA3KlB,+FA2KkB,EA1KlB,sGA0KkB,EAzKlB,qGAyKkB,EAxKlB,wGAwKkB,EAvKlB,kGAuKkB,EAtKlB,kGAsKkB,EArKlB,2GAqKkB,EApKlB,qGAoKkB,EAnKlB,wGAmKkB,EAlKlB,2GAkKkB,EAjKlB,kGAiKkB,EAhKlB,iGAgKkB,EA/JlB,gIA+JkB,EA9JlB,wIA8JkB,EA7JlB,+HA6JkB,EA5JlB,gIA4JkB,EA3JlB,uGA2JkB,EA1JlB,+HA0JkB,EAzJlB,wGAyJkB,EAxJlB,sHAwJkB,EAvJlB,2GAuJkB,EAtJlB,6GAsJkB,EArJlB,kGAqJkB,EApJlB,oHAoJkB,EAnJlB,2GAmJkB,EAlJlB,4HAkJkB,EAjJlB,6HAiJkB,EAhJlB,wGAgJkB,EA/IlB,+EA+IkB,EA9IlB,0FA8IkB,EA7IlB,wEA6IkB,EA5IlB,iEA4IkB,EA3IlB,+GA2IkB,EA1IlB,+GA0IkB,EAzIlB,4GAyIkB,EAxIlB,2HAwIkB,EAvIlB,mGAuIkB,EAtIlB,sGAsIkB,EArIlB,kJAqIkB,EApIlB,iGAoIkB,EAnIlB,6GAmIkB,EAlIlB,wGAkIkB,EAjIlB,8FAiIkB,EAhIlB,8GAgIkB,EA/HlB,uHA+HkB,EA9HlB,yGA8HkB,EA7HlB,iEA6HkB,EA5HlB,uHA4HkB,EA3HlB,yGA2HkB,EA1HlB,4GA0HkB,EAzHlB,0HAyHkB,EAxHlB,mIAwHkB,EAvHlB,kIAuHkB,EAtHlB,kHAsHkB,EArHlB,gGAqHkB,EApHlB,yEAoHkB,EAnHlB,0HAmHkB,EAlHlB,4JAkHkB,EAjHlB,wEAiHkB,EAhHlB,4EAgHkB,EA/GlB,4HA+GkB,EA9GlB,gGA8GkB,EA7GlB,4HA6GkB,EA5GlB,mIA4GkB,EA3GlB,oJA2GkB,EA1GlB,6HA0GkB,EAzGlB,yHAyGkB;AAzGO,6JAKzB,uEALyB,EAMzB,4DANyB,EAOzB,iEAPyB,EAQzB,oEARyB,EASzB,qEATyB,EAUzB,2DAVyB,EAWzB,mEAXyB,EAYzB,6FAZyB,EAazB,6DAbyB,EAczB,8DAdyB,EAezB,gFAfyB,EAgBzB,yEAhByB,EAiBzB,8EAjByB,EAkBzB,qEAlByB,EAmBzB,yEAnByB,EAoBzB,yEApByB,EAqBzB,uEArByB,EAsBzB,6EAtByB,EAuBzB,qFAvByB,EAwBzB,qEAxByB,EAyBzB,iEAzByB,EA0BzB,mEA1ByB,EA2BzB,qEA3ByB,EA4BzB,qEA5ByB,EA6BzB,sFA7ByB,EA8BzB,iEA9ByB,EA+BzB,qEA/ByB,EAgCzB,2EAhCyB,EAiCzB,6DAjCyB,EAkCzB,uEAlCyB,EAmCzB,iFAnCyB,EAoCzB,kEApCyB,EAqCzB,2EArCyB,EAsCzB,0EAtCyB,EAuCzB,uEAvCyB,EAwCzB,sEAxCyB,EAyCzB,oFAzCyB,EA0CzB,uEA1CyB,EA2CzB,6DA3CyB,EA4CzB,yDA5CyB,EA6CzB,oEA7CyB,EA8CzB,oEA9CyB,EA+CzB,qEA/CyB,EA+CZ,6DA/CY,EA+CZ,yEA/CY,EA+CZ,kEA/CY,EAmDzB,8EAnDyB,EAoDzB,sFApDyB,EAqDzB,4EArDyB,EAsDzB,4EAtDyB,EAuDzB,4EAvDyB,EAwDzB,4EAxDyB,EAwDV,oEAxDU,EAgEzB,qEAhEyB,EAgEhB,kEAhEgB,EAgEhB,wFAhEgB,EAgEhB,yDAhEgB,EAsEzB,oEAtEyB,CAyGP;AAnCN,oBAEJ,yEAFI,EAEa,uEAFb,EAE6B,8EAF7B,EAEiD,oEAFjD;AAmCM,S;AAjC0D,O,KAmChF;;;AACO,eAASU,iBAAT,CAA2BvlG,IAA3B,EAA6C;AAClD,eAAO,IAAI,+EAAJ,CAAwBA,IAAxB,EAA8B,gBAA9B,EAAgD,OAAhD,CAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCzYYwlG,gB;;;;;;;iBAEX,mBAAUvyF,KAAV,EAAsB+iB,IAAtB,EAAgC;AAC9B,gBAAIyvE,GAAJ;AAAA,gBAASC,OAAT;AAAA,gBACEC,QAAQ,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,CADb;;AAGA,gBAAInzF,MAAM,CAACpO,KAAP,CAAa6O,KAAb,CAAJ,EAAyB;AACvB,qBAAO,IAAP;AACD;;AAED,gBAAIA,KAAK,GAAG,IAAZ,EAAkB;AAChB,qBAAOA,KAAP;AACD;;AAEDwyF,eAAG,GAAGzlF,IAAI,CAACC,KAAL,CAAWD,IAAI,CAAC42B,GAAL,CAAS3jC,KAAT,IAAkB+M,IAAI,CAAC42B,GAAL,CAAS,IAAT,CAA7B,CAAN;AAEA,mBAAO,CAAC3jC,KAAK,GAAG+M,IAAI,CAACwpB,GAAL,CAAS,IAAT,EAAei8D,GAAf,CAAT,EAA8B/yF,OAA9B,CAAsCsjB,IAAtC,IAA8C2vE,QAAQ,CAACF,GAAG,GAAG,CAAP,CAA7D;AAGD;;;;;;;yBAnBUD,gB;AAAgB,O;;;;cAAhBA,gB;AAAgB;;;;;;;;;;;;;;;;;ACM7B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACmBI;;AACA;;AACF;;;;;;AAEI;;AACE;;AACE;;AACE;;;;AACA;;AAAoC;;;;AAEhC;;AACN;;AAIA;;AACE;;;;;;AAGF;;AACF;;AACF;;;;;;AAdM;;AAAA;;AACoC;;AAAA;;AAOjC;;AAAA;;AACH;;AAAA;;;;;;AAMN;;AACE;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACF;;;;;;AALI;;AAAA;;AAGA;;AAAA;;;;;;AAGJ;;AACE;;AACE;;;;AACA;;AAAM;;;;AAAkD;;AAAQ;;AAChE;;AAAM;;;;AAAmD;;AAC3D;;AACA;;AACE;;;;AACA;;AAAM;;;;AAAkD;;AAAQ;;AAChE;;AAAM;;;;AAAmD;;AAC3D;;AACF;;;;;;AATI;;AAAA;;AACM;;AAAA;;AACA;;AAAA;;AAGN;;AAAA;;AACM;;AAAA;;AACA;;AAAA;;;;;;AAQR;;AAIE;;;;AACA;;AAAO;;;;AAAyC;;AAClD;;;;;;AAFE;;AAAA;;AACO;;AAAA;;;;;;AAVX;;AACE;;AACE;;;;AACA;;AAAM;;;;AAAoD;;AAC5D;;AACA;;AAOF;;;;;;AAVI;;AAAA;;AACM;;AAAA;;AAEF;;AAAA;;;;;;AA5CV;;AACE;;AAkBA;;AAQA;;AAYA;;AAaF;;;;;;AAnDoB;;AAAA;;AAkBgC;;AAAA;;AAQA;;AAAA;;AAYwB;;AAAA;;;;;;;;AAqC9D;;AAAqD;AAAA;;AAAA;;AAAA;AAAA;;AAMnD;;;;AACF;;;;AADE;;AAAA;;;;;;;;AAwBV;;AACE;;AAAO;;;;AAA+B;;AAEtC;;AACE;;AAAqB;AAAA;;AAAA;;AAAA,mBAAS,WAAT;AAAsB,WAAtB;;AAArB;;AAEA;;AACF;;AACF;;;;;;;;AAPS;;AAAA;;AAGE;;AAAA,yFAAa,eAAb,EAAa,IAAb;;;;;;;;AAvDf;;AACE;;AACE;;AACE;;AACE;;AAAO;;;;AAAuB;;AAC9B;;AACE;;AAImE;AAAA;;AAAA;;AAAA;AAAA,aAA+B,aAA/B,EAA+B;AAAA;;AAAA;;AAAA;AAAA,WAA/B;;AAJnE;;AAMF;;AACF;;AACF;;AAEA;;AACE;;AACE;;AACE;;AACE;;AAAO;;;;AAAyB;;AAChC;;AAQF;;AACA;;AAII;AAAA;;AAAA;;AAAA;AAAA,aAAsC,aAAtC,EAAsC;AAAA;;AAAA;;AAAA;AAAA,WAAtC;;AAJJ;;AAMF;;AACF;;AACF;;AACF;;AAEA;;AACE;;AACE;;AAAO;;;;AAA8B;;AACrC;;AAAoE;AAAA;;AAAA;;AAAA;AAAA;;AAClE;;AAAkB;;AAAK;;AACvB;;AAAkB;;AAAI;;AACtB;;AAAkB;;AAAM;;AAC1B;;AACF;;AAEA;;AASF;;AACF;;;;;;;;AAzDe;;AAAA;;AAEyD;;AAAA,yJAI3D,OAJ2D,EAI3D,2BAJ2D;;AAcrD;;AAAA;;AAC0E;;AAAA;;AASnB;;AAAA,yJAI7D,OAJ6D,EAI7D,6BAJ6D;;AAa7D;;AAAA;;AAC6D;;AAAA;;AAO/C;;AAAA;;;;;;AAiBvB;;AAKE;;AACA;;;;AACF;;;;;;AAPkD;;AAMhD;;AAAA;;;;;;AAEF;;AACE;;;;AACF;;;;;;AADE;;AAAA;;;;;;AAEF;;AACE;;AAAQ;;AACN;;;;AAAkC;;AACtC;;;;AADI;;AAAA;;;;;;;;;;;;;AAUN;;AAGE;;AACE;;;;AACF;;AACA;;AAEA;;AAEE;;;;AACF;;AACF;;;;;;AAXE;;AAGE;;AAAA;;AAMA;;AAAA;;;;;;AArCN;;AACE;;AACE;;AACE;;;;AAAmC;;AACrC;;AAQA;;AAGA;;AAMF;;AAMA;;AAeF;;;;;;AAvCM;;AAAA;;AACK;;AAAA;;AAQA;;AAAA;;AAGA;;AAAA;;AAcN;;AAAA;;;;;;AAmBH;;AAGE;;AACE;;;;AACF;;AACA;;AACA;;AACE;;;;AACF;;AACF;;;;;;AATE;;AAGE;;AAAA;;AAIA;;AAAA;;;;;;AAMJ;;AAGE;;AACE;;;;AACF;;AACA;;AACA;;AACE;;;;AACF;;AACF;;;;;;AATE;;AAGE;;AAAA;;AAIA;;AAAA;;;;;;AAzBN;;AAGE;;AAcA;;AAcF;;;;;;AA1BK;;AAAA;;AAcA;;AAAA;;;;;;AAaL;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;AASE;;;;;;;;AALJ;;AACE;;AAEoB;AAAA;;AAAA;;AAAA;AAAA;;AAClB;;;;AACA;;AACF;;AAGA;;AACE;;;;AACF;;AACF;;;;;;AAXmD;;AAAA,gLAAgF,aAAhF,EAAgF,kBAAhF,EAAgF,YAAhF,EAAgF,iBAAhF,EAAgF,gBAAhF,EAAgF,qBAAhF;;AAG/C;;AAAA;;AACO;;AAAA;;AAKP;;AAAA;;;;;;AAMR;;AACE;;AACE;;AACF;;AACF;;;;;;;;;;;UDjOWI,oB;AA6CX,sCACmC38F,IADnC,EAEU2F,SAFV,EAGU5O,IAHV,EAIUD,UAJV,EAKS2P,QALT,EAMSlL,SANT,EAOU+E,UAPV,EAQUkG,aARV,EASUE,aATV,EAUUC,aAVV,EAUiD;AAAA;;AAAA;;;;AATd,eAAA3G,IAAA,GAAAA,IAAA;AACzB,eAAA2F,SAAA,GAAAA,SAAA;AACA,eAAA5O,IAAA,GAAAA,IAAA;AACA,eAAAD,UAAA,GAAAA,UAAA;AACD,eAAA2P,QAAA,GAAAA,QAAA;AACA,eAAAlL,SAAA,GAAAA,SAAA;AACC,eAAA+E,UAAA,GAAAA,UAAA;AACA,eAAAkG,aAAA,GAAAA,aAAA;AACA,eAAAE,aAAA,GAAAA,aAAA;AACA,eAAAC,aAAA,GAAAA,aAAA;AArDV,eAAA9F,KAAA,GAAc,IAAI1D,IAAJ,EAAd;AAEA,eAAA4iF,YAAA,GAAe,KAAf;AACA,eAAAj5E,SAAA,GAAY,KAAZ;AACA,eAAA81F,YAAA,GAAe,eAAf;AACA,eAAAC,cAAA,GAAiB,KAAKthG,SAAL,CAAehC,OAAf,CAAuB,sBAAvB,CAAjB;AACA,eAAAujG,WAAA,GAAc,KAAKvhG,SAAL,CAAehC,OAAf,CAAuB,QAAvB,CAAd;AACA,eAAAwjG,UAAA,GAAa,KAAKxhG,SAAL,CAAehC,OAAf,CAAuB,QAAvB,CAAb;AAKA,eAAAyjG,cAAA,GAAiB,KAAjB;AACA,eAAAC,aAAA,GAAgB,KAAhB;AAiBA,eAAAC,eAAA,GAAkB,IAAI,wDAAJ,CAAc;AAC9B/0F,eAAG,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,EAAoB,0DAAW1L,QAA/B,CADyB;AAE9B2L,iBAAK,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,EAAoB,0DAAW3L,QAA/B,CAFuB;AAG9B8L,qBAAS,EAAE,IAAI,0DAAJ,CAAgB,EAAhB,EAAoB,0DAAW9L,QAA/B,CAHmB;AAI9B+L,oBAAQ,EAAE,IAAI,0DAAJ;AAJoB,WAAd,CAAlB;AAYO,eAAAZ,QAAA,GAAW,CAAX;AAaL,eAAKu1F,aAAL,GAAqB,MAAH,OAAG,CAAH,EAAG,EAAK,KAAKn9F,IAAL,CAAUjE,KAAf,CAArB;AACA,eAAKxE,OAAL,GAAe/C,IAAI,CAACC,KAAL,CAAWJ,YAAY,CAACC,OAAb,CAAqB,SAArB,CAAX,CAAf,CAH+C,CAK/C;AACA;AACA;;AAEA,cAAI,KAAK0L,IAAL,CAAU,iBAAV,CAAJ,EAAkC;AAChC,iBAAKwC,eAAL,GAAuB,KAAKxC,IAAL,CAAU,iBAAV,CAAvB;AACD;;AAED,cAAI,KAAKA,IAAL,CAAU,QAAV,CAAJ,EAAyB;AACvB,iBAAKgH,OAAL,CAAapI,WAAb,GAA2B,KAAKoB,IAAL,CAAU,QAAV,CAA3B;;AACA,gBAAI,KAAKA,IAAL,CAAU,eAAV,CAAJ,EAAgC;AAC9B,mBAAK8L,cAAL,GAAsB,KAAK9L,IAAL,CAAU,eAAV,CAAtB;AACA,yBAAKuM,CAAL,CAAOlE,SAAP,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAEtG,UAAF,CAAa,KAAK+J,cAAlB,CAAhB;AACD;AAGF;;AACD,cAAI,KAAK9L,IAAL,CAAU,OAAV,KAAsB,IAAtB,IAA8B,KAAKA,IAAL,CAAU,KAAV,KAAoB,IAAtD,EAA4D;AAC1D,uBAAKk9F,eAAL,CAAqBpjG,GAArB,CAAyB,OAAzB,OAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAEiI,UAAF,CAAa,KAAK/B,IAAL,CAAU,OAAV,CAAb,CAAjC;AACA,uBAAKk9F,eAAL,CAAqBpjG,GAArB,CAAyB,KAAzB,OAA+B,IAA/B,IAA+B,aAA/B,GAA+B,MAA/B,GAA+B,GAAEiI,UAAF,CAAa,KAAK/B,IAAL,CAAU,KAAV,CAAb,CAA/B;AACA,iBAAKwK,QAAL,GAAgB,KAAKV,cAAL,CAAoBW,QAApC;AAED;;AACD,cAAI,KAAK/D,aAAL,CAAmBkJ,kBAAvB,EAA2C;AACzC,iBAAK7E,SAAL,GAAiB,KAAKrE,aAAL,CAAmBkJ,kBAApC;AACA,iBAAKC,cAAL,CAAoB,KAAKrN,eAAzB;AACD,WAHD,MAIE,KAAKlC,UAAL,CAAgBwP,mBAAhB,GAAsC3W,SAAtC,CAAgD,UAACC,GAAD,EAAS;AACvD,oBAAI,CAAC2R,SAAL,GAAiB3R,GAAjB;;AACA,oBAAI,CAACyW,cAAL,CAAoB,QAAI,CAACrN,eAAzB;AACD,WAHD,EAhC6C,CAuC/C;;;AAEA,eAAKoF,QAAL,GAAgB,KAAK5H,IAAL,CAAU,MAAV,CAAhB;AAEA,eAAKwG,aAAL,CAAmBuJ,aAAnB,CAAiC5W,SAAjC,CAA2C,UAACC,GAAD;AAAA,mBACzCA,GAAG,CAAC0B,OAAJ,CAAY,UAACkV,OAAD,EAAa;AACvB,kBAAIA,OAAO,CAACpR,WAAR,IAAuB,QAAI,CAACoI,OAAL,CAAapI,WAAxC,EAAqD;AACnD,wBAAI,CAACqR,iBAAL,CAAuBD,OAAvB;;AACA,wBAAI,CAAChJ,OAAL,GAAegJ,OAAf;AACA;AACD;AACF,aAND,CADyC;AAAA,WAA3C;AAUA,cAAI,KAAKrJ,aAAL,CAAmBuJ,WAAvB,EACE,KAAKrS,cAAL,GAAsB,CAAH,KAAG,KAAK8I,aAAL,CAAmBuJ,WAAnB,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAExY,QAAF,EAApD;;AACF,eAAKiP,aAAL,CAAmBwJ,YAAnB,CAAgChX,SAAhC,CAA0C,UAACC,GAAD,EAAS;AACjD,oBAAI,CAACyE,cAAL,GAAsBzE,GAAtB;AACD,WAFD;AAGD;;;;iBAED,oBAAQ;AAAA;;AACN,iBAAK2P,YAAL;AACA,iBAAKuB,aAAL;AACA,iBAAKqF,gBAAL,GAHM,CAIN;;AACA,iBAAK7I,SAAL,GAAiB,IAAjB;AACA,gBAAM2I,QAAQ,GAAGF,WAAW,CAAC,YAAM;AACjC,kBAAI,QAAI,CAACvI,OAAL,IAAgB,QAAI,CAACgE,aAAzB,EAAwC;AACtCwE,6BAAa,CAACC,QAAD,CAAb;AACA,wBAAI,CAAC3I,SAAL,GAAiB,KAAjB;;AACA,wBAAI,CAACs2F,cAAL;;AACA,wBAAI,CAACC,uBAAL;AACD;AACF,aAP2B,EAOzB,GAPyB,CAA5B;AAQD;;;iBAED,0BAAc;;;AACZ,iBAAKH,eAAL,CAAqBn7F,UAArB,CAAgC;AAC9BoG,iBAAG,EAAE,YAAKg1F,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEG,MAApB,KAA8B,EADL;AAE9Bl1F,mBAAK,EAAE,YAAK+0F,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEI,QAApB,KAAgC,EAFT;AAG9Bh1F,uBAAS,EAAE,YAAK40F,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEruF,QAApB,KAAgC,GAHb;AAI9BtG,sBAAQ,EAAE,YAAK20F,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEpuF,QAApB,KAAgC;AAJZ,aAAhC;AAMD;;;iBAED,mCAAuB;;;AACrB,iBAAKyuF,YAAL,GAAoB,CAAH,KAAG,KAAKL,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEI,QAAxC;AACA,iBAAKE,UAAL,GAAkB,CAAH,KAAG,KAAKN,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEG,MAAtC;AACA,iBAAKI,iBAAL,GAAyB,YAAKR,eAAL,CAAqBpjG,GAArB,CAAyB,OAAzB,OAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAEoB,KAAnC,KAAwC,MAAG,KAAKgiG,eAAL,CAAqBpjG,GAArB,CAAyB,KAAzB,CAAH,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAEoB,KAA5E,CAAzB;AACA,iBAAKyiG,WAAL,GAAmB,KAAKzwF,aAAL,CAAmB,KAAKwwF,iBAAxB,CAAnB;AACA,iBAAKE,eAAL,GAAuB,KAAKF,iBAAL,GAAyB,KAAKC,WAArD,CALqB,CAOrB;;AACA,iBAAKE,iBAAL;AACD;;;iBAED,6BAAiB;AAAA;;AACf,iBAAKX,eAAL,CAAqB7tF,YAArB,CAAkClW,SAAlC,CAA4C,UAAC+J,GAAD,EAAS;;;AACnD,kBAAM46F,aAAa,GAAG,eAAI,CAACZ,eAAL,CAAqBpjG,GAArB,CAAyB,OAAzB,OAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAEoB,KAAnC,KAAwC,MAAG,QAAI,CAACgiG,eAAL,CAAqBpjG,GAArB,CAAyB,KAAzB,CAAH,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAEoB,KAA5E,CAAtB;;AACA,kBAAM6iG,YAAY,GAAG,QAAI,CAAC7wF,aAAL,CAAmB4wF,aAAnB,CAArB;;AACA,kBAAME,YAAY,GAAGF,aAAa,GAAGC,YAArC;;AAEA,kBAAIC,YAAY,GAAG,QAAI,CAACJ,eAAxB,EAAyC;AACvC,wBAAI,CAAC7wF,UAAL,GAAkB+wF,aAAa,GAAG,QAAI,CAACJ,iBAAvC;AACA,wBAAI,CAACzwF,SAAL,GAAiB,QAAI,CAACC,aAAL,CAAmB,QAAI,CAACH,UAAxB,CAAjB;AACA,wBAAI,CAACJ,SAAL,GAAiB,QAAI,CAACI,UAAL,GAAkB,QAAI,CAACE,SAAxC;AACD,eAJD,MAIO;AACL,wBAAI,CAACF,UAAL,GAAkB,CAAlB;AACA,wBAAI,CAACE,SAAL,GAAiB,CAAjB;AACA,wBAAI,CAACN,SAAL,GAAiB,CAAjB;AACD;AACF,aAdD;AAeD;;;iBAED,2BAAe;AAAA;;;;AAEb,iBAAK6wF,YAAL,GAAoB,CAAH,KAAG,KAAKL,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEI,QAAxC;AACA,iBAAKE,UAAL,GAAkB,CAAH,KAAG,KAAKN,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEG,MAAtC;AACA,iBAAKI,iBAAL,GAAyB,YAAKR,eAAL,CAAqBpjG,GAArB,CAAyB,OAAzB,OAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAEoB,KAAnC,KAAwC,MAAG,KAAKgiG,eAAL,CAAqBpjG,GAArB,CAAyB,KAAzB,CAAH,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAEoB,KAA5E,CAAzB;AACA,iBAAKyiG,WAAL,GAAmB,KAAKzwF,aAAL,CAAmB,KAAKwwF,iBAAxB,CAAnB;AACA,iBAAKE,eAAL,GAAuB,KAAKF,iBAAL,GAAyB,KAAKC,WAArD;AACA,iBAAKT,eAAL,CAAqB7tF,YAArB,CAAkClW,SAAlC,CAA4C,UAAC+J,GAAD,EAAS;;;AACnD,kBAAM46F,aAAa,GAAG,eAAI,CAACZ,eAAL,CAAqBpjG,GAArB,CAAyB,OAAzB,OAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAEoB,KAAnC,KAAwC,MAAG,QAAI,CAACgiG,eAAL,CAAqBpjG,GAArB,CAAyB,KAAzB,CAAH,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAEoB,KAA5E,CAAtB;;AACA,kBAAM6iG,YAAY,GAAG,QAAI,CAAC7wF,aAAL,CAAmB4wF,aAAnB,CAArB;;AACA,kBAAME,YAAY,GAAGF,aAAa,GAAGC,YAArC;;AAEA,kBAAIC,YAAY,GAAG,QAAI,CAACJ,eAAxB,EAAyC;AACvC;AACA,wBAAI,CAAC7wF,UAAL,GAAkB+wF,aAAa,GAAG,QAAI,CAACJ,iBAAvC;AACA,wBAAI,CAACzwF,SAAL,GAAiB,QAAI,CAACC,aAAL,CAAmB,QAAI,CAACH,UAAxB,CAAjB;;AACA,oBAAI,QAAI,CAACowF,aAAL,CAAmBc,MAAnB,KAA8B,GAAlC,EAAuC;AACrC,0BAAI,CAACtxF,SAAL,GAAiB,QAAI,CAACI,UAAL,GAAkB,QAAI,CAACE,SAAxC;AACD,iBAFD,MAGK;AACH,0BAAI,CAACN,SAAL,GAAiB,QAAI,CAACI,UAAL,GAAkB,QAAI,CAACE,SAAxC;AACD;AACF,eAVD,MAUO;AACL;AACA,wBAAI,CAACF,UAAL,GAAkB,CAAlB;AACA,wBAAI,CAACE,SAAL,GAAiB,CAAjB;AACA,wBAAI,CAACN,SAAL,GAAiB,CAAjB;AACD;AACF,aArBD;AAsBD;;;iBAGD,4BAAmB;AAAA;;AACjB,iBAAK5V,IAAL,CAAU+C,GAAV,WAAqC,yEAAazB,aAAlD,6CACGc,SADH,CACa,UAACC,GAAD,EAAS;AAClB,sBAAI,CAAC4R,aAAL,GAAqB5R,GAAG,CAAC6R,aAAzB;AACA,sBAAI,CAACC,aAAL,GAAqB9R,GAAG,CAAC+R,aAAzB;AACA,sBAAI,CAACC,gBAAL,GAAwBhS,GAAG,CAACiS,gBAA5B;AACD,aALH;AAQD;;;iBACD,uBAAW;AAAA;;;;AACT,iBAAK00E,YAAL,GAAoB,IAApB;AACA,gBAAIme,eAAe,GAAG,KAAKC,iBAAL,EAAtB;;AACA,gBAAI,CAACD,eAAL,EAAsB;AACpB,mBAAKnnG,IAAL,CACGqB,IADH,CACQ,yEAAaC,aAAb,GAA6B,yBADrC,EACgE;AAC5D64B,2BAAW,EAAE,KAAKisE,aAAL,CAAmBjsE,WAD4B;AAE5D3iB,mBAAG,EAAE,CAAF,KAAE,KAAK2uF,eAAL,CAAqBpjG,GAArB,CAAyB,KAAzB,OAA+B,IAA/B,IAA+B,aAA/B,GAA+B,MAA/B,GAA+B,GAAEoB,KAFsB;AAG5DsT,qBAAK,EAAE,CAAF,KAAE,KAAK0uF,eAAL,CAAqBpjG,GAArB,CAAyB,OAAzB,OAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAEoB,KAHkB;AAI5D4T,wBAAQ,EAAE,CAAF,KAAE,KAAKouF,eAAL,CAAqBpjG,GAArB,CAAyB,WAAzB,OAAqC,IAArC,IAAqC,aAArC,GAAqC,MAArC,GAAqC,GAAEoB,KAJW;AAK5D6T,wBAAQ,EAAE,CAAF,KAAE,KAAKmuF,eAAL,CAAqBpjG,GAArB,CAAyB,UAAzB,OAAoC,IAApC,IAAoC,aAApC,GAAoC,MAApC,GAAoC,GAAEoB;AALY,eADhE,EAQG/B,SARH,CAQa,UAACC,GAAD,EAAS;;;AAClB,wBAAI,CAAC2mF,YAAL,GAAoB,KAApB;;AACA,oBAAI,OAAA3mF,GAAG,CAAC,QAAD,CAAH,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAEyB,MAAf,IAAwB,CAA5B,EAA+B;AAC7B,0BAAI,CAAC8K,SAAL,CAAe1D,KAAf,CAAqB7I,GAAG,CAAC,QAAD,CAAH,CAAc,CAAd,CAArB;AACD,iBAFD,MAEO,IAAIA,GAAG,CAAC,QAAD,CAAH,IAAiB,IAArB,EAA2B;AAChC,0BAAI,CAACuM,SAAL,CAAe1D,KAAf,CAAqB,IAArB;AACD;AACF,eAfH;AAgBD,aAjBD,MAkBK;AACH,kBAAI5D,KAAK,GAAG,KAAK9C,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACR,yBADQ,GAER,kBAFJ;AAGA,iEAAKyH,IAAL,CAAU;AACRE,oBAAI,EAAE,OADE;AAER5H,qBAAK,EAAEA,KAFC;AAGR4P,iCAAiB,EAAE,IAHX;AAIRmwF,2BAAW,EAAE;AACXC,+BAAa,EAAE;AADJ;AAJL,eAAV;AAQA,mBAAKte,YAAL,GAAoB,KAApB;AACD;AACF;;;iBACD,uBAAcz0E,UAAd,EAA0B;;;AACxB,gBAAIC,aAAa,GAAG,KAAKP,aAAzB;;AAEA,gBAAIM,UAAU,IAAI,CAAlB,EAAqB;AACnBC,2BAAa,IAAI,CAAjB;AACD;;AAED,gBAAIC,SAAS,GAAGF,UAAU,GAAGC,aAA7B;;AAEA,gBAAI,YAAKvE,OAAL,MAAY,IAAZ,IAAY,aAAZ,GAAY,MAAZ,GAAY,GAAEyE,QAAd,KAA0B,CAA9B,EAAiC;AAC/B;AACA,kBAAID,SAAS,GAAG,KAAKN,aAArB,EAAoC;AAClCM,yBAAS,GAAG,KAAKN,aAAjB;AACD;AACF,aALD,MAKO;AACL;AACA,kBAAIM,SAAS,GAAG,KAAKJ,gBAArB,EAAuC;AACrCI,yBAAS,GAAG,KAAKJ,gBAAjB;AACD;AACF;;AAED,mBAAOI,SAAP;AACD;;;iBAED,6BAAoB;;;AAClB,gBAAI,KAAK2xF,aAAL,CAAmBc,MAAnB,KAA8B,GAAlC,EAAuC;AACrC,kBAAMK,kBAAkB,GACtB,YAAKt3F,OAAL,MAAY,IAAZ,IAAY,aAAZ,GAAY,MAAZ,GAAY,GAAEyE,QAAd,KAA0B,CAA1B,GACI,CAAD,WAAC,KAAK0B,UAAN,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAEC,aAAjB,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAEE,GADpC,GAEI,CAAD,WAAC,KAAKH,UAAN,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAEC,aAAjB,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAEC,GAHtC;AAKA,qBAAQ,KAAKV,SAAL,GAAiB2xF,kBAAzB;AACD;AACF;;;iBAGD,oBAAWr7F,KAAX,EAAgB;AACd,gBAAMkH,QAAQ,GAAGlH,KAAK,CAACoN,KAAN,GAAcpN,KAAK,CAACoN,KAApB,GAA4BpN,KAAK,CAACqN,OAAnD;;AACA,gBAAInG,QAAQ,GAAG,EAAX,KAAkBA,QAAQ,GAAG,EAAX,IAAiBA,QAAQ,GAAG,EAA9C,CAAJ,EAAuD;AACrD,qBAAO,KAAP;AACD;;AACD,mBAAO,IAAP;AACD;;;iBAED,2BAAkBR,KAAlB,EAAsC;AACpC,gBAAI,CAAAA,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAE/K,WAAP,KAAsB,KAAKf,cAA/B,EAA+C;AAC7C,kBAAI+L,aAAa,GAAG,KAAK/L,cAAL,CAAoB3D,IAApB,CAClB,UAAC0K,CAAD;AAAA,uBAAOA,CAAC,CAAC,aAAD,CAAD,KAAqB+E,KAAK,CAAC/K,WAAlC;AAAA,eADkB,CAApB;;AAGA,kBAAIgL,aAAJ,EAAmB;AACjBD,qBAAK,CAAC7K,aAAN,GAAsB8K,aAAa,CAAC,eAAD,CAAnC;AACAD,qBAAK,CAAC9K,aAAN,GAAsB+K,aAAa,CAAC,eAAD,CAAnC;AACAD,qBAAK,CAACb,OAAN,GAAgBc,aAAa,CAAC,SAAD,CAA7B;AACD;AACF;AACF;;;iBACD,2BAAkB3G,KAAlB,EAA8B;AAC5B,gBAAI4G,GAAJ;;AACA,oBAAQ,KAAKC,cAAL,CAAoBC,WAA5B;AACE,mBAAK,CAAL;AACEF,mBAAG,GAAG,UAAN;AACA;;AACF,mBAAK,CAAL;AACEA,mBAAG,GAAG,sBAAN;AACA;;AACF,mBAAK,CAAL;AACEA,mBAAG,GAAG,sBAAN;AACA;;AACF,mBAAK,CAAL;AACEA,mBAAG,GAAG,sBAAN;AACA;;AACF,mBAAK,CAAL;AACEA,mBAAG,GAAG,sBAAN;AACA;;AACF,mBAAK,CAAL;AACEA,mBAAG,GAAG,sBAAN;AACA;AAlBJ,aAF4B,CAuB5B;;;AACA,gBAAIG,KAAK,GAAG/G,KAAK,CAACE,MAAN,CAAajI,KAAb,GAAqB+O,MAAM,CAACC,YAAP,CAAoBjH,KAAK,CAACkH,QAA1B,CAAjC;;AAEA,gBAAI,CAACN,GAAG,CAACO,IAAJ,CAASJ,KAAT,CAAL,EAAsB;AACpB/G,mBAAK,CAACoH,cAAN;AACD;AACF;;;iBACD,wBAAe+E,OAAf,EAAwB;AAAA;;AACtB,iBAAKpH,kBAAL,GAA0B,IAA1B,CADsB,CAGtB;;AACA,iBAAKjR,IAAL,CACG+C,GADH,CAEI,UAAG,yEAAazB,aAAhB,wDACA+W,OAHJ,EAKGjW,SALH,CAKa,UAACC,GAAD,EAAS;AAClB,kBAAIA,GAAJ,EAAS;AACP,wBAAI,CAAC4O,kBAAL,GAA0B,KAA1B;AACA,wBAAI,CAACmF,UAAL,GAAkB/T,GAAlB;;AACA,wBAAI,CAACwR,cAAL;;AACA,wBAAI,CAAC7B,YAAL;AACD;AACF,aAZH,EAJsB,CAkBtB;;AACA,iBAAKhS,IAAL,CACG+C,GADH,CAEI,UAAG,yEAAazB,aAAhB,wDACA+W,OAHJ,EAKGjW,SALH,CAKa,UAACC,GAAD,EAAS;;;AAClB,kBAAIA,GAAJ,EAAS;AACP,wBAAI,CAACyT,aAAL,GAAqBzT,GAArB;AACA,oBAAI,CAAC,QAAI,CAAC0S,cAAV,EACE,cAAI,CAACS,CAAL,CAAOlE,SAAP,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAEtG,UAAF,CAAa,CAAD,KAAC,QAAI,CAAC8K,aAAL,CAAmB,CAAnB,OAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEb,aAApC,CAAhB,CAHK,CAG+D;;AACtE,8BAAI,CAACO,CAAL,CAAOjE,QAAP,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEvG,UAAF,CAAa,CAAb,CAAf,CAJO,CAIyB;;AAChC,8BAAI,CAACwK,CAAL,CAAOhE,SAAP,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAExG,UAAF,CAAa,CAAb,CAAhB,CALO,CAK0B;AAClC;AACF,aAbH;AAcD;;;eAED,eAAQ;AACN,mBAAO,KAAKm7F,eAAL,CAAqB1/F,QAA5B;AACD;;;iBACD,0BAAiB;AAAA;;AACf,iBAAK8C,UAAL,CACGsK,cADH,CACkB,KAAKpI,eADvB,EAEGrJ,SAFH,CAEa,UAACC,GAAD,EAAS;;;AAClB,sBAAI,CAACyR,cAAL,GAAsBzR,GAAtB;AACA,kBAAI,eAAI,CAACyR,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEhQ,MAArB,IAA8B,CAAlC,EACE,QAAI,CAACiQ,WAAL,GAAmB,QAAI,CAACC,SAAL,CAAezH,MAAf,CAAsB,UAAC0D,OAAD,EAAa;AACpD,uBAAO,QAAI,CAAC6D,cAAL,CAAoB9S,OAApB,CAA4BiP,OAAO,CAACpI,WAApC,KAAoD,CAAC,CAA5D;AACD,eAFkB,CAAnB;AAGH,aARH;AASD;;;iBACD,yBAAgB;AAAA;;AACd,iBAAK0B,UAAL,CACGgK,aADH,CACiB,KAAK6yF,aAAL,CAAmBz+F,UADpC,EAEGvF,SAFH,CAEa,UAACC,GAAD,EAAyB;AAClC,sBAAI,CAAC0Q,cAAL,GAAsB1Q,GAAtB;AACD,aAJH;AAKD;;;iBAED,wBAAe;AAAA;;AACb,iBAAKrC,IAAL,CACG+C,GADH,CAEI,UAAG,yEAAakB,OAAhB,sDACA,KAAKmiG,aAAL,CAAmBz+F,UAHvB,EAKGvF,SALH,CAKa,UAACC,GAAD,EAAS;AAClB,sBAAI,CAAC4N,OAAL,GAAe5N,GAAf;;AACA,sBAAI,CAACkR,aAAL;AACD,aARH,EADa,CAWb;AACD;;;iBAED,0BAAiB;;;AACf,gBAAI,KAAK6yF,aAAL,CAAmBc,MAAnB,IAA6B,GAAjC,EACE,KAAKf,eAAL,CACGpjG,GADH,CACO,OADP,EAEGiI,UAFH,CAEc,CAAD,KAAC,KAAK+H,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEy0F,QAFnC,EADF,KAIK,IAAI,KAAKpB,aAAL,CAAmBc,MAAnB,IAA6B,GAAjC,EACH,KAAKf,eAAL,CACGpjG,GADH,CACO,OADP,EAEGiI,UAFH,CAEc,CAAD,KAAC,KAAK+H,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAEW,QAFnC;AAGH;;;iBAED,kBAAS5K,IAAT,EAAe;AACb,oBAAQA,IAAR;AACE,mBAAK,CAAL;AACE,uBAAO;AACLiF,4BAAU,EAAE,kBADP;AAELE,uBAAK,EAAE;AAFF,iBAAP;;AAIF,mBAAK,CAAL;AACE,uBAAO;AACLF,4BAAU,EAAE,SADP;AAELE,uBAAK,EAAE;AAFF,iBAAP;AAPJ;AAYD;;;;;;;yBA5aU23F,oB,EAAoB,gEA8CrB,wEA9CqB,C,EA8CN,sI,EAAA,gI,EAAA,yI,EAAA,yH,EAAA,qI,EAAA,wI,EAAA,iJ,EAAA,+I,EAAA,uK;AAAA,O;;;cA9CdA,oB;AAAoB,yC;AAAA,iB;AAAA,gB;AAAA,w/F;AAAA;AAAA;AC7BjC;;AAGE;;AACE;;AACE;;;;AACF;;AAEA;;AAA6F;;AAK7F;;AACF;;AAEA;;AACE;;AACE;;AACE;;AAMF;;AACA;;AACE;;AACF;;AACF;;AACA;;AAGA;;AAsDA;;AACE;;AAgEA;;AA6CA;;AAgCA;;AAKA;;AAaF;;AACF;;AAEA;;AAKF;;;;AA/P0C;;AAKpC;;AAAA;;AAGyC;;AAAA;;AAAkD;;AAAA;;AAWzF;;AAAA;;AAQA;;AAAA;;AAGE;;AAAA;;AAGA;;AAAA;;AAsDA;;AAAA;;AACqB;;AAAA;;AAgEP;;AAAA;;AA6CA;;AAAA;;AAgCZ;;AAAA;;AAK8B;;AAAA;;AAgBc;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9NxC;;AACE;;AAIF;;;;;;AAJa;;AAAA,iGAAsB,QAAtB,EAAsB,oCAAtB,EAAsB,OAAtB,EAAsB,mCAAtB,EAAsB,QAAtB,EAAsB,oCAAtB,EAAsB,YAAtB,EAAsB,wCAAtB;;;;;;AAUb;;AACE;;AAGF;;;;;;AAHa;;AAAA,iGAAsB,QAAtB,EAAsB,kCAAtB,EAAsB,OAAtB,EAAsB,iCAAtB,EAAsB,QAAtB,EAAsB,kCAAtB,EAAsB,YAAtB,EAAsB,sCAAtB;;;;;;AAsBX;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AAAgC;;;;AAAyB;;AACzD;;AAAgC;;;;AAA0B;;AAC1D;;AAAgC;;;;AAA8B;;AAC9D;;AAA0E;;;;AAC1E;;AACA;;AACE;;AACF;;AACF;;;;;;;;AAbI;;AAAA;;AAGA;;AAAA;;AAE8B;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAA0C;;AAAA;;AAE1C;;AAAA;;AAC9B;;AAAA;;;;;;AAiBhB;;AACE;;AAAmC;;AACb;;;;AAAqC;;AAAO;;AAAoB;;AACxF;;;;;;AADwB;;AAAA;;AAA4C;;AAAA;;;;;;AAqBhE;;AACE;;AAAI;;AAA6D;;AACjE;;AAAI;;;;AAA4C;;AAChD;;AAAwD;;;;AACxD;;AACA;;AAAI;;;;AAA6C;;AACnD;;;;;;;;AALM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAAoD;;AAAA;;AAEpD;;AAAA;;;;;;AAmBN;;AACE;;AAAI;;AAA6D;;AACjE;;AAAI;;;;AAA4C;;AAChD;;AAAwD;;;;AACxD;;AACA;;AAAI;;;;AAA6C;;AACnD;;;;;;;;AALM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAAoD;;AAAA;;AAEpD;;AAAA;;;;UC5GH6B,oB;AAcX,sCACSjjG,SADT,EAEU+E,UAFV,EAEgC;AAAA;;AAAA;;AADvB,eAAA/E,SAAA,GAAAA,SAAA;AACC,eAAA+E,UAAA,GAAAA,UAAA;AAPV,eAAAm+F,WAAA,GAAc,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,CAAd;AAGA,eAAAC,SAAA,GAAY,OAAZ;AA6FA,eAAAjO,WAAA,GAAc;AACZI,mBAAO,EAAE,QADG;AAEZC,wBAAY,EAAE,CAFF;AAGZC,0BAAc,EAAE,CAHJ;AAIZE,gBAAI,EAAE;AAJM,WAAd;AAvFE,eAAK3wF,UAAL,CAAgB8tF,eAAhB,GAAkCj1F,SAAlC,CAA4C,UAACC,GAAD,EAAS;AACnD,oBAAI,CAACulG,IAAL,GAAYvlG,GAAZ;AACD,WAFD;AAIA,eAAKkH,UAAL,CAAgBs+F,2BAAhB,GAA8CzlG,SAA9C,CAAwD,UAACC,GAAD,EAAS;AAC/D,gBAAIA,GAAJ,EACE,QAAI,CAACylG,sBAAL,GAA8B;AAC5Bn5E,oBAAM,EAAE,CAACtsB,GAAG,CAAC,aAAD,CAAH,CAAmBuO,KAApB,EAA2BvO,GAAG,CAAC,eAAD,CAAH,CAAqBuO,KAAhD,CADoB;AAE5Bge,mBAAK,EAAE;AACL1gB,qBAAK,EAAE,MADF;AAELzI,oBAAI,EAAE;AAFD,eAFqB;AAM5B+pB,oBAAM,EACJhrB,SAAS,CAAC+C,WAAV,IAAyB,IAAzB,GACI,CACAlF,GAAG,CAAC,aAAD,CAAH,CAAmB,UAAnB,CADA,EAEAA,GAAG,CAAC,eAAD,CAAH,CAAqB,UAArB,CAFA,CADJ,GAKI,CACAA,GAAG,CAAC,aAAD,CAAH,CAAmB,UAAnB,CADA,EAEAA,GAAG,CAAC,eAAD,CAAH,CAAqB,UAArB,CAFA,CAZsB;AAgB5B0C,wBAAU,EAAE,CACV;AACE8mF,0BAAU,EAAE,GADd;AAEErwE,uBAAO,EAAE;AACPoT,uBAAK,EAAE;AACL1gB,yBAAK,EAAE;AADF,mBADA;AAIP45C,wBAAM,EAAE;AACN74C,4BAAQ,EAAE;AADJ;AAJD;AAFX,eADU;AAhBgB,aAA9B;AA8BH,WAhCD;AAkCA,eAAK1F,UAAL,CAAgBw+F,kBAAhB,GAAqC3lG,SAArC,CAA+C,UAACC,GAAD,EAAS;AACtD,gBAAIA,GAAJ,EACE,QAAI,CAAC2lG,oBAAL,GAA4B;AAC1Br5E,oBAAM,EAAE,CAACtsB,GAAG,CAAC,CAAD,CAAH,CAAO4lG,UAAR,EAAoB5lG,GAAG,CAAC,CAAD,CAAH,CAAO4lG,UAA3B,EAAuC5lG,GAAG,CAAC,CAAD,CAAH,CAAO4lG,UAA9C,CADkB;AAE1Br5E,mBAAK,EAAE;AACL1gB,qBAAK,EAAE,MADF;AAELzI,oBAAI,EAAE;AAFD,eAFmB;AAM1B+pB,oBAAM,EACJhrB,SAAS,CAAC+C,WAAV,IAAyB,IAAzB,GACI,CACAlF,GAAG,CAAC,CAAD,CAAH,CAAO6lG,cADP,EAEA7lG,GAAG,CAAC,CAAD,CAAH,CAAO6lG,cAFP,EAGA7lG,GAAG,CAAC,CAAD,CAAH,CAAO6lG,cAHP,CADJ,GAMI,CAAC7lG,GAAG,CAAC,CAAD,CAAH,CAAO8lG,WAAR,EAAqB9lG,GAAG,CAAC,CAAD,CAAH,CAAO8lG,WAA5B,EAAyC9lG,GAAG,CAAC,CAAD,CAAH,CAAO8lG,WAAhD,CAboB;AAc1BpjG,wBAAU,EAAE,CACV;AACE8mF,0BAAU,EAAE,GADd;AAEErwE,uBAAO,EAAE;AACPoT,uBAAK,EAAE;AACL1gB,yBAAK,EAAE;AADF,mBADA;AAIP45C,wBAAM,EAAE;AACN74C,4BAAQ,EAAE;AADJ;AAJD;AAFX,eADU;AAdc,aAA5B;AA4BH,WA9BD;AAgCA,eAAK1F,UAAL,CAAgB6+F,gBAAhB,GAAmChmG,SAAnC,CAA6C,UAACC,GAAD,EAAS;AACpD,oBAAI,CAACgmG,eAAL,GAAuBhmG,GAAG,CAAC,OAAD,CAA1B;AACD,WAFD;AAIA,eAAKkH,UAAL,CAAgB++F,aAAhB,GAAgClmG,SAAhC,CAA0C,UAACC,GAAD,EAAS;AACjD,oBAAI,CAACkmG,QAAL,GAAgBlmG,GAAhB;AACD,WAFD;AAIA,eAAKkH,UAAL,CAAgBi/F,cAAhB,GAAiCpmG,SAAjC,CAA2C,UAACC,GAAD;AAAA,mBAAU,QAAI,CAAComG,SAAL,GAAiBpmG,GAA3B;AAAA,WAA3C;AACD;;;;iBAED,oBAAQ;AACN,iBAAK2L,WAAL,GACE1Q,YAAY,CAACC,OAAb,CAAqB,WAArB,KAAqC,MAArC,GAA8C,IAA9C,GAAqD,KADvD;AAEA,iBAAKmrG,QAAL;AACD;;;iBASD,oBAAW;AACT,gBAAIC,WAAW,CAACC,MAAhB,CAAuB;AACrB16F,mBAAK,EAAE,MADc;AAErB4gB,oBAAM,EAAE,GAFa;AAGrBruB,oBAAM,EAAE,KAAKknG,SAHQ;AAIrB;AACAkB,sBAAQ,EAAE,cALW;AAMrB/4E,mBAAK,EAAE,KAAK9hB,WAAL,GAAkB,MAAlB,GAA2B,OANb;AAOrBrP,mBAAK,EAAE,GAPc;AAQrBs4B,oBAAM,EAAE,KAAKzyB,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,OAArC,GAA+C,IARlC;AASrB;AACA;AACA;AACA;AACAuhG,+BAAiB,EAAE,IAbE;AAcrBC,8BAAgB,EAAE,IAdG;AAerB;AACA;AACA;AACA;AACA;AACAC,0BAAY,EAAE;AApBO,aAAvB;AAsBD;;;;;;;yBAvIUvB,oB,EAAoB,qI,EAAA,wI;AAAA,O;;;cAApBA,oB;AAAoB,yC;AAAA;AAAA;;;;;;;;;;;;;;;ADpCjC;;AAEE;;AACE;;AAA6B;;;;AAA4B;;AACzD;;AACE;;AAA6C;AAAA;AAAA,eAAuB,eAAvB,EAAuB;AAAA,qBAAkB,IAAAiB,QAAA,EAAlB;AAA4B,aAAnD;;AAC3C;;AAA0D;;AAAK;;AAC/D;;AAA6D;;AAAK;;AAClE;;AAA8D;;AAAM;;AACtE;;AACF;;AACF;;AAEA;;AACE;;AACE;;AAEE;;AACE;;AACF;;AACA;;AACE;;AAEE;;AAEE;;AACE;;AAAyC;;;;AAA2C;;AACpF;;AACA;;AAMF;;AAEA;;AACE;;AAAyC;;;;AAAmC;;AAC5E;;AACA;;AAKF;;AACF;;AAEA;;AAEE;;AACE;;AACE;;AACE;;AAAgC;;;;AAA8B;;AAC9D;;AAAgC;;;;AAA8B;;AAC9D;;AAAgC;;;;AAAmB;;AACnD;;AAAgC;;;;AAAoB;;AACpD;;AAAgC;;;;AAAwB;;AACxD;;AAAgC;;;;AAA6B;;AAC7D;;AAAgC;;;;AAA8B;;AAChE;;AACF;;AACA;;AACE;;AAgBF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AAEA;;AAEA;;AAEE;;AACE;;AAIF;;AACF;;AAEA;;AACA;;AACE;;AACE;;AACE;;AAAI;;AAAmC;;;;AAAoB;;AAC7D;;AACA;;AACE;;AACE;;AACE;;AAAI;;;;AAAsB;;AAC1B;;AAAI;;;;AAAqB;;AACzB;;AAAI;;;;AAA+B;;AACnC;;AAAI;;;;AAAsB;;AAC5B;;AACF;;AACA;;AACE;;AAOF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAI;;AAAqC;;;;AAAsB;;AACjE;;AACA;;AACE;;AACE;;AACE;;AAAI;;;;AAAsB;;AAC1B;;AAAI;;;;AAAqB;;AACzB;;AAAI;;;;AAA+B;;AACnC;;AAAI;;;;AAAsB;;AAC5B;;AACF;;AACA;;AACE;;AAOF;;AAEF;;AACF;;AACF;;AAEF;;;;AArJiC;;AAAA;;AAEkB;;AAAA;;AAiBvC;;AAAA;;AAI6C;;AAAA;;AAExB;;AAAA;;AASwB;;AAAA;;AAExB;;AAAA;;AAamB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIb;;AAAA;;AA6BuB;;AAAA;;AAClC;;AAAA;;AAWmB;;AAAA;;AAK/B;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIe;;AAAA;;AAYkB;;AAAA;;AAKjC;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAIe;;AAAA;;;;;;;;;;;;;;;;;;;;;;AE1I/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;;;;ACuBI;;AACE;;AACF;;;;;;AADE;;AAAA;;;;;;AAGF;;AACE;;AACF;;;;;;AADE;;AAAA;;;;;;AAEF;;AACE;;AACF;;;;;;AADE;;AAAA;;;;;;AAIF;;AAAgF;;;;AAA4B;;;;AAA5B;;AAAA;;;;;;;;AAG9E;;AACE;;AACE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACA;;;;AAEF;;AACF;;;;;;;;AAJyC;;AAAA;;AACrC;;AAAA;;;;;;;;;;;UD/BGO,yB;AACX,2CACkChgG,IADlC,EAESzE,SAFT,EAEoC;AAAA;;AADF,eAAAyE,IAAA,GAAAA,IAAA;AACzB,eAAAzE,SAAA,GAAAA,SAAA;AACJ;;;;iBAKL,oBAAW;AACT,0BAAW,KAAKyE,IAAL,CAAUH,IAArB;AACD;;;iBAED,kBAASA,IAAT,EAAe;AACb,oBAAQA,IAAR;AACE,mBAAK,CAAL;AACE,uBAAO;AACLiF,4BAAU,EAAE,YADP;AAELE,uBAAK,EAAE;AAFF,iBAAP;;AAIF,mBAAK,CAAL;AACE,uBAAO;AACLF,4BAAU,EAAE,QADP;AAELE,uBAAK,EAAE;AAFF,iBAAP;;AAIF,mBAAK,CAAL;AACE,uBAAO;AACLF,4BAAU,EAAE,MADP;AAELE,uBAAK,EAAE;AAFF,iBAAP;;AAIF,mBAAK,CAAL;AACE,uBAAO;AACLF,4BAAU,EAAE,aADP;AAELE,uBAAK,EAAE;AAFF,iBAAP;;AAIF,mBAAK,CAAL;AACE,uBAAO;AACLF,4BAAU,EAAE,gBADP;AAELE,uBAAK,EAAE;AAFF,iBAAP;;AAIF,mBAAK,CAAL;AACE,uBAAO;AACLF,4BAAU,EAAE,YADP;AAELE,uBAAK,EAAE;AAFF,iBAAP;;AAIF,mBAAK,CAAL;AACE,uBAAO;AACLF,4BAAU,EAAE,eADP;AAELE,uBAAK,EAAE;AAFF,iBAAP;;AAIF,mBAAK,CAAL;AACE,uBAAO;AACLF,4BAAU,EAAE,QADP;AAELE,uBAAK,EAAE;AAFF,iBAAP;;AAIF,mBAAK,CAAL;AACE,uBAAO;AACLF,4BAAU,EAAE,QADP;AAELE,uBAAK,EAAE;AAFF,iBAAP;;AAIF,mBAAK,EAAL;AAAS;AACP,yBAAO;AACLF,8BAAU,EAAE,YADP;AAELE,yBAAK,EAAE;AAFF,mBAAP;AAID;;AACD;AAAS;AACP,yBAAO;AACLF,8BAAU,EAAE,WADP;AAELE,yBAAK,EAAE;AAFF,mBAAP;AAID;AAzDH;AA2DD;;;iBAED,wBAAepO,GAAf,EAAoB;AAClBhB,kBAAM,CAAC8J,IAAP,CAAY,yEAAaugG,MAAb,GAAsBrpG,GAAlC;AACD;;;;;;;yBA7EUopG,yB,EAAyB,gEAE1B,wEAF0B,C,EAEX,qI;AAAA,O;;;cAFdA,yB;AAAyB,+C;AAAA,iB;AAAA,gB;AAAA,ijB;AAAA;AAAA;ACXtC;;AAEE;;AAIE;;AACE;;AACE;;AAAwB;;;;AAAiC;;AACzD;;AACE;;AACF;;AACF;;AACA;;AACA;;AACF;;AAMF;;AAEA;;AACE;;AAGA;;AACA;;AAGA;;AAIA;;AACA;;AACA;;AACA;;AACE;;AAOF;;AAEF;;AAEF;;;;AAlD+B;;AAQC;;AAAA;;AACkB;;AAAA;;AACxC;;AAAA;;AAIJ;;AAAA;;AAUI;;AAAA;;AAIkB;;AAAA;;AAGlB;;AAAA;;AAKA;;AAAA;;AAGwB;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCT;;;;;;;;AAAA;;;;UCKZE,oB;AAIX,wCAAc;AAAA;AAAE;;;;iBAEhB,oBAAQ,CAAW;;;;;;;yBANRA,oB;AAAoB,O;;;cAApBA,oB;AAAoB,qC;AAAA;AAAA;AAAA;AAAA,S;AAAA,gB;AAAA,e;AAAA,2K;AAAA;AAAA;ADPjC;;AAEA;;;;;;AAF2D;;AACvD,gGAA0B,YAA1B,EAA0B,GAA1B;;;;;;;;;;;;;;;;;;;;;;AEDJ;AAAA;;;AAAA;AAAA;AAAA;;AAAO,UAAM7xE,WAAW,GAAG;AACzBC,kBAAU,EAAE,IADa;AAEzBj2B,qBAAa,EAAE,0BAFU;AAGzBk2B,qBAAa,EAAE,6BAHU;AAIzBvzB,eAAO,EAAE,0BAJgB;AAKzBwzB,iBAAS,EAAE;AACTC,iBAAO,EAAE;AADA,SALc;AAQzBqlD,eAAO,EAAE;AARgB,OAApB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCKMqsB,c;;;;;;;iBAEX,mBAAUz9B,IAAV,EAAgD;AAAA,gBAAxBz+C,MAAwB,uEAAP,OAAO;AAC9C,gBAAI,CAACy+C,IAAL,EAAW,OAAO,EAAP,CADmC,CAG9C;AACA;AAEA;;AACA,gBAAM09B,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAC19B,IAAD,EAA0B;AACpD,oCAAyBA,IAAI,CAACzhC,KAAL,CAAW,GAAX,EAAgB/iC,GAAhB,CAAoBqL,MAApB,CAAzB;AAAA;AAAA,kBAAOugE,KAAP;AAAA,kBAAcC,OAAd;;AACA,kBAAI5kD,MAAM,GAAG,IAAb;AACA,kBAAIi9C,IAAI,GAAG0H,KAAX;;AAEA,kBAAIA,KAAK,IAAI,EAAb,EAAiB;AACb3kD,sBAAM,GAAG,IAAT;;AACA,oBAAI2kD,KAAK,GAAG,EAAZ,EAAgB;AACZ1H,sBAAI,GAAG0H,KAAK,GAAG,EAAf;AACH;AACJ;;AAED,kBAAI1H,IAAI,KAAK,CAAb,EAAgB;AACZA,oBAAI,GAAG,EAAP,CADY,CACD;AACd;;AAED,qBAAOn+C,MAAM,IAAE,OAAR,aAAmBm+C,IAAnB,cAA2B2H,OAA3B,cAAwC3H,IAAxC,cAAgD2H,OAAhD,SAA0D5kD,MAA1D,CAAP;AACH,aAjBD,CAP8C,CA0B9C;;;AACA,gBAAMk7E,aAAa,GAAGD,qBAAqB,CAAC19B,IAAI,CAAC49B,IAAL,EAAD,CAA3C;AAEA,mBAAOD,aAAP;AACH;;;;;;;yBAhCYF,c;AAAc,O;;;;cAAdA,c;AAAc;;;;;;;;;;;;;;;;;ACL3B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAaA,UAAMI,OAAO,GAAG,iDAAiB3qG,MAAM,CAAC4qG,SAAP,CAAiBC,SAAlC,CAAhB;;UAEaC,wB;AAEX,0CAAoB5pG,UAApB,EAAgD;AAAA;;AAA5B,eAAAA,UAAA,GAAAA,UAAA;AAA8B;;;;iBAElD,mBACEk6B,OADF,EAEE/4B,IAFF,EAEmB;AAAA;;AAEjB,iBAAK0oG,WAAL,GAAmBJ,OAAO,CAACK,cAAR,EAAnB;AAEA,gBAAMC,OAAO,GAAGrsG,IAAI,CAACC,KAAL,CAAWyoB,cAAc,CAAC5oB,OAAf,CAAuB,MAAvB,CAAX,CAAhB;AACA,gBAAIwsG,eAAJ;AACA,gBAAInmF,GAAG,GAAG,EAAV;AAEA,gBACE,qEAAgB,IAAhB,IACA,kEAAa6gF,MAAb,IAAuB,IADvB,IAEA,kEAAaA,MAAb,IAAuB5vE,SAHzB,EAKEjR,GAAG,GAAG,kEAAa6gF,MAAnB;AACFsF,2BAAe,GAAG9vE,OAAO,CAACmU,KAAR,CAAc;AAC9BprC,qBAAO,EAAEi3B,OAAO,CAACj3B,OAAR,CACNu2C,GADM,CACF,aADE,EACa,KAAKqwD,WADlB,EAENrwD,GAFM,CAEF,SAFE,EAES31B,GAFT,EAGN21B,GAHM,CAGF,cAHE,EAGc,kBAHd;AADqB,aAAd,CAAlB;;AAMA,gBAAIuwD,OAAJ,EAAa;AACXC,6BAAe,GAAGA,eAAe,CAAC37D,KAAhB,CAAsB;AACtCprC,uBAAO,EAAE+mG,eAAe,CAAC/mG,OAAhB,CAAwBu2C,GAAxB,CAA4B,eAA5B,EAA6CuwD,OAA7C;AAD6B,eAAtB,CAAlB;AAGD;;AACD,mBAAO5oG,IAAI,CAAC8oG,MAAL,CAAYD,eAAZ,EAA6BzuF,IAA7B,CACL,2DACE,YAAM,CAAE,CADV,EAEE,UAACtX,GAAD,EAAc;AACZ,kBAAIA,GAAG,YAAY,sEAAnB,EAAsC;AACpC,oBACEA,GAAG,CAAC4uF,MAAJ,KAAe,GAAf,IACA5uF,GAAG,CAACnE,GAAJ,IAAW,kEAAayB,aAAb,GAA6B,gCAF1C,EAGE;AACA;AACA,0BAAI,CAACvB,UAAL,CAAgBumB,MAAhB;AACD,iBAND,MAMO,IAAItiB,GAAG,CAAC4uF,MAAJ,KAAe,GAAnB,EAAwB,CAC7B;AACD,iBAFM,MAEA,IAAI5uF,GAAG,CAAC4uF,MAAJ,KAAe,GAAnB,EAAwB,CAC7B;AACD,iBAFM,MAEA,CACL;AACD;AACF;AACF,aAlBH,CADK,CAAP;AAsBD;;;;;;;yBArDU+W,wB,EAAwB,uI;AAAA,O;;;eAAxBA,wB;AAAwB,iBAAxBA,wBAAwB;;;;;;;;;;;;;;;;;ACJrC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACPI;;AAA2D;AAAA;;AAAA;;AAAA;AAAA;;;;AACpB;;;;AAAvC;;;;;;;;AACF;;AAAmE;AAAA;;AAAA;;AAAA;AAAA;;;;AACA;;;;AAAvC;;;;;;AAaxB;;AACE;;AACE;;AACE;;AACA;;AACE;;AAAK;;;;AAAoC;;AAC3C;;AACF;;AACF;;AACF;;;;AAJa;;AAAA;;;;;;AAKb;;AACE;;AACE;;AACE;;AACA;;AACE;;AAAK;;;;AAA0B;;AACjC;;AACF;;AACF;;AACF;;;;AAJa;;AAAA;;;;;;AAKb;;AACE;;AACE;;AACF;;AACF;;;;;;AAIM;;AAAiE;;;;AAAmC;;;;;;AAAnC;;AAAA;;;;;;AAFrE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AACA;;AACE;;AAAoB;;AAAM;;AAAC;;AAC7B;;AACF;;;;;;;;AAdW;;AAAA;;AAGP;;AAAA;;AAE4C;;AAAA;;AAC5C;;AAAA;;AAGA;;AAAA;;AAE4C;;AAAA;;AAC5C;;AAAA;;;;;;AAfN;;AACE;;AAiBF;;;;;;AAjBuB;;AAAA;;;;;;AArC3B;;AACE;;AACE;;AACE;;AACE;;AAAgE;;;;AAAoB;;AACpF;;AAAoE;;;;AAAsB;;AAC1F;;AAA8C;;;;AAAqB;;AACnE;;AAA8C;;;;AAAmB;;AACjE;;AAA8C;;;;AAAsB;;AACtE;;AACF;;AACA;;AAUA;;AAUA;;AAKA;;AAmBF;;AACF;;;;;;AApDwE;;AAAA;;AACI;;AAAA;;AACtB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAG1C;;AAAA;;AAUA;;AAAA;;AAUsC;;AAAA;;AAKtC;;AAAA;;;;;;AAsBZ;;;;UDjDWM,qB;AAwBX,uCACUx6F,aADV,EAEUhL,QAFV,EAGSD,SAHT,EAIUoL,aAJV,EAKU7P,UALV,EAMUulF,YANV,EAMuC;AAAA;;AAAA;;AAL7B,eAAA71E,aAAA,GAAAA,aAAA;AACA,eAAAhL,QAAA,GAAAA,QAAA;AACD,eAAAD,SAAA,GAAAA,SAAA;AACC,eAAAoL,aAAA,GAAAA,aAAA;AACA,eAAA7P,UAAA,GAAAA,UAAA;AACA,eAAAulF,YAAA,GAAAA,YAAA;AA1BV,eAAA4kB,aAAA,GAAgB,EAAhB;AAGA,eAAAjkB,OAAA,GAAU,EAAV;AACA,eAAA3W,QAAA,GAAoB,KAApB;AAMA,eAAAwW,UAAA,GAAa,CACX;AAAEC,gBAAI,EAAE,WAAR;AAAqB7gF,gBAAI,EAAE,MAA3B;AAAmC8gF,qBAAS,EAAE;AAA9C,WADW,EAEX;AAAED,gBAAI,EAAE,UAAR;AAAoB7gF,gBAAI,EAAE,QAA1B;AAAoC8gF,qBAAS,EAAE;AAA/C,WAFW,EAGX;AAAED,gBAAI,EAAE,aAAR;AAAuB7gF,gBAAI,EAAE,OAA7B;AAAsC8gF,qBAAS,EAAE;AAAjD,WAHW,EAIX;AAAED,gBAAI,EAAE,cAAR;AAAwB7gF,gBAAI,EAAE,KAA9B;AAAqC8gF,qBAAS,EAAE;AAAhD,WAJW,EAKX;AAAED,gBAAI,EAAE,YAAR;AAAsB7gF,gBAAI,EAAE,QAA5B;AAAsC8gF,qBAAS,EAAE;AAAjD,WALW,EAMX;AAAED,gBAAI,EAAE,QAAR;AAAkB7gF,gBAAI,EAAE,QAAxB;AAAkC8gF,qBAAS,EAAE;AAA7C,WANW,EAOX;AAAED,gBAAI,EAAE,SAAR;AAAmB7gF,gBAAI,EAAE,SAAzB;AAAoC8gF,qBAAS,EAAE;AAA/C,WAPW,CAAb;AAkBE,eAAK3tC,UAAL;AAGA,eAAKt4C,UAAL,CAAgB4zF,gBAAhB,CAAiCvxF,SAAjC,CAA2C,UAAC8P,QAAD,EAAc;AACvD,oBAAI,CAACA,QAAL,GAAgBA,QAAhB;AACD,WAFD;AAID;;;;iBAED,2BAAkBmwF,KAAlB,EAAuC;AACrC,gBAAIA,KAAK,IAAI,KAAKv7F,cAAlB,EAAkC;AAChC,kBAAI+L,aAAa,GAAG,KAAK/L,cAAL,CAAoB3D,IAApB,CAClB,UAAC0K,CAAD;AAAA,uBAAOA,CAAC,CAAC,aAAD,CAAD,KAAqBw0F,KAAK,CAAC1sE,YAAlC;AAAA,eADkB,CAApB;;AAGA,kBAAI9iB,aAAJ,EAAmB;AACjBwvF,qBAAK,CAACC,QAAN,GAAiBzvF,aAAa,CAAC,eAAD,CAA9B;AACAwvF,qBAAK,CAACE,QAAN,GAAiB1vF,aAAa,CAAC,eAAD,CAA9B;AACAwvF,qBAAK,CAACl0E,OAAN,GAAgBtb,aAAa,CAAC,SAAD,CAA7B;AACD;AACF;AACF;;;iBAED,oBAAW;AACT,iBAAKuvF,iBAAL;AACD;;;eAED,eAAa;AACX,mBAAO,KAAKnc,OAAL,CAAa15E,MAAb,CAAoB,UAACo6E,GAAD;AAAA,qBAASA,GAAG,CAACX,SAAb;AAAA,aAApB,CAAP;AACD;;;iBAED,6BAAoB;AAAA;;AAClB,iBAAKr8E,eAAL,GAAuB,IAAvB;;AAEA,iBAAKlF,QAAL,CAAc29F,iBAAd,GAAkChgG,SAAlC,CAA4C,UAACC,GAAD,EAAS;AACnD,sBAAI,CAACsH,eAAL,GAAuB,KAAvB;AACA,sBAAI,CAACq9E,aAAL,GAAqB3kF,GAArB;AACD,aAHD;AAID;;;iBAED,gBAAOskF,GAAP,EAAYz6E,KAAZ,EAAmB;AACjBy6E,eAAG,CAACX,SAAJ,GAAgB,CAACW,GAAG,CAACX,SAArB;AAEA,iBAAKS,UAAL;AACD;;;iBAED,sBAAa;AACX,iBAAKnB,YAAL,CAAkB6kB,iBAAlB,CAAoC,KAAKlkB,OAAzC;;AACA,iBAAKtiE,YAAL;AACD;;;iBAED,wBAAe;AACb3B,sBAAU,CAAC,YAAM;AACfnjB,oBAAM,CAAC+lB,aAAP,CAAqB,IAAIC,KAAJ,CAAU,QAAV,CAArB;AACD,aAFS,EAEP,EAFO,CAAV;AAGD;;;iBAED,cAAK3Y,KAAL,EAAmC;AACjC,2FAAgB,KAAK+5E,OAArB,EAA8B/5E,KAAK,CAACq6E,aAApC,EAAmDr6E,KAAK,CAACs6E,YAAzD;AACA,iBAAKC,UAAL;AACD;;;iBAED,wBAAe;AAAA;;AACb,iBAAKnX,QAAL,GAAgB,CAAC,KAAKA,QAAtB,CADa,CAGb;;AACA,iBAAK86B,oBAAL,GAJa,CAMb;;AACA,iBAAK/xD,UAAL;AAEA7/B,uBAAW,CAAC,YAAM;AAChB,sBAAI,CAAC82D,QAAL,GAAgB,KAAhB,CADgB,CAEhB;AACD,aAHU,EAGR,KAHQ,CAAX,CATa,CAYF;AACZ;;;iBAED,gCAAuB;AACrB;AACA,gBAAI,KAAK+6B,wBAAT,EAAmC;AACjC,mBAAKA,wBAAL,CAA8BxxE,WAA9B;AACD;;AACD,gBAAI,KAAKyxE,iBAAT,EAA4B;AAC1B,mBAAKA,iBAAL,CAAuBzxE,WAAvB;AACD;AACF;;;iBAED,sBAAa;AAAA;;AACX,gBAAI,CAAC,KAAKy2C,QAAV,EAAoB;AAClB;AACA,mBAAK+6B,wBAAL,GAAgC,KAAK56F,aAAL,CAAmBwK,YAAnB,CAAgC7X,SAAhC,CAA0C,UAACC,GAAD,EAAS;;;AACjF,oBAAI,QAAI,CAACyE,cAAT,EAAyB;AACvBzE,qBAAG,CAACmnD,OAAJ;AACAnnD,qBAAG,CAAC0B,OAAJ,CAAY,UAACs+F,KAAD,EAAW;AACrB,wBAAI,QAAI,CAACrb,aAAT,EAAwB;AACtB,8BAAI,CAAC9tE,iBAAL,CAAuBmpF,KAAvB;;AACA,8BAAI,CAACrb,aAAL,CAAmBpxD,OAAnB,CAA2BysE,KAA3B;AACD;AACF,mBALD,EAFuB,CAQvB;;AACA,sBAAI,eAAI,CAACrb,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAEljF,MAApB,IAA6B,GAAjC,EAAsC;AACpC,4BAAI,CAACkjF,aAAL,CAAmBljF,MAAnB,GAA4B,GAA5B;AACD;AACF;AACF,eAd+B,CAAhC;AAeD,aAlBU,CAoBX;;;AACA,gBAAI,KAAK8L,aAAL,CAAmBuJ,WAAvB,EAAoC;AAClC,mBAAKrS,cAAL,GAAsB,KAAK8I,aAAL,CAAmBuJ,WAAnB,CAA+BxY,QAA/B,EAAtB;AACD;;AAED,iBAAK2pG,iBAAL,GAAyB,KAAK16F,aAAL,CAAmBwJ,YAAnB,CAAgChX,SAAhC,CAA0C,UAACC,GAAD,EAAS;AAC1E,sBAAI,CAACyE,cAAL,GAAsBzE,GAAtB;AACD,aAFwB,CAAzB;AAGD;;;iBAID,uBAAc;AACZ;AACA,iBAAK+nG,oBAAL;AACD;;;;;;;yBAzJUH,qB,EAAqB,gJ,EAAA,wI,EAAA,qI,EAAA,sK,EAAA,gJ,EAAA,kJ;AAAA,O;;;cAArBA,qB;AAAqB,0C;AAAA,gB;AAAA,e;AAAA,+lD;AAAA;AAAA;AClBlC;;AACE;;AACE;;;;AAEA;;AAEF;;AAEA;;AACA;;AA0DA;;AACF;;;;AAlEI;;AAAA;;AAEI;;AAAA;;AAEF;;AAAA;;AAGqB;;AAAA;;AA0DH;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChDd;;;;;;AACA;;;;;;AAcI;;AACE;;AACF;;;;;;AAFyB;;AACvB;;AAAA;;;;;;AAEF;;AACE;;AACF;;;;;;AAFyB;;AACvB;;AAAA;;;;;;AAEF;;AACE;;AACF;;;;;;AAFyB;;AACvB;;AAAA;;;;;;AAKJ;;AACE;;;;AACF;;;;;;AADE;;AAAA;;;;;;AAMA;;;;;;AACA;;;;;;AAJF;;AACE;;;;AAEA;;AACA;;AACF;;;;;;AALyB;;AACvB;;AAAA;;AAE+B;;AAAA;;AACE;;AAAA;;;;;;AAGnC;;AACE;;;;AACF;;;;;;AADE;;AAAA;;;;;;AAMA;;;;;;AACA;;;;;;AAJF;;AACE;;;;AAEA;;AACA;;AACF;;;;;;AALyB;;AACvB;;AAAA;;AAE+B;;AAAA;;AACE;;AAAA;;;;;;AAGnC;;AACE;;;;AACF;;;;;;AADE;;AAAA;;;;;;AAMA;;;;;;AACA;;;;;;AAJF;;AACE;;;;AAEA;;AACA;;AACF;;;;;;AALyB;;AACvB;;AAAA;;AAE+B;;AAAA;;AACE;;AAAA;;;;;;;;AAlD3C;;AACE;;AACE;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AAGA;;AAGA;;AAGF;;AACF;;AACA;;AACE;;AAIA;;AAOA;;AAIA;;AAOA;;AAIA;;AAQF;;AACF;;AACF;;AACA;;AACE;;AAAyB;AAAA;;AAAA;;AAAA,kCAAgB,CAAhB;AAAiB,WAAjB;;AAAoB;;AAAK;;AAClD;;AAAyB;AAAA;;AAAA;;AAAA,kCAAgB,CAAhB;AAAiB,WAAjB;;AAAoB;;AAAK;;AAClD;;AAAyB;AAAA;;AAAA;;AAAA,kCAAgB,CAAhB;AAAiB,WAAjB;;AAAoB;;AAAM;;AACrD;;AACF;;;;;;AAzDU;;AAAA;;AAGM;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAMoB;;AAAA;;AAItB;;AAAA;;AAOsB;;AAAA;;AAItB;;AAAA;;AAOsB;;AAAA;;AAItB;;AAAA;;;;;;AAoBd;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AACE;;;;AAA6B;;AAAyB;;AAAC;;AACzD;;AACF;;AACA;;AACE;;AACE;;;;AACF;;AACA;;AACE;;;;AAA2B;;AAAyB;;AAAC;;AACvD;;AACF;;AACA;;AACE;;AACE;;;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACF;;;;;;AAtBM;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAGA;;AAAA;;;;;;;;;;;;AAKN;;AACE;;AACE;;AAA+C;;AAAE;;AACjD;;AACE;;AAEF;;AACA;;AAA0B;;AAAqB;;AACjD;;AACA;;AACE;;AAA+C;;AAAK;;AACpD;;AACE;;AACF;;AACA;;AAA0B;;AAAqB;;AACjD;;AACA;;AACE;;AAA+C;;AAAI;;AACnD;;AACE;;AAEF;;AACA;;AAA0B;;AAAqB;;AACjD;;AACF;;;;;;AApB8B;;AAAA;;AAGA;;AAAA;;AAKA;;AAAA;;AAEA;;AAAA;;AAKA;;AAAA;;AAGA;;AAAA;;;;UCnIrBM,0B;AAOX,4CAAoB9lG,QAApB,EAA0CiY,OAA1C,EAAmE;AAAA;;AAAA;;AAA/C,eAAAjY,QAAA,GAAAA,QAAA;AALpB,eAAA+lG,QAAA,GAAW,CAAX;AAsBA,eAAA7wE,WAAA,GAAc,CAAC,OAAD,EAAU,OAAV,EAAmB,QAAnB,CAAd;AAhBEjd,iBAAO,CAACvC,cAAR,CAAuB/X,SAAvB,CAAiC,UAACC,GAAD,EAAS;AACxC,oBAAI,CAACooG,OAAL,GAAepoG,GAAf;AACA,oBAAI,CAACqoG,SAAL,GACE,QAAI,CAACD,OAAL,CAAaE,SAAb,GACA,QAAI,CAACF,OAAL,CAAaG,SADb,GAEA,QAAI,CAACH,OAAL,CAAaI,SAHf;AAID,WAND;AAQAnuF,iBAAO,CAACrC,mBAAR,CAA4BjY,SAA5B,CAAsC,UAACC,GAAD,EAAS;AAC7C,oBAAI,CAACyoG,cAAL,GAAsBzoG,GAAtB;AACD,WAFD;AAIA,eAAK0oG,kBAAL;AACA,eAAKC,iBAAL;AACD;;;;iBAID,8BAAqB;AAAA;;AACnB,iBAAKvmG,QAAL,CAAcsmG,kBAAd,GAAmC3oG,SAAnC,CAA6C,UAACC,GAAD,EAAS;AACpD,sBAAI,CAACooG,OAAL,GAAepoG,GAAf;AACA,sBAAI,CAACqoG,SAAL,GACE,QAAI,CAACD,OAAL,CAAaE,SAAb,GACA,QAAI,CAACF,OAAL,CAAaG,SADb,GAEA,QAAI,CAACH,OAAL,CAAaI,SAHf;AAID,aAND;AAOD;;;iBAED,6BAAoB;AAAA;;AAClB,iBAAKpmG,QAAL,CAAcumG,iBAAd,GAAkC5oG,SAAlC,CAA4C,UAACC,GAAD,EAAS;AACnD,kBAAIA,GAAG,CAACyB,MAAJ,GAAa,CAAjB,EAAoB;AAClB,wBAAI,CAACgnG,cAAL,GAAsB,IAAtB;AACD;;AACD,sBAAI,CAACG,OAAL,GAAe,IAAI7kG,IAAJ,EAAf;AACD,aALD;AAMD;;;iBAED,gBAAO4mF,MAAP,EAAe;AACb,iBAAKwd,QAAL,GAAgBxd,MAAhB;AACD;;;iBAED,oBAAQ,CAAW;;;;;;;yBAjDRud,0B,EAA0B,wI,EAAA,gJ;AAAA,O;;;cAA1BA,0B;AAA0B,gD;AAAA,iB;AAAA,e;AAAA,yoF;AAAA;AAAA;ADVvC;;AAEE;;AACE;;AAUE;;AACE;;AACE;;AAA+B;;AAAG;;AAClC;;AACF;;AACA;;AACE;;AACA;;AACA;;AAAyB;;;;AAA+B;;AAC1D;;AACF;;AACF;;AAEA;;AA+DF;;AAEA;;AACE;;AA2BA;;AAyBF;;AAEF;;;;AA/HiB;;AAAA;;AACA;;AAAA;;AACkB;;AAAA;;AAKoB;;AAAA;;AAkE8C;;AAAA;;AA2BtB;;AAAA;;;;;;;;;;;;;;;;;;;;;;AEtH/E;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACUU;;AACE;;AACE;;AAA8B;AAAA,mBAAS/jG,MAAM,CAACyyB,eAAP,EAAT;AAAiC,WAAjC,EAAkC,QAAlC,EAAkC;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAlC;;AAC5B;;AACE;;AACE;;AACF;;AACA;;AAAgE;;;;AAAwB;;AAC1F;;AACF;;AACF;;AACF;;;;;;AAToG;;AAAA;;AACvF;;AAAA;;AAI2D;;AAAA;;;;;;AAaxE;;AAA4C;;;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AAM1C;;AAAyC;;;;AAAyC;;;;;;;;AAAzC;;AAAA;;;;;;AAEvC;;AAA+E;;AAAiF;;;;;;;;AAAjF;;AAAA;;;;;;AAC/E;;AAA+E;;AAAuE;;;;;;;;AAAvE;;AAAA;;;;;;AAFjF;;AACE;;AACA;;AACF;;;;;;AAFS;;AAAA;;AACA;;AAAA;;;;;;AAET;;AAAkC;;AAA6E;;;;;;;;AAA7E;;AAAA;;;;;;AAClC;;AAAwC;;;;AAA2C;;;;;;;;AAA3C;;AAAA;;;;;;AACxC;;AAAiF;;AAAiB;;;;;;;;AAAjB;;AAAA;;;;;;AARnF;;AACE;;AACA;;AAIA;;AACA;;AACA;;AACF;;;;;;;;AARqB;;AAAA;;AACA;;AAAA;;AAIZ;;AAAA;;AACY;;AAAA;;AACA;;AAAA;;;;;;AATvB;;AACE;;AAUF;;;;;;AAVoB;;AAAA;;;;;;AAWpB;;AACE;;AAAkF;;;;AAAkC;;AACtH;;;;AADoF;;AAAA;;;;UDhC/EiyE,qB;AA4DX,uCACS1mG,SADT,EAES6gF,QAFT,EAGUC,YAHV,EAISvoF,MAJT,EAI0B;AAAA;;AAHjB,eAAAyH,SAAA,GAAAA,SAAA;AACA,eAAA6gF,QAAA,GAAAA,QAAA;AACC,eAAAC,YAAA,GAAAA,YAAA;AACD,eAAAvoF,MAAA,GAAAA,MAAA;AA/DT,eAAA8I,IAAA,GAAO,EAAP;AAEA,eAAA6/E,SAAA,GAA0B,IAAI,4CAAJ,EAA1B;AACA,eAAAD,UAAA,GAAa,kEAAb;AAkBA,eAAAD,UAAA,GAAsB,KAAtB;AA+EA,eAAAM,UAAA,GAAa,CACX;AAAEC,gBAAI,EAAE,iBAAR;AAA2B7gF,gBAAI,EAAE,MAAjC;AAAyC8gF,qBAAS,EAAE;AAApD,WADW,EAEX;AAAED,gBAAI,EAAE,UAAR;AAAoB7gF,gBAAI,EAAE,cAA1B;AAA0C8gF,qBAAS,EAAE;AAArD,WAFW,EAGX;AAAED,gBAAI,EAAE,aAAR;AAAuB7gF,gBAAI,EAAE,QAA7B;AAAuC8gF,qBAAS,EAAE;AAAlD,WAHW,EAIX;AAAED,gBAAI,EAAE,WAAR;AAAqB7gF,gBAAI,EAAE,UAA3B;AAAuC8gF,qBAAS,EAAE;AAAlD,WAJW,EAKX;AAAED,gBAAI,EAAE,mBAAR;AAA6B7gF,gBAAI,EAAE,MAAnC;AAA2C8gF,qBAAS,EAAE;AAAtD,WALW,EAMX;AAAED,gBAAI,EAAE,mBAAR;AAA6B7gF,gBAAI,EAAE,YAAnC;AAAiD8gF,qBAAS,EAAE;AAA5D,WANW,EAOX;AAAED,gBAAI,EAAE,eAAR;AAAyB7gF,gBAAI,EAAE,eAA/B;AAAgD8gF,qBAAS,EAAE;AAA3D,WAPW,EAQX;AAAED,gBAAI,EAAE,iBAAR;AAA2B7gF,gBAAI,EAAE,gBAAjC;AAAmD8gF,qBAAS,EAAE;AAA9D,WARW,EASX;AAAED,gBAAI,EAAE,gBAAR;AAA0B7gF,gBAAI,EAAE,KAAhC;AAAuC8gF,qBAAS,EAAE;AAAlD,WATW,EAUX;AAAED,gBAAI,EAAE,kBAAR;AAA4B7gF,gBAAI,EAAE,OAAlC;AAA2C8gF,qBAAS,EAAE;AAAtD,WAVW,EAWX;AAAED,gBAAI,EAAE,YAAR;AAAsB7gF,gBAAI,EAAE,OAA5B;AAAqC8gF,qBAAS,EAAE;AAAhD,WAXW,CAAb;AAaA,eAAAmlB,WAAA,GAAc,CACZ;AACEhnG,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,UAArC,GAAkD;AAHtD,WADY,EAMZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,aAArC,GAAqD;AAHzD,WANY,EAWZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,aAArC,GAAqD;AAHzD,WAXY,EAgBZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,SAArC,GAAiD;AAF9D,WAhBY,EAoBZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,aADJ,GAEI;AALR,WApBY,EA2BZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,QAArC,GAAgD;AAF7D,WA3BY,EA+BZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,gBADJ,GAEI;AALR,WA/BY,EAsCZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,WAArC,GAAmD;AAHvD,WAtCY,EA2CZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,gBADJ,GAEI;AALR,WA3CY,EAkDZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,WAArC,GAAmD;AAFhE,WAlDY,EAsDZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,iBADJ,GAEI;AALR,WAtDY,EA6DZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,YAArC,GAAoD;AAFjE,WA7DY,EAiEZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,wBADJ,GAEI;AALR,WAjEY,EAwEZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,sBADJ,GAEI;AALR,WAxEY,EA+EZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,WAArC,GAAmD;AAFhE,WA/EY,EAmFZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,YAArC,GAAoD;AAHxD,WAnFY,EAwFZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,WAArC,GAAmD;AAFhE,WAxFY,EA4FZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,iBADJ,GAEI;AALR,WA5FY,EAmGZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,QAArC,GAAgD;AAF7D,WAnGY,EAuGZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,WAArC,GAAmD;AAFhE,WAvGY,EA2GZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,WAArC,GAAmD;AAFhE,WA3GY,EA+GZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,aAArC,GAAqD;AAHzD,WA/GY,EAoHZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,aAArC,GAAqD;AAFlE,WApHY,EAwHZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,YAArC,GAAoD;AAHxD,WAxHY,EA6HZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,YAArC,GAAoD;AAHxD,WA7HY,EAkIZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,aAArC,GAAqD;AAHzD,WAlIY,CAAd;AAwIA,eAAA0+E,OAAA,GAAU,EAAV;AAzLI;;;;iBA1CJ,wBAAe9hF,KAAf,EAAsB;AACpB,gBAAIA,KAAK,IAAI,IAAb,EAAmB;AACjB,kBAAI,KAAKK,SAAL,CAAe+C,WAAf,IAA8B,IAAlC,EAAwC;AACtC,uBAAO,KAAK6+E,SAAL,CAAejjF,IAAf,CAAoB,UAAC0K,CAAD;AAAA,yBAAOA,CAAC,CAACuC,aAAF,IAAmBjM,KAA1B;AAAA,iBAApB,EACJkM,gBADH;AAED,eAHD,MAGO;AACL,uBAAO,KAAK+1E,SAAL,CAAejjF,IAAf,CAAoB,UAAC0K,CAAD;AAAA,yBAAOA,CAAC,CAACuC,aAAF,IAAmBjM,KAA1B;AAAA,iBAApB,EACJmM,gBADH;AAED;AACF;AACF;;;iBACD,oBAAWnM,KAAX,EAAkB;AAChB,gBAAIA,KAAK,IAAI,IAAb,EAAmB;AACjB,kBAAI,KAAKK,SAAL,CAAe+C,WAAf,IAA8B,IAAlC,EAAwC;AACtC,uBAAO,KAAK8jG,UAAL,CAAgBloG,IAAhB,CAAqB,UAAC0K,CAAD;AAAA,yBAAOA,CAAC,CAAClG,UAAF,IAAgBxD,KAAvB;AAAA,iBAArB,EAAmDwI,WAA1D;AACD,eAFD,MAEO;AACL,uBAAO,KAAK0+F,UAAL,CAAgBloG,IAAhB,CAAqB,UAAC0K,CAAD;AAAA,yBAAOA,CAAC,CAAClG,UAAF,IAAgBxD,KAAvB;AAAA,iBAArB,EAAmDuI,WAA1D;AACD;AACF;AACF;;;iBACD,gBAAOq5E,IAAP,EAAa;AACX,mBAAOA,IAAI,IAAI,iBAAf;AACD;;;iBACD,kBAASA,IAAT,EAAe;AACb,mBAAOA,IAAI,IAAI,mBAAf;AACD;;;iBACD,eAAMA,IAAN,EAAY;AACV,mBACEA,IAAI,IAAI,kBAAR,IACAA,IAAI,IAAI,YADR,IAEAA,IAAI,IAAI,gBAHV;AAKD;;;iBACD,qBAAYA,IAAZ,EAAkB;AAChB,mBAAOA,IAAI,IAAI,iBAAf;AACD;;;iBASD,oBAAQ;AACN,gBAAI,KAAKT,YAAL,CAAkBgmB,sBAAlB,EAAJ,EAAgD;AAC9C,mBAAKrlB,OAAL,GAAe,KAAKX,YAAL,CAAkBgmB,sBAAlB,EAAf;AACD,aAFD,MAEO;AACL,mBAAKrlB,OAAL,GAAe,KAAKH,UAApB;AACD;;AACD,iBAAKJ,SAAL,CAAexkF,IAAf;AACA,iBAAKyiB,YAAL;AAEA,iBAAKjf,SAAL,GAAiB;AACf;AACAC,oBAAM,EAAE,KAFO;AAGfC,uBAAS,EAAE,KAHI;AAIfC,uBAAS,EAAE,IAJI;AAKfC,kBAAI,EAAE,KALS;AAMfC,wBAAU,EAAE,IANG;AAOf22B,yBAAW,EAAE,IAPE;AAQf9J,oBAAM,EAAE,KARO;AASf5sB,mBAAK,EAAE,CAAC,CAAC,CAAD,EAAI,MAAJ,CAAD,CATQ;AAUf42B,qBAAO,EAAE;AAVM,aAAjB;AAwBD;;;iBAwJD,cAAK1vB,KAAL,EAAmC;AACjC,2FAAgB,KAAK+5E,OAArB,EAA8B/5E,KAAK,CAACq6E,aAApC,EAAmDr6E,KAAK,CAACs6E,YAAzD;AACA,iBAAKC,UAAL;AACD;;;iBACD,sBAAa;AACX,iBAAKnB,YAAL,CAAkBimB,uBAAlB,CAA0C,KAAKtlB,OAA/C;;AACA,iBAAKtiE,YAAL;AACD;;;iBACD,wBAAe;AACb3B,sBAAU,CAAC,YAAM;AACfnjB,oBAAM,CAAC+lB,aAAP,CAAqB,IAAIC,KAAJ,CAAU,QAAV,CAArB;AACD,aAFS,EAEP,GAFO,CAAV;AAGD;;;iBAED,gBAAO8hE,GAAP,EAAYz6E,KAAZ,EAAmB;AACjBy6E,eAAG,CAACX,SAAJ,GAAgB,CAACW,GAAG,CAACX,SAArB;AACA,iBAAKriE,YAAL;AACA,iBAAK8iE,UAAL;AACD;;;eACD,eAAa;AACX,mBAAO,KAAKR,OAAL,CAAa15E,MAAb,CAAoB,UAACo6E,GAAD;AAAA,qBAASA,GAAG,CAACX,SAAb;AAAA,aAApB,CAAP;AACD;;;iBAED,qBAAYr4E,OAAZ,EAAoC;AAClC,gBAAI,KAAKg4E,YAAL,IAAqB,IAArB,IAA6Bh4E,OAAO,CAACg4E,YAAR,IAAwB,IAAzD,EAA+D;AAC7D,kBACEh4E,OAAO,CAACg4E,YAAR,CAAqB93D,YAArB,IAAqClgB,OAAO,CAACg4E,YAAR,CAAqBiB,aAD5D,EAEE;AACA,qBAAKpB,UAAL,GAAkB,IAAlB;AACA,qBAAKG,YAAL,GAAoBh4E,OAAO,CAACg4E,YAAR,CAAqB93D,YAAzC;AACD,eALD,MAKO;AACL,qBAAK23D,UAAL,GAAkB,KAAlB;AACD;AACF,aATD,MASO;AACL,mBAAKA,UAAL,GAAkB,KAAlB;AACD;AACF;;;iBAED,mBAAUrhF,KAAV,EAAiB;AACf,mBAAO,KAAKgnG,WAAL,CAAiBhoG,IAAjB,CAAsB,UAAC0K,CAAD;AAAA,qBAAOA,CAAC,CAAC1J,KAAF,IAAWA,KAAlB;AAAA,aAAtB,EAA+CinG,SAAtD;AACD;;;iBAED,mBAAUhkG,GAAV,EAAe;AAAA;;AACb,gBAAMwH,SAAS,GAAG,KAAK7R,MAAL,CAAY4L,IAAZ,CAAiB,gHAAjB,EAA8C;AAC9DK,wBAAU,EAAE,yBADkD;AAE9DC,kBAAI,EAAE;AAAEjE,qBAAK,EAAEoC;AAAT,eAFwD;AAG9D8G,mBAAK,EAAE;AAHuD,aAA9C,CAAlB;AAKAU,qBAAS,CAACsV,WAAV,GAAwB9hB,SAAxB,CAAkC,UAACopG,SAAD,EAAwB;AACxD,kBAAIA,SAAJ,EAAe;AACb,wBAAI,CAACnmB,QAAL,CACG18E,IADH,CACQ,4BADR,EACsC,IADtC,EAC4C;AACxC8wC,0BAAQ,EAAE;AAD8B,iBAD5C,EAIGgyD,cAJH,GAKGrpG,SALH,CAKa,UAACC,GAAD,EAAS,CAAE,CALxB;AAMD,eAPD,MAOO;AACL,wBAAI,CAACgjF,QAAL,CAAc18E,IAAd,CAAmB,qBAAnB,EAA0C,OAA1C,EAAmD;AACjD8wC,0BAAQ,EAAE;AADuC,iBAAnD;AAGD;AACF,aAbD;AAcD;;;;;;;yBA1TUyxD,qB,EAAqB,qI,EAAA,wI,EAAA,kJ,EAAA,mI;AAAA,O;;;cAArBA,qB;AAAqB,0C;AAAA;AAAA;AAAA;AAAA;AAAA,S;AAAA,sF;AAAA,iB;AAAA,gB;AAAA,80C;AAAA;AAAA;AChBlC;;AACE;;AACE;;AAA8B;;;;AAAuB;;AACrD;;AACE;;AAAgC;;AAClC;;AACE;;AACE;;AACE;;AAAQ;;;;AAA2B;;AACrC;;AACA;;AAAiB;AAAA,qBAAsB,IAAApkB,IAAA,QAAtB;AAAkC,aAAlC;;AACf;;AAYF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AAYA;;AAGF;;AACF;;AAEF;;AACF;;;;;;AApDkC;;AAAA;;AACsB;;AAAA;;AAKtC;;AAAA;;AAGa;;AAAA;;AAiBK;;AAAA,iGAAuB,WAAvB,EAAuB,aAAvB;;AAGO;;AAAA;;AAId;;AAAA;;AAYhB;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3CT;;AACE;;AAAgC;AAAA;;AAAA;;AAAA;AAAA;;AAC9B;;;;AACF;;AACA;;AAAmC;AAAA;;AAAA;;AAAA;AAAA;;AAAiF;;AACtH;;;;AAHI;;AAAA;;;;;;;;AAiBF;;AACgC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAC9B;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AACF;;AACF;;AACF;;;;;;AAZ8E;;;;;;AAe9E;;AAEE;;AACF;;;;;;;;;;AAHQ,8FAA0B,SAA1B,EAA0B,qCAA1B;;;;;;;;AA6EF;;AACE;;AAEE;;AAA8B;AAAA,mBAAStgF,MAAM,CAACyyB,eAAP,EAAT;AAAiC,WAAjC,EAAkC,QAAlC,EAAkC;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAlC;;AAE5B;;AACE;;AACE;;AACF;;AACA;;AAAgE;;;;AAAwB;;AAC1F;;AACF;;AACF;;AACF;;;;;;AATM;;AAAA;;AACO;;AAAA;;AAI2D;;AAAA;;;;;;;;;;;;;;AAvFhF;;AACE;;AAIA;;AAEE;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAoF;AAAA;;AAAA;;AAAA;AAAA;;AAElF;;AAA2D;;AAAI;;AAAY;;AAC7E;;AACF;;AACA;;AAEA;;AACE;;AACE;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AACF;;AACF;;AACA;;AACE;;AAAkE;AAAA;;AAAA;;AAAA;AAAA;;AACb;;AAC7C;;AACV;;AAEA;;AACE;;AAA6D;AAAA;;AAAA;;AAAA,oCAAkB,OAAlB;AAAyB,WAAzB;;AAC1B;;AAAK;;AAC1C;;AACA;;AACE;;AAA6D;AAAA;;AAAA;;AAAA,oCAAkB,OAAlB;AAAyB,WAAzB;;AAE3D;;AACF;;AACF;;AACA;;AACE;;AAA8D;AAAA;;AAAA;;AAAA,oCAAkB,QAAlB;AAA0B,WAA1B;;AACR;;AAAM;;AAC9D;;AAEA;;AAEA;;AACE;;AAA4D;AAAA;;AAAA;;AAAA,uCAAqB,MAArB;AAA2B,WAA3B;;AACzB;;AAC3B;;AACV;;AACA;;AACE;;AAA2D;AAAA;;AAAA;;AAAA,uCAAqB,KAArB;AAA0B,WAA1B;;AACxB;;AAAK;;AAC1C;;AACA;;AACE;;AAA2D;AAAA;;AAAA;;AAAA,uCAAqB,KAArB;AAA0B,WAA1B;;AACxB;;AAAG;;AACxC;;AACA;;AACE;;AAA+D;AAAA;;AAAA;;AAAA,uCAAqB,SAArB;AAA8B,WAA9B;;AACT;;AAAQ;;AAChE;;AACA;;AACE;;AAAyD;AAAA;;AAAA;;AAAA,uCAAqB,GAArB;AAAwB,WAAxB;;AACtB;;AAC5B;;AACT;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAQ;;;;AAA2B;;AACrC;;AACA;;AAAiB;AAAA;;AAAA;;AAAA;AAAA;;AACf;;AAcF;;AACF;;AACF;;AACF;;;;;;;;;;AA9F8D;;AAAA;;AAIpD;;AAAA,8FAA6B,SAA7B,EAA6B,qCAA7B;;AAOC;;AAAA;;AAQA;;AAAA;;AAMA;;AAAA;;AAMA;;AAAA;;AAIA;;AAAA;;AAMA;;AAAA;;AAOA;;AAAA;;AAKA;;AAAA;;AAIA;;AAAA;;AAIA;;AAAA;;AAIA;;AAAA;;AASK;;AAAA;;AAGa;;AAAA;;;;;;;;AAsB3B;;AAAyC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEvC;;AACF;;;;;;;;AAFE;;AACA;;AAAA;;;;;;AAHJ;;AACE;;AAIF;;;;;;AAJyB;;AAAA;;;;;;AAYvB;;;;;;AAUI;;AACE;;;;AAAwB;;;;AAAxB;;AAAA;;;;;;AACF;;AACE;;AAAK;;AACL;;AACF;;;;;;AAFO;;AAAA;;;;;;AAOP;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;;;AAME;;AAAsC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACI;;;;;;;;AAC5C;;AAAuC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACZ;;;;;;;;AAJ3B;;AACE;;AAEF;;AAGA;;AACkC;AAAA;;AAAA;;AAAA;AAAA,aAAkC,gBAAlC,EAAkC;AAAA;;AAAA;;AAAA;AAAA,WAAlC,EAAkC,wBAAlC,EAAkC;AAAA;;AAAA;;AAAA;AAAA,WAAlC,EAAkC,wBAAlC,EAAkC;AAAA;;AAAA;;AAAA;AAAA,WAAlC;;AAGlC;;AAGE;;AAA8C;AAAA;;AAAA;;AAAA;;AAAA,6DAAuC,CAAvC;AAAwC,WAAxC;;AAA2C;;AAAC;;AAC1F;;AAA6C;AAAA;;AAAA;;AAAA;;AAAA,6DAAuC,CAAvC;AAAwC,WAAxC;;AAA2C;;AAAC;;AAEzF;;AAIA;;AAA6D;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA4B;;AAAC;;AAC5F;;;;;;;;AApBM;;AAAA;;AAEF;;AAAA;;AAGe;;AAAA,2FAAe,GAAf,EAAe,iBAAf,EAAe,QAAf,EAAe,oBAAf,EAAe,MAAf,EAAe,oBAAf,EAAe,eAAf,EAAe,qBAAf;;AAUT;;AAAA;;;;;;AAnBZ;;AAEE;;AAAsB;;AAA6E;;AACnG;;AAsBF;;;;;;;;AAvBwB;;AAAA;;AACf;;AAAA;;;;;;AA2BT;;AAAuC;;;;AACvC;;;;;;AADuC;;AAAA;;;;;;AAOnC;;AAA+C;;AAAC;;;;;;AAHlD;;AACE;;;;;;AAEA;;AACF;;;;;;;;;;AAJ6C;;AAC3C;;AAAA;;AAEO;;AAAA;;;;;;AAIP;;AAA+C;;AAAwB;;;;;;;;AAAxB;;AAAA;;;;;;AAC/C;;AAA2D;;;;AACzC;;;;;;;;AADyC;;AAAA;;;;;;AAF7D;;AACE;;AACA;;AAEF;;;;;;AAHS;;AAAA;;AACA;;AAAA;;;;;;AAVX;;AAEE;;AAMA;;AAKF;;;;;;;;;;AAZE;;AACO;;AAAA;;AAMA;;AAAA;;;;;;AAZX;;AAEE;;AAEA;;AAcF;;;;;;AAlBc;;AACZ;;;;;;AAmBF;;;;;;;;;;;;;;;;;AACA;;AAKG;AAAA;;AAAA;;AAAA;;AAAA;AAAA,aAAmD,OAAnD,EAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAnD;;AAEH;;;;;;;;AAPY;;;;;;AArEhB;;AACE;;AAKE;;AACE;;AAEA;;AAIF;;AAGA;;AACE;;AAGA;;AA0BF;;AAEA;;AAoBA;;AACA;;AAQF;;AACF;;;;;;AA7E2B;;AAAA;;AAKqB;;AAAA;;AAUvB;;AAAA;;AAgC2C;;AAAA;;AAoB5C;;AAAA,oGAAwB,uBAAxB,EAAwB,IAAxB;;AAOO;;AAAA;;;;;;AAQ/B;;AACE;;AAEF;;;;;;AAOI;;AACE;;;;AAAwB;;;;AAAxB;;AAAA;;;;;;AACF;;AACE;;AAAK;;AACL;;AACF;;;;;;AAFO;;AAAA;;;;;;AAOP;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;;;AAME;;AAAsC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACM;;;;;;;;AAC5C;;AAAuC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACZ;;;;;;;;AAE3B;;AACkC;AAAA;;AAAA;;AAAA;AAAA,aAAkC,gBAAlC,EAAkC;AAAA;;AAAA;;AAAA;AAAA,WAAlC,EAAkC,wBAAlC,EAAkC;AAAA;;AAAA;;AAAA;AAAA,WAAlC,EAAkC,wBAAlC,EAAkC;AAAA;;AAAA;;AAAA;AAAA,WAAlC;;AAGlC;;;;;;AAJyC,4FAAe,GAAf,EAAe,kBAAf,EAAe,QAAf,EAAe,qBAAf,EAAe,MAAf,EAAe,qBAAf,EAAe,eAAf,EAAe,sBAAf;;;;;;;;AAP3C;;AAEE;;AAEA;;AAGA;;AAMA;;AAA8C;AAAA;;AAAA;;AAAA;;AAAA,+DAAuC,CAAvC;AAAwC,WAAxC;;AAA2C;;AAAC;;AAC1F;;AAA6C;AAAA;;AAAA;;AAAA;;AAAA,+DAAuC,CAAvC;AAAwC,WAAxC;;AAA2C;;AAAC;;AAEzF;;AAGA;;AAA6D;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA4B;;AAAC;;AAC5F;;;;;;;;AAlBM;;AAAA;;AAEA;;AAAA;;AAGgB;;AAAA;;AASZ;;AAAA;;;;;;AAlBZ;;AACE;;AAAsB;;AAA6E;;AACnG;;AAqBF;;;;;;;;AAtBwB;;AAAA;;AACf;;AAAA;;;;;;AA0BT;;AAAuC;;;;AACvC;;;;;;AADuC;;AAAA;;;;;;AAMnC;;AAA+C;;AAAC;;;;;;AAFlD;;AACE;;;;AACA;;AACF;;;;;;;;;;AAH6C;;AAC3C;;AAAA;;AACO;;AAAA;;;;;;AAIP;;AAA+C;;AAAwB;;;;;;;;AAAxB;;AAAA;;;;;;AAC/C;;AAA2D;;;;AAA0C;;;;;;;;AAA1C;;AAAA;;;;;;AAF7D;;AACE;;AACA;;AACF;;;;;;AAFS;;AAAA;;AACA;;AAAA;;;;;;AATX;;AAEE;;AAKA;;AAIF;;;;;;;;;;AAVE;;AACO;;AAAA;;AAKA;;AAAA;;;;;;AAXX;;AAEE;;AAEA;;AAYF;;;;;;AAhBc;;AACZ;;;;;;AAiBF;;;;;;;;AACA;;AAKG;AAAA;;AAAA;;AAAA;;AAAA;AAAA,aAAmD,OAAnD,EAAmD;AAAA;;AAAA;;AAAA;;AAAA;AAAA,WAAnD;;AAEH;;;;;;;;AAPY;;;;;;AA/Dd;;AAIE;;AACE;;AAEA;;AAIF;;AAGA;;AACE;;AAGA;;AAwBF;;AAEA;;AAkBA;;AACA;;AAQF;;;;;;AAtEE;;AAG4C;;AAAA;;AAUvB;;AAAA;;AA8B2C;;AAAA;;AAkB5C;;AAAA,oGAAwB,uBAAxB,EAAwB,IAAxB;;AAOO;;AAAA;;;;UC3RpByyE,yB;AAgSX,2CACUpmB,YADV,EAEE71E,aAFF,EAGS1S,MAHT,EAISyH,SAJT,EAKU8iF,UALV,EAMSvnF,UANT,EAOU0E,QAPV,EAQUmL,aARV,EASU+7F,QATV,EAS6B;AAAA;;AAAA;;AARnB,eAAArmB,YAAA,GAAAA,YAAA;AAED,eAAAvoF,MAAA,GAAAA,MAAA;AACA,eAAAyH,SAAA,GAAAA,SAAA;AACC,eAAA8iF,UAAA,GAAAA,UAAA;AACD,eAAAvnF,UAAA,GAAAA,UAAA;AACC,eAAA0E,QAAA,GAAAA,QAAA;AACA,eAAAmL,aAAA,GAAAA,aAAA;AACA,eAAA+7F,QAAA,GAAAA,QAAA;AAlSV,eAAAnU,YAAA,GAA8B,EAA9B;AACA,eAAAr3F,YAAA,GAAe,IAAI,0EAAJ,EAAf;AACA,eAAAs3F,UAAA,GAAa,EAAb;AAEA,eAAAhS,UAAA,GAAa,kEAAb;AACA,eAAAmT,UAAA,GAAa,IAAI,0EAAJ,EAAb;AAEA,eAAAlB,aAAA,GAAgB,qEAAhB;AACA,eAAAkU,MAAA,GAAkB,KAAlB;AAKA,eAAAC,SAAA,GAAY,CAAZ;AACA,eAAAC,SAAA,GAAY,CAAZ;AACA,eAAAC,YAAA,GAAe,IAAf;AAGO,eAAApU,WAAA,GAAc,KAAd;AAGP,eAAAt3F,aAAA,GAAuB,EAAvB;AACA,eAAAC,iBAAA,GAAyB,IAAzB;AACA,eAAAI,UAAA,GAAuB,EAAvB;AACA,eAAAsrG,aAAA,GAA4C,EAA5C;AACA,eAAAC,YAAA,GAAqB,KAArB;AACA,eAAAC,mBAAA,GAA4B,KAA5B;AAGA,eAAAjmB,OAAA,GAAU,EAAV;AAEA,eAAA2R,UAAA,GAAa,CACX,SADW,EAEX,UAFW,EAGX,kBAHW,EAIX,mBAJW,EAKX,aALW,EAMX,iBANW,EAOX,YAPW,EAQX,aARW,EASX,WATW,EAUX,YAVW,EAWX,aAXW,EAYX,cAZW,EAaX,iBAbW,EAcX,WAdW,EAeX,YAfW,EAgBX,YAhBW,EAiBX,YAjBW,EAkBX,YAlBW,EAmBX,WAnBW,EAoBX,UApBW,EAqBX,WArBW,EAsBX,gBAtBW,EAuBX,WAvBW,CAAb;AA0BA,eAAA9R,UAAA,GAAa,CACX;AAAEC,gBAAI,EAAE,kBAAR;AAA4B7gF,gBAAI,EAAE,YAAlC;AAAgD8gF,qBAAS,EAAE;AAA3D,WADW,EAEX;AAAED,gBAAI,EAAE,mBAAR;AAA6B7gF,gBAAI,EAAE,aAAnC;AAAkD8gF,qBAAS,EAAE;AAA7D,WAFW,EAGX;AAAED,gBAAI,EAAE,aAAR;AAAuB7gF,gBAAI,EAAE,aAA7B;AAA4C8gF,qBAAS,EAAE;AAAvD,WAHW,EAIX;AAAED,gBAAI,EAAE,iBAAR;AAA2B7gF,gBAAI,EAAE,iBAAjC;AAAoD8gF,qBAAS,EAAE;AAA/D,WAJW,EAKX;AAAED,gBAAI,EAAE,YAAR;AAAsB7gF,gBAAI,EAAE,MAA5B;AAAoC8gF,qBAAS,EAAE;AAA/C,WALW,EAMX;AAAED,gBAAI,EAAE,aAAR;AAAuB7gF,gBAAI,EAAE,OAA7B;AAAsC8gF,qBAAS,EAAE;AAAjD,WANW,EAOX;AAAED,gBAAI,EAAE,WAAR;AAAqB7gF,gBAAI,EAAE,KAA3B;AAAkC8gF,qBAAS,EAAE;AAA7C,WAPW,EAQX;AAAED,gBAAI,EAAE,YAAR;AAAsB7gF,gBAAI,EAAE,MAA5B;AAAoC8gF,qBAAS,EAAE;AAA/C,WARW,EASX;AAAED,gBAAI,EAAE,aAAR;AAAuB7gF,gBAAI,EAAE,OAA7B;AAAsC8gF,qBAAS,EAAE;AAAjD,WATW,EAUX;AAAED,gBAAI,EAAE,cAAR;AAAwB7gF,gBAAI,EAAE,QAA9B;AAAwC8gF,qBAAS,EAAE;AAAnD,WAVW,EAWX;AAAED,gBAAI,EAAE,WAAR;AAAqB7gF,gBAAI,EAAE,WAA3B;AAAwC8gF,qBAAS,EAAE;AAAnD,WAXW,EAYX;AAAED,gBAAI,EAAE,YAAR;AAAsB7gF,gBAAI,EAAE,SAA5B;AAAuC8gF,qBAAS,EAAE;AAAlD,WAZW,EAaX;AAAED,gBAAI,EAAE,YAAR;AAAsB7gF,gBAAI,EAAE,YAA5B;AAA0C8gF,qBAAS,EAAE;AAArD,WAbW,EAcX;AAAED,gBAAI,EAAE,YAAR;AAAsB7gF,gBAAI,EAAE,YAA5B;AAA0C8gF,qBAAS,EAAE;AAArD,WAdW,EAeX;AAAED,gBAAI,EAAE,YAAR;AAAsB7gF,gBAAI,EAAE,SAA5B;AAAuC8gF,qBAAS,EAAE;AAAlD,WAfW,EAgBX;AAAED,gBAAI,EAAE,WAAR;AAAqB7gF,gBAAI,EAAE,WAA3B;AAAwC8gF,qBAAS,EAAE;AAAnD,WAhBW,EAiBX;AAAED,gBAAI,EAAE,iBAAR;AAA2B7gF,gBAAI,EAAE,iBAAjC;AAAoD8gF,qBAAS,EAAE;AAA/D,WAjBW,EAkBX;AAAED,gBAAI,EAAE,UAAR;AAAoB7gF,gBAAI,EAAE,QAA1B;AAAoC8gF,qBAAS,EAAE;AAA/C,WAlBW,EAmBX;AAAED,gBAAI,EAAE,WAAR;AAAqB7gF,gBAAI,EAAE,QAA3B;AAAqC8gF,qBAAS,EAAE;AAAhD,WAnBW,EAoBX;AAAED,gBAAI,EAAE,gBAAR;AAA0B7gF,gBAAI,EAAE,YAAhC;AAA8C8gF,qBAAS,EAAE;AAAzD,WApBW,EAqBX;AAAED,gBAAI,EAAE,WAAR;AAAqB7gF,gBAAI,EAAE,WAA3B;AAAwC8gF,qBAAS,EAAE;AAAnD,WArBW,EAsBX;AACA;AACA;AACA;AACA;AACA;AAAED,gBAAI,EAAE,iBAAR;AAA2B7gF,gBAAI,EAAE,kBAAjC;AAAqD8gF,qBAAS,EAAE;AAAhE,WA3BW,EA4BX;AAAED,gBAAI,EAAE,kBAAR;AAA4B7gF,gBAAI,EAAE,mBAAlC;AAAuD8gF,qBAAS,EAAE;AAAlE,WA5BW,CAAb;AA+BA,eAAA6R,SAAA,GAAY,QAAZ;AACA,eAAAC,OAAA,GAAU,MAAV;AAEA,eAAAh1E,gBAAA,GAAkC,EAAlC;AACA,eAAAi1E,aAAA,GAAyB,KAAzB;AAMA,eAAA/jF,SAAA,GAAY,IAAI,0EAAJ,EAAZ;AAGA,eAAAm4F,eAAA,GAAkB,KAAlB;AACA,eAAAC,eAAA,GAAkB,EAAlB;AA8LE38F,uBAAa,CAAC4K,mBAAd,CAAkCjY,SAAlC,CAA4C,UAACiqG,QAAD,EAAc;AACxD,gBACEA,QAAQ,IACR,QAAI,CAAC9sG,KAAL,IAAc,aADd,IAEA,QAAI,CAACyU,SAAL,CAAe/K,IAAf,CAAoBnF,MAApB,IAA8B,CAHhC,EAKE,QAAI,CAACu1F,gBAAL;AACH,WAPD;AAQA5pF,uBAAa,CAACuJ,aAAd,CAA4B5W,SAA5B,CAAsC,UAACC,GAAD,EAAS;;;AAC7C,gBAAI,QAAI,CAACyE,cAAT,EACEzE,GAAG,CAAC0B,OAAJ,CAAY,UAACgX,MAAD,EAAY;;;AACtB,sBAAQ,QAAI,CAAC88E,SAAb;AACE,qBAAK,QAAL;AAAe;AACb,wBAAI,QAAI,CAACe,UAAL,CAAgB3vF,IAAhB,CAAqBnF,MAArB,GAA8B,CAAlC,EAAqC;AACnC,0BAAIk0F,SAAS,GAAG,CAAH,KAAG,QAAI,CAACY,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAE3vF,IAAF,CAAO0W,SAAP,CAC7B,UAAC7W,IAAD;AAAA,+BAAUA,IAAI,CAACjB,WAAL,IAAoBkT,MAAM,CAAClT,WAArC;AAAA,uBAD6B,CAA/B;;AAGA,0BACE,QAAI,CAAC+wF,UAAL,CAAgB3vF,IAAhB,CAAqB+uF,SAArB,KAAmCj9E,MAAnC,IACAi9E,SAAS,IAAI,CAAC,CAFhB,EAGE;AACA,gCAAI,CAACY,UAAL,CAAgB3vF,IAAhB,CAAqB+uF,SAArB,IAAkCj9E,MAAlC;AACA,gCAAI,CAAC69E,UAAL,CAAgB3vF,IAAhB,CAAqB+uF,SAArB,EAAgCC,QAAhC,GAA2C,IAA3C;AACD;;AACD,8BAAI,CAAC/+E,iBAAL,CAAuB,QAAI,CAAC0/E,UAAL,CAAgB3vF,IAAhB,CAAqB+uF,SAArB,CAAvB;AACD,qBAZD,MAYO;AACL,0BAAIA,UAAS,GAAG,CAAH,KAAG,QAAI,CAAChkF,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAE/K,IAAF,CAAO0W,SAAP,CAC5B,UAAC7W,IAAD;AAAA,+BAAUA,IAAI,CAACjB,WAAL,IAAoBkT,MAAM,CAAClT,WAArC;AAAA,uBAD4B,CAA9B;;AAGA,0BACE,QAAI,CAACmM,SAAL,CAAe/K,IAAf,CAAoB+uF,UAApB,KAAkCj9E,MAAlC,IACAi9E,UAAS,IAAI,CAAC,CAFhB,EAGE;AACA,gCAAI,CAAChkF,SAAL,CAAe/K,IAAf,CAAoB+uF,UAApB,IAAiCj9E,MAAjC;AACA,gCAAI,CAAC/G,SAAL,CAAe/K,IAAf,CAAoB+uF,UAApB,EAA+BC,QAA/B,GAA0C,IAA1C;AACD;;AACD,8BAAI,CAAC/+E,iBAAL,CAAuB,QAAI,CAAClF,SAAL,CAAe/K,IAAf,CAAoB+uF,UAApB,CAAvB;AACD;AACF;;AACD,qBAAK,WAAL;AAAkB;AAChB,wBAAIA,WAAS,GAAG,CAAH,KAAG,QAAI,CAAC73F,YAAL,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAE8I,IAAF,CAAO0W,SAAP,CAC/B,UAAC7W,IAAD;AAAA,6BAAUA,IAAI,CAACjB,WAAL,IAAoBkT,MAAM,CAAClT,WAArC;AAAA,qBAD+B,CAAjC;;AAGA,wBACE,QAAI,CAAC1H,YAAL,CAAkB8I,IAAlB,CAAuB+uF,WAAvB,KAAqCj9E,MAArC,IACAi9E,WAAS,IAAI,CAAC,CAFhB,EAGE;AACA,8BAAI,CAAC73F,YAAL,CAAkB8I,IAAlB,CAAuB+uF,WAAvB,IAAoCj9E,MAApC;AACA,8BAAI,CAAC5a,YAAL,CAAkB8I,IAAlB,CAAuB+uF,WAAvB,EAAkCC,QAAlC,GAA6C,IAA7C;;AACA,8BAAI,CAAC/+E,iBAAL,CAAuB,QAAI,CAAC/Y,YAAL,CAAkB8I,IAAlB,CAAuB+uF,WAAvB,CAAvB;AACD;;AACD,4BAAI,CAAC73F,YAAL,CAAkBq8B,IAAlB,GAAyB,QAAI,CAACA,IAA9B;AACD;AAzCH;AA2CD,aA5CD,EADF,KA8CK,IAAI,QAAI,CAAC5sB,aAAL,CAAmBuJ,WAAvB,EACH,QAAI,CAACrS,cAAL,GAAsB,QAAI,CAAC8I,aAAL,CAAmBuJ,WAAnB,CAA+BxY,QAA/B,EAAtB;;AACF,oBAAI,CAACiP,aAAL,CAAmBwJ,YAAnB,CAAgChX,SAAhC,CAA0C,UAACC,GAAD,EAAS;AACjD,sBAAI,CAACyE,cAAL,GAAsBzE,GAAtB;AACD,aAFD;;AAIA,gBAAI,QAAI,CAACw1F,SAAL,IAAkB,QAAlB,IAA8B,QAAI,CAACe,UAAL,CAAgB3vF,IAAhB,CAAqBnF,MAArB,GAA8B,CAAhE,EACE,QAAI,CAAC80F,UAAL,CAAgB3vF,IAAhB,sBAA2B,CAAH,KAAG,QAAI,CAAC2vF,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAE3vF,IAA5C,EADF,KAEK,IAAI,QAAI,CAAC4uF,SAAL,IAAkB,QAAtB,EACH,QAAI,CAAC7jF,SAAL,CAAe/K,IAAf,sBAA0B,CAAH,KAAG,QAAI,CAAC+K,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAE/K,IAA1C;AAEF,gBAAI,QAAI,CAAC4uF,SAAL,IAAkB,WAAlB,IAAiC,QAAI,CAAC13F,YAA1C,EACE,QAAI,CAACA,YAAL,CAAkB8I,IAAlB,sBAA6B,CAAH,KAAG,QAAI,CAAC9I,YAAL,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAE8I,IAAhD;AACH,WA5DD;AA6DD;;;;iBA/PD,oBAAW/D,IAAX,EAAiB;AACf,iBAAKogF,YAAL,CAAkBgnB,UAAlB,CAA6BpnG,IAA7B,EAAmC,IAAnC;AACD;;;iBAEM,yBAAgBiH,GAAhB,EAA6B;AAClC,iBAAK2rF,OAAL,GAAe3rF,GAAf;AACA,iBAAK5I,SAAL;AACD;;;iBACD,yBAAgB;AACd,iBAAKqoG,MAAL,GAAc,CAAC,KAAKA,MAApB;AACD;;;iBACD,8BAAqB;AACnB,iBAAKjU,WAAL,GAAmB,KAAnB;AACD;;;iBAGM,4BAAmBzrF,KAAnB,EAA0B+D,OAA1B,EAAmC;AAExC,gBAAMs8F,cAAc,GAAG,KAAKrU,QAAL,CAAcz5F,aAArC;AACA,gBAAMg1C,IAAI,GAAG84D,cAAc,CAACtpB,qBAAf,EAAb,CAHwC,CAKxC;;AACA,iBAAKkV,YAAL,GAAoBjsF,KAAK,CAACi3E,OAA1B;AACA,iBAAKiV,YAAL,GAAoBlsF,KAAK,CAACk3E,OAA1B;AAEA,iBAAKuU,WAAL,GAAmB,IAAnB;AACA,iBAAKU,mBAAL,GAA2B;AACzB53F,oBAAM,EAAEwP,OAAO,CAACpI,WADS;AAEzBygB,qBAAO,EAAErY,OAAO,CAAC8B,OAFQ;AAGzB7M,kBAAI,EAAE+K,OAAO,CAAC6B,QAHW;AAIzBsS,oBAAM,EAAEnU,OAAO,CAAC4B;AAJS,aAA3B;AAMA,gBAAM26F,YAAY,GAAGtuG,QAAQ,CAACszF,aAAT,CAAuB,cAAvB,CAArB;;AACA,gBAAIgb,YAAJ,EAAkB;AAChB;AACAA,0BAAY,CAAC7tG,KAAb,CAAmBw1C,IAAnB,aAA6B,KAAKgkD,YAAlC;AACAqU,0BAAY,CAAC7tG,KAAb,CAAmB01C,GAAnB,aAA4B,KAAK+jD,YAAjC,QAHgB,CAKhB;;AACA,kBAAIoU,YAAY,CAACx7C,UAAjB,EAA6B;AAC3Bw7C,4BAAY,CAACx7C,UAAb,CAAwBS,WAAxB,CAAoC+6C,YAApC;AACD;;AACDtuG,sBAAQ,CAACC,IAAT,CAAcmN,WAAd,CAA0BkhG,YAA1B;AACD;;AACDtgG,iBAAK,CAACoH,cAAN;AACApH,iBAAK,CAAC+sB,eAAN;AACD;;;iBACM,yBAAgB/sB,KAAhB,EAAmCzL,MAAnC,EAAiD;AAAA;;AACtD,iBAAKurG,aAAL,GAAqB,EAArB;AACA,iBAAKA,aAAL,CAAmBvrG,MAAnB,IAA6B,CAAC,KAAKurG,aAAL,CAAmBvrG,MAAnB,CAA9B;AACA,iBAAKmrG,MAAL,GAAc,CAAC,KAAKA,MAApB;AAGA,gBAAMa,YAAY,GAAGvuG,QAAQ,CAACszF,aAAT,CAAuB,oBAAvB,CAArB;;AACA,gBAAIib,YAAJ,EAAkB;AAChBA,0BAAY,CAAC9tG,KAAb,CAAmBw1C,IAAnB,aAA6BjoC,KAAK,CAACi3E,OAAN,GAAe,EAA5C;AACAspB,0BAAY,CAAC9tG,KAAb,CAAmB01C,GAAnB,aAA4BnoC,KAAK,CAACk3E,OAAlC;;AACA,kBAAIqpB,YAAY,CAACz7C,UAAjB,EAA6B;AAC3By7C,4BAAY,CAACz7C,UAAb,CAAwBS,WAAxB,CAAoCg7C,YAApC;AACD;;AACDvuG,sBAAQ,CAACC,IAAT,CAAcmN,WAAd,CAA0BmhG,YAA1B;AACD;;AACD,gBAAI,KAAKC,sBAAT,EAAiC;AAC/B,mBAAKA,sBAAL;AACD;;AACD,iBAAKA,sBAAL,GAA8B,KAAKf,QAAL,CAAczsF,MAAd,CAAqB,UAArB,EAAiC,OAAjC,EAA0C,UAACjN,CAAD;AAAA,qBAAmB,QAAI,CAAC06F,kBAAL,CAAwB16F,CAAxB,EAA2BxR,MAA3B,CAAnB;AAAA,aAA1C,CAA9B;AACD;;;iBAEO,4BAAmByL,KAAnB,EAAsCzL,MAAtC,EAAoD;AAC1D,gBAAMmsG,qBAAqB,GAAI1gG,KAAK,CAACE,MAAN,CAA6BygG,OAA7B,CAAqC,oBAArC,CAA/B;AACA,gBAAMC,qBAAqB,GAAI5gG,KAAK,CAACE,MAAN,CAA6BsV,SAA7B,CAAuCgmE,QAAvC,CAAgD,iBAAhD,CAA/B;;AAEA,gBAAI,CAACklB,qBAAD,IAA0B,CAACE,qBAA/B,EAAsD;AACpD,kBAAML,YAAY,GAAGvuG,QAAQ,CAACszF,aAAT,CAAuB,oBAAvB,CAArB;;AACA,kBAAIib,YAAY,IAAIA,YAAY,CAACz7C,UAAjC,EAA6C;AAC3Cy7C,4BAAY,CAACz7C,UAAb,CAAwBS,WAAxB,CAAoCg7C,YAApC;AACD;;AAED,mBAAKT,aAAL,CAAmBvrG,MAAnB,IAA6B,KAA7B;;AACA,kBAAI,KAAKisG,sBAAT,EAAiC;AAC/B,qBAAKA,sBAAL;AACA,qBAAKA,sBAAL,GAA8B,IAA9B;AACD;AACF;AACF;;;iBACD,kBAASvgG,GAAT,EAAY;AACV,mBAAO,OAAOA,GAAP,KAAe,QAAtB;AACD;;;iBAED,wBAAeqsF,MAAf,EAAuBr0F,KAAvB,EAA8B;AAC5B,gBACGq0F,MAAM,CAACzS,IAAP,IAAe,iBAAf,IAAoC5hF,KAAK,GAAG,CAA7C,IACCq0F,MAAM,CAACzS,IAAP,IAAe,aAAf,IAAgC5hF,KAAK,GAAG,CAF3C,EAIE,OAAO,OAAP,CAJF,KAKK,IACFq0F,MAAM,CAACzS,IAAP,IAAe,iBAAf,IAAoC5hF,KAAK,GAAG,CAA7C,IACCq0F,MAAM,CAACzS,IAAP,IAAe,aAAf,IAAgC5hF,KAAK,GAAG,CAFtC,EAIH,OAAO,KAAP,CAJG,KAKA,IAAIq0F,MAAM,CAACzS,IAAP,IAAe,kBAAnB,EAAuC,OAAO,kBAAP,CAAvC,KACA,IACHyS,MAAM,CAACzS,IAAP,IAAe,WAAf,IACAyS,MAAM,CAACzS,IAAP,IAAe,YADf,IAEAyS,MAAM,CAACzS,IAAP,IAAe,YAHZ,EAKH,OAAO,kBAAP,CALG,KAMA,IACHyS,MAAM,CAACzS,IAAP,IAAe,WAAf,IACAyS,MAAM,CAACzS,IAAP,IAAe,YADf,IAEAyS,MAAM,CAACzS,IAAP,IAAe,YAHZ,EAKH,OAAO,kBAAP;AACF;AACD;;;iBAED,kBAASj9E,IAAT,EAAe;AACb,iBAAKonF,QAAL,GAAgBpnF,IAAhB;AACA,iBAAK6vF,iBAAL,CACE7vF,IAAI,CAACjB,WADP,EAEEiB,IAAI,CAACiJ,OAFP,EAGEjJ,IAAI,CAAChB,aAHP,EAIEgB,IAAI,CAACf,aAJP,EAKE,KALF;AAOD;;;iBAED,cAAKmE,KAAL,EAAmC;AACjC,2FAAgB,KAAK+5E,OAArB,EAA8B/5E,KAAK,CAACq6E,aAApC,EAAmDr6E,KAAK,CAACs6E,YAAzD;AACA,iBAAKC,UAAL;AACD;;;iBAED,sBAAav6E,KAAb,EAAoB;;;AAClB,gBAAMC,GAAG,GAAGD,KAAK,CAACE,MAAN,CAAajI,KAAb,CAAmBkI,WAAnB,EAAZ;AAEA,gBAAI4vB,IAAJ;AACA,gBAAI,KAAK47D,SAAL,IAAkB,QAAtB,EACE57D,IAAI,GAAG,CAAH,KAAG,KAAKjoB,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAE/K,IAAF,CAAOsD,MAAP,CAAc,UAAUC,CAAV,EAAa;AAC9C,qBACEA,CAAC,CAAC1E,aAAF,KACC0E,CAAC,CAAC1E,aAAF,CACEmuB,iBADF,GAEEr1B,QAFF,CAEWuL,GAAG,CAAC8pB,iBAAJ,EAFX,KAGCzpB,CAAC,CAACzE,aAAF,CACGkuB,iBADH,GAEGr1B,QAFH,CAEYuL,GAAG,CAAC8pB,iBAAJ,EAFZ,CAHD,IAMCzpB,CAAC,CAAC3E,WAAF,CAAcouB,iBAAd,GAAkCr1B,QAAlC,CACEuL,GAAG,CAAC8pB,iBAAJ,EADF,CAND,IASCzpB,CAAC,CAACuF,OAAF,CAAUkkB,iBAAV,GAA8Br1B,QAA9B,CAAuCuL,GAAG,CAAC8pB,iBAAJ,EAAvC,CAVF,CADF;AAaD,aAdoB,CAArB,CADF,KAiBEgG,IAAI,GAAG,CAAH,KAAG,KAAK97B,YAAL,MAAiB,IAAjB,IAAiB,aAAjB,GAAiB,MAAjB,GAAiB,GAAE8I,IAAF,CAAOsD,MAAP,CAAc,UAAUC,CAAV,EAAa;AACjD,qBACEA,CAAC,CAACqF,QAAF,KACCrF,CAAC,CAACqF,QAAF,CAAWokB,iBAAX,GAA+Br1B,QAA/B,CAAwCuL,GAAG,CAAC8pB,iBAAJ,EAAxC,KACCzpB,CAAC,CAACsF,QAAF,CAAWmkB,iBAAX,GAA+Br1B,QAA/B,CAAwCuL,GAAG,CAAC8pB,iBAAJ,EAAxC,CADD,IAECzpB,CAAC,CAAC3E,WAAF,CAAcouB,iBAAd,GAAkCr1B,QAAlC,CACEuL,GAAG,CAAC8pB,iBAAJ,EADF,CAFD,IAKCzpB,CAAC,CAACuF,OAAF,CAAUkkB,iBAAV,GAA8Br1B,QAA9B,CAAuCuL,GAAG,CAAC8pB,iBAAJ,EAAvC,CANF,CADF;AASD,aAVuB,CAAxB,CArBgB,CAgClB;;AACA,iBAAK2iE,UAAL,CAAgB3vF,IAAhB,GAAuBgzB,IAAvB;AACA,iBAAK28D,UAAL,CAAgBp8D,IAAhB,GAAuB,KAAKA,IAA5B;AAEA,iBAAK7Y,YAAL;;AAEA,gBAAIxX,GAAG,IAAI,EAAX,EAAe;AACb,mBAAKysF,UAAL,GAAkB,IAAI,0EAAJ,EAAlB;AACD;AACF;;;iBAoFD,2BAAkBhmF,KAAlB,EAAsC;AACpC,gBAAI,CAAAA,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAE/K,WAAP,KAAsB,KAAKf,cAA/B,EAA+C;AAC7C,kBAAI+L,aAAa,GAAG,KAAK/L,cAAL,CAAoB3D,IAApB,CAClB,UAAC0K,CAAD;AAAA,uBAAOA,CAAC,CAAC,aAAD,CAAD,KAAqB+E,KAAK,CAAC/K,WAAlC;AAAA,eADkB,CAApB;;AAGA,kBAAIgL,aAAJ,EAAmB;AACjBD,qBAAK,CAAC7K,aAAN,GAAsB8K,aAAa,CAAC,eAAD,CAAnC;AACAD,qBAAK,CAAC9K,aAAN,GAAsB+K,aAAa,CAAC,eAAD,CAAnC;AACAD,qBAAK,CAACb,OAAN,GAAgBc,aAAa,CAAC,SAAD,CAA7B;AACD;AACF;AACF;;;iBAED,+BAAsBzP,KAAtB,EAA+B;AAE7B,gBAAM1B,OAAO,sBAAO,KAAK4lF,UAAL,CAAgBlnF,mBAAhB,CAAoCO,QAApC,EAAP,CAAb;;AACA,iBAAK2mF,UAAL,CAAgBnmF,UAAhB,CAA2BO,OAA3B,EAAoC0B,KAAK,CAACrB,aAA1C,EAAyDqB,KAAK,CAAClB,eAA/D,EAA+E,IAA/E;AACD;;;iBAEK,2BAAkBkB,KAAlB,EAA8B3C,MAA9B,EAA4C;;;;;;;AAEhD,2BAAKurG,aAAL,CAAmBvrG,MAAnB,IAA6B,KAA7B;;;AAEE,6BAAM,KAAK6mF,UAAL,CAAgB/jF,SAAhB,CAA0BH,KAA1B,CAAN;;;AAEM1B,6B,sBAAc,KAAK4lF,UAAL,CAAgBlnF,mBAAhB,CAAoCO,QAApC,E;;AACpB,0BAAIe,OAAO,CAACd,QAAR,CAAiBH,MAAjB,CAAJ,EAA8B;AACtBM,6BADsB,GACdW,OAAO,CAACV,OAAR,CAAgBP,MAAhB,CADc;;AAE5B,4BAAIM,KAAK,GAAG,CAAC,CAAb,EAAgB;AACdW,iCAAO,CAACT,MAAR,CAAeF,KAAf,EAAsB,CAAtB;AACD;AACF,uBALD,MAKO;AACLW,+BAAO,CAACD,IAAR,CAAahB,MAAb;AACD;;AACD,0BAAG,KAAKyrG,mBAAL,IAA0B,KAA7B,EACA;AACA,6BAAK5kB,UAAL,CAAgBnmF,UAAhB,CAA2BO,OAA3B,EAAoC0B,KAAK,CAACrB,aAA1C,EAAyDqB,KAAK,CAAClB,eAA/D,EAA+E,KAA/E;AACC,uBAHD,MAKA;AACE,6BAAKgqG,mBAAL,GAAyB,KAAzB;AACD;;;;;;;;;;;;;;;;AAIJ;;;iBAED,oBAAW;AAAA;;AACT,iBAAKl+F,WAAL,GACE1Q,YAAY,CAACC,OAAb,CAAqB,WAArB,KAAqC,MAArC,GAA8C,IAA9C,GAAqD,KADvD;;AAEA,gBAAI,KAAK+nF,YAAL,CAAkBuT,qBAAlB,EAAJ,EAA+C;AAC7C,mBAAK5S,OAAL,GAAe,KAAKX,YAAL,CAAkBuT,qBAAlB,EAAf;AACD,aAFD,MAEO;AACL,mBAAK5S,OAAL,GAAe,KAAKH,UAApB;AACD;;AAED,iBAAK/lF,UAAL,CAAgB4zF,gBAAhB,CAAiCvxF,SAAjC,CAA2C,UAAC8P,QAAD,EAAc;AACvD,sBAAI,CAAC66F,YAAL,GAAoB76F,QAApB;;AACA,kBAAI,CAACA,QAAL,EAAe;AACb,wBAAI,CAAC3S,KAAL,GAAa,WAAb;AACA,wBAAI,CAACu4F,OAAL,GAAe,OAAf;AACD;AACF,aAND;AAOA,iBAAKxQ,UAAL,CAAgBhlF,qBAAhB,CAAsC,KAAKhC,iBAA3C;AACA,iBAAKgnF,UAAL,CAAgBjnF,aAAhB,CAA8B+B,SAA9B,CAAwC,UAAC4qG,OAAD,EAAa;;;AACnD,sBAAI,CAAC3sG,aAAL,GAAqB2sG,OAArB;;AACA,kBAAIA,OAAO,CAAClpG,MAAR,GAAiB,CAArB,EAAwB;AACtB,wBAAI,CAACxD,iBAAL,GAAyB0sG,OAAO,CAAC,CAAD,CAAhC;AACA,wBAAI,CAACtsG,UAAL,GAAkB,eAAI,CAACJ,iBAAL,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAEoB,OAAxB,KAAmC,EAArD;AACA,wBAAI,CAACurG,kBAAL,GAA0B,QAAI,CAAC5sG,aAAL,CAAmB8C,IAAnB,CAAwB,UAAAC,KAAK;AAAA,yBAAIA,KAAK,CAACjB,SAAN,KAAoB,IAAxB;AAAA,iBAA7B,CAA1B;AACD;AACF,aAPD;;AASA,oBAAQ,KAAK5C,KAAb;AACE,mBAAK,OAAL;AACA,mBAAK,OAAL;AACA,mBAAK,QAAL;AACE,qBAAKu5F,QAAL,CAAc,KAAKv5F,KAAnB;AACA;;AACF,mBAAK,MAAL;AACA,mBAAK,KAAL;AACA,mBAAK,KAAL;AACA,mBAAK,SAAL;AACA,mBAAK,GAAL;AACE,qBAAKg6F,WAAL,CAAiB,KAAKh6F,KAAtB;AACA;;AACF,mBAAK,aAAL;AACE,qBAAK85F,gBAAL;AACA;;AACF,mBAAK,YAAL;AACE,qBAAKC,cAAL;AACA;;AACF,mBAAK,WAAL;AACE,qBAAK/1F,SAAL;AACA;AArBJ;AAuBD;;;iBAED,sBAAa;AACX,iBAAK+hF,YAAL,CAAkByT,sBAAlB,CAAyC,KAAK9S,OAA9C;;AACA,iBAAKtiE,YAAL;AACD;;;iBAED,2BAAkBljB,MAAlB,EAA0B6nB,OAA1B,EAAmClE,MAAnC,EAA2CC,MAA3C,EAAmDC,UAAnD,EAA+D;AAC7D,iBAAK00E,cAAL,GAAsBv4F,MAAtB;AACA,iBAAKspB,YAAL,CAAkBtpB,MAAlB,EAA0B6nB,OAA1B,EAAmClE,MAAnC,EAA2CC,MAA3C,EAAmDC,UAAnD;AACD;;;iBAED,oBAAWpY,KAAX,EAAkB;AAChB,gBAAIy7E,GAAG,GAAGlqF,IAAI,CAACC,KAAL,CAAWwO,KAAX,CAAV;;AACA,iBAAKo5E,YAAL,CAAkBgnB,UAAlB,CAA6B3kB,GAAG,CAACziF,IAAjC,EAAuC,KAAvC;;AACA,iBAAK2mB,SAAL,CAAe87D,GAAG,CAACziF,IAAnB,EAAyByiF,GAAG,CAAC77D,WAA7B,EAA0C67D,GAAG,CAAC7gE,QAA9C;AACD;;;iBACD,kBAAS7W,OAAT,EAAkB;AAChB,gBAAI03E,GAAG,GAAG;AACRr/D,qBAAO,EAAErY,OAAO,CAAC8B,OADT;AAERtR,oBAAM,EAAEwP,OAAO,CAACpI,WAFR;AAGRuc,oBAAM,EAAEnU,OAAO,CAAC4B,QAHR;AAIR3M,kBAAI,EAAE+K,OAAO,CAAC6B;AAJN,aAAV;;AAMA,iBAAKwzE,YAAL,CAAkBgnB,UAAlB,CAA6B,cAA7B,EAA6C,KAA7C;;AACA,iBAAKzgF,SAAL,CAAe,cAAf,EAA+B87D,GAA/B,EAAoC,KAApC;AACD;;;iBAED,mBAAU13E,OAAV,EAAmBgC,CAAnB,EAAsB;AACpBA,aAAC,CAACgnB,eAAF;AACA,gBAAI0uD,GAAG,GAAG;AACRr/D,qBAAO,EAAErY,OAAO,CAAC8B,OADT;AAERtR,oBAAM,EAAEwP,OAAO,CAACpI,WAFR;AAGRuc,oBAAM,EAAEnU,OAAO,CAAC4B,QAHR;AAIR3M,kBAAI,EAAE+K,OAAO,CAAC6B;AAJN,aAAV;AAMA,iBAAK+Z,SAAL,CAAe,OAAf,EAAwB87D,GAAxB,EAA6B,KAA7B;AACD;;;iBAED,qBAAY;AAAA;;AACV,iBAAKkQ,SAAL,GAAiB,WAAjB;AACA,iBAAKt4F,KAAL,GAAa,WAAb;AACA,iBAAK2tG,SAAL;AAEA,iBAAKnV,aAAL,GAAqB,IAArB;AACA,iBAAKzQ,UAAL,CAAgB/jF,SAAhB,CAA0B,KAAKjD,iBAA/B;AACA,iBAAKgnF,UAAL,CAAgBnnF,YAAhB,CAA6BiC,SAA7B,CAAuC,UAACC,GAAD,EAAS;AAC9C,sBAAI,CAAClC,YAAL,CAAkB8I,IAAlB,GAAyB5G,GAAzB;AACA,sBAAI,CAAClC,YAAL,CAAkBq8B,IAAlB,GAAyB,QAAI,CAACA,IAA9B;AACA,sBAAI,CAACu7D,aAAL,GAAqB,KAArB;AACD,aAJD;AAKA,iBAAK53F,YAAL,CAAkBq8B,IAAlB,GAAyB,KAAKA,IAA9B;AACD;;;iBACD,0BAAc;AACZ,iBAAKyvE,YAAL,GAAoB,CAAC,KAAKA,YAA1B;AACD;;;iBACD,6BAAiB;AACf,iBAAKE,eAAL,GAAuB,CAAC,KAAKA,eAA7B;AACD;;;iBAED,wBAAe1rG,MAAf,EAA+B0sG,OAA/B,EAA8C;AAC5C,gBAAIA,OAAO,CAAC5D,IAAR,EAAJ,EAAoB;AACpB,mBAAKyC,aAAL,CAAmBvrG,MAAnB,IAA6B,KAA7B;AACA,kBAAMiB,OAAO,GAAG,CAACjB,MAAD,CAAhB;AACA,mBAAK6mF,UAAL,CAAgBnmF,UAAhB,CAA2BO,OAA3B,EAAoC,CAApC,EAAsCyrG,OAAO,CAAC5D,IAAR,EAAtC,EAAqD,KAArD;AACA,kBAAIjiG,KAAK,GAAC,EAAV;AACA,mBAAK9C,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqCD,KAAK,aAAM6lG,OAAN,oCAA1C,GAA0F7lG,KAAK,aAAM6lG,OAAN,uIAA/F;AACA,iEAAKn+F,IAAL,CAAU;AACRo+F,qBAAK,EAAE,IADC;AAERn+F,wBAAQ,EAAE,SAFF;AAGRC,oBAAI,EAAE,SAHE;AAIR5H,qBAAK,EAAEA,KAJC;AAKR6H,iCAAiB,EAAE,KALX;AAMRC,qBAAK,EAAE,IANC;AAORoW,gCAAgB,EAAE,IAPV;AAQR6hF,2BAAW,EAAE;AACXgG,uBAAK,EAAE,KAAKr/F,WAAL,GAAkB,iBAAlB,GAAqC;AADjC,iBARL;AAWRs/F,+BAAe,EAAE;AAXT,eAAV;AAcC;AACF;;;iBAED,+BAAsBlqG,KAAtB,EAAgC;AAC9B,iBAAK9C,iBAAL,GAAyB8C,KAAzB;AACA,iBAAK6oG,YAAL,GAAoB,KAApB;AACA,iBAAK1oG,SAAL;AACD;;;iBACD,qBAAY2I,KAAZ,EAA+BzL,MAA/B,EAA+C;AAC7C,iBAAKsrG,YAAL,GAAoB;AAAEtrG,oBAAM,EAANA;AAAF,aAApB;AACA,iBAAKorG,SAAL,GAAiB3/F,KAAK,CAACi3E,OAAvB;AACA,iBAAK2oB,SAAL,GAAiB5/F,KAAK,CAACk3E,OAAvB;AACA,iBAAK6oB,YAAL,GAAoB,IAApB;AACA//F,iBAAK,CAAC+sB,eAAN;AACD;;;iBAEH,2BAAkB73B,aAAlB,EAAuC;AAAA;;AAGrC,gBAAMkG,KAAK,GAAG,KAAK9C,SAAL,CAAe+C,WAAf,KAA+B,IAA/B,GAAsC,eAAtC,GAAwD,eAAtE;AACA,gBAAMmoB,IAAI,GAAG,KAAKlrB,SAAL,CAAe+C,WAAf,KAA+B,IAA/B,GAAsC,2CAAtC,GAAoF,kCAAjG;AACA,gBAAMgmG,UAAU,GAAG,KAAK/oG,SAAL,CAAe+C,WAAf,KAA+B,IAA/B,GAAsC,iBAAtC,GAA0D,aAA7E;AACA,gBAAMimG,SAAS,GAAG,KAAKhpG,SAAL,CAAe+C,WAAf,KAA+B,IAA/B,GAAsC,QAAtC,GAAiD,OAAnE;AACA,gBAAMkmG,YAAY,GAAG,KAAKjpG,SAAL,CAAe+C,WAAf,KAA+B,IAA/B,GAAsC,UAAtC,GAAmD,WAAxE;AACA,gBAAMmmG,WAAW,GAAG,KAAKlpG,SAAL,CAAe+C,WAAf,KAA+B,IAA/B,GAAsC,qCAAtC,8GAApB;AACA,gBAAMomG,UAAU,GAAG,KAAKnpG,SAAL,CAAe+C,WAAf,KAA+B,IAA/B,GAAsC,QAAtC,GAAiD,MAApE;AACA,gBAAMqmG,SAAS,GAAG,KAAKppG,SAAL,CAAe+C,WAAf,KAA+B,IAA/B,GAAsC,iCAAtC,GAA0E,6BAA5F;AACA,gBAAMsmG,cAAc,GAAG,KAAKrpG,SAAL,CAAe+C,WAAf,KAA+B,IAA/B,GAAsC,IAAtC,GAA6C,MAApE;AAGA,+DAAKyH,IAAL,CAAU;AACR1H,mBAAK,EAAEA,KADC;AAERooB,kBAAI,EAAEA,IAFE;AAGRxgB,kBAAI,EAAE,SAHE;AAIR+H,8BAAgB,EAAE,IAJV;AAKRC,+BAAiB,EAAEq2F,UALX;AAMRp2F,8BAAgB,EAAEq2F;AANV,aAAV,EAOGn2F,IAPH,CAOQ,UAACC,MAAD,EAAY;AAClB,kBAAIA,MAAM,CAACC,WAAX,EAAwB;AACtB,wBAAI,CAAC+vE,UAAL,CAAgBwmB,iBAAhB,CAAkC1sG,aAAlC,EAAiDgB,SAAjD,CACE,UAACyB,QAAD,EAAc;AACZ,0BAAI,CAACxD,aAAL,GAAqB,QAAI,CAACA,aAAL,CAAmBkM,MAAnB,CACnB,UAACnJ,KAAD;AAAA,2BAAWA,KAAK,CAACrB,aAAN,KAAwBX,aAAnC;AAAA,mBADmB,CAArB;AAGA,0BAAI,CAAC8qG,mBAAL,GAA2B,IAA3B;AACA,qEAAKl9F,IAAL,CAAU;AACR1H,yBAAK,EAAEmmG,YADC;AAER/9E,wBAAI,EAAEg+E,WAFE;AAGRx+F,wBAAI,EAAE,SAHE;AAIRgI,qCAAiB,EAAE22F;AAJX,mBAAV;AAMD,iBAZH,EAaE,UAACl6F,KAAD,EAAW;AACT,qEAAK3E,IAAL,CAAU;AACR1H,yBAAK,EAAEqmG,UADC;AAERj+E,wBAAI,EAAEk+E,SAFE;AAGR1+F,wBAAI,EAAE,OAHE;AAIRgI,qCAAiB,EAAE22F;AAJX,mBAAV;AAMD,iBApBH;AAsBD;AACF,aAhCD;AAiCD;;;iBAGC,yBAAgB;AACd,iBAAK5B,YAAL,GAAoB,KAApB;AACD;;;iBAED,gCAA+B;AAAA,gBAAdxrG,MAAc,SAAdA,MAAc;AAAA,gBAAPyE,IAAO,SAAPA,IAAO;AAC7B,iBAAK6oG,cAAL,CAAoBttG,MAApB,EAA2ByE,IAA3B;AACA,iBAAK8oG,aAAL;AACD;;;iBAED,2CAA6C;AAAA,gBAAhB5qG,KAAgB,SAAhBA,KAAgB;AAAA,gBAAV3C,MAAU,SAAVA,MAAU;AAC3C,iBAAKwtG,iBAAL,CAAuB7qG,KAAvB,EAA6B3C,MAA7B;AACA,iBAAKutG,aAAL;AACD;;;iBAED,wBAAe;AACbhsF,sBAAU,CAAC,YAAM;AACfnjB,oBAAM,CAAC+lB,aAAP,CAAqB,IAAIC,KAAJ,CAAU,QAAV,CAArB;AACD,aAFS,EAEP,EAFO,CAAV;AAGD;;;iBAED,kBAAS6U,GAAT,EAAc;AAAA;;AACZ,iBAAKm+D,SAAL,GAAiB,QAAjB;AACA,iBAAKt4F,KAAL,GAAam6B,GAAb;AACA,iBAAKwzE,SAAL;AAEA,iBAAKzpF,kBAAL,GAA0B,IAA1B;AAEA,iBAAKzP,SAAL,CAAe/K,IAAf,GAAsB,EAAtB;;AAEA,iBAAKxE,QAAL,CAAcq0F,QAAd,CAAuBp/D,GAAvB,EAA4Bt3B,SAA5B,CAAsC,UAACC,GAAD,EAAS;AAC7C,sBAAI,CAACohB,kBAAL,GAA0B,KAA1B;AACA,sBAAI,CAACzP,SAAL,CAAe/K,IAAf,GAAsB5G,GAAtB;AACA,sBAAI,CAAC2R,SAAL,CAAewoB,IAAf,GAAsB,QAAI,CAACA,IAA3B;;AAEA,sBAAI,CAAC7Y,YAAL;AACD,aAND;AAOD;;;iBAED,4BAAmB;AAAA;;AACjB,iBAAKk0E,SAAL,GAAiB,QAAjB;AACA,iBAAKt4F,KAAL,GAAa,aAAb;AACA,iBAAK2tG,SAAL;AAEA,iBAAKl5F,SAAL,CAAe/K,IAAf,GAAsB,EAAtB;AACA,iBAAKwa,kBAAL,GAA0B,IAA1B;;AAEA,iBAAKhf,QAAL,CAAcif,qBAAd,GAAsCthB,SAAtC,CAAgD,UAACC,GAAD,EAAS;AACvD,sBAAI,CAACohB,kBAAL,GAA0B,KAA1B;AACA,sBAAI,CAACzP,SAAL,CAAe/K,IAAf,GAAsB5G,GAAtB;AACA,sBAAI,CAAC2R,SAAL,CAAewoB,IAAf,GAAsB,QAAI,CAACA,IAA3B;;AAEA,sBAAI,CAAC7Y,YAAL;AACD,aAND;AAOD;;;iBAED,0BAAiB;AAAA;;AACf,iBAAKk0E,SAAL,GAAiB,QAAjB;AACA,iBAAKt4F,KAAL,GAAa,YAAb;AACA,iBAAK2tG,SAAL;AAEA,iBAAKzpF,kBAAL,GAA0B,IAA1B;AACA,iBAAKzP,SAAL,CAAe/K,IAAf,GAAsB,EAAtB;;AAEA,iBAAKxE,QAAL,CAAcsU,mBAAd,GAAoC3W,SAApC,CAA8C,UAACC,GAAD,EAAwB;AACpE,sBAAI,CAACohB,kBAAL,GAA0B,KAA1B;AACA,sBAAI,CAACzP,SAAL,CAAe/K,IAAf,GAAsB5G,GAAG,CAACkK,MAAJ,CACpB,UAAC0D,OAAD;AAAA,uBAAaA,OAAO,CAACipF,SAAR,IAAqB,MAAlC;AAAA,eADoB,CAAtB;AAGA,sBAAI,CAACllF,SAAL,CAAewoB,IAAf,GAAsB,QAAI,CAACA,IAA3B;;AAEA,sBAAI,CAAC7Y,YAAL;AACD,aARD;AASD;;;iBAED,qBAAY9V,CAAZ,EAAe;AAAA;;AACb,iBAAKgqF,SAAL,GAAiB,QAAjB;AACA,iBAAKt4F,KAAL,GAAasO,CAAb;AACA,iBAAKq/F,SAAL;AAEA,iBAAKzpF,kBAAL,GAA0B,IAA1B;AACA,iBAAKzP,SAAL,CAAe/K,IAAf,GAAsB,EAAtB;;AAEA,iBAAKxE,QAAL,CAAc00F,cAAd,CAA6BtrF,CAA7B,EAAgCzL,SAAhC,CAA0C,UAACC,GAAD,EAAwB;AAChE,sBAAI,CAACohB,kBAAL,GAA0B,KAA1B;AACA,sBAAI,CAACzP,SAAL,CAAe/K,IAAf,GAAsB5G,GAAtB;AACA,sBAAI,CAAC2R,SAAL,CAAewoB,IAAf,GAAsB,QAAI,CAACA,IAA3B;;AAEA,sBAAI,CAAC7Y,YAAL;AACD,aAND;AAOD;;;iBAED,qBAAY;AACV,iBAAK2hE,YAAL,CAAkB4oB,sBAAlB,CAAyC,KAAK3uG,KAA9C;AACD;;;eAED,eAAa;AACX,mBAAO,KAAK0mF,OAAL,CAAa15E,MAAb,CAAoB,UAACo6E,GAAD;AAAA,qBAASA,GAAG,CAACX,SAAb;AAAA,aAApB,CAAP;AACD;;;eAED,eAAY;AACV,oBACE,SADF,EAEE,KAAKxhF,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,eAArC,GAAuD,eAFzD,4BAGK,KAAK4mG,MAAL,CAAYhnG,GAAZ,CAAgB,UAACw/E,GAAD;AAAA,qBAASA,GAAG,CAACZ,IAAb;AAAA,aAAhB,CAHL;AAKD;;;iBAED,gBAAOY,GAAP,EAAYz6E,KAAZ,EAAmB;AACjBy6E,eAAG,CAACX,SAAJ,GAAgB,CAACW,GAAG,CAACX,SAArB;AAEA,iBAAKriE,YAAL;AACA,iBAAK8iE,UAAL;AACD,W,CAED;AACA;AACA;AAEA;AACA;AACA;;;;iBACA,eAAMhmF,MAAN,EAAiB;AAEf;AACA,gBAAI,CAAC,KAAK6mF,UAAL,CAAgBlnF,mBAAjB,IAAwC,CAACu0B,KAAK,CAACC,OAAN,CAAc,KAAK0yD,UAAL,CAAgBlnF,mBAA9B,CAA7C,EAAiG;AAC/F,qBAAO,KAAP;AACD;;AAED,mBAAO,KAAKknF,UAAL,CAAgBlnF,mBAAhB,CAAoCQ,QAApC,CAA6CH,MAA7C,CAAP,CAPe,CAO+C;AAC/D;;;iBAED,wBAAeA,MAAf,EAAuB;AACrB,iBAAKurG,aAAL,CAAmBvrG,MAAnB,IAA6B,CAAC,KAAKurG,aAAL,CAAmBvrG,MAAnB,CAA9B;AACD;;;iBAED,mBAAUA,MAAV,EAAkBI,aAAlB,EAAiC;AAC/B,iBAAKmrG,aAAL,CAAmBvrG,MAAnB,IAA6B,CAAC,KAAKurG,aAAL,CAAmBvrG,MAAnB,CAA9B;AACA,iBAAK6mF,UAAL,CAAgB8mB,SAAhB,CAA0B3tG,MAA1B,EAAkCI,aAAlC;AACD;;;iBAED,kBAASoP,OAAT,EAAkB+T,MAAlB,EAA0B;AACxB,gBAAMpV,SAAS,GAAG,KAAK7R,MAAL,CAAY4L,IAAZ,CAAiB,gFAAjB,EAAoC;AACpDsb,0BAAY,EAAE,IADsC;AAEpDjb,wBAAU,EAAE,wBAFwC;AAGpDC,kBAAI,EAAE;AAAExI,sBAAM,EAAEwP,OAAV;AAAmBxK,oBAAI,EAAEue;AAAzB,eAH8C;AAIpD9a,uBAAS,EAAE,KAAK1E,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,KAArC,GAA6C;AAJJ,aAApC,CAAlB;AAOAqH,qBAAS,CAACsV,WAAV,GAAwB9hB,SAAxB,CAAkC,UAACkV,MAAD,EAAY,CAAG,CAAjD;AACD;;;;;;;yBA1vBUo0F,yB,EAAyB,uJ,EAAA,gJ,EAAA,oI,EAAA,sI,EAAA,yI,EAAA,iJ,EAAA,yI,EAAA,gK,EAAA,wH;AAAA,O;;;cAAzBA,yB;AAAyB,+C;AAAA;AAAA;;;sEAkBzB,8D,EAAO,C;;;;;;;;;;;;;;;;;;;;;;AD5CpB;;AAEE;;AACE;;;;AACA;;AAMF;;AAGA;;AAKE;;AACE;;AACE;AAAA,qBAAS,IAAAtS,YAAA,QAAT;AAA6B,aAA7B;;;;AADF;;AAEF;;AACA;;AACE;;AAaF;;AACA;;AAgGF;;AAEA;;AACE;;AAYA;;AACE;;AACF;;AAEA;;AAmFA;;AAKA;;AAyEA;;AAAkB;AAAA,qBAAkB,IAAAI,kBAAA,EAAlB;AAAsC,aAAtC,EAAuC,QAAvC,EAAuC;AAAA,qBAAW,IAAA3R,UAAA,QAAX;AAA6B,aAApE;;AAElB;;AACF;;AACF;;;;AA1TI;;AAAA;;AACO;;AAAA;;AAgB4B;;AAAA;;AAGP;;AAAA;;AActB;;AAAA;;AAmGwB;;AAAA;;AAaL;;AAAA;;AAGnB;;AAAA;;AAmFI;;AAAA;;AAKF;;AAAA;;AAyEgF;;AAAA,sGAA4B,QAA5B,EAA4B,eAA5B,EAA4B,GAA5B,EAA4B,gBAA5B,EAA4B,GAA5B,EAA4B,gBAA5B;;;;;;;;;;;;;;;;;;;;;;AEvT5F;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UA4BawmB,c;AAUX,gCAAoBpxG,MAApB,EAA4C+C,IAA5C,EAA8D;AAAA;;AAA1C,eAAA/C,MAAA,GAAAA,MAAA;AAAwB,eAAA+C,IAAA,GAAAA,IAAA;AAJ5C,eAAA2zF,gBAAA,GAA6C,IAAI,oDAAJ,CAC3C,IAD2C,CAA7C;AAKE,eAAK2a,WAAL,GAAmB,IAAI,oDAAJ,CACjB7wG,IAAI,CAACC,KAAL,CAAWyoB,cAAc,CAAC5oB,OAAf,CAAuB,MAAvB,CAAX,CADiB,CAAnB;AAGA,eAAKgxG,UAAL,GAAkB,IAAI,oDAAJ,CAChB9wG,IAAI,CAACC,KAAL,CAAWJ,YAAY,CAACC,OAAb,CAAqB,YAArB,CAAX,CADgB,CAAlB;AAGA,eAAKM,eAAL,GAAuB,IAAI,oDAAJ,CACrBJ,IAAI,CAACC,KAAL,CAAWJ,YAAY,CAACC,OAAb,CAAqB,iBAArB,CAAX,KAAuD,IADlC,CAAvB;AAIA,eAAKiC,IAAL,GAAY,KAAK8uG,WAAL,CAAiBjzF,YAAjB,EAAZ;AACD;;;;eAED,eAAoB;AAClB,mBAAO,KAAKizF,WAAL,CAAiBnqG,KAAxB;AACD;;;eAED,eAAiB;AACf,mBAAO,KAAKoqG,UAAL,CAAgBpqG,KAAvB;AACD;;;iBAED,mBAAUqqG,IAAV,EAAqB;AACnB,iBAAKD,UAAL,CAAgBrtG,IAAhB,CAAqBstG,IAArB;AACD;;;eACD,eAAsB;AACpB,mBAAO,KAAK3wG,eAAL,CAAqBsG,KAA5B;AACD;;;iBAED,wBAAeqqG,IAAf,EAA0B;AACxB,iBAAK3wG,eAAL,CAAqBqD,IAArB,CAA0BstG,IAA1B;AACD,W,CAID;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;iBACA,mBAAUl0E,QAAV,EAAoBkiE,QAApB,EAA8B;AAC5B,mBAAO,KAAKx8F,IAAL,CAAUqB,IAAV,WACF,kEAAaC,aADX,qCAEL;AACEuwB,sBAAQ,EAAEyI,QADZ;AAEEm0E,sBAAQ,EAAEjS;AAFZ,aAFK,CAAP;AAOD;;;iBACD,yBAAgBzgF,GAAhB,EAA8B;AAAA;;AAC5B,mBAAO,KAAK/b,IAAL,CACJqB,IADI,WAEA,kEAAaC,aAFb,2CAGHya,GAHG,EAKJT,IALI,CAMH,2DAAI,UAAC9b,IAAD,EAAU;AACZ;AAEA,kBAAIkvG,KAAK,GAAGlvG,IAAI,CAAC,OAAD,CAAhB;AAEA2mB,4BAAc,CAACnoB,OAAf,CAAuB,MAAvB,EAA+B,MAAM0wG,KAAN,GAAc,GAA7C;;AACA,sBAAI,CAACJ,WAAL,CAAiBptG,IAAjB,CAAsBwtG,KAAtB,EANY,CAOZ;;;AACA,qBAAOlvG,IAAP;AACD,aATD,CANG,CAAP;AAiBD;;;iBAED,kBAAS;AACP;AACA2mB,0BAAc,CAACwoF,UAAf,CAA0B,MAA1B;AACArxG,wBAAY,CAACqxG,UAAb,CAAwB,aAAxB;AACAxoF,0BAAc,CAACwoF,UAAf,CAA0B,UAA1B;AACArxG,wBAAY,CAACqxG,UAAb,CAAwB,SAAxB;AAEA,iBAAKL,WAAL,CAAiBptG,IAAjB,CAAsB,IAAtB;AACArC,kBAAM,CAACC,QAAP,CAAgBC,MAAhB;AACA,iBAAK9B,MAAL,CAAY+B,aAAZ,CAA0B,QAA1B;AACD;;;iBAED,qBAAYk/F,KAAZ,EAAmB;AACjB,mBAAO,KAAKl+F,IAAL,CAAUqB,IAAV,CACL,UAAG,kEAAaC,aAAhB,qCAA+D48F,KAD1D,EAEL,IAFK,CAAP;AAID;;;iBACD,wBAAewE,aAAf,EAA8B;AAC5B,mBAAO,KAAK1iG,IAAL,CAAUqB,IAAV,WACF,kEAAaC,aADX,gCAELohG,aAFK,CAAP;AAID;;;iBACD,uBAAckM,YAAd,EAA4B;AAC1B,mBAAO,KAAK5uG,IAAL,CAAUqB,IAAV,WACF,kEAAaC,aADX,gCAELstG,YAFK,CAAP;AAID;;;iBAED,wBAAerR,KAAf,EAAsB;AACpB,mBAAO,KAAKv9F,IAAL,CAAU+C,GAAV,WACF,kEAAazB,aADX,gCAAP;AAGD;;;iBAED,gBAAO9B,IAAP,EAAa;AACX,mBAAO,KAAKQ,IAAL,CAAUqB,IAAV,WACF,kEAAaC,aADX,qCAEL9B,IAFK,CAAP;AAID;;;iBAED,yBAAgB6Y,OAAhB,EAAyB;AACvB,iBAAKrY,IAAL,CACG+C,GADH,WAEO,kEAAazB,aAFpB,uDAE8E+W,OAF9E,GAIGjW,SAJH,CAIa,UAACC,GAAD;AAAA,qBACT/E,YAAY,CAACU,OAAb,CAAqB,aAArB,EAAoCP,IAAI,CAACQ,SAAL,CAAeoE,GAAf,CAApC,CADS;AAAA,aAJb;AAOD;;;iBAED,0BAAc;AACZ,mBAAO5E,IAAI,CAACC,KAAL,CAAWJ,YAAY,CAACC,OAAb,CAAqB,aAArB,CAAX,CAAP;AACD;;;iBAED,kBAAS;AACP,mBAAO,KAAKyC,IAAL,CAAU+C,GAAV,WAAyB,kEAAazB,aAAtC,YAAP;AACD;;;iBAED,iBAAQ6D,EAAR,EAAoB;AAClB,mBAAO,KAAKnF,IAAL,CAAU+C,GAAV,WAAuB,kEAAazB,aAApC,oBAA2D6D,EAA3D,EAAP;AACD;;;iBAED,yBAAgBhB,KAAhB,EAAuB;AACrB,iBAAKwvF,gBAAL,CAAsBzyF,IAAtB,CAA2BiD,KAA3B;AACD;;;;;;;yBAhKUkqG,c,EAAc,8G,EAAA,uH;AAAA,O;;;eAAdA,c;AAAc,iBAAdA,cAAc,K;AAAA,oBAFb;;;;;;;;;;;;;;;;;AC5Bd;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACkBQ;;AACE;AAAA;;AAAA;;AAAA,yCAAqB,EAArB;AAAuB,WAAvB;;AACA;;AAAU;;AAAK;;AACjB;;;;;;AA4BM;;AAEE;;AACF;;;;;;AACA;;AAEE;;AACF;;;;;;;;AA/BN;;AACE;;AAAK;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEH;;AACF;;AACA;;AAAK;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEH;;;;AACF;;AACA;;AACE;;AAAQ;AAAA;;AAAA;;AAAA;;AAAA,gDAA0B,CAA1B;AAA2B,WAA3B;;AAEN;;AACF;;AACF;;AACA;;AACE;;AAAQ;AAAA;;AAAA;;AAAA;;AAAA,gDAA0B,CAA1B;AAA2B,WAA3B;;AAEN;;AACF;;AACF;;AACA;;AACE;;AAAwB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAEtB;;AAIA;;AAIF;;AAEF;;AACF;;;;;;;;AAhCI;;AAAA;;AAIA;;AAAA;;AAiBgC;;AAAA;;AAIA;;AAAA;;;;;;AA7BtC;;AACE;;AAoCF;;;;;;AApC0B;;AAAA;;;;;;;;AA2GtB;;AACE;;AACA;;AAAwB;AAAA;;AAAA;;AAAA;AAAA;;AACtB;;AAA4B;;;;AAExB;;AACN;;AACF;;;;AAJgC;;AAAA;;;;;;AAmExB;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;AAEF;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;AAcF;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;AAEF;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;AAaR;;AAMA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;;;AACF;;AACF;;AACF;;AACF;;;;AAdE;;AAUM;;AAAA;;;;;;AAMN;;AAEE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;;;AACF;;AACF;;AACF;;AACF;;;;AAbE;;AASM;;AAAA;;;;;;;;AAMR;;AACE;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;;;AACF;;AACF;;AACF;;AACF;;;;AAJQ;;AAAA;;;;;;AAMR;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;;;AACF;;AACF;;AACF;;AACF;;;;AAbwE;;AAShE;;AAAA;;;;;;AA8DpB;;AACE;;AACE;;;;AACF;;AACF;;;;AAFI;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UDhVSQ,e;AA4LX,iCACU9uG,UADV,EAEShD,MAFT,EAGUuqF,UAHV,EAIS9iF,SAJT,EAK4BtG,QAL5B,EAMUqkB,GANV,EAOUD,WAPV,EAQU7d,QARV,EASUkL,aATV,EAUU1S,MAVV,EAUwB;AAAA;;AATd,eAAA8C,UAAA,GAAAA,UAAA;AACD,eAAAhD,MAAA,GAAAA,MAAA;AACC,eAAAuqF,UAAA,GAAAA,UAAA;AACD,eAAA9iF,SAAA,GAAAA,SAAA;AACmB,eAAAtG,QAAA,GAAAA,QAAA;AAClB,eAAAqkB,GAAA,GAAAA,GAAA;AACA,eAAAD,WAAA,GAAAA,WAAA;AACA,eAAA7d,QAAA,GAAAA,QAAA;AACA,eAAAkL,aAAA,GAAAA,aAAA;AACA,eAAA1S,MAAA,GAAAA,MAAA;AAnMV,eAAA2M,OAAA,GAAe,EAAf;AAGA,eAAAklG,YAAA,GAAwB,KAAxB;AAEA,eAAA1uG,mBAAA,GAAgC,EAAhC;AAGA,eAAA2uG,oBAAA,GAAgC,yEAAaA,oBAA7C;AAGA,eAAA5e,MAAA,GAAS,yEAAaA,MAAtB;AACA,eAAA6e,QAAA,GAAW,yEAAaA,QAAxB;AACA,eAAAC,SAAA,GAAY,yEAAaA,SAAzB;AACA,eAAAC,gBAAA,GAAmB,yEAAaA,gBAAhC;AAEA,eAAAC,QAAA,GAAS,IAAT;AAqLE,eAAKA,QAAL,GAAgBtwG,MAAM,CAACuwG,UAAP,GAAkB,GAAlB,GAAuB,KAAvB,GAA+B,IAA/C;AACA,eAAKpoF,SAAL,GAAiB,KAAK1E,WAAL,CAAiB0J,OAAjB,EAAjB;AACA,eAAKqjF,IAAL,GAAYnxG,QAAQ,CAACoxG,eAArB;AACD;;;;iBAtLD,mBAAUpqG,IAAV,EAAgB;AACd,iBAAKod,WAAL,CAAiBgqF,UAAjB,CAA4BpnG,IAA5B,EAAiC,IAAjC;AACD,W,CAED;AACA;AAEA;AACA;AACA;AACA;;;;iBAEA,2BAAkB;AAAA;;AAChB,gBAAI,KAAKgN,QAAT,EACE,KAAKvC,aAAL,CAAmB4/F,YAAnB,CAAgCntG,SAAhC,CAA0C,UAACC,GAAD,EAAS;AACjD,kBAAIA,GAAJ,EAAS,QAAI,CAAC2R,SAAL,GAAiB,QAAI,CAACrE,aAAL,CAAmBkJ,kBAApC,CADwC,CAGjD;AACD,aAJD,EADF,KAOE,KAAKpU,QAAL,CAAc+qG,qBAAd,GAAsCptG,SAAtC,CAAgD,UAACC,GAAD,EAAc;AAC5D,sBAAI,CAAC2R,SAAL,GAAiB3R,GAAG,CAACkK,MAAJ,CAAW,UAACzD,IAAD;AAAA,uBAAUA,IAAI,CAAC+I,QAAL,IAAiB,IAA3B;AAAA,eAAX,CAAjB;AACD,aAFD;AAGF,iBAAKy1E,UAAL,CAAgBnnF,YAAhB,CAA6BiC,SAA7B,CAAuC,UAACC,GAAD,EAAS;AAC9C,sBAAI,CAAClC,YAAL,GAAoBkC,GAApB;AACD,aAFD;AAGD;;;iBAED,sBAAU;AACR,iBAAK8sG,QAAL,GAAc,CAAC,KAAKA,QAApB;AACD;;;iBAED,wBAAe;AACbntF,sBAAU,CAAC,YAAM;AACfnjB,oBAAM,CAAC+lB,aAAP,CAAqB,IAAIC,KAAJ,CAAU,QAAV,CAArB;AACD,aAFS,EAEP,GAFO,CAAV;AAGD;;;iBAED,eAAMpkB,MAAN,EAAc;AACZ,mBAAO,KAAK6mF,UAAL,CAAgB/lF,KAAhB,CAAsBd,MAAtB,CAAP;AACD;;;iBAED,mBAAUA,MAAV,EAAkB;AAChB,iBAAK6mF,UAAL,CAAgB8mB,SAAhB,CAA0B3tG,MAA1B,EAAiC,KAAK6mF,UAAL,CAAgB/mF,qBAAjD;AACD;;;iBAED,0BAAiB;AACf,gBAAMqO,SAAS,GAAG,KAAK7R,MAAL,CAAY4L,IAAZ,CAAiB,6GAAjB,EAAqC;AACrDuF,mBAAK,EAAE,OAD8C;AAErDhF,uBAAS,EAAE,KAAK1E,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,KAArC,GAA6C;AAFH,aAArC,CAAlB;AAID;;;iBAED,iCAAwB;AACtB,iBAAKxK,MAAL,CAAY4L,IAAZ,CAAiB,gHAAjB,EAA8C;AAC5CK,wBAAU,EAAE;AADgC,aAA9C;AAGD;;;iBAED,yBAAgBF,IAAhB,EAAsB;AAAA;;AACpB,iBAAKusF,WAAL,GAAmB,EAAnB;AACA,iBAAK9yE,GAAL,CACG7iB,QADH,CACY,CAAC,kBAAD,EAAqBoJ,IAAI,CAACjB,WAA1B,EAAuCiB,IAAI,CAACiJ,OAA5C,CADZ,EAEGsF,IAFH,CAEQ;AAAA,qBAAO,QAAI,CAAC/K,UAAL,GAAkB,KAAzB;AAAA,aAFR;AAGD;;;iBACD,oBAAW;AACT,gBAAMsC,SAAS,GAAG,KAAK7R,MAAL,CAAY4L,IAAZ,CAAiB,oFAAjB,EAAoC;AACpDuF,mBAAK,EAAE,OAD6C;AAEpDhF,uBAAS,EAAE,KAAK1E,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,KAArC,GAA6C;AAFJ,aAApC,CAAlB;AAID;;;iBAED,kBAAS0I,OAAT,EAAkB+T,MAAlB,EAA0B;AACxB,iBAAKqxE,WAAL,GAAmB,EAAnB;AAEA,gBAAMzmF,SAAS,GAAG,KAAK7R,MAAL,CAAY4L,IAAZ,CAAiB,gFAAjB,EAAoC;AACpDsb,0BAAY,EAAE,IADsC;AAEpDjb,wBAAU,EAAE,wBAFwC;AAGpDC,kBAAI,EAAE;AAAExI,sBAAM,EAAEwP,OAAO,CAACpI,WAAlB;AAA+BpC,oBAAI,EAAEue;AAArC,eAH8C;AAIpD9a,uBAAS,EAAE,KAAK1E,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,KAArC,GAA6C;AAJJ,aAApC,CAAlB;AAOAqH,qBAAS,CAACsV,WAAV,GAAwB9hB,SAAxB,CAAkC,UAACkV,MAAD,EAAY,CAAG,CAAjD;AACD;;;iBAED,iCAAwBpL,KAAxB,EAAoC;AAClC,gBAAMC,GAAG,GAAGD,KAAK,CAACE,MAAN,CAAajI,KAAb,CAAmBkI,WAAnB,EAAZ;;AAEA,gBAAIF,GAAG,IAAI,EAAX,EAAe;AACb,mBAAKG,UAAL,GAAkB,IAAlB;AACD,aAFD,MAEO;AACL,mBAAKA,UAAL,GAAkB,KAAlB;AACD;;AAED,iBAAK1C,OAAL,GAAe,KAAKoK,SAAL,CAAezH,MAAf,CAAsB,UAAUC,CAAV,EAAa;;;AAChD,qBACE,OAAAA,CAAC,CAACqF,QAAF,MAAU,IAAV,IAAU,aAAV,GAAU,MAAV,GAAU,GAAExF,WAAF,GAAgBzL,QAAhB,CAAyBuL,GAAzB,CAAV,MAAsC,MACtCK,CAAC,CAACsF,QADoC,MAC5B,IAD4B,IAC5B,aAD4B,GAC5B,MAD4B,GAC5B,GAAEzF,WAAF,GAAgBzL,QAAhB,CAAyBuL,GAAzB,CADV,MACuC,MACvCK,CAAC,CAACuF,OADqC,MAC9B,IAD8B,IAC9B,aAD8B,GAC9B,MAD8B,GAC9B,GAAE1F,WAAF,GAAgBzL,QAAhB,CAAyBuL,GAAzB,CAFT,CADF;AAKD,aANc,CAAf;AAOD;;;iBAED,kBAAS;AAAA;;AACP,iBAAK1H,QAAL,CAAc4hB,MAAd,CAAqB,KAAKD,QAA1B,EAAoChkB,SAApC,CACE,UAACC,GAAD,EAAS;AACP,sBAAI,CAACtC,UAAL,CAAgBumB,MAAhB;AACD,aAHH,EAIE,UAACtiB,GAAD,EAAS,CACR,CALH;AAOD;;;iBAED,oBAAW;AACT,iBAAK4F,OAAL,GAAe,EAAf;AACA,iBAAK0C,UAAL,GAAkB,KAAlB;AACD;;;iBAED,0BAAiB;AACf,gBAAI,KAAK+iG,IAAL,CAAUI,iBAAd,EAAiC;AAC/B,mBAAKJ,IAAL,CAAUI,iBAAV;AACD,aAFD,MAEO,IAAI,KAAKJ,IAAL,CAAUK,oBAAd,EAAoC;AACzC;AACA,mBAAKL,IAAL,CAAUK,oBAAV;AACD,aAHM,MAGA,IAAI,KAAKL,IAAL,CAAUM,uBAAd,EAAuC;AAC5C;AACA,mBAAKN,IAAL,CAAUM,uBAAV;AACD,aAHM,MAGA,IAAI,KAAKN,IAAL,CAAUO,mBAAd,EAAmC;AACxC;AACA,mBAAKP,IAAL,CAAUO,mBAAV;AACD;;AACD,iBAAKd,YAAL,GAAoB,CAAC,KAAKA,YAA1B;AACD;;;iBAED,2BAAkB;AAChB,gBAAI,KAAK5wG,QAAL,CAAc2xG,cAAlB,EAAkC;AAChC,mBAAK3xG,QAAL,CAAc2xG,cAAd;AACD,aAFD,MAEO,IAAI,KAAK3xG,QAAL,CAAc4xG,mBAAlB,EAAuC;AAC5C;AACA,mBAAK5xG,QAAL,CAAc4xG,mBAAd;AACD,aAHM,MAGA,IAAI,KAAK5xG,QAAL,CAAc6xG,oBAAlB,EAAwC;AAC7C;AACA,mBAAK7xG,QAAL,CAAc6xG,oBAAd;AACD,aAHM,MAGA,IAAI,KAAK7xG,QAAL,CAAc8xG,gBAAlB,EAAoC;AACzC;AACA,mBAAK9xG,QAAL,CAAc8xG,gBAAd;AACD;;AACD,iBAAKlB,YAAL,GAAoB,CAAC,KAAKA,YAA1B;AACD;;;iBAED,sBAAa;AACX,gBAAI,KAAKtqG,SAAL,CAAe+C,WAAf,IAA8B,IAAlC,EAAwC;AACtC,mBAAK/C,SAAL,CAAe44F,GAAf,CAAmB,IAAnB;AACA,mBAAK54F,SAAL,CAAe64F,cAAf,CAA8B,IAA9B;AACA,mBAAK/6E,WAAL,CAAiB0gF,QAAjB,CAA0B,IAA1B;AACD,aAJD,MAIO;AACL,mBAAKx+F,SAAL,CAAe44F,GAAf,CAAmB,IAAnB;AACA,mBAAK54F,SAAL,CAAe64F,cAAf,CAA8B,IAA9B;AACA,mBAAK/6E,WAAL,CAAiB0gF,QAAjB,CAA0B,IAA1B;AACD;;AACDnkG,kBAAM,CAACC,QAAP,CAAgBC,MAAhB;AACD;;;iBAED,4BAAmB;AACjB,iBAAKhC,MAAL,CAAY4L,IAAZ,CAAiB,mHAAjB;AACD;;;iBAmBD,oBAAQ;AAAA;;AAEN,iBAAKqF,WAAL,GACE1Q,YAAY,CAACC,OAAb,CAAqB,WAArB,KAAqC,MAArC,GAA8C,IAA9C,GAAqD,KADvD;AAGA,iBAAKN,MAAL,CAAYm+D,MAAZ,CAAmB9/C,IAAnB,CACE,8DAAO,UAAApP,KAAK;AAAA,qBAAIA,KAAK,YAAY,6DAArB;AAAA,aAAZ,CADF,EAEE9J,SAFF,CAEY,UAAC8J,KAAD,EAA0B;AACpC,sBAAI,CAAC+jG,UAAL,GAAkB/jG,KAAK,CAACrM,GAAxB;AACD,aAJD;AAKA,iBAAKumB,QAAL,GAAgBD,cAAc,CAAC5oB,OAAf,CAAuB,UAAvB,CAAhB;AACA,iBAAKwC,UAAL,CAAgB4zF,gBAAhB,CAAiCvxF,SAAjC,CAA2C,UAAC8P,QAAD,EAAc;AACvD,sBAAI,CAACA,QAAL,GAAgBA,QAAhB;AACD,aAFD;AAGD;;;eAED,eAAqB;AACnB,mBAAO,yEAAag+F,cAApB;AACD;;;iBAED,0BAAiB;AACf,iBAAK5tF,WAAL,CAAiB6tF,SAAjB;AACAtxG,kBAAM,CAACC,QAAP,CAAgBC,MAAhB;AACD;;;;;;;yBApOU8vG,e,EAAe,iJ,EAAA,oI,EAAA,kI,EAAA,sI,EAAA,gEAiMhB,wDAjMgB,C,EAiMR,uH,EAAA,wJ,EAAA,yI,EAAA,wI,EAAA,uH;AAAA,O;;;cAjMPA,e;AAAe,oC;AAAA,kB;AAAA,iB;AAAA,uwJ;AAAA;AAAA;AC1B5B;;AAEE;;AAEE;;AACE;;AAGE;;AAGF;;AACF;;AAEA;;AACE;;AACE;;AAAmB;AAAA;AAAA,eAAyB,OAAzB,EAAyB;AAAA,qBACI,IAAAzhG,uBAAA,QADJ;AACmC,aAD5D;;;;AAAnB;;AAEA;;AAIF;;AAEA;;AAsCF;;AAEA;;AACE;;AAA6B;AAAA,qBAAS,IAAAgjG,UAAA,EAAT;AAAqB,aAArB;;AAAuB;;AAAI;;AAC1D;;AAEF;;AAEA;;AACE;;AACE;;AACF;;AAEA;;AAEE;;AACE;;;;AAEE;;AAAU;;AAAI;;AAChB;;AACF;;AAIA;;AACE;;;;AAEE;;AAAU;;AAAe;;AAC3B;;AACF;;AAEA;;AACE;;;;AAEE;;AAAU;;AAAO;;AACnB;;AAEA;;AAEE;;AACE;;AAA+B;;;;AAA6B;;AAC9D;;AACA;;AACA;;AAAwB;AAAA,qBAAS,IAAAvkF,SAAA,CAAU,cAAV,CAAT;AAAkC,aAAlC;;AACtB;;;;AACF;;AACA;;AAAwB;AAAA,qBAAS,IAAAA,SAAA,CAAU,eAAV,CAAT;AAAmC,aAAnC;;AACtB;;;;AACF;;AACA;;AAAwB;AAAA,qBAAS,IAAAA,SAAA,CAAU,QAAV,CAAT;AAA4B,aAA5B;;AACtB;;;;AACF;;AACA;;AAAwB;AAAA,qBAAS,IAAAA,SAAA,CAAU,cAAV,CAAT;AAAkC,aAAlC;;AACtB;;;;AACF;;AACA;;AAAwB;AAAA,qBAAS,IAAAA,SAAA,CAAU,aAAV,CAAT;AAAiC,aAAjC;;AACtB;;;;AACF;;AACA;;AAAwB;AAAA,qBAAS,IAAAA,SAAA,CAAU,MAAV,CAAT;AAA0B,aAA1B;;AACtB;;;;AACF;;AACA;;AAAwB;AAAA,qBAAS,IAAAA,SAAA,CAAU,YAAV,CAAT;AAAgC,aAAhC;;AACtB;;;;AACF;;AACA;;AAAwB;AAAA,qBAAS,IAAAA,SAAA,CAAU,YAAV,CAAT;AAAgC,aAAhC;;AACtB;;;;AACF;;AACA;;AAAwB;AAAA,qBAAS,IAAAA,SAAA,CAAU,OAAV,CAAT;AAA2B,aAA3B;;AACtB;;;;AACF;;AACA;;AAQF;;AACF;;AAEA;;AACE;;;;AAEE;;AAAU;;AAAI;;AAChB;;AACA;;AAEE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;;;AACF;;AACF;;AACF;;AACF;;AACA;;AAAsD;AAAA,qBAAS,IAAAwkF,cAAA,EAAT;AAAyB,aAAzB;;AACpD;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AAEA;;AACE;;AAGA;;AAGF;;AAEF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AAGA;;AAGF;;AAQF;;AACF;;AAEA;;AAoBA;;AAgBA;;AAgBA;;AAeA;;AAAsD;AAAA,qBAAS,IAAAC,QAAA,EAAT;AAAmB,aAAnB;;AACpD;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;;;AACF;;AACF;;AACF;;AACF;;AACA;;AAAsD;AAAA,qBAAS,IAAA5M,UAAA,EAAT;AAAqB,aAArB;;AACpD;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;;;AACF;;AACF;;AACF;;AACF;;AACA;;AAAsD;AAAA,qBAAS,IAAAp9E,MAAA,EAAT;AAAiB,aAAjB;;AACpD;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;;;AACF;;AACF;;AACF;;AACF;;AAEF;;AACF;;AACF;;AAEA;;AACE;;AACkB;AAAA,wCAAuB,IAAAiqF,eAAA,EAAvB,GAAyC,IAAAC,cAAA,EAAzC;AAAyD,aAAzD;;;;AAChB;;AAAU;;AAAU;;AACtB;;AACF;;AACF;;AACF;;AACF;;AACA;;;;AAlWQ;;AAAA;;AACA;;AAEE;;AAAA;;AAQA;;AAAA;;AADiB,iGAAyB,UAAzB,EAAyB,cAAzB;;AAEU;;AAAA;;AAMzB;;AAAA;;AA+CuF;;AAAA,uKAAgC,SAAhC,EAAgC,sFAAhC;;AAOnF;;AAAA;;AACU;;AAQV;;AAAA;;AACN;;AAMM;;AAAA;;AAMN;;AAAA;;AAEiC;;AAAA;;AAI/B;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAEa;;AAAA;;AAYT;;AAAA;;AAIa;;AAAA;;AAGqC;;AAAA;;AAS9C;;AAAA;;AAcA;;AAAA;;AAK8C;;AAAA;;AAS9C;;AAAA;;AAK8B;;AAAA,gGAAsB,YAAtB,EAAsB,QAAtB;;AASN;;AAAA;;AAGI;;AAAA;;AAOE;;AAAA,gGAAsB,YAAtB,EAAsB,SAAtB;;AAQN;;AAAA;;AAGI;;AAAA;;AAenC;;AAAA;;AAmBK;;AAAA;;AAgBA;;AAAA;;AAgBA;;AAAA;;AAwBE;;AAAA;;AAcA;;AAAA;;AAcA;;AAAA;;AAWJ;;AAAA;;AAQc;;AAAA;;;;;;;;;;;;;;;;;;;;;;ACtW9B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACiCQ;;AACE;;AAAwF;;;;;;;;AADrC;;AACnD;;AAAA;;;;;;AAKJ;;;;AAAmE,uFAAmB,MAAnB,EAAmB,eAAnB,EAAmB,OAAnB,EAAmB,EAAnB,EAAmB,aAAnB,EAAmB,EAAnB;;;;;;AAenE;;AAAsD;;;;AAA2B;;;;AAA3B;;AAAA;;;;;;AACtD;;AAAuD;;;;AAA8B;;;;AAA9B;;AAAA;;;;;;AAJ3D;;AACE;;AACA;;AACE;;AACA;;AACF;;AACF;;;;;;AAHmC;;AAAA;;AACA;;AAAA;;;;;;;;AAmCnB;;AACE;;AAAgB;;AAAwB;;AACxC;;AAAgB;;;;AAA4B;;AAC5C;;AAAgB;;AAAsB;;AACtC;;AAAgB;;;;AAAwB;;AACxC;;AAAgB;;;;AAA6C;;AAC7D;;AAAgB;;;;AAA+C;;AAC/D;;AAIE;;AACE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA+B;;;;AAAuB;;AAC1D;;AACF;;;;;;AAbkB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAMmB;;AAAA;;;;;;AA3CnD;;AAGE;;AACE;;AACA;;AACE;;AACE;;AACE;;AACE;;AAAI;;AAAqC;;AAC3C;;AAEA;;AACE;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAAsB;;AAC5B;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAAgB;;AAAY;;AAC5B;;AAAgB;;AAAc;;AAC9B;;AAAgB;;AAAM;;AACtB;;AAAgB;;AAAM;;AACtB;;AAAgB;;AAAQ;;AACxB;;AAAgB;;AAAM;;AACtB;;AACF;;AACA;;AACE;;AAeF;;AACF;;AACF;;AACF;;AACF;;AAEF;;AACA;;AAEF;;;;;;AA9CgB;;AAAA;;AAIA;;AAAA;;AACA;;AAAA;;AAiBsB;;AAAA;;;;UD5E7BC,sB;AAyBX,wCACUzwG,IADV,EAES0wG,cAFT,EAGSlsG,SAHT,EAIU+E,UAJV,EAKkCN,IALlC,EAK8C;AAAA;;AAJpC,eAAAjJ,IAAA,GAAAA,IAAA;AACD,eAAA0wG,cAAA,GAAAA,cAAA;AACA,eAAAlsG,SAAA,GAAAA,SAAA;AACC,eAAA+E,UAAA,GAAAA,UAAA;AACwB,eAAAN,IAAA,GAAAA,IAAA;AA7BlC,eAAAa,KAAA,GAAQ,IAAI1D,IAAJ,EAAR;AAGA,eAAAZ,QAAA,GAAiB,IAAIY,IAAJ,CAAS,KAAK0D,KAAL,CAAWiH,OAAX,CAAmB,KAAKjH,KAAL,CAAWkH,OAAX,KAAuB,CAA1C,CAAT,CAAjB;AACA,eAAAzL,MAAA,GAAe,IAAIa,IAAJ,EAAf;AAIA,eAAAw5F,iBAAA,GAAoB,KAApB;AAuBE,eAAKp/F,OAAL,GAAe/C,IAAI,CAACC,KAAL,CAAWJ,YAAY,CAACC,OAAb,CAAqB,SAArB,CAAX,CAAf;;AAEA,cAAI,KAAK0L,IAAL,IAAa,IAAb,IAAqB,KAAKA,IAAL,CAAU,WAAV,KAA0B,IAAnD,EAAyD;AACvD;AACE,mBAAK42F,cAAL,GAAsB,KAAK52F,IAAL,CAAU,WAAV,CAAtB;AACA,mBAAKk3F,YAAL;AACD;AACF;AACF;;;;iBA5BD,qBAAYhzE,OAAZ,EAAqB;AAAA;;AACnB,iBAAK5jB,UAAL,CACGonG,gBADH,CACoB,KAAK9Q,cADzB,EACyC1yE,OAAO,CAACyjF,SADjD,EAEGxuG,SAFH,CAEa,UAACC,GAAD,EAAS;AAClBxD,oBAAM,CAAC8J,IAAP,CAAY,yEAAarH,aAAb,GAA6Be,GAAG,CAAC,SAAD,CAA5C,EAAyD,QAAzD;AACA,sBAAI,CAACu9F,iBAAL,GAAyB,KAAzB;AACD,aALH;AAMD;;;iBAED,uBAAcG,QAAd,EAAwB;AACtB,iBAAK8Q,eAAL,GAAuB9Q,QAAvB;AACD;;;iBAmBD,+BAAsB;AACpB,gBAAIpoB,IAAI,GAAG,mCAAM,CAAC,KAAKnyE,QAAN,CAAN,CAAsB0nB,MAAtB,CAA6B,YAA7B,CAAX;AACA,gBAAI0qD,EAAE,GAAG,mCAAM,CAAC,KAAKryE,MAAN,CAAN,CAAoB2nB,MAApB,CAA2B,YAA3B,CAAT,CAFoB,CAIpB;;AACA,mBAAO,KAAKltB,IAAL,CAAU+C,GAAV,WACF,yEAAazB,aADX,oDACkEq2E,IADlE,qBACiFC,EADjF,kCAC2G,KAAKioB,cADhH,EAAP;AAGD;;;iBAED,wBAAe3zF,KAAf,EAAsB,CAAE;;;iBAExB,wBAAe;AAAA;;AACb,iBAAK0zF,iBAAL,GAAyB,IAAzB;AACA,iBAAKkR,mBAAL,GAA2B1uG,SAA3B,CAAqC,UAACC,GAAD,EAAS;AAC5C,sBAAI,CAAC0uG,QAAL,GAAgB1uG,GAAhB;AACA,sBAAI,CAACu9F,iBAAL,GAAyB,KAAzB;AACD,aAHD;AAID;;;iBAED,oBAAQ;AAAA;;AACN,iBAAK8Q,cAAL,CAAoBM,QAApB,CACG11F,IADH,CACQ,2DAAI;AAAA,qBAAMzc,MAAM,CAACoyG,OAAP,CAAe1xG,KAArB;AAAA,aAAJ,CADR,EAEG6C,SAFH,CAEa,UAACC,GAAD,EAAS;AAClB,kBAAIA,GAAG,CAAC7C,IAAJ,IAAY,IAAhB,EAAsB;AACpB,wBAAI,CAAC2O,SAAL,GAAiB9L,GAAG,CAAC7C,IAArB;AACA,wBAAI,CAACqgG,cAAL,GAAsB,QAAI,CAAC1xF,SAAL,CAAerM,YAArC;;AACA,wBAAI,CAACq+F,YAAL;AACD;AACF,aARH;AASD;;;;;;;yBAxEUsQ,sB,EAAsB,gI,EAAA,+H,EAAA,qI,EAAA,wI,EAAA,gEA8BvB,wEA9BuB,C;AA8BR,O;;;cA9BdA,sB;AAAsB,2C;AAAA,iB;AAAA,gB;AAAA,u7D;AAAA;AAAA;;;AChBnC;;AACE;;AAAK;;;;AAA2B;;AAEhC;;AACE;;AAEE;;AAAmC;;AAAS;;AAC9C;;AACA;;AACE;;AAAmC;;AAAK;;AAC1C;;AACF;;AACF;;AAEA;;AAGE;;AACE;;AACE;;AAAsC;;;;AAAyB;;AAE/D;;AAAO;AAAA;;AAAA;;AAAA,qBAAS,UAAT;AAA0B,aAA1B,EAA2B,eAA3B,EAA2B;AAAA;AAAA,aAA3B;;AAAP;;AAEA;;AACF;;AACA;;AACE;;AAAsC;;;;AAAuB;;AAE7D;;AAAO;AAAA;;AAAA;;AAAA,qBAAS,UAAT;AAAwB,aAAxB,EAAyB,eAAzB,EAAyB;AAAA;AAAA,aAAzB;;AAAP;;AAEA;;AACF;;AACA;;AACE;;AAAsC;;;;AAA+B;;AACrE;;AAA0B;AAAA;AAAA,eAA4B,QAA5B,EAA4B;AAAA,qBAAW,IAAA33F,cAAA,qBAAX;AAA8C,aAA1E;;AACxB;;AAEF;;AAIA;;AAGF;;AACA;;AACE;;AAAgC;AAAA,qBAAS,IAAAqnF,YAAA,EAAT;AAAuB,aAAvB;;AAC9B;;;;AACF;;AACF;;AACF;;AAGA;;AAOA;;AACE;;AAwDF;;AAGF;;;;;;;;AAvHO;;AAAA;;AAkBqC;;AAAA;;AAGpC;;AAAA,8FAAsB,eAAtB,EAAsB,GAAtB;;AAIoC;;AAAA;;AAGpC;;AAAA,4FAAoB,eAApB,EAAoB,GAApB;;AAIoC;;AAAA;;AACZ;;AAAA;;AACG;;AAAA;;AAMV;;AAAA;;AAMjB;;AAAA;;AAMA;;AAAA;;AAQkB;;AAAA;;;;;;;;;;;;;;;;;;;;;;AC7D1B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACwDoB;;;;;;AACA;;;;;;AAeF;;AAAwC;;;;AAAiC;;;;AAAjC;;AAAA;;;;;;AAD1C;;AACE;;AACF;;;;;;AADQ;;AAAA;;;;;;AASN;;AAAwC;;;;AAAiC;;;;AAAjC;;AAAA;;;;;;AAD1C;;AACE;;AACF;;;;;;AADQ;;AAAA;;;;;;AAiBJ;;;;;;;;;;;;;;;;;;;;;;;;AArDlB;;AACE;;AACE;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACE;;AACI;;AAAwB;AAAA;;AAAA;;AAAA;AAAA;;AACtB;;AACA;;AACF;;AACJ;;AACF;;AACA;;AACE;;AAEF;;AACA;;AACA;;AAAyB;AAAA;;AAAA;;AAAA;AAAA;;AACvB;;AACE;;AAAsB;;;;AAA0B;;AAChD;;AAEA;;AAGF;;AAEA;;AACE;;AAAO;;;;AAAwB;;AAC/B;;AAEA;;AAGF;;AACA;;AACE;;AACE;;AAAoB;AAAA;;AAAA;;AAAA;AAAA;;AAApB;;AACA;;;;AACF;;AACA;;AACE;;AAAmC;;;;AAA+B;;AACpE;;AACF;;AACA;;AAEA;;AACE;;AACE;;AACE;;AACA;;;;AACF;;AACF;;AACA;;AACE;;AAAwC;;AAAiB;;AACzD;;AACF;;AACF;;AAEA;;AACE;;AACE;;AAAmE;;AAA+B;;AAClG;;AAAG;AAAA;;AAAA;;AAAA;AAAA;;AAA2D;;AAAK;;AACrE;;AAEA;;AACE;;AAAyB;;;;AAAyB;;AAClD;;AACE;;AACE;;AAEF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;AACF;;AACA;;AACF;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACF;;;;;;AAnFgG;;AAAA;;AACA;;AAAA;;AAShF;;AAAA;;AAEoB;;AAAA;;AAEpB;;AAAA;;AACI;;AAAA;;AAMC;;AAAA;;AAEL;;AAAA;;AACI;;AAAA;;AAMgB;;AAAA,gGAAuB,gBAAvB,EAAuB,sEAAvB;;AACpB;;AAAA;;AAGG;;AAAA;;AAAgC;;AAAA;;AAO3B;;AAAA;;AACC;;AAAA;;AACP;;AAAA;;AAIsC;;AAAA;;AAYf;;AAAA;;AAEJ;;AAAA;;AAIA;;AAAA;;AAGA;;AAAA;;AAW7B;;AAAA;;;;;;AAKR;;;;UD/GW+Q,c;AAcX,gCACUtT,WADV,EAEUt+F,KAFV,EAGUrC,MAHV,EAIUoC,cAJV,EAKUw+F,YALV,EAMUnhF,OANV,EAOU3f,MAPV,EAQSyH,SART,EASU8d,WATV,EAUUw7E,kBAVV,EAWU/9F,UAXV,EAYUwJ,UAZV,EAYgC;AAAA;;AAXtB,eAAAq0F,WAAA,GAAAA,WAAA;AACA,eAAAt+F,KAAA,GAAAA,KAAA;AACA,eAAArC,MAAA,GAAAA,MAAA;AACA,eAAAoC,cAAA,GAAAA,cAAA;AACA,eAAAw+F,YAAA,GAAAA,YAAA;AACA,eAAAnhF,OAAA,GAAAA,OAAA;AACA,eAAA3f,MAAA,GAAAA,MAAA;AACD,eAAAyH,SAAA,GAAAA,SAAA;AACC,eAAA8d,WAAA,GAAAA,WAAA;AACA,eAAAw7E,kBAAA,GAAAA,kBAAA;AACA,eAAA/9F,UAAA,GAAAA,UAAA;AACA,eAAAwJ,UAAA,GAAAA,UAAA;AAxBV,eAAArD,OAAA,GAAU,KAAV;AACA,eAAAy8F,SAAA,GAAY,KAAZ;AACA,eAAAG,cAAA,GAAiB,2EAAY/lB,OAA7B;AAEA,eAAAjsD,SAAA,GAAY,KAAZ;AAGA,eAAA8xE,UAAA,GAAsB,KAAtB;AACA,eAAAF,aAAA,GAA+B,EAA/B;AAGA,eAAAvS,MAAA,GAAS,yEAAaA,MAAtB;AAcK;;;;iBAEL,oBAAW;AACT,iBAAK9G,IAAL,GAAY,KAAKuU,WAAL,CAAiBK,KAAjB,CAAuB;AACjC3jE,sBAAQ,EAAE,CAAC,EAAD,EAAK,0DAAW50B,QAAhB,CADuB;AAEjC82F,sBAAQ,EAAE,CAAC,EAAD,EAAK,0DAAW92F,QAAhB;AAFuB,aAAvB,CAAZ;AAIA,iBAAKyqF,MAAL,GAAc,KAAK4S,kBAAL,EAAd,GAA0C,IAA1C;AACD,W,CAED;;;;eACA,eAAQ;AACN,mBAAO,KAAK1Z,IAAL,CAAU5iF,QAAjB;AACD;;;eACD,eAAS;AACP,mBAAO,KAAKu3F,UAAL,CAAgBv3F,QAAvB;AACD;;;iBAED,oBAAW;AAAA;;AACT,iBAAKk8F,SAAL,GAAiB,IAAjB,CADS,CAGT;;AACA,iBAAK9E,YAAL,CAAkB3qD,KAAlB,GAJS,CAMT;;AACA,gBAAI,KAAKm2C,IAAL,CAAUtR,OAAd,EAAuB;AACrB;AACD;;AAED,iBAAK7xE,OAAL,GAAe,IAAf;;AAEA,gBAAI,KAAKmjF,IAAL,CAAUziF,KAAd,EAAqB;AACnB,mBAAKk3F,kBAAL,CACGK,OADH,CACW,iBADX,EAEG/7F,SAFH,CAEa,UAACm7F,KAAD,EAAmB;AAC5B,wBAAI,CAACx9F,UAAL,CACGkjG,SADH,CACa,QAAI,CAACztF,CAAL,CAAO8kB,QAAP,CAAgBn2B,KAD7B,EACoC,QAAI,CAACqR,CAAL,CAAOgnF,QAAP,CAAgBr4F,KADpD,EAEG/B,SAFH,CAGI,UAACC,GAAD,EAAS;AACP,0BAAI,CAAC6D,OAAL,GAAe,KAAf;AAEA,0BAAI,CAAC2qB,GAAL,GAAWxuB,GAAX;AACA,0BAAI,CAACwuB,GAAL,CAASiB,QAAT,GAAoB,QAAI,CAACtc,CAAL,CAAO8kB,QAAP,CAAgBn2B,KAApC;AAEAgiB,gCAAc,CAACnoB,OAAf,CAAuB,UAAvB,EAAmC,QAAI,CAACwX,CAAL,CAAO8kB,QAAP,CAAgBn2B,KAAnD;;AACA,0BAAI,CAAC++F,IAAL,CAAU,QAAI,CAACryE,GAAf;AACD,iBAXL,EAYI,UAAC7sB,GAAD,EAAS;AACP,0BAAI,CAACkC,OAAL,GAAe,KAAf;AACA,qEAAK8I,IAAL,CAAU;AACRC,4BAAQ,EAAE,QADF;AAERC,wBAAI,EAAE,OAFE;AAGR5H,yBAAK,EAAE,QAAI,CAAC9C,SAAL,CAAehC,OAAf,CAAuB,kBAAvB,CAHC;AAIR2M,qCAAiB,EAAE,KAJX;AAKRC,yBAAK,EAAE;AALC,mBAAV;AAOD,iBArBL;AAuBD,eA1BH;AA2BD;AACF;;;iBAED,cAAKnG,IAAL,EAAW;AACT,gBAAM2F,SAAS,GAAG,KAAK7R,MAAL,CAAY4L,IAAZ,CAAiB,oFAAjB,EAAgC;AAChD;AACAuF,mBAAK,EAAE,OAFyC;AAGhDjF,kBAAI,EAAE;AAAEA,oBAAI,EAAEA,IAAR;AAAc6nB,yBAAS,EAAE,KAAKA;AAA9B;AAH0C,aAAhC,CAAlB;AAKD;;;iBAED,gCAAuB;AAAA;;AACrB,gBAAInS,MAAM,GAAyB,IAAI,gEAAJ,EAAnC;AACAA,kBAAM,CAAC9e,GAAP,GAAa,yEAAayB,aAA1B;AACAqd,kBAAM,CAACC,OAAP,GAAiB,OAAjB;AACAD,kBAAM,CAACE,OAAP,GAAiB,KAAjB;AAEA,iBAAKnC,OAAL,CAAaoC,OAAb,CAAqBH,MAArB,EAA6BtH,IAA7B,CAAkC,UAAChV,GAAD,EAAS;AACzC,sBAAI,CAAC8gG,YAAL,GAAoB9gG,GAApB,CADyC,CAEzC;;AACA,kBAAI+gG,MAAM,GAAGvkG,MAAM,CAAC8J,IAAP,CACX,oBAAoB,QAAI,CAACw6F,YAAL,CAAkBh+F,EAD3B,EAEX,QAFW,CAAb;AAKA,kBAAI8Z,MAAM,GAAG,IAAI,kEAAJ,CAAgC,UAAhC,CAAb;;AAEA,sBAAI,CAACkkF,YAAL,CAAkBjkF,MAAlB,CAAyBD,MAAzB;;AACAA,oBAAM,CAAC7c,SAAP,CAAiB,UAAC2Y,MAAD,EAAY;AAC3B,oBAAIqoF,MAAM,IAAI,IAAV,IAAkBA,MAAM,IAAIvuE,SAAhC,EAA2C;AACzCuuE,wBAAM,CAACl4F,KAAP;;AACA,0BAAI,CAACg4F,IAAL,CAAUnoF,MAAV;AACD;AACF,eALD;AAMD,aAjBD;AAkBD;;;iBAED,sBAAa;AACX,gBAAI,KAAKvW,SAAL,CAAe+C,WAAf,IAA8B,IAAlC,EAAwC;AACtC,mBAAK/C,SAAL,CAAe44F,GAAf,CAAmB,IAAnB;AACA,mBAAK54F,SAAL,CAAe64F,cAAf,CAA8B,IAA9B;AACA,mBAAK/6E,WAAL,CAAiB0gF,QAAjB,CAA0B,IAA1B;AACD,aAJD,MAIO;AACL,mBAAKx+F,SAAL,CAAe44F,GAAf,CAAmB,IAAnB;AACA,mBAAK54F,SAAL,CAAe64F,cAAf,CAA8B,IAA9B;AACA,mBAAK/6E,WAAL,CAAiB0gF,QAAjB,CAA0B,IAA1B;AACD;;AACDnkG,kBAAM,CAACC,QAAP,CAAgBC,MAAhB;AACD;;;iBAED,0BAAiB;AACf,iBAAKskG,oBAAL;AACD;;;eAGD,eAAoB;AAClB,mBAAO,yEAAaG,aAApB;AACD;;;iBAED,oBAAW;AAAA;;AACT,iBAAK1F,kBAAL,CACGK,OADH,CACW,iBADX,EAEG/7F,SAFH,CAEa,UAACm7F,KAAD,EAAmB;AAC5B,sBAAI,CAACmF,aAAL,CAAmBtE,KAAnB,GAA2B,QAAI,CAACJ,UAAL,CAAgB75F,KAAhB,CAAsB+5F,KAAjD;;AACA,sBAAI,CAACn+F,UAAL,CAAgBujG,cAAhB,CAA+B,QAAI,CAACZ,aAApC,EAAmDtgG,SAAnD,CAA6D,UAAC6qF,GAAD,EAAS;AACpE,mEAAKj+E,IAAL,CAAU;AACRC,0BAAQ,EAAE,QADF;AAERC,sBAAI,EAAE,SAFE;AAGR5H,uBAAK,EAAE,QAAI,CAAC9C,SAAL,CAAehC,OAAf,CAAuB,YAAvB,CAHC;AAIR2M,mCAAiB,EAAE,KAJX;AAKRC,uBAAK,EAAE;AALC,iBAAV;AAOD,eARD;AASD,aAbH;AAcD;;;iBAED,0BAAiB;AACf,iBAAKwzF,UAAL,GAAkB,CAAC,KAAKA,UAAxB;;AACA,gBAAI,KAAKA,UAAL,IAAmB,IAAvB,EAA6B;AAC3B,mBAAK5E,UAAL,GAAkB,KAAKJ,WAAL,CAAiBK,KAAjB,CAAuB;AACvCC,qBAAK,EAAE,CAAC,IAAD,EAAO,CAAC,0DAAWx4F,QAAZ,EAAsB,0DAAWw4F,KAAjC,CAAP;AADgC,eAAvB,CAAlB;AAGD;AACF;;;iBAED,8BAAqB;AAAA;;AACnB,iBAAK30F,UAAL,CAAgBw5F,kBAAhB,GACG3gG,SADH,CAEI,UAAC6G,IAAD,EAA2B;AACzB,sBAAI,CAACs6F,eAAL,GAAuBt6F,IAAvB;AACD,aAJL;AAMD;;;iBAED,uBAAc;AACZ,gBAAI,KAAKq1F,aAAT,EAAwB;AACtB,mBAAKA,aAAL,CAAmBzlE,WAAnB;AACD;;AACD,gBAAM5f,OAAO,GAAG/a,QAAQ,CAACmN,sBAAT,CACd,kBADc,EAEd,CAFc,CAAhB;;AAGA,gBAAI4N,OAAJ,EAAa;AACXA,qBAAO,CAACta,KAAR,CAAc4/F,UAAd,GAA2B,QAA3B;AACD;AACF;;;;;;;yBA9LU2S,c,EAAc,2H,EAAA,+H,EAAA,uH,EAAA,gJ,EAAA,4I,EAAA,oH,EAAA,oI,EAAA,sI,EAAA,mJ,EAAA,iI,EAAA,gJ,EAAA,yI;AAAA,O;;;cAAdA,c;AAAc,kC;AAAA,gB;AAAA,e;AAAA,qwE;AAAA;AAAA;ACe3B;;AACE;;AA+FA;;AACF;;;;AAhG0B;;AAAA;;AA+FR;;AAAA;;;;;;;;;;;;;;;;;;;;;;AC1IlB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACDI;;AAGI;;AACA;;AAA+C;;;;;;;;AAAgH;;AACnK;;;;;;AADmD;;AAAA;;;;;;AALvD;;AACI;;AAMJ;;;;;;AALS;;AAAA;;;;;;AA6BL;;AAiDI;;AAWJ;;;;;;AAVQ;;AAAA,8IAA+B,OAA/B,EAA+B,8DAA/B,EAA+B,MAA/B,EAA+B,6DAA/B,EAA+B,MAA/B,EAA+B,6DAA/B,EAA+B,QAA/B,EAA+B,+DAA/B,EAA+B,OAA/B,EAA+B,8DAA/B,EAA+B,OAA/B,EAA+B,8DAA/B,EAA+B,YAA/B,EAA+B,mEAA/B,EAA+B,YAA/B,EAA+B,mEAA/B;;;;;;AAaR;;AACI;;AAGI;;AACA;;AAA+C;;;;AAAkC;;AACrF;;AACJ;;;;AAFuD;;AAAA;;;;;;;;AAIvD;;AACI;;AACI;;AAAY;AAAA;;AAAA;;AAAA;AAAA,aAAiB,iBAAjB,EAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAjB;;AAAgE;;AAChF;;AACA;;AACI;;AAA8B;;;;AAAuC;;AAAQ;;AAAsD;;AAA4C;;AACnL;;AACA;;AACI;;AAAY;AAAA;;AAAA;;AAAA;AAAA,aAAiB,iBAAjB,EAAiB;AAAA;;AAAA;;AAAA;AAAA,WAAjB;;AAAgE;;AAChF;;AACA;;AACI;;AAA6B;;;;AAAmC;;AAAQ;;AAAsD;;AAAyC;;AAC3K;;AACJ;;;;;;AAXoB;;AAAA,0FAAiB,WAAjB,EAAiB,gBAAjB,EAAiB,SAAjB,EAAiB,cAAjB;;AAGkB;;AAAA;;AAAqG;;AAAA;;AAGvH;;AAAA,0FAAiB,WAAjB,EAAiB,gBAAjB,EAAiB,SAAjB,EAAiB,cAAjB;;AAGiB;;AAAA;;AAAiG;;AAAA;;;;;;AASlI;;AACI;;AACJ;;;;;;AADgD;;AAAA;;;;;;AAEhD;;AACA;;AACI;;AACA;;AAA+C;;;;AAAkC;;AACrF;;AACA;;;;AAFmD;;AAAA;;;;;;;;;;;;UDrH9CC,6B;AAwBX,+CACSp0G,MADT,EAESyH,SAFT,EAEoC;AAAA;;AAD3B,eAAAzH,MAAA,GAAAA,MAAA;AACA,eAAAyH,SAAA,GAAAA,SAAA;AAnBT,eAAA2rF,MAAA,GAAS,yEAAaA,MAAtB;AAKA,eAAAihB,UAAA,GAAoB,KAApB;AAEA,eAAAC,SAAA,GAAiB,EAAjB;AACA,eAAAltG,KAAA,GAAgB,CAAhB;AACA,eAAAqX,OAAA,GAAU;AACRyE,iBAAK,EAAE,CADC;AAERugD,gBAAI,EAAE,EAFE;AAGR8wC,gBAAI,EAAE,EAHE;AAIRC,qBAAS,EAAE,IAJH;AAKRC,2BAAe,EAAE;AALT,WAAV;AAYE,eAAK5zF,IAAL,GAAY,KAAKpZ,SAAL,CAAe+C,WAA3B;AACA,eAAKyG,WAAL,GAAmB1Q,YAAY,CAACC,OAAb,CAAqB,WAArB,KAAqC,MAArC,GAA8C,IAA9C,GAAqD,KAAxE;AACD;;;;iBAED,oBAAQ,CACP;;;iBAED,qBAAYoQ,OAAZ,EAAkC;AAChC,gBAAIA,OAAO,CAAC,oBAAD,CAAX,EAAmC;AACjC,mBAAK8jG,kBAAL;AACD;AACF;;;iBAED,wBAAexjG,KAAf,EAA4B;;;AAC1B,mBAAO,IAAI0mB,KAAJ,CAAU,CAAD,KAAC,KAAK+8E,cAAL,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAE5tG,MAA/B,EAAuCkwC,IAAvC,CAA4C/lC,KAA5C,CAAP;AACD;;;iBAED,8BAAkB;AAAA;;;;AAEhB,iBAAKyjG,cAAL,GAAsB,CAAH,KAAG,KAAK1gB,kBAAL,MAAuB,IAAvB,IAAuB,aAAvB,GAAuB,MAAvB,GAAuB,GAAEhjE,IAAF,CAAO7mB,GAAP,CAAW,UAAC2B,IAAD;AAAA,qBAAUA,IAAI,CAAC1C,IAAL,CAAU/B,QAAV,EAAV;AAAA,aAAX,CAA7C;AACA,iBAAKstG,cAAL,GAAsB,CAAH,KAAG,KAAK3gB,kBAAL,MAAuB,IAAvB,IAAuB,aAAvB,GAAuB,MAAvB,GAAuB,GAAEhjE,IAAF,CAAO7mB,GAAP,CAAW,UAAC2B,IAAD;AAAA,qBAAUA,IAAI,CAAC8oG,UAAf;AAAA,aAAX,CAA7C;;AAEA,gBAAI,KAAK5gB,kBAAL,IAA2B,KAAKA,kBAAL,CAAwBhjE,IAAvD,EAA6D;AAC3D,mBAAK29D,YAAL,GAAoB;AAClB/8D,qBAAK,EAAE;AACLnpB,sBAAI,EAAE,MADD;AAELqpB,wBAAM,EAAE;AAFH,iBADW;AAKlBH,sBAAM,EAAE,CACN;AACEzpB,sBAAI,EAAE,aADR;AAEE+D,sBAAI,EAAE,KAAKyoG,cAAL,CAAoBvqG,GAApB,CAAwB,UAACiH,IAAD,EAAOrN,KAAP;AAAA,2BAAkB;AAC9C8M,uBAAC,EAAE,IAAIzH,IAAJ,CAASgI,IAAT,EAAeyjG,kBAAf,CAAkC,OAAlC,CAD2C;AAE9C5oF,uBAAC,EAAE,QAAI,CAAC0oF,cAAL,CAAoB5wG,KAApB;AAF2C,qBAAlB;AAAA,mBAAxB;AAFR,iBADM,CALU;AAclB4uB,qBAAK,EAAE;AACLlqB,sBAAI,EAAE,UADD;AAELqsG,4BAAU,EAAE;AACVtD,wBAAI,EAAE;AADI,mBAFP;AAKLh/E,wBAAM,EAAE;AACN7wB,yBAAK,EAAE;AACH2wB,4BAAM,EAAC,KAAKthB,WAAL,GAAiB,KAAK+jG,cAAL,CAAoB,SAApB,CAAjB,GAAgD,KAAKA,cAAL,CAAoB,SAApB;AADpD;AADD;AALH,iBAdW;AAyBlBxiF,qBAAK,EAAE;AACLC,wBAAM,EAAE;AACN7wB,yBAAK,EAAE;AACL2wB,4BAAM,EAAC,KAAKthB,WAAL,GAAiB,KAAK+jG,cAAL,CAAoB,SAApB,CAAjB,GAAgD,KAAKA,cAAL,CAAoB,SAApB;AADlD;AADD;AADH,iBAzBW;AAgClBp5E,oBAAI,EAAC;AACHpJ,uBAAK,EAAC;AACJ6oC,yBAAK,EAAE;AACLo2C,0BAAI,EAAE;AADD;AADH;AADH,iBAhCa;AAuClBr/E,0BAAU,EAAE;AACVJ,yBAAO,EAAE;AADC,iBAvCM;AA0ClBilB,oBAAI,EAAE;AACJvuC,sBAAI,EAAE,UADF;AAEJ6pB,wBAAM,EAAE,KAAK6gE,MAAL,GAAY,CAAC,SAAD,CAAZ,GAAwB,CAAC,SAAD,CAF5B;AAGJwB,0BAAQ,EAAE;AACRqgB,kCAAc,EAAE,CADR;AAERC,+BAAW,EAAE,CAFL;AAGRC,6BAAS,EAAE,GAHH;AAIRC,yBAAK,EAAE,CAAC,CAAD,EAAI,GAAJ,CAJC;AAKRC,oCAAgB,EAAE,KAAKjiB,MAAL,GAAY,KAAKniF,WAAL,GAAiB,CAAC,SAAD,CAAjB,GAA6B,CAAC,MAAD,CAAzC,GAAkD,KAAKA,WAAL,GAAiB,CAAC,SAAD,CAAjB,GAA6B,CAAC,MAAD;AALzF;AAHN,iBA1CY;AAqDlBimC,sBAAM,EAAE;AACNu6D,sBAAI,EAAE,KADA;AAEN6D,uBAAK,EAAE;AAFD,iBArDU;AAyDlBttG,0BAAU,EAAE,CACV;AACE8mF,4BAAU,EAAE,GADd;AAEErwE,yBAAO,EAAE;AACPoT,yBAAK,EAAE;AACLE,4BAAM,EAAE;AADH;AADA;AAFX,iBADU;AAzDM,eAApB;AAoED;AACF;;;iBAED,sBAAa5iB,KAAb,EAAyB;AACvB,gBAAI/G,EAAE,GAAG+G,KAAK,CAACE,MAAN,CAAakkF,UAAb,CAAwBnrF,EAAjC;AACA,gBAAIoc,IAAI,GAAGrjB,QAAQ,CAACsjB,gBAAT,CAA0B,gBAA1B,CAAX;AACAD,gBAAI,CAACxd,OAAL,CAAa,UAAA0d,CAAC;AAAA,qBAAIA,CAAC,CAACC,SAAF,CAAYC,MAAZ,CAAmB,mBAAnB,CAAJ;AAAA,aAAd;AACA,gBAAI1I,OAAO,GAAG/a,QAAQ,CAAC0jB,cAAT,CAAwBzc,EAAE,CAAChB,KAA3B,CAAd;AACA8U,mBAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAEyI,SAAT,CAAmBG,GAAnB,CAAuB,mBAAvB;AACD;;;iBAED,yBAAgBhF,KAAhB,EAA+B;AAC7B,iBAAK9f,MAAL,CAAY4L,IAAZ,CAAiB,iIAAjB,EAA6C;AAC3CK,wBAAU,EAAE,aAD+B;AAE3CC,kBAAI,EAAC;AACH4T,qBAAK,EAAGA,KADL;AAEH2zE,4BAAY,EAAE,KAAKA,YAFhB;AAGHI,2BAAW,EAAE,KAAKA;AAHf;AAFsC,aAA7C;AAQD;;;;;;;yBA3IUugB,6B,EAA6B,mI,EAAA,qI;AAAA,O;;;cAA7BA,6B;AAA6B,mD;AAAA;AAAA;AAAA;AAAA;AAAA,S;AAAA,sF;AAAA,iB;AAAA,gB;AAAA,44C;AAAA;AAAA;ACZ1C;;AAQA;;AACI;;AAGQ;;AACR;;AACA;;AACI;;AACI;;AAAkD;;AAAuH;;AACzK;;AACI;;AAMQ;;;;AACJ;;AACA;;AACR;;AACJ;;AACJ;;AAEA;;AA+DA;;AASA;;AAcJ;;AAGA;;AACI;;AACI;;AAAmE;;;;AAA+B;;AAClG;;AAGA;;AAMA;;AACI;;AAAyD;AAAA,qBAAS,IAAAna,eAAA,CAAgB,IAAhB,CAAT;AAA8B,aAA9B;;AAAgC;;;;AAAmB;;AAEhH;;AACJ;;AACJ;;;;AAzIe;;AAUsC;;AAAA,6GAAoC,OAApC,EAAoC,6BAApC;;AAEzC;;AAAA;;AAIkD;;AAAA;;AAG1C;;AAAA;;AAKI;;AAAA;;AAEC;;AAAA;;AAKN;;AAAA;;AA+DA;;AAAA;;AASA;;AAAA;;AAmBwD;;AAAA;;AACpD;;AAAA;;AAGA;;AAAA;;AAO8E;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UC5HxFsb,sB;AAMX,wCAAoB/oG,UAApB,EAA4C;AAAA;;AAAxB,eAAAA,UAAA,GAAAA,UAAA;AAClB,eAAKyI,YAAL;AACD;;;;iBAED,qBAAYrE,OAAZ,EAAoC;AAClC,gBAAI,KAAK3D,UAAL,IAAmB,IAAnB,IAA2B2D,OAAO,CAAC3D,UAAR,IAAsB,IAArD,EAA2D;AACzD,kBAAI2D,OAAO,CAAC3D,UAAR,CAAmB6jB,YAAnB,IAAmClgB,OAAO,CAAC3D,UAAR,CAAmB48E,aAA1D,EAAyE;AACvE,qBAAK58E,UAAL,GAAkB2D,OAAO,CAAC3D,UAAR,CAAmB6jB,YAArC;;AACA,oBAAI,KAAK7jB,UAAT,EAAqB;AACnB,uBAAKgI,YAAL;AACD;AACF;AACF;AACF;;;iBAED,oBAAQ,CAAW;;;iBAEnB,wBAAe;AAAA;;AACb,iBAAKzI,UAAL,CAAgByI,YAAhB,CAA6B,KAAKhI,UAAlC,EAA8C5H,SAA9C,CAAwD,UAACC,GAAD,EAAS;AAC/D,sBAAI,CAAC4N,OAAL,GAAe5N,GAAf;AACA,sBAAI,CAACkwG,YAAL,GAAoB,QAAI,CAACtiG,OAAzB;AACD,aAHD;AAID;;;iBACD,yBAAgB;AACd,gBAAI,KAAKuiG,OAAL,IAAgB,IAApB,EAA0B;AACxB,mBAAKxoG,UAAL,GAAkB,KAAKwoG,OAAvB;AACD;AACF;;;;;;;yBAjCUF,sB,EAAsB,wI;AAAA,O;;;cAAtBA,sB;AAAsB,2C;AAAA;AAAA;AAAA,S;AAAA,sF;AAAA,kB;AAAA,iB;AAAA,0X;AAAA;AAAA;ACTnC;;AACE;;AAAoB;;;;AAA8B;;AAClD;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAQ;;AAA0B;;AACpC;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACA;;AACE;;AAAgB;;;;AAA0B;;AAC1C;;AACE;;;;AACF;;AACA;;AAAgB;;;;AAA2B;;AAC3C;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAgB;;;;AAAoB;;AACpC;;AACE;;;;AACF;;AACA;;AAAgB;;;;AAAmB;;AACnC;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAgB;;;;AAAoB;;AACpC;;AACE;;;;AACF;;AACA;;AAAgB;;;;AAAqB;;AACrC;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAgB;;;;AAAsB;;AACtC;;AACE;;AACF;;AACA;;AAAgB;;;;AAAuB;;AACvC;;AACE;;AACF;;AACF;;AACA;;AACE;;AAAgB;;;;AAAsB;;AACtC;;AACE;;AACF;;AACA;;AAAgB;;;;AAAgC;;AAChD;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAgB;;;;AAA2B;;AAC3C;;AACE;;;;AACF;;AACA;;AAAgB;;;;AAA0B;;AAC1C;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAgB;;;;AAAoB;;AACpC;;AACE;;;;AACF;;AACA;;AAAgB;;;;AAAoB;;AACpC;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAgB;;;;AAA2B;;AAC3C;;AACE;;;;AACF;;AACA;;AAAgB;;;;AAA4B;;AAC5C;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AAAgB;;;;AAAsB;;AACtC;;AACE;;AACF;;AACA;;AAAgB;;;;AAAwB;;AACxC;;AACE;;;;AACF;;AACF;;AAEF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;;;AAxHsB;;AAAA;;AAKR;;AAAA;;AACM;;AAAA;;AAGR;;AAAA;;AAGA;;AAAA;;AAGM;;AAAA;;AAIQ;;AAAA;;AAEd;;AAAA;;AAEc;;AAAA;;AAEd;;AAAA;;AAIc;;AAAA;;AAEd;;AAAA;;AAEc;;AAAA;;AAEd;;AAAA;;AAIc;;AAAA;;AAEd;;AAAA;;AAEc;;AAAA;;AAEd;;AAAA;;AAIc;;AAAA;;AACY;;AAAA;;AAC1B;;AAAA;;AAEc;;AAAA;;AACA;;AAAA;;AACd;;AAAA;;AAIc;;AAAA;;AAEd;;AAAA;;AAEc;;AAAA;;AAEd;;AAAA;;AAIc;;AAAA;;AAEd;;AAAA;;AAEc;;AAAA;;AAEd;;AAAA;;AAIc;;AAAA;;AAEd;;AAAA;;AAEc;;AAAA;;AAEd;;AAAA;;AAIc;;AAAA;;AAEd;;AAAA;;AAEc;;AAAA;;AAEd;;AAAA;;AAIc;;AAAA;;AAEd;;AAAA;;AAEc;;AAAA;;AAEd;;AAAA;;AASe;;AAAA;;AAGJ;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/Gf;;AAAkE;;AAElE;;;;;;;;AAFoC;;AAA8B;;AAAA;;;;;;;;AAFtE;;AACE;;AAAQ;AAAA;;AAAA;;AAAA;AAAA,aAA6B,QAA7B,EAA6B;AAAA;;AAAA;;AAAA;AAAA,WAA7B;;AACN;;AAGF;;AACF;;;;;;AALU;;AAAA;;AACkB;;AAAA;;;;;;;;AAK5B;;AACE;;AACE;AAAA;;AAAA;;AAAA;AAAA;;;;AADF;;AAEF;;;;AADmC;;AAAA;;;;;;AAmEvB;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;AAEF;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;AAEF;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;AAEF;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;AAEF;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;AAEF;;AACE;;;;AACF;;;;AADE;;AAAA;;;;;;;;AAWF;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACsD;;;;;;;;AACzD;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACyC;;;;;;;;AAC5C;;AAAsC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACE;;;;;;;;AANb;;AAC3B;;AAEA;;AAEA;;AAEA;;AAAG;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA0F;;AAC/F;;;;;;;;AAPkC;;AAAA;;AAE8D;;AAAA;;AAE1F;;AAAA;;;;;;AAKR;;AAAoD;;;;AAAkC;;;;;;AAAlC;;AAAA;;;;;;AACpD;;AAAoD;;;;AAAsC;;;;;;AAAtC;;AAAA;;;;;;AAiBlD;;AAAuD;;;;AAClB;;;;;;AADkB;;AAAA;;;;;;;;AAcnD;;AAAyB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACgC;;;;AAAsB;;;;AAAtB;;AAAA;;;;;;;;AACzD;;AACE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACsD;;;;AAC1C;;;;AAD0C;;AAAA;;;;;;;;AAExD;;AAAyB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACO;;;;AAAsB;;;;AAAtB;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA3FxC;;AAEE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AACE;;AACE;;AAKE;;AAKF;;AACA;;AAGA;;AAGA;;AAGA;;AAGA;;AAGA;;AAGA;;AACE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAoE;;AACxE;;AACF;;AACA;;AACE;;AACF;;AAEA;;AAA+B;;AAQtB;;AAA0B;;AAAoB;;AAAO;;AAE9D;;AACA;;AAEA;;AACE;;AACF;;AAEA;;AAAgB;;AAAsB;;AAEtC;;AAAI;;AAAe;;AACnB;;AAAI;;AAAiB;;AACrB;;AAAI;;AAAkB;;AACtB;;AAEE;;;;;;AACF;;AACA;;AACE;;AACA;;AAEF;;AACA;;AAAI;;AAAiC;;AACrC;;AAAI;;AAAoC;;AAGxC;;AACE;;AACE;;AAEE;;;;AACF;;AACA;;AACE;;AAEA;;AAIA;;AAEF;;AACF;;AACF;;AACF;;;;;;;;AA9FE;;AAIwB;;AAAA;;AAKlB;;AAAA;;AAMK;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAQT;;AAAA;;AAGoC;;AAAA;;AAQH;;AAAA;;AAElB;;AAAA;;AACA;;AAAA;;AAEb;;AAAA;;AACF;;AAAA;;AAGc;;AAAA;;AAEZ;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAEF;;AAAA;;AACA;;AAAA;;AAGA;;AAAA;;AACO;;AAAA;;AAGL;;AAAA;;AACA;;AAAA;;AAKQ;;AAAA;;AAEN;;AAAA;;AAIG;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;;;;;;;AAjHf;;AAAe;AAAA;;AAAA;;AAAA;AAAA;;AAEb;;AACE;;AACE;;AAAgB;;;;AAAsB;;AACtC;;AAAyC;;;;AAA0B;;AACnE;;AAAwC;;;;AAAsB;;AAC9D;;AAA8C;;;;AAA2B;;AACzE;;AAAgB;;;;AAA6B;;AAC7C;;AAAgD;;;;AAA6B;;AAC7E;;AAAsC;;;;AAAmB;;AACzD;;AAAwC;;;;AAAqB;;AAC7D;;AAAyC;;;;AAAsB;;AAC/D;;AAAgB;;;;AAAoB;;AACpC;;AAAgB;;;;AAAwB;;AACxC;;AAAgB;;;;AAA+B;;AAC/C;;AAAgB;;;;AAAsB;;AAEtC;;AACF;;AACF;;AACA;;AACE;;AAgGF;;AACF;;;;;;AAvH4D;;AAItC;;AAAA;;AACyB;;AAAA;;AACD;;AAAA;;AACM;;AAAA;;AAC9B;;AAAA;;AACgC;;AAAA;;AACV;;AAAA;;AACE;;AAAA;;AACC;;AAAA;;AACzB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAMG;;AAAA;;;;;;AAkGzB;;AACE;;AACE;;AACF;;AACF;;;;;;;;AACA;;AACE;;AACE;;AACE;;AACA;;AACE;;AAAuB;;;;AAAwB;;AACjD;;AACA;;AACE;;AAAiD;AAAA;;AAAA;;AAAA;AAAA;;AAC/C;;;;AACF;;AACF;;AACF;;AACF;;AACF;;;;AAT+B;;AAAA;;AAIrB;;AAAA;;;;UC/HHG,kB;AA2bX,oCACSjuG,SADT,EAESzH,MAFT,EAGSsoF,QAHT,EAIU5gF,QAJV,EAKUiY,OALV,EAMUzc,MANV,EAOSF,UAPT,EAOmC;AAAA;;AAN1B,eAAAyE,SAAA,GAAAA,SAAA;AACA,eAAAzH,MAAA,GAAAA,MAAA;AACA,eAAAsoF,QAAA,GAAAA,QAAA;AACC,eAAA5gF,QAAA,GAAAA,QAAA;AACA,eAAAiY,OAAA,GAAAA,OAAA;AACA,eAAAzc,MAAA,GAAAA,MAAA;AACD,eAAAF,UAAA,GAAAA,UAAA;AAjcT,eAAA2J,eAAA,GAA2B,KAA3B;AACS,eAAAgpG,aAAA,GAAgB,KAAhB;AACT,eAAA5lG,UAAA,GAAsB,EAAtB;AACA,eAAAjH,IAAA,GAAO,EAAP;AAEA,eAAA0G,MAAA,GAAuB,EAAvB;AACA,eAAAomG,gBAAA,GAA4B,EAA5B;AAkBA,eAAA/sB,iBAAA,GAAoB,IAAIC,GAAJ,CAAQ,CAC1B,CAAC,GAAD,EAAM,SAAN,CAD0B,EAE1B,CAAC,GAAD,EAAM,SAAN,CAF0B,EAG1B,CAAC,GAAD,EAAM,WAAN,CAH0B,EAI1B,CAAC,GAAD,EAAM,QAAN,CAJ0B,EAK1B,CAAC,GAAD,EAAM,SAAN,CAL0B,EAM1B,CAAC,GAAD,EAAM,SAAN,CAN0B,EAO1B,CAAC,GAAD,EAAM,QAAN,CAP0B,EAQ1B,CAAC,GAAD,EAAM,SAAN,CAR0B,EAS1B,CAAC,GAAD,EAAM,MAAN,CAT0B,EAU1B,CAAC,GAAD,EAAM,QAAN,CAV0B,EAW1B,CAAC,GAAD,EAAM,SAAN,CAX0B,EAY1B,CAAC,GAAD,EAAM,QAAN,CAZ0B,EAa1B,CAAC,GAAD,EAAM,SAAN,CAb0B,EAc1B,CAAC,GAAD,EAAM,SAAN,CAd0B,EAe1B,CAAC,GAAD,EAAM,QAAN,CAf0B,EAgB1B,CAAC,GAAD,EAAM,QAAN,CAhB0B,EAiB1B,CAAC,GAAD,EAAM,QAAN,CAjB0B,EAkB1B,CAAC,GAAD,EAAM,QAAN,CAlB0B,EAmB1B,CAAC,GAAD,EAAM,SAAN,CAnB0B,EAoB1B,CAAC,GAAD,EAAM,MAAN,CApB0B,CAAR,CAApB;AAuBA,eAAAJ,UAAA,GAAa,kEAAb;AAMA,eAAA3pD,UAAA,GAAsB,EAAtB;AAIA,eAAA82E,eAAA,GAA2B,KAA3B;AAEA,eAAAliG,aAAA,GAAgB,CACd;AACEC,cAAE,EAAE,SADN;AAEEC,iBAAK,EAAE,CAFT;AAGEJ,iBAAK,EAAE,SAHT;AAIEC,iBAAK,EAAE;AAJT,WADc,EAOd;AACEE,cAAE,EAAE,OADN;AAEEC,iBAAK,EAAE,CAFT;AAGEJ,iBAAK,EAAE,OAHT;AAIEC,iBAAK,EAAE;AAJT,WAPc,EAad;AACEE,cAAE,EAAE,KADN;AAEEC,iBAAK,EAAE,CAFT;AAGEJ,iBAAK,EAAE,KAHT;AAIEC,iBAAK,EAAE;AAJT,WAbc,EAmBd;AACEE,cAAE,EAAE,QADN;AAEEC,iBAAK,EAAE,CAFT;AAGEJ,iBAAK,EAAE,QAHT;AAIEC,iBAAK,EAAE;AAJT,WAnBc,EAyBd;AACEE,cAAE,EAAE,OADN;AAEEC,iBAAK,EAAE,CAFT;AAGEJ,iBAAK,EAAE,OAHT;AAIEC,iBAAK,EAAE;AAJT,WAzBc,CAAhB;AA0EA,eAAAoiG,eAAA,GAAkB,CAChB;AACEliG,cAAE,EAAE,KADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,KAHT;AAIEC,iBAAK,EAAE;AAJT,WADgB,EAOhB;AACEE,cAAE,EAAE,aADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,cAHT;AAIEC,iBAAK,EAAE;AAJT,WAPgB,EAahB;AACEE,cAAE,EAAE,MADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,MAHT;AAIEC,iBAAK,EAAE;AAJT,WAbgB,EAmBhB;AACEE,cAAE,EAAE,WADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,WAHT;AAIEC,iBAAK,EAAE;AAJT,WAnBgB,EAyBhB;AACEE,cAAE,EAAE,SADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,SAHT;AAIEC,iBAAK,EAAE;AAJT,WAzBgB,EA+BhB;AACEE,cAAE,EAAE,eADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,gBAHT;AAIEC,iBAAK,EAAE;AAJT,WA/BgB,EAqChB;AACEE,cAAE,EAAE,UADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,UAHT;AAIEC,iBAAK,EAAE;AAJT,WArCgB,EA2ChB;AACEE,cAAE,EAAE,WADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,WAHT;AAIEC,iBAAK,EAAE;AAJT,WA3CgB,EAiDhB;AACEE,cAAE,EAAE,YADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,aAHT;AAIEC,iBAAK,EAAE;AAJT,WAjDgB,EAuDhB;AACEE,cAAE,EAAE,SADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,SAHT;AAIEC,iBAAK,EAAE;AAJT,WAvDgB,EA6DhB;AACEE,cAAE,EAAE,gBADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,gBAHT;AAIEC,iBAAK,EAAE;AAJT,WA7DgB,EAmEhB;AACEE,cAAE,EAAE,oBADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,qBAHT;AAIEC,iBAAK,EAAE;AAJT,WAnEgB,EAyEhB;AACEE,cAAE,EAAE,aADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,cAHT;AAIEC,iBAAK,EAAE;AAJT,WAzEgB,EA+EhB;AACEE,cAAE,EAAE,gBADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,kBAHT;AAIEC,iBAAK,EAAE;AAJT,WA/EgB,EAqFhB;AACEE,cAAE,EAAE,gBADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,kBAHT;AAIEC,iBAAK,EAAE;AAJT,WArFgB,EA2FhB;AACEE,cAAE,EAAE,mBADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,sBAHT;AAIEC,iBAAK,EAAE;AAJT,WA3FgB,EAiGhB;AACEE,cAAE,EAAE,eADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,gBAHT;AAIEC,iBAAK,EAAE;AAJT,WAjGgB,EAuGhB;AACEE,cAAE,EAAE,eADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,gBAHT;AAIEC,iBAAK,EAAE;AAJT,WAvGgB,EA6GhB;AACEE,cAAE,EAAE,gBADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,iBAHT;AAIEC,iBAAK,EAAE;AAJT,WA7GgB,EAmHhB;AACEE,cAAE,EAAE,MADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,MAHT;AAIEC,iBAAK,EAAE;AAJT,WAnHgB,EAyHhB;AACEE,cAAE,EAAE,SADN;AAEEC,iBAAK,EAAE,GAFT;AAGEJ,iBAAK,EAAE,SAHT;AAIEC,iBAAK,EAAE;AAJT,WAzHgB,CAAlB;AAgIA,eAAA06F,WAAA,GAAc,CACZ;AACEhnG,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,UAArC,GAAkD;AAHtD,WADY,EAMZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,aAArC,GAAqD;AAHzD,WANY,EAWZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,aAArC,GAAqD;AAHzD,WAXY,EAgBZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,SAArC,GAAiD;AAF9D,WAhBY,EAoBZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,aADJ,GAEI;AALR,WApBY,EA2BZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,QAArC,GAAgD;AAF7D,WA3BY,EA+BZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,gBADJ,GAEI;AALR,WA/BY,EAsCZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,WAArC,GAAmD;AAHvD,WAtCY,EA2CZ;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,gBADJ,GAEI;AALR,WA3CY,EAkDZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,WAArC,GAAmD;AAFhE,WAlDY,EAsDZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,iBADJ,GAEI;AALR,WAtDY,EA6DZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,YAArC,GAAoD;AAFjE,WA7DY,EAiEZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,wBADJ,GAEI;AALR,WAjEY,EAwEZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,sBADJ,GAEI;AALR,WAxEY,EA+EZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,WAArC,GAAmD;AAFhE,WA/EY,EAmFZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,YAArC,GAAoD;AAHxD,WAnFY,EAwFZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,WAArC,GAAmD;AAFhE,WAxFY,EA4FZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACI,iBADJ,GAEI;AALR,WA5FY,EAmGZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,QAArC,GAAgD;AAF7D,WAnGY,EAuGZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,WAArC,GAAmD;AAFhE,WAvGY,EA2GZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,WAArC,GAAmD;AAFhE,WA3GY,EA+GZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,aAArC,GAAqD;AAHzD,WA/GY,EAoHZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,aAArC,GAAqD;AAFlE,WApHY,EAwHZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,YAArC,GAAoD;AAHxD,WAxHY,EA6HZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,YAArC,GAAoD;AAHxD,WA7HY,EAkIZ;AACEpD,iBAAK,EAAE,EADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,aAArC,GAAqD;AAHzD,WAlIY,CAAd;AAwIA,eAAAgJ,aAAA,GAAgB,CACd;AAAEpM,iBAAK,EAAE,CAAT;AAAYinG,qBAAS,EAAE;AAAvB,WADc,EAEd;AAAEjnG,iBAAK,EAAE,CAAT;AAAYinG,qBAAS,EAAE;AAAvB,WAFc,EAGd;AAAEjnG,iBAAK,EAAE,CAAT;AAAYinG,qBAAS,EAAE;AAAvB,WAHc,EAId;AAAEjnG,iBAAK,EAAE,CAAT;AAAYinG,qBAAS,EAAE;AAAvB,WAJc,CAAhB;AAMA,eAAA0H,kBAAA,GAAqB,CACnB;AACE3uG,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,KAArC,GAA6C;AAF1D,WADmB,EAKnB;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,MAArC,GAA8C;AAF3D,WALmB,EASnB;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,eAArC,GAAuD;AAH3D,WATmB,EAcnB;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EACP,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,cAArC,GAAsD;AAH1D,WAdmB,EAmBnB;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,UAArC,GAAkD;AAF/D,WAnBmB,EAuBnB;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,SAArC,GAAiD;AAF9D,WAvBmB,CAArB;AA4BA,eAAAwrG,cAAA,GAAiB,CACf;AACE5uG,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,KAArC,GAA6C;AAF1D,WADe,EAKf;AACEpD,iBAAK,EAAE,CADT;AAEEinG,qBAAS,EAAE,KAAK5mG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,MAArC,GAA8C;AAF3D,WALe,CAAjB;AAmBK;;;;iBAtWL,oBAAWpD,KAAX,EAAkB;AAChB,mBAAO,KAAKuM,aAAL,CAAmBvN,IAAnB,CAAwB,UAAC2F,IAAD;AAAA,qBAAUA,IAAI,CAAC8H,KAAL,IAAczM,KAAxB;AAAA,aAAxB,EAAuDsM,KAA9D;AACD;;;iBAED,4BAAmBy1E,aAAnB,EAAkC;AAChC,gBAAIA,aAAJ,EAAmB;AACjB,kBAAIzoC,eAAe,GAAG,KAAKmoC,iBAAL,CAAuB7iF,GAAvB,CAA2BmjF,aAA3B,CAAtB;AACA,qBAAOzoC,eAAP;AACD;AACF;;;iBACD,kBAASyoC,aAAT,EAAwB;AACtB,gBAAIA,aAAJ,EAAmB;AACjB,kBAAIC,UAAU,GAAG,KAAKP,iBAAL,CAAuB7iF,GAAvB,CAA2BmjF,aAA3B,CAAjB;;AACA,kBACEC,UAAU,IAAI,OAAd,IACAA,UAAU,IAAI,QADd,IAEAA,UAAU,IAAI,SAFd,IAGAA,UAAU,IAAI,SAHd,IAIAA,UAAU,IAAI,WAJd,IAKAA,UAAU,IAAI,MALd,IAMAA,UAAU,IAAI,SAPhB,EAQE;AACA,uBAAO,OAAP;AACD;AACF;AACF;;;iBAED,wBAAehiF,KAAf,EAAsB;AACpB,gBAAIA,KAAJ,EACE,OAAO,KAAK2uG,kBAAL,CAAwB3vG,IAAxB,CAA6B,UAAC0K,CAAD;AAAA,qBAAOA,CAAC,CAAC1J,KAAF,IAAWA,KAAlB;AAAA,aAA7B,EAAsDinG,SAA7D,CADF,KAEK,OAAO,IAAP;AACN;;;iBACD,qBAAYjnG,KAAZ,EAAmB;AACjB,gBAAIA,KAAK,IAAI,IAAb,EACE,OAAO,KAAKoM,aAAL,CAAmBpN,IAAnB,CAAwB,UAAC0K,CAAD;AAAA,qBAAOA,CAAC,CAAC1J,KAAF,IAAWA,KAAlB;AAAA,aAAxB,EAAiDinG,SAAxD,CADF,KAEK,OAAO,IAAP;AACN;;;iBACD,mBAAUjnG,KAAV,EAAiB;AACf,gBAAIA,KAAJ,EAAW,OAAO,KAAKgnG,WAAL,CAAiBhoG,IAAjB,CAAsB,UAAC0K,CAAD;AAAA,qBAAOA,CAAC,CAAC1J,KAAF,IAAWA,KAAlB;AAAA,aAAtB,EAA+CinG,SAAtD,CAAX,KACK,OAAO,IAAP;AACN;;;iBAgUD,uBAAc;AACZ,gBAAI,KAAK4H,gBAAT,EAA2B,KAAKA,gBAAL,CAAsB/3F,IAAtB;AAC5B;;;iBAED,gCAAuB;AAAA;;;;AACrB,gBAAI0D,MAAM,GAAyB,IAAI,gEAAJ,EAAnC;AACAA,kBAAM,CAAC9e,GAAP,GAAa,yEAAayB,aAA1B;AACAqd,kBAAM,CAACC,OAAP,GAAiB,WAAjB;AACAD,kBAAM,CAACE,OAAP,GAAiB,KAAjB;AAEA,iBAAK9e,UAAL,CAAgBoyB,eAAhB,CAAgC,KAAK1mB,eAArC;AACA,gBAAIwnG,cAAc,GAAGx1G,IAAI,CAACC,KAAL,CACnBJ,YAAY,CAACC,OAAb,CAAqB,aAArB,CADmB,CAArB;AAGA,gBAAM21G,qBAAqB,GAAG,CAAH,KAAG,KAAK1yG,OAAL,MAAY,IAAZ,IAAY,aAAZ,GAAY,MAAZ,GAAY,GAAE2C,IAAF,CAAO,UAAAnG,GAAG;AAAA,qBAAIA,GAAG,CAAC8E,YAAJ,KAAqB,QAAI,CAAC2J,eAA9B;AAAA,aAAV,CAA1C;;AACA,gBAAIynG,qBAAqB,IAAIr+E,SAA7B,EAAwC;AACtC,mBAAKnY,OAAL,CAAaoC,OAAb,CAAqBH,MAArB,EAA6BtH,IAA7B,CAAkC,UAAChV,GAAD,EAAS;AACzC,wBAAI,CAAC2wG,gBAAL,GAAwB3wG,GAAxB;;AACA,wBAAI,CAAC2wG,gBAAL,CAAsBh0F,MAAtB,CAA6B,WAA7B,EAA0Ck0F,qBAAqB,SAArB,IAAAA,qBAAqB,WAArB,GAAqB,MAArB,GAAAA,qBAAqB,CAAEx0F,YAAjE;;AAEA,oBAAIO,MAAM,GAAG,IAAI,kEAAJ,CAAgC,YAAhC,CAAb;;AAEA,wBAAI,CAAC+zF,gBAAL,CAAsB9zF,MAAtB,CAA6BD,MAA7B;;AACAA,sBAAM,CAAC7c,SAAP,CAAiB,UAAC+wG,UAAD,EAAgB;AAC/BnxF,4BAAU,CAAC,YAAM;AACfmxF,8BAAU,CAACpvG,OAAX,CAAmB,UAACiB,KAAD,EAAW;;;AAC5B,0BAAIjE,KAAJ;;AACA,0BAAI,QAAI,CAAC+L,UAAL,IAAmB+nB,SAAnB,IAAgC,eAAI,CAAC/nB,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEhJ,MAAjB,IAA0B,CAA9D,EAAiE;AAC/D/C,6BAAK,GAAG,QAAI,CAAC+L,UAAL,CACL3F,GADK,CACD,UAAC8K,CAAD;AAAA,iCAAOA,CAAC,CAACkoB,WAAT;AAAA,yBADC,EAELn5B,OAFK,CAEGgE,KAAK,CAACm1B,WAFT,CAAR;AAGD,uBAJD,MAIOp5B,KAAK,GAAG,CAAC,CAAT;;AACP,0BAAIA,KAAK,IAAI,CAAb,EAAgB;AACd,gCAAI,CAAC+L,UAAL,CAAgB/L,KAAhB,EAAuBwlG,MAAvB,GAAgCvhG,KAAK,CAACuhG,MAAtC;AACA,gCAAI,CAACz5F,UAAL,CAAgB/L,KAAhB,EAAuBylG,QAAvB,GAAkCxhG,KAAK,CAACwhG,QAAxC;AACA,gCAAI,CAAC15F,UAAL,CAAgB/L,KAAhB,EAAuBqyG,WAAvB,GAAqCpuG,KAAK,CAACouG,WAA3C;AACA,gCAAI,CAACtmG,UAAL,CAAgB/L,KAAhB,EAAuBsyG,SAAvB,GAAmCruG,KAAK,CAACquG,SAAzC;AACA,gCAAI,CAACvmG,UAAL,CAAgB/L,KAAhB,EAAuBuyG,cAAvB,GAAwCtuG,KAAK,CAACsuG,cAA9C;AACA,gCAAI,CAACxmG,UAAL,CAAgB/L,KAAhB,EAAuBwyG,SAAvB,GAAmCvuG,KAAK,CAACuuG,SAAzC;AACA,gCAAI,CAACzmG,UAAL,CAAgB/L,KAAhB,EAAuByyG,aAAvB,GAAuCxuG,KAAK,CAACwuG,aAA7C;AACA,gCAAI,CAAC1mG,UAAL,CAAgB/L,KAAhB,EAAuBiX,QAAvB,GAAkChT,KAAK,CAACgT,QAAxC;AACA,gCAAI,CAAClL,UAAL,CAAgB/L,KAAhB,EAAuBgX,QAAvB,GAAkC/S,KAAK,CAAC+S,QAAxC;AACA,gCAAI,CAACjL,UAAL,CAAgB/L,KAAhB,EAAuB0yG,WAAvB,GAAqCzuG,KAAK,CAACyuG,WAA3C;AACA,gCAAI,CAAC3mG,UAAL,CAAgB/L,KAAhB,EAAuB2yG,WAAvB,GAAqC1uG,KAAK,CAAC0uG,WAA3C;AACA,gCAAI,CAAC5mG,UAAL,CAAgB/L,KAAhB,EAAuBmmG,MAAvB,GAAgCliG,KAAK,CAACkiG,MAAtC;AACA,gCAAI,CAACp6F,UAAL,CAAgB/L,KAAhB,EAAuB4yG,eAAvB,GAAyC3uG,KAAK,CAAC2uG,eAA/C;AACA,gCAAI,CAAC7mG,UAAL,CAAgB/L,KAAhB,EAAuB4W,UAAvB,GAAoC3S,KAAK,CAAC2S,UAA1C;AACA,gCAAI,CAAC7K,UAAL,CAAgB/L,KAAhB,EAAuBqhB,MAAvB,GAAgCpd,KAAK,CAACod,MAAtC;AAEA,gCAAI,CAACtV,UAAL,CAAgB/L,KAAhB,EAAuBk3F,QAAvB,GAAkC,IAAlC;AACD,uBAlBD,MAkBO,IAAIl3F,KAAK,IAAI,CAAC,CAAd,EAAiB,QAAI,CAAC6yG,SAAL;AACzB,qBA1BD,EADe,CA4Bf;AACD,mBA7BS,EA6BP,GA7BO,CAAV,CAD+B,CAgC/B;AACA;AACA;AACA;AAEA;AACA;AACA;AACD,iBAxCD;AAyCD,eAhDD;AAiDD;AACF;;;iBAED,qBAAYjmG,OAAZ,EAAkC;AAChC,gBAAIA,OAAO,CAAC3Q,GAAR,IAAe2Q,OAAO,CAAC3Q,GAAR,IAAe,IAAlC,EAAwC;AACtC,kBAAI,CAAC,KAAKA,GAAV,EAAe;AACb,qBAAKwD,OAAL,GAAe/C,IAAI,CAACC,KAAL,CAAWJ,YAAY,CAACC,OAAb,CAAqB,SAArB,CAAX,CAAf;AACA,qBAAKkO,eAAL,GAAuB,KAAKjL,OAAL,CAAa,CAAb,EAAgBsB,YAAvC;AACD,eAHD,MAGO;AACL,qBAAK2J,eAAL,GAAuB,KAAKzO,GAA5B;;AACA,oBAAI,KAAKg2G,gBAAT,EAA2B;AACzB,uBAAKA,gBAAL,CAAsB/3F,IAAtB;AACA,uBAAK23F,eAAL,GAAuB,IAAvB;AACD;AAEF;;AACD,mBAAKgB,SAAL;AACD;AACF;;;iBAED,oBAAQ;AACN,iBAAKpzG,OAAL,GAAe/C,IAAI,CAACC,KAAL,CAAWJ,YAAY,CAACC,OAAb,CAAqB,SAArB,CAAX,CAAf;AACA,iBAAKyQ,WAAL,GAAmB1Q,YAAY,CAACC,OAAb,CAAqB,WAArB,KAAqC,MAArC,GAA8C,IAA9C,GAAqD,KAAxE;AACA,iBAAKmH,SAAL,GAAiB;AACf;AACAC,oBAAM,EAAE,KAFO;AAGfC,uBAAS,EAAE,KAHI;AAIfC,uBAAS,EAAE,IAJI;AAKfC,kBAAI,EAAE,KALS;AAMfC,wBAAU,EAAE,IANG;AAOf22B,yBAAW,EAAE,IAPE;AAQf9J,oBAAM,EAAE,IARO;AASf+J,sBAAQ,EAAE,KATK;AAUf;AACA;AACAk4E,wBAAU,EAAE,CAAC;AAAEpuG,oBAAI,EAAE,MAAR;AAAgBquG,uBAAO,EAAE,CAAC,CAAD;AAAzB,eAAD;AAZG,aAAjB;;AA2BA,gBAAI,CAAC,KAAK92G,GAAV,EAAe;AACb,mBAAKwD,OAAL,GAAe/C,IAAI,CAACC,KAAL,CAAWJ,YAAY,CAACC,OAAb,CAAqB,SAArB,CAAX,CAAf;AACA,mBAAKkO,eAAL,GAAuB,KAAKjL,OAAL,CAAa,CAAb,EAAgBsB,YAAvC;AACD,aAHD,MAGO;AACL,mBAAK2J,eAAL,GAAuB,KAAKzO,GAA5B;AACD;AACF;;;iBAED,8BAAqB;AACnB,iBAAK42G,SAAL;AACD;;;iBAED,qBAAYxsG,GAAZ,EAAiB;AAAA;;AACf,iBAAK2sG,aAAL,GAAqB3sG,GAArB;AACA,gBAAMwH,SAAS,GAAG,KAAK7R,MAAL,CAAY4L,IAAZ,CAAiB,yFAAjB,EAAuC;AACvDK,wBAAU,EAAE,yBAD2C;AAEvDC,kBAAI,EAAE;AAAEjE,qBAAK,EAAEoC,GAAT;AAAc3B,oBAAI,EAAE,CAApB;AAAuBgG,+BAAe,EAAE,KAAKA;AAA7C,eAFiD;AAGvDyC,mBAAK,EAAE;AAHgD,aAAvC,CAAlB;AAKAU,qBAAS,CAACsV,WAAV,GAAwB9hB,SAAxB,CAAkC,UAACopG,SAAD,EAAe;;;AAC/C,kBAAIA,SAAS,IAAI,IAAjB,EAAuB;AACrB,wBAAI,CAACvrG,MAAL,CAAY6E,IAAZ,CAAiB,EAAjB,EAAqB,QAAI,CAACN,SAAL,CAAehC,OAAf,CAAuB,sBAAvB,CAArB,EAAqE;AACnE2G,yBAAO,EAAE,KAD0D;AAEnE1G,+BAAa,EAAE,qBAFoD;AAGnEC,6BAAW,EAAE;AAHsD,iBAArE;AAKD,eAND,MAMO;AACL,oBAAI8oG,SAAS,IAAI,IAAjB,EACE,cAAI,CAACvrG,MAAL,MAAW,IAAX,IAAW,aAAX,GAAW,MAAX,GAAW,GAAE0T,KAAF,CAAQ,CAAD,KAChB,QAAI,CAACnP,SADY,MACH,IADG,IACH,aADG,GACH,MADG,GACH,GAAEhC,OAAF,CAAUgpG,SAAV,CADL,EACwB,MACjC,QAAI,CAAChnG,SAD4B,MACnB,IADmB,IACnB,aADmB,GACnB,MADmB,GACnB,GAAEhC,OAAF,CAAU,WAAV,CAFL,EAGT;AACE2G,yBAAO,EAAE,KADX;AAEE1G,+BAAa,EAAE,qBAFjB;AAGEC,6BAAW,EAAE;AAHf,iBAHS,CAAX;AASH;AACF,aAnBD;AAoBD;;;iBAED,qBAAY0E,GAAZ,EAAiB;AAAA;;AACf,iBAAK2sG,aAAL,GAAqB3sG,GAArB;AAEA,gBAAMwH,SAAS,GAAG,KAAK7R,MAAL,CAAY4L,IAAZ,CAAiB,0FAAjB,EAAwC;AACxDM,kBAAI,EAAE;AACJsS,uBAAO,EACL,KAAK/W,SAAL,CAAehC,OAAf,CAAuB,wBAAvB,IACA,KAAKuxG,aAAL,CAAmB55E,WADnB,GAEA,IAFA,GAGA,KAAK31B,SAAL,CAAehC,OAAf,CAAuB,6BAAvB,CAHA,GAIA,GAJA,IAKC,KAAKgC,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACG,KAAKwsG,aAAL,CAAmB73E,YADtB,GAEG,KAAK63E,aAAL,CAAmB53E,YAPvB,IAQA,GARA,GASA,KAAK33B,SAAL,CAAehC,OAAf,CAAuB,6BAAvB,CATA,GAUA,GAVA,IAWC,KAAKgC,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GACG,KAAKwsG,aAAL,CAAmBC,iBADtB,GAEG,KAAKD,aAAL,CAAmBE,iBAbvB,KAcC,KAAKzvG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,GAArC,GAA2C,GAd5C,CAFE;AAiBJ;AACA;AACA;AACA;AACA;AACA82B,0BAAU,EAAE;AACVC,oBAAE,EAAE,KAAK95B,SAAL,CAAehC,OAAf,CAAuB,QAAvB,CADM;AAEV+7B,wBAAM,EAAE,KAAK/5B,SAAL,CAAehC,OAAf,CAAuB,QAAvB;AAFE;AAtBR,eADkD;AA4BxD0L,mBAAK,EAAE;AA5BiD,aAAxC,CAAlB;AA+BAU,qBAAS,CAACsV,WAAV,GAAwB9hB,SAAxB,CAAkC,UAACopG,SAAD,EAAwB;AACxD,kBAAIA,SAAJ,EAAe;AACb,wBAAI,CAAC/mG,QAAL,CAAcyvG,WAAd,CAA0B9sG,GAAG,CAAC+yB,WAA9B,EAA2C/3B,SAA3C,CACE,UAACC,GAAD,EAAS;AACP,sBAAIA,GAAJ,EAAS;AACP,4BAAI,CAACpC,MAAL,CAAY6E,IAAZ,CACE,EADF,EAEE,QAAI,CAACN,SAAL,CAAehC,OAAf,CAAuB,sBAAvB,CAFF,EAGE;AACE2G,6BAAO,EAAE,KADX;AAEE1G,mCAAa,EAAE,qBAFjB;AAGEC,iCAAW,EAAE;AAHf,qBAHF;AASD;AACF,iBAbH,EAcE,UAACsB,GAAD,EAAS;AACP,0BAAI,CAAC/D,MAAL,CAAY0T,KAAZ,CAAkB,EAAlB,EAAsB,QAAI,CAACnP,SAAL,CAAehC,OAAf,CAAuB,WAAvB,CAAtB,EAA2D;AACzD2G,2BAAO,EAAE,KADgD;AAEzD1G,iCAAa,EAAE,qBAF0C;AAGzDC,+BAAW,EAAE;AAH4C,mBAA3D;AAKD,iBApBH;AAsBD;AACF,aAzBD;AA0BD;;;iBAED,uBAAcsC,KAAd,EAA4B;AAC1B,mBAAOA,KAAK,CAAC2S,UAAN,IAAoB,CAAC3S,KAAK,CAAC2uG,eAA3B,IAA8C3uG,KAAK,CAACkiG,MAAN,IAAgB,GAArE;AACD;;;iBAED,sBAAa9/F,GAAb,EAAyB;AACvB,gBAAIkQ,MAAM,GAAGlQ,GAAG,CAACm/F,MAAJ,GAAan/F,GAAG,CAACmsG,SAA9B;AACA,gBAAIj8F,MAAM,GAAG,CAAb,EAAgB,OAAO,CAAP,CAAhB,KACK,OAAOA,MAAP;AACN;;;iBAED,4BAAmBtS,KAAnB,EAAiC;AAC/B,gBAAI,KAAKmvG,eAAL,CAAqBnvG,KAArB,CAAJ,EAAiC,KAAKovG,WAAL,CAAiBpvG,KAAjB;AAClC;;;iBACD,yBAAgBA,KAAhB,EAA8B;AAC5B,gBAAIA,KAAK,CAACquG,SAAN,IAAmB,IAAvB,EAA6B;AAC3B;;AACA,kBACE,CAACruG,KAAK,CAACquG,SAAN,IAAmB,GAAnB,IACCruG,KAAK,CAACquG,SAAN,IAAmB,GADpB,IAECruG,KAAK,CAACquG,SAAN,IAAmB,GAFpB,IAGCruG,KAAK,CAACquG,SAAN,IAAmB,GAHpB,IAICruG,KAAK,CAACquG,SAAN,IAAmB,GAJpB,IAKCruG,KAAK,CAACquG,SAAN,IAAmB,GALpB,IAMCruG,KAAK,CAACquG,SAAN,IAAmB,GANpB,IAOCruG,KAAK,CAACquG,SAAN,IAAmB,GAPpB,IAQCruG,KAAK,CAACquG,SAAN,IAAmB,GARrB,KAUEruG,KAAK,CAACouG,WAAN,IAAqB,CAArB,IACApuG,KAAK,CAACouG,WAAN,IAAqB,CADrB,IAEApuG,KAAK,CAACouG,WAAN,IAAqB,EAbzB,EAgBE;AACA,uBAAO,IAAP;AACD,eAlBD,MAkBO;AACL,uBAAO,KAAP;AACD;AACF,aAvBD,MAuBO;AACL,kBACEpuG,KAAK,CAACouG,WAAN,IAAqB,CAArB,IACApuG,KAAK,CAACouG,WAAN,IAAqB,CADrB,IAEApuG,KAAK,CAACouG,WAAN,IAAqB,CAHvB,EAIE;AACA,uBAAO,IAAP;AACD,eAND,MAMO;AACL,uBAAO,KAAP;AACD;AACF;AACF;;;iBACD,qBAAY;AAAA;;AAEV,iBAAKtmG,UAAL,GAAkB,EAAlB;AAEA,iBAAKP,MAAL,CAAYxG,IAAZ,GAAmB,CAAnB;AACA,iBAAKwG,MAAL,CAAYvG,IAAZ,GAAmB,KAAK0sG,aAAL,GAAqB,IAArB,GAA4B,EAA/C;AAEA,iBAAKhpG,eAAL,GAAuB,IAAvB;;AAEA,iBAAKjF,QAAL,CAAc4I,WAAd,CAA0B,KAAK5B,eAA/B,EAAgD,CAAhD,EAAmDrJ,SAAnD,CAA6D,UAACC,GAAD,EAAS;AACpE,sBAAI,CAACqH,eAAL,GAAuB,KAAvB;AACA,sBAAI,CAACoD,UAAL,GAAkBzK,GAAlB;AAED,aAJD;;AAKA,gBAAI,CAAC,KAAK2wG,gBAAV,EAA4B;AAC1B,mBAAK3P,oBAAL;AACD;;AACD,gBAAI,KAAKuP,eAAT,EAA0B;AACxB,mBAAKvP,oBAAL;AACA,mBAAKuP,eAAL,GAAuB,KAAvB;AACD;AACF;;;iBACD,oBAAW;AAAA;;AACT,gBAAMhkG,SAAS,GAAG,KAAK7R,MAAL,CAAY4L,IAAZ,CAAiB,gFAAjB,EAAoC;AACpDsb,0BAAY,EAAE,IADsC;AAEpDjb,wBAAU,EAAE,wBAFwC;AAGpDC,kBAAI,EAAE;AAAExD,oBAAI,EAAE;AAAR,eAH8C;AAIpDyD,uBAAS,EAAE,KAAK1E,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,KAArC,GAA6C;AAJJ,aAApC,CAAlB;AAMAqH,qBAAS,CAACsV,WAAV,GAAwB9hB,SAAxB,CAAkC,UAACkV,MAAD,EAAY;AAC5C,sBAAI,CAACs8F,SAAL;AACD,aAFD;AAGD;;;iBACD,mBAAU/sB,QAAV,EAAoB;AAClB,gBAAMj4E,SAAS,GAAG,KAAK7R,MAAL,CAAY4L,IAAZ,CAAiB,gHAAjB,EAA8C;AAC9DK,wBAAU,EAAE,yBADkD;AAE9DC,kBAAI,EAAE;AAAEjE,qBAAK,EAAE6hF;AAAT,eAFwD;AAG9D34E,mBAAK,EAAE,OAHuD;AAI9DhF,uBAAS,EAAE,KAAK1E,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,KAArC,GAA6C;AAJM,aAA9C,CAAlB;AAMAqH,qBAAS,CAACsV,WAAV,GAAwB9hB,SAAxB,CAAkC,YAAM,CAAG,CAA3C;AACD;;;iBAED,mBAAUmK,MAAV,EAAkB;AAAA;;AAChB,iBAAK7C,eAAL,GAAuB,IAAvB;;AACA,iBAAKjF,QAAL,CAAc4I,WAAd,CAA0B,KAAK5B,eAA/B,EAAgDc,MAAhD,EAAwDnK,SAAxD,CAAkE,UAACC,GAAD,EAAS;AACzE,sBAAI,CAACqH,eAAL,GAAuB,KAAvB;AACA,sBAAI,CAACoD,UAAL,GAAkBzK,GAAlB;AACA,kBAAI,CAAC,QAAI,CAAC2wG,gBAAV,EAA4B,QAAI,CAAC3P,oBAAL;AAC7B,aAJD;AAKD;;;eAED,eAAqB;;;AACnB,gBAAI,YAAKsP,gBAAL,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE7uG,MAAvB,IAAgC,CAApC,EAAuC;AACrC,kBAAIrG,IAAI,CAACQ,SAAL,CAAe,KAAK00G,gBAAL,CAAsB,CAAtB,CAAf,MAA6C,IAAjD,EAAuD;AACrD,uBAAO,EAAP;AACD,eAFD,MAEO;AACL,oBAAI,YAAK72E,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEh4B,MAAjB,IAA0B,CAA9B,EAAiC;AAC/B,uBAAKuwG,aAAL,GAAqB,KAAKr4E,eAAL,CAAqB,KAAK22E,gBAA1B,CAArB;AACD,iBAFD,MAEO;AACL,uBAAK0B,aAAL,GAAqB,KAAK1B,gBAA1B;AACD,iBALI,CAML;;AACD;AACF,aAXD,MAWO,IAAI,YAAK7lG,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEhJ,MAAjB,IAA0B,CAA9B,EAAiC;AACtC,kBAAI,YAAKg4B,UAAL,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEh4B,MAAjB,IAA0B,CAA9B,EAAiC;AAC/B,qBAAKuwG,aAAL,GAAqB,KAAKr4E,eAAL,CAAqB,KAAKlvB,UAA1B,CAArB;AACD,eAFD,MAEO;AACL,qBAAKunG,aAAL,GAAqB,KAAKvnG,UAA1B;AACD,eALqC,CAMtC;;AACD,aAPM,MAOA;AACL,mBAAKunG,aAAL,GAAqB,IAArB;AACD;;AACD,mBAAO,KAAKA,aAAZ;AACD;;;iBAED,sBAAanoG,KAAb,EAAoB;AAClB,gBAAMC,GAAG,GAAGD,KAAK,CAACE,MAAN,CAAajI,KAAb,CAAmBkI,WAAnB,EAAZ;;AACA,gBAAIF,GAAG,IAAI,EAAX,EAAe;AACb,kBAAI8vB,IAAJ;AACAA,kBAAI,GAAG,KAAKnvB,UAAZ;AACAmvB,kBAAI,GACFA,IAAI,CAAC1vB,MAAL,CAAY,UAAUC,CAAV,EAAa;AACvB,uBACEA,CAAC,CAAC0vB,YAAF,CAAejG,iBAAf,GAAmCr1B,QAAnC,CACEuL,GAAG,CAAC8pB,iBAAJ,EADF,KAGAzpB,CAAC,CAAC2vB,YAAF,CAAelG,iBAAf,GAAmCr1B,QAAnC,CACEuL,GAAG,CAAC8pB,iBAAJ,EADF,CAHA,IAMA,CAACzpB,CAAC,CAAC2tB,WAAF,GAAgB,EAAjB,EAAqBn5B,OAArB,CAA6BmL,GAAG,CAAC8pB,iBAAJ,EAA7B,IAAwD,CAAC,CANzD,IAOAzpB,CAAC,CAACuF,OAAF,CAAUkkB,iBAAV,GAA8Br1B,QAA9B,CAAuCuL,GAAG,CAAC8pB,iBAAJ,EAAvC,CAPA,IAQAzpB,CAAC,CAAC8nG,iBAAF,CAAoBr+E,iBAApB,GAAwCr1B,QAAxC,CACEuL,GAAG,CAAC8pB,iBAAJ,EADF,CARA,IAWAzpB,CAAC,CAAC+nG,iBAAF,CAAoBt+E,iBAApB,GAAwCr1B,QAAxC,CACEuL,GAAG,CAAC8pB,iBAAJ,EADF,CAZF;AAgBD,eAjBD,KAiBM,EAlBR;AAmBA,mBAAK08E,gBAAL,GAAwB12E,IAAI,CAACn4B,MAAL,GAAc,CAAd,GAAkBm4B,IAAlB,GAAyB,CAAC,EAAD,CAAjD;AACD,aAvBD,MAuBO,KAAK02E,gBAAL,GAAwB,KAAK7lG,UAA7B;AACR;;;iBAED,yBAAgBuvB,IAAhB,EAAsB;AAAA;;AACpB,gBAAMpzB,IAAI,GAAGozB,IAAI,CAAC9N,KAAL,EAAb;;AAEA,gBAAI,CAAC,KAAK+N,UAAN,IAAoB,KAAKC,aAAL,KAAuB,EAA/C,EAAmD;AACjD,mBAAK83E,aAAL,GAAqBprG,IAArB;AACA,mBAAK6yB,UAAL,GAAkB,IAAlB;AACA;AACD;;AAED,iBAAKA,UAAL,GAAkB7yB,IAAI,CAACuzB,IAAL,CAAU,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACpC,kBAAMC,KAAK,GAAG,QAAI,CAACJ,aAAL,KAAuB,KAArC;AACA,kBAAMi4E,KAAK,GAAG,QAAI,CAACj4E,aAAL,KAAuB,KAArC;;AACA,sBAAQ,QAAI,CAACD,UAAb;AACE,qBAAK,QAAL;AACE,yBAAO,QAAI,CAACzB,OAAL,CAAa,QAAI,CAACr2B,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqCk1B,CAAC,CAAC63E,iBAAvC,GAA2D73E,CAAC,CAAC83E,iBAA1E,EAA6F,QAAI,CAAC/vG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqCm1B,CAAC,CAAC43E,iBAAvC,GAA2D53E,CAAC,CAAC63E,iBAA1J,EAA6K53E,KAA7K,CAAP;;AACF,qBAAK,OAAL;AACE,yBAAO,QAAI,CAAC9B,OAAL,CAAa4B,CAAC,CAACtC,WAAf,EAA4BuC,CAAC,CAACvC,WAA9B,EAA2CwC,KAA3C,CAAP;;AACF,qBAAK,aAAL;AACE,yBAAO,QAAI,CAAC9B,OAAL,CAAa4B,CAAC,CAAC62E,cAAf,EAA+B52E,CAAC,CAAC42E,cAAjC,EAAiDkB,KAAjD,CAAP;;AACF,qBAAK,eAAL;AACE,yBAAO,QAAI,CAAC35E,OAAL,CAAa4B,CAAC,CAAC8pE,MAAF,GAAW9pE,CAAC,CAAC82E,SAAb,GAAyB,CAAzB,GAA6B,CAA7B,GAAiC92E,CAAC,CAAC8pE,MAAF,GAAW9pE,CAAC,CAAC82E,SAA3D,EAAsE72E,CAAC,CAAC6pE,MAAF,GAAW7pE,CAAC,CAAC62E,SAAb,GAAyB,CAAzB,GAA6B,CAA7B,GAAiC72E,CAAC,CAAC6pE,MAAF,GAAW7pE,CAAC,CAAC62E,SAApH,EAA+H52E,KAA/H,CAAP;;AACF,qBAAK,KAAL;AACE,yBAAO,QAAI,CAAC9B,OAAL,CAAa4B,CAAC,CAAC8pE,MAAf,EAAuB7pE,CAAC,CAAC6pE,MAAzB,EAAiC5pE,KAAjC,CAAP;;AACF,qBAAK,OAAL;AACE,yBAAO,QAAI,CAAC9B,OAAL,CAAa4B,CAAC,CAAC+pE,QAAf,EAAyB9pE,CAAC,CAAC8pE,QAA3B,EAAqC7pE,KAArC,CAAP;;AACF,qBAAK,QAAL;AACE,yBAAO,QAAI,CAAC9B,OAAL,CAAa4B,CAAC,CAAC82E,SAAf,EAA0B72E,CAAC,CAAC62E,SAA5B,EAAuC52E,KAAvC,CAAP;;AACF;AACE,yBAAO,CAAP;AAhBJ;AAkBD,aArBiB,CAAlB;AAsBA,mBAAO,KAAKb,UAAZ;AACD;;;iBAED,kBAASU,IAAT,EAAqB;AAAA;;;;AAEnB,iBAAKD,aAAL,GAAqBC,IAAI,CAACtzB,SAA1B;AACA,iBAAKozB,UAAL,GAAkBE,IAAI,CAACW,MAAvB;AACA,gBAAMl0B,IAAI,GAAG,CAAH,KAAG,KAAKorG,aAAL,MAAkB,IAAlB,IAAkB,aAAlB,GAAkB,MAAlB,GAAkB,GAAE9lF,KAAF,EAA/B;;AAEA,gBAAI,CAACiO,IAAI,CAACW,MAAN,IAAgBX,IAAI,CAACtzB,SAAL,KAAmB,EAAvC,EAA2C;AACzC,mBAAKmrG,aAAL,GAAqBprG,IAArB;AACA,mBAAK6yB,UAAL,GAAkB,IAAlB;AACA;AACD;;AAGD,iBAAKA,UAAL,GAAkB7yB,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEuzB,IAAN,CAAW,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACrC,kBAAMC,KAAK,GAAGH,IAAI,CAACtzB,SAAL,KAAmB,KAAjC;AACA,kBAAMsrG,KAAK,GAAG,QAAI,CAACj4E,aAAL,KAAuB,KAArC;;AACA,sBAAQC,IAAI,CAACW,MAAb;AACE,qBAAK,QAAL;AACE,yBAAO,QAAI,CAACtC,OAAL,CAAa,QAAI,CAACr2B,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqCk1B,CAAC,CAAC63E,iBAAvC,GAA2D73E,CAAC,CAAC83E,iBAA1E,EAA6F,QAAI,CAAC/vG,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqCm1B,CAAC,CAAC43E,iBAAvC,GAA2D53E,CAAC,CAAC63E,iBAA1J,EAA6K53E,KAA7K,CAAP;;AACF,qBAAK,OAAL;AACE,yBAAO,QAAI,CAAC9B,OAAL,CAAa4B,CAAC,CAACtC,WAAf,EAA4BuC,CAAC,CAACvC,WAA9B,EAA2CwC,KAA3C,CAAP;;AACF,qBAAK,aAAL;AACE,yBAAO,QAAI,CAAC9B,OAAL,CAAa4B,CAAC,CAAC62E,cAAf,EAA+B52E,CAAC,CAAC42E,cAAjC,EAAiDkB,KAAjD,CAAP;;AACF,qBAAK,eAAL;AACE,yBAAO,QAAI,CAAC35E,OAAL,CAAa4B,CAAC,CAAC8pE,MAAF,GAAW9pE,CAAC,CAAC82E,SAAb,GAAyB,CAAzB,GAA6B,CAA7B,GAAiC92E,CAAC,CAAC8pE,MAAF,GAAW9pE,CAAC,CAAC82E,SAA3D,EAAsE72E,CAAC,CAAC6pE,MAAF,GAAW7pE,CAAC,CAAC62E,SAAb,GAAyB,CAAzB,GAA6B,CAA7B,GAAiC72E,CAAC,CAAC6pE,MAAF,GAAW7pE,CAAC,CAAC62E,SAApH,EAA+H52E,KAA/H,CAAP;;AACF,qBAAK,KAAL;AACE,yBAAO,QAAI,CAAC9B,OAAL,CAAa4B,CAAC,CAAC8pE,MAAf,EAAuB7pE,CAAC,CAAC6pE,MAAzB,EAAiC5pE,KAAjC,CAAP;;AACF,qBAAK,OAAL;AACE,yBAAO,QAAI,CAAC9B,OAAL,CAAa4B,CAAC,CAAC+pE,QAAf,EAAyB9pE,CAAC,CAAC8pE,QAA3B,EAAqC7pE,KAArC,CAAP;;AACF,qBAAK,QAAL;AACE,yBAAO,QAAI,CAAC9B,OAAL,CAAa4B,CAAC,CAAC82E,SAAf,EAA0B72E,CAAC,CAAC62E,SAA5B,EAAuC52E,KAAvC,CAAP;;AACF;AACE,yBAAO,CAAP;AAhBJ;AAkBD,aArBiB,CAAlB;AAsBD;;;iBAGD,iBAAQF,CAAR,EAA4BC,CAA5B,EAAgDC,KAAhD,EAAgE;AAC9D,gBAAIS,MAAM,GAAI,OAAOX,CAAP,KAAa,QAAd,GAA0BA,CAAC,CAACpwB,WAAF,EAA1B,GAA4CowB,CAAzD;AACA,gBAAIY,MAAM,GAAI,OAAOX,CAAP,KAAa,QAAd,GAA0BA,CAAC,CAACrwB,WAAF,EAA1B,GAA4CqwB,CAAzD;AACA,mBAAO,CAACU,MAAM,GAAGC,MAAT,GAAkB,CAAC,CAAnB,GAAuB,CAAxB,KAA8BV,KAAK,GAAG,CAAH,GAAO,CAAC,CAA3C,CAAP;AACD;;;iBAEK,oBAAWvrB,GAAX,EAAwBC,KAAxB,EAAuCojG,aAAvC,EAA8DzwF,MAA9D,EAA+E;;;;;;;;;AAG7D,6BAAM,KAAK0wF,kBAAL,CAAwB,KAAKjpG,eAA7B,CAAN;;;AAAdgwB,iC;AAEN;AACM7sB,+B,GAAY,KAAK7R,MAAL,CAAY4L,IAAZ,CAAiB,gFAAjB,EAAoC;AACpDsb,oCAAY,EAAE,IADsC;AAEpDjb,kCAAU,EAAE,wBAFwC;AAGpDC,4BAAI,EAAE;AACJwyB,qCAAW,EAAEA,WADT;AAEJh7B,gCAAM,EAAEg0G,aAFJ;AAGJhvG,8BAAI,EAAE,CAACue,MAHH;AAIJ3S,+BAAK,EAAEA,KAJH;AAKJD,6BAAG,EAAEA;AALD,yBAH8C;AAUpDlI,iCAAS,EAAE,KAAK1E,SAAL,CAAe+C,WAAf,KAA+B,IAA/B,GAAsC,KAAtC,GAA8C;AAVL,uBAApC,C,EAalB;;AACAqH,+BAAS,CAACsV,WAAV,GAAwB9hB,SAAxB,CAAkC,UAACkV,MAAD,EAAY;AAC5C,4BAAIA,MAAJ,EAAY,CACV;AACD;AACF,uBAJD;;;;;;;AAMA;AACA,2BAAKrX,MAAL,CAAY0T,KAAZ,CAAkB,+BAAlB;;;;;;;;;AAEH;;;iBACa,4BAAmB6K,OAAnB,EAA+B;;;;;;wDAEpC,IAAI9a,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtC;AACAoe,kCAAU,CAAC,YAAM;AACf,8BAAIxD,OAAJ,EAAa;AACX7a,mCAAO,CAAC6a,OAAD,CAAP,CADW,CACO;AACnB,2BAFD,MAEO;AACL5a,kCAAM,CAAC,kBAAD,CAAN;AACD;AACF,yBANS,EAMP,IANO,CAAV,CAFsC,CAQ5B;AACX,uBATM,C;;;;;;;;;AAUR;;;;;;;yBAj7BU6uG,kB,EAAkB,qI,EAAA,oI,EAAA,yI,EAAA,yI,EAAA,oH,EAAA,0H,EAAA,0I;AAAA,O;;;cAAlBA,kB;AAAkB,uC;AAAA;AAAA;AAAA;AAAA,S;AAAA,sF;AAAA,iB;AAAA,gB;AAAA,+4G;AAAA;AAAA;ADlD/B;;AACE;;AACE;;AACE;;;;AACF;;AACA;;AAOA;;AAIA;;AACE;;AACE;;AACE;;AAA8C;AAAA,qBAAS,IAAAkC,SAAA,CAAU,CAAV,CAAT;AAAqB,aAArB;;AAC5C;;AAAI;;;;AAAmB;;AACzB;;AACF;;AACA;;AACE;;AAAwC;AAAA,qBAAS,IAAAA,SAAA,CAAU,CAAV,CAAT;AAAqB,aAArB;;AACtC;;AAAI;;;;AAAyB;;AAC/B;;AACF;;AACA;;AACE;;AAAwC;AAAA,qBAAS,IAAAA,SAAA,CAAU,CAAV,CAAT;AAAqB,aAArB;;AACtC;;AAAI;;;;AAAuB;;AAC7B;;AACF;;AACA;;AACE;;AAAwC;AAAA,qBAAS,IAAAA,SAAA,CAAU,CAAV,CAAT;AAAqB,aAArB;;AACtC;;AAAI;;;;AAAyB;;AAC/B;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAwHA;;AAKA;;AAeF;;AACF;;AACF;;;;AAtLM;;AAAA;;AAEsC;;AAAA;;AAOlC;;AAAA;;AAQM;;AAAA;;AAKA;;AAAA;;AAKA;;AAAA;;AAKA;;AAAA;;AAS2B;;AAAA;;AAuHS;;AAAA;;AAKmB;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEjK7D;;AACE;;AACE;;AAA+J;AAAA;;AAAA;;AAAA;;AAAA,mBAAS,+BAAT;AAA8C,WAA9C;;AAA/J;;AACF;;AACF;;;;;;AAFgF;;AAAA;;;;;;AAKhF;;AACA;;AAAO;;AAAE;;AACT;;;;;;AAFA;;AAEA;;AAAA;;;;;;;;;;;UCJGC,2B;AAIX,6CACUnwG,QADV,EAESD,SAFT,EAGUvH,MAHV,EAIUF,MAJV,EAI2B;AAAA;;AAHjB,eAAA0H,QAAA,GAAAA,QAAA;AACD,eAAAD,SAAA,GAAAA,SAAA;AACC,eAAAvH,MAAA,GAAAA,MAAA;AACA,eAAAF,MAAA,GAAAA,MAAA;AAER,eAAKiX,SAAL,GAAiB,KAAKvP,QAAL,CAAcoU,kBAA/B;AACD;;;;iBAED,wBAAejH,IAAf,EAA6B9I,IAA7B,EAAgD;;;AAC9C8I,gBAAI,GAAGA,IAAI,CAACvF,WAAL,EAAP;AACA,mBACE,OAAAvD,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAE+I,QAAN,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAExF,WAAF,GAAgBzL,QAAhB,CAAyBgR,IAAzB,CAAd,MAA2C,MAC3C9I,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEgJ,QADqC,MAC7B,IAD6B,IAC7B,aAD6B,GAC7B,MAD6B,GAC7B,GAAEzF,WAAF,GAAgBzL,QAAhB,CAAyBgR,IAAzB,CADd,MAC4C,MAC5C9I,IAAI,SAAJ,IAAAA,IAAI,WAAJ,GAAI,MAAJ,GAAAA,IAAI,CAAEiJ,OADsC,MAC/B,IAD+B,IAC/B,aAD+B,GAC/B,MAD+B,GAC/B,GAAE1F,WAAF,GAAgBzL,QAAhB,CAAyBgR,IAAzB,CAFb,CADF;AAKD;;;iBAED,2BAAkB;AAChB,iBAAK7U,MAAL,CAAYwB,QAAZ;AACA,iBAAKtB,MAAL,CACGyC,QADH,CACY,CACR,kBADQ,EAER,KAAKuQ,OAAL,CAAapI,WAFL,EAGR,KAAKoI,OAAL,CAAa8B,OAHL,CADZ,aAMW,YAAM;AACblT,oBAAM,CAACg2G,QAAP,CAAgB,CAAhB,EAAmB32G,QAAQ,CAACC,IAAT,CAAc22G,YAAjC;AACD,aARH;AASD;;;iBAED,oBAAQ,CAAW;;;;;;;yBAnCRF,2B,EAA2B,uI,EAAA,qI,EAAA,uH,EAAA,mI;AAAA,O;;;cAA3BA,2B;AAA2B,iD;AAAA,iB;AAAA,gB;AAAA,siB;AAAA;AAAA;ADZxC;;AACE;;AACE;;AACE;;AAA4B;;;;AAAqC;;AAEjE;;AAA8H;AAAA;AAAA;;AAC5H;;AAOA;;AAKF;;AACA;;AACA;;AACE;;AAAQ;AAAA,qBAAS,IAAAG,eAAA,EAAT;AAA0B,aAA1B;;AACN;;;;AACF;;AACF;;AACF;;AACF;;AACF;;;;AA3BkD;;AAGhB;;AAAA;;AAEF;;AAAA,qGAA2B,OAA3B,EAA2B,aAA3B,EAA2B,WAA3B,EAA2B,KAA3B,EAA2B,YAA3B,EAA2B,KAA3B,EAA2B,SAA3B,EAA2B,WAA3B,EAA2B,WAA3B,EAA2B,2DAA3B;;AAgBY;;AAAA;;AAClC;;AAAA;;;;;;;;;;;;;;;;;;;;;;AEtBV;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACGI;;AACE;;AACF;;;;;;AADE;;AAAA;;;;;;AAWF;;AACE;;AACE;;AACA;;AACE;;AAAwB;;;;AAA+B;;AACzD;;AACF;;AACF;;;;AAH8B;;AAAA;;;;;;AAI9B;;AACE;;AACE;;AACA;;AACE;;AAAwB;;;;AAA+B;;AACzD;;AACF;;AACF;;;;AAH8B;;AAAA;;;;;;AAI9B;;AACE;;AACE;;AACF;;AACF;;;;;;AAGI;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AACE;;;;;;AAEF;;AACF;;AACF;;AACA;;AACE;;AAEE;;AACF;;AACA;;AACE;;AACE;;;;AACA;;AACA;;AACA;;AACE;;;;AACA;;AAAgC;;AAAC;;AACjC;;AAA4B;;;;AAAgE;;AAC9F;;AACF;;AACF;;AACA;;AACE;;AACE;;;;AAEA;;AACA;;AACA;;AACE;;;;AACA;;AAAuE;;AAAC;;AACxE;;AAAmE;;;;AAC1B;;AAC3C;;AACF;;AACF;;AACF;;AACF;;;;;;;;;AA3C0E;;AAAA;;AAEpE;;AAAA;;AAGgD;;AAAA;;AAC9C;;AAAA;;AAKD;;AAAA;;AAGD;;AAAA;;AAIE;;AAAA;;AACc;;AAAA;;AAGZ;;AAAA;;AAE4B;;AAAA;;AAM9B;;AAAA;;AAEc;;AAAA;;AAGZ;;AAAA;;AAEmE;;AAAA;;;;;;AAxCjF;;AACE;;AACE;;AA6CF;;AACF;;;;;;AA9CyB;;AAAA;;;;UDvBhBC,0B;AAUX,4CACUvwG,QADV,EAESD,SAFT,EAGUoL,aAHV,EAGiD;AAAA;;AAFvC,eAAAnL,QAAA,GAAAA,QAAA;AACD,eAAAD,SAAA,GAAAA,SAAA;AACC,eAAAoL,aAAA,GAAAA,aAAA;AAXV,eAAA9F,KAAA,GAAQ,mEAAW,IAAI1D,IAAJ,EAAX,EAAuB,YAAvB,EAAqC,OAArC,CAAR;AACA,eAAA6uG,YAAA,GAA4B,EAA5B;AAKA,eAAAC,MAAA,GAA6B,EAA7B;AAMI;;;;iBAEJ,oBAAQ;AAAA;;AACN,gBAAI,KAAKtlG,aAAL,CAAmBuJ,WAAvB,EACA,KAAKrS,cAAL,GAAsB,KAAK8I,aAAL,CAAmBuJ,WAAnB,CAA+BxY,QAA/B,EAAtB;;AACF,iBAAKiP,aAAL,CAAmBwJ,YAAnB,CAAgChX,SAAhC,CAA0C,UAACC,GAAD,EAAS;AACjD,sBAAI,CAACyE,cAAL,GAAsBzE,GAAtB;;AACF,sBAAI,CAAC6W,iBAAL;AAEC,aAJD;AAKC;;;iBAED,qBAAYvL,OAAZ,EAAkC;AAAA;;AAChC,gBAAI,KAAK3Q,GAAL,IAAY,KAAKA,GAAL,IAAY,CAA5B,EAA+B;AAC7B,mBAAKyO,eAAL,GAAuB,KAAKzO,GAA5B;AACA,mBAAKi4G,YAAL,CAAkB3uG,QAAlB,GAA6B,KAAK2uG,YAAL,CAAkB5qG,MAAlB,GAA2B,KAAKP,KAA7D;AACA,mBAAKmrG,YAAL,CAAkBnzG,YAAlB,GAAiC,KAAK2J,eAAtC;AACA,mBAAK0pG,kBAAL,CAAwB,KAAKF,YAA7B;AACD;;AACD,gBAAI,KAAKrlG,aAAL,CAAmBuJ,WAAvB,EACE,KAAKrS,cAAL,GAAsB,KAAK8I,aAAL,CAAmBuJ,WAAnB,CAA+BxY,QAA/B,EAAtB;;AACF,iBAAKiP,aAAL,CAAmBwJ,YAAnB,CAAgChX,SAAhC,CAA0C,UAACC,GAAD,EAAS;AACjD,sBAAI,CAACyE,cAAL,GAAsBzE,GAAtB;AACD,aAFD;AAGD;;;iBAED,4BAAmB43B,OAAnB,EAAyC;AAAA;;AACvC,iBAAKtwB,eAAL,GAAuB,IAAvB;;AACA,iBAAKlF,QAAL,CAAc2wG,+BAAd,CAA8Cn7E,OAA9C,EAAuD73B,SAAvD,CAAiE,UAACC,GAAD,EAAS;AACxE,sBAAI,CAACsH,eAAL,GAAuB,KAAvB;AACA,kBAAItH,GAAJ,EAAS,QAAI,CAAC6yG,MAAL,GAAc7yG,GAAd,CAAT,KACK,QAAI,CAAC6yG,MAAL,GAAc,EAAd;;AACL,sBAAI,CAACh8F,iBAAL;AACD,aALD;AAMD;;;iBAED,6BAAoB;AAAA;;AAClB,gBAAI,KAAKg8F,MAAL,IAAe,KAAKpuG,cAAxB,EAAwC;AACtC,mBAAKouG,MAAL,CAAYnxG,OAAZ,CAAoB,UAAC+E,IAAD,EAAU;AAC5B,oBAAIusG,WAAW,GAAG,QAAI,CAACvuG,cAAL,CAAoB3D,IAApB,CAChB,UAAC0K,CAAD;AAAA,yBAAOA,CAAC,CAAC,aAAD,CAAD,KAAqB/E,IAAI,CAACnB,UAAjC;AAAA,iBADgB,CAAlB;;AAGA,oBAAI0tG,WAAJ,EAAiB;AACfvsG,sBAAI,CAACwsG,OAAL,GAAeD,WAAW,CAAC,eAAD,CAA1B;AACAvsG,sBAAI,CAACysG,OAAL,GAAeF,WAAW,CAAC,eAAD,CAA1B;AACD;AACF,eARD;AASD;AACF;;;iBAED,kBAASvsG,IAAT,EAAe;AACb,oBAAQA,IAAR;AACE,mBAAK,CAAL;AACE,uBAAO;AACLiF,4BAAU,EAAE,SADP;AAELE,uBAAK,EAAE,OAFF;AAGLC,uBAAK,EAAE,KAHF;AAILkoC,4BAAU,EAAE,MAJP;AAKL/4C,0BAAQ,EAAE;AALL,iBAAP;;AAOF,mBAAK,CAAL;AACE,uBAAO;AACL0Q,4BAAU,EAAE,SADP;AAELE,uBAAK,EAAE,OAFF;AAGLC,uBAAK,EAAE,KAHF;AAILkoC,4BAAU,EAAE,MAJP;AAKL/4C,0BAAQ,EAAE;AALL,iBAAP;;AAOF;AAAS;AACP,yBAAO;AACL0Q,8BAAU,EAAE,WADP;AAELE,yBAAK,EAAE;AAFF,mBAAP;AAID;AAtBH;AAwBD;;;;;;;yBAzFU+mG,0B,EAA0B,wI,EAAA,qI,EAAA,sK;AAAA,O;;;cAA1BA,0B;AAA0B,4C;AAAA;AAAA;AAAA,S;AAAA,sF;AAAA,iB;AAAA,e;AAAA,s7D;AAAA;AAAA;ACfvC;;AACE;;AACE;;;;AACA;;AAGA;;AAAoE;AAAA,qBAAS,IAAAG,kBAAA,kBAAT;AAAyC,aAAzC;;AAClE;;AAAA;;AAEE;;AACA;;AACF;;AACF;;AACF;;AACA;;AAAA;;AACE;;AAQA;;AAQA;;AAKA;;AAiDF;;AACF;;;;AApFI;;AAAA;;AAC2D;;AAAA;;AAY7B;;AAAA;;AAQA;;AAAA;;AAQgB;;AAAA;;AAKxC;;AAAA;;;;;;;;;;;;;;;;;;;;;;AC1BV;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACII;;AAEE;;AACF;;;;;;AAHwE;;AAEtE;;AAAA;;;;;;AAgBE;;AAAwE;;AAAkB;;;;;;AAC1F;;AAAoE;;AAAgB;;;;;;AAXxF;;AACE;;AACE;;AAAW;;AAAiB;;AAC5B;;AACE;;AACA;;AACF;;AACA;;AACA;;AAEA;;AACA;;AACF;;AACF;;;;;;;;AAbqE;;AAG3C;;AAAA,8FAAmB,aAAnB,EAAmB,GAAnB;;AAIW;;AAAA;;AAGrB;;AAAA;;AACA;;AAAA;;;;;;AAOZ;;AACE;;AACE;;AAAI;;;;AAAoB;;AACxB;;AAA6C;;;;AAAuB;;AACpE;;AAA6C;;;;AAA0B;;AACvE;;AAA6C;;;;AAAwB;;AACvE;;AACF;;;;AALQ;;AAAA;;AACyC;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAK/C;;AAWE;;AAAI;;;;AAA2B;;AAC/B;;AAAgD;;;;AAAmC;;AAAI;;;;AACvE;;AAChB;;AAAgD;;;;AAA4B;;AAAI;;;;AACtE;;AACV;;AAAgD;;;;AAA4B;;AAAI;;;;AAChF;;AACF;;;;;;;;;AAjBA,uQAID,SAJC,EAID,wLAJC;;AAUM;;AAAA;;AAC4C;;AAAA;;AAAuC;;AAAA;;AAEvC;;AAAA;;AAAgC;;AAAA;;AAEhC;;AAAA;;AAAgC;;AAAA;;;;;;AAjBpF;;AACE;;AAmBF;;;;;;AAnBwB;;AAAA;;;;;;AAoBxB;;AACE;;AACE;;AACE;;AACA;;AACE;;AAAwB;;;;AAAoC;;AAC9D;;AACF;;AACF;;AACF;;;;AAJgC;;AAAA;;;;;;AAKhC;;AACE;;AACE;;AACF;;AACF;;;;;;AAOA;;AACE;;AACE;;AAAI;;AAAM;;AACV;;AAAI;;AAAI;;AACR;;AAAI;;AAAK;;AACT;;AAAI;;AAAM;;AACV;;AAAI;;AAAI;;AACR;;AAAI;;AAAK;;AACT;;AAAI;;AAAI;;AACR;;AAAI;;AAAG;;AACT;;AACF;;;;;;AAEE;;AAUA;;AACE;;AAAI;;AAAqB;;AACzB;;AAAI;;;;AAAyC;;AAC7C;;AAAI;;;;AAA6B;;AACjC;;AAAI;;;;AAA8B;;AAClC;;AAAI;;;;AAA4B;;AAChC;;AAAI;;;;AAA6B;;AACjC;;AAAI;;;;AAA4B;;AAChC;;AAAI;;;;AAA2B;;AACjC;;;;;;;;;AAlBA,uQAID,SAJC,EAID,wLAJC;;AAUM;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAnBR;;AACE;;AAoBF;;;;;;AApBwB;;AAAA;;;;;;;;;;UD5DnBK,mB;AAcX,qCAAoBz1G,UAApB,EAAwDC,IAAxD,EAA0E;AAAA;;AAAtD,eAAAD,UAAA,GAAAA,UAAA;AAAoC,eAAAC,IAAA,GAAAA,IAAA;AATxD,eAAAiJ,IAAA,GAAyB,EAAzB;AACA,eAAAulG,IAAA,GAAgB,KAAhB;AAGA,eAAAiH,KAAA,GAAQ,IAAI,wDAAJ,CAAc;AACpB56F,iBAAK,EAAE,IAAI,0DAAJ,EADa;AAEpByrC,eAAG,EAAE,IAAI,0DAAJ,CAAgB,IAAIlgD,IAAJ,EAAhB;AAFe,WAAd,CAAR;AAK4E;;;;iBAE5E,qBAAYuH,OAAZ,EAAoC;AAAA;;;;AAClC,iBAAK3D,UAAL,GAAkB,CAAH,KAAG2D,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAE3D,UAAT,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAE6jB,YAAvC;;AACA,gBAAI,KAAK7jB,UAAT,EAAqB;AACnB,mBAAK8gB,cAAL,GAAsB,IAAtB;AACA,mBAAK4qF,uBAAL,GAA+BtzG,SAA/B,CAAyC,UAACC,GAAD,EAAS;AAChD,wBAAI,CAAC4G,IAAL,GAAY,EAAZ;AACA,wBAAI,CAACA,IAAL,GAAY5G,GAAZ;AACA,wBAAI,CAACyoB,cAAL,GAAsB,KAAtB;AACD,eAJD;AAKD;;AACD,iBAAK2qF,KAAL,CAAWn9F,YAAX,CAAwBlW,SAAxB,CAAkC,UAAC+B,KAAD,EAAW;AAC3C,sBAAI,CAACuxG,uBAAL,GAA+BtzG,SAA/B,CAAyC,UAACC,GAAD,EAAS;AAChD,wBAAI,CAAC4G,IAAL,GAAY,EAAZ;AACA,wBAAI,CAACA,IAAL,GAAY5G,GAAZ;AACA,wBAAI,CAACyoB,cAAL,GAAsB,KAAtB;AACD,eAJD;AAKD,aAND;AAOD;;;iBAGD,yBAAgB;AACd,gBAAMwS,EAAE,GAAmB,2CAAWC,cAAX,CACzB,KAAKC,KAAL,CAAW/+B,aADc,CAA3B,CADc,CAGX;;AACH,gBAAMi/B,EAAE,GAAkB,2CAAWC,QAAX,EAA1B;AACA,uDAAWC,iBAAX,CAA6BF,EAA7B,EAAiCJ,EAAjC,EAAqC,YAArC;AAEA;;AACA,2DAAeI,EAAf,EAAmB,kBAAkB,KAAKz0B,IAAL,CAAU,CAAV,EAAapB,WAA/B,GAA6C,OAAhE;AACD;;;iBAED,mCAA0B;AACxB,gBAAI,KAAKmC,UAAT,EAAqB;AACnB,qBAAO,KAAKhK,IAAL,CAAUqB,IAAV,CACL,yEAAa4C,OAAb,GAAuB,4BADlB,EAEL;AACE0D,0BAAU,EAAE,KAAKqC,UADnB;AAEEjD,oBAAI,EAAE,CAFR;AAGEC,oBAAI,EAAE,IAHR;AAIE+qF,wBAAQ,EAAE,KAAK0jB,KAAL,CAAWhvG,QAAX,CAAoBoU,KAApB,CAA0B1W,KAJtC;AAKE6tF,sBAAM,EAAE,KAAKyjB,KAAL,CAAWhvG,QAAX,CAAoB6/C,GAApB,CAAwBniD;AALlC,eAFK,CAAP;AAUD;AACF;;;iBAED,oBAAW;AACT,iBAAK6J,WAAL,GACE1Q,YAAY,CAACC,OAAb,CAAqB,WAArB,KAAqC,MAArC,GAA8C,IAA9C,GAAqD,KADvD;AAC8D;;;;;;;yBAhErDi4G,mB,EAAmB,gJ,EAAA,gI;AAAA,O;;;cAAnBA,mB;AAAmB,uC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;AC5ChC;;AAEE;;AACE;;AAEA;;;;AACA;;AACA;;AAAQ;AAAA;AAAA;;AACN;;AAAU;;AAAO;;AACnB;;AACA;;AACmC;AAAA,qBAAS,IAAA13E,aAAA,EAAT;AAAwB,aAAxB;;;;AACjC;;AAAU;;AAAQ;;AACpB;;AACA;;AAIF;;AAEA;;AAEE;;AAgBA;;AACE;;AACE;;AASA;;AAqBA;;AAUA;;AAMF;;AACF;;AAEA;;AACE;;AACE;;AAYA;;AAsBF;;AACF;;AAEF;;AACF;;;;AA5HI;;AAAA;;AAK8D;;AAAA;;AAAtD;;AAK4B;;AAAA;;AAOqB;;AAAA;;AAgBpD;;AAAA;;AAEO;;AAAA;;AASA;;AAAA;;AAqBA;;AAAA;;AAUsC;;AAAA;;AAWtC;;AAAA;;AAYA;;AAAA;;;;;;;qBDxEF,CACV,oEAAQ,gBAAR,EAA0B,CACxB,uEAAW,QAAX,EAAqB,CACnB,kEAAM;AAAEjnB,qBAAS,EAAE,kBAAb;AAAiC6gD,mBAAO,EAAE;AAA1C,WAAN,CADmB,EAEnB,oEAAQ,OAAR,EAAiB,kEAAM;AAAE7gD,qBAAS,EAAE,eAAb;AAA8B6gD,mBAAO,EAAE;AAAvC,WAAN,CAAjB,CAFmB,CAArB,CADwB,EAKxB,uEAAW,QAAX,EAAqB,CACnB,kEAAM;AAAE7gD,qBAAS,EAAE,eAAb;AAA8B6gD,mBAAO,EAAE;AAAvC,WAAN,CADmB,EAEnB,oEAAQ,OAAR,EAAiB,kEAAM;AAAE7gD,qBAAS,EAAE,kBAAb;AAAiC6gD,mBAAO,EAAE;AAA1C,WAAN,CAAjB,CAFmB,CAArB,CALwB,CAA1B,CADU;;;;;;;;;;;;;;;;;;AE1Bd;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACgBQ;;AACE;;AAAwF;;;;;;;;AADrC;;AACnD;;AAAA;;;;;;AAGJ;;;;AAAmE,uFAAmB,MAAnB,EAAmB,eAAnB,EAAmB,OAAnB,EAAmB,EAAnB,EAAmB,aAAnB,EAAmB,EAAnB;;;;;;AAYvE;;AACE;;AACA;;AACE;;AAAgC;;;;AAA2B;;AAC7D;;AACF;;;;AAFoC;;AAAA;;;;;;;;AAiCtB;;AACE;;AAAgB;;AAAwB;;AACxC;;AAAgB;;;;AAA4B;;AAC5C;;AAAgB;;AAAsB;;AACtC;;AAAgB;;;;AAAwB;;AACxC;;AAAgB;;;;AAA6C;;AAC7D;;AAAgB;;;;AAA+C;;AAC/D;;AAIE;;AAAuC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAA+B;;;;AAAuB;;AAC/F;;AACF;;;;;;AAZkB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AAKwD;;AAAA;;;;;;AAzCxF;;AAEE;;AACE;;AACA;;AACE;;AACE;;AACE;;AACE;;AAAI;;AAAqC;;AAC3C;;AAEA;;AACE;;AAAI;;AAAsB;;AAC1B;;AAAI;;AAAsB;;AAC5B;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAAgB;;AAAY;;AAC5B;;AAAgB;;AAAc;;AAC9B;;AAAgB;;AAAM;;AACtB;;AAAgB;;AAAM;;AACtB;;AAAgB;;AAAQ;;AACxB;;AAAgB;;AAAM;;AACtB;;AACF;;AACA;;AACE;;AAcF;;AACF;;AACF;;AACF;;AACF;;AAEF;;AACA;;AAEF;;;;;;AA7CgB;;AAAA;;AAIA;;AAAA;;AACA;;AAAA;;AAiBsB;;AAAA;;;;;;AA2BtC;;;;;;AAAgE;;;;UDtFrDi+C,gB;AAwBX,kCACU31G,IADV,EAEUD,UAFV,EAGSyE,SAHT,EAIU+E,UAJV,EAIgC;AAAA;;AAAA;;AAHtB,eAAAvJ,IAAA,GAAAA,IAAA;AACA,eAAAD,UAAA,GAAAA,UAAA;AACD,eAAAyE,SAAA,GAAAA,SAAA;AACC,eAAA+E,UAAA,GAAAA,UAAA;AA3BV,eAAAO,KAAA,GAAQ,IAAI1D,IAAJ,EAAR;AAGA,eAAAZ,QAAA,GAAiB,IAAIY,IAAJ,CAAS,KAAK0D,KAAL,CAAW6hB,QAAX,CAAoB,KAAK7hB,KAAL,CAAW8hB,QAAX,KAAwB,CAA5C,CAAT,CAAjB;AACA,eAAArmB,MAAA,GAAe,IAAIa,IAAJ,EAAf;AAIA,eAAAw5F,iBAAA,GAAoB,KAApB;AAqBE,eAAKp/F,OAAL,GAAe/C,IAAI,CAACC,KAAL,CAAWJ,YAAY,CAACC,OAAb,CAAqB,SAArB,CAAX,CAAf;AACA,eAAKsiG,cAAL,GAAsB,KAAKr/F,OAAL,CAAa,CAAb,EAAgBsB,YAAtC;AAEA,eAAK89F,iBAAL,GAAyB,IAAzB;AACA,eAAKkR,mBAAL,GAA2B1uG,SAA3B,CAAqC,UAACC,GAAD,EAAS;AAC5C,oBAAI,CAAC0uG,QAAL,GAAgB1uG,GAAhB;AACA,oBAAI,CAACu9F,iBAAL,GAAyB,KAAzB;AACD,WAHD;AAID;;;;iBA3BD,qBAAYzyE,OAAZ,EAAqB;AAAA;;AACnB,iBAAK5jB,UAAL,CACGonG,gBADH,CACoB,KAAK9Q,cADzB,EACyC1yE,OAAO,CAACyjF,SADjD,EAEGxuG,SAFH,CAEa,UAACC,GAAD,EAAS;AAClBxD,oBAAM,CAAC8J,IAAP,CAAY,yEAAarH,aAAb,GAA6Be,GAAG,CAAC,SAAD,CAA5C,EAAyD,QAAzD;AACA,sBAAI,CAACu9F,iBAAL,GAAyB,KAAzB;AACD,aALH;AAMD;;;iBAED,uBAAcG,QAAd,EAAwB;AACtB,iBAAK8Q,eAAL,GAAuB9Q,QAAvB;AACD;;;iBAkBD,+BAAsB;AACpB,gBAAIpoB,IAAI,GAAG,mCAAM,CAAC,KAAKnyE,QAAN,CAAN,CAAsB0nB,MAAtB,CAA6B,YAA7B,CAAX;AACA,gBAAI0qD,EAAE,GAAG,mCAAM,CAAC,KAAKryE,MAAN,CAAN,CAAoB2nB,MAApB,CAA2B,YAA3B,CAAT,CAFoB,CAIpB;;AACA,mBAAO,KAAKltB,IAAL,CAAU+C,GAAV,WACF,yEAAazB,aADX,oDACkEq2E,IADlE,qBACiFC,EADjF,kCAC2G,KAAKioB,cADhH,EAAP;AAGD;;;iBAED,wBAAe3zF,KAAf,EAAsB,CAAE;;;iBAExB,wBAAe;AAAA;;AACb,iBAAK0zF,iBAAL,GAAyB,IAAzB;AACA,iBAAKkR,mBAAL,GAA2B1uG,SAA3B,CAAqC,UAACC,GAAD,EAAS;AAC5C,sBAAI,CAAC0uG,QAAL,GAAgB1uG,GAAhB;AACA,sBAAI,CAACu9F,iBAAL,GAAyB,KAAzB;AACD,aAHD;AAID;;;iBAED,oBAAQ,CAAW;;;;;;;yBA5DR+V,gB,EAAgB,gI,EAAA,gJ,EAAA,qI,EAAA,wI;AAAA,O;;;cAAhBA,gB;AAAgB,oC;AAAA,iB;AAAA,gB;AAAA,0uD;AAAA;AAAA;;;ACd7B;;AACE;;AACE;;AAAI;;;;AAA2B;;AACjC;;AACA;;AACA;;AACE;;AACE;;AAAuD;;;;AAAyB;;AAEhF;;AAAO;AAAA;;AAAA;;AAAA,qBAAS,UAAT;AAA0B,aAA1B,EAA2B,eAA3B,EAA2B;AAAA;AAAA,aAA3B;;AAAP;;AACA;;AACF;;AACA;;AACE;;AAAuD;;;;AAAuB;;AAE9E;;AAAO;AAAA;;AAAA;;AAAA,qBAAS,UAAT;AAAwB,aAAxB,EAAyB,eAAzB,EAAyB;AAAA;AAAA,aAAzB;;AAAP;;AACA;;AACF;;AACA;;AACE;;AAAsD;;;;AAA+B;;AACrF;;AAA0B;AAAA;AAAA,eAA4B,QAA5B,EAA4B;AAAA,qBAAW,IAAA78F,cAAA,4EAAX;AAAgD,aAA5E;;AACxB;;AAEF;;AAEA;;AAEF;;AACA;;AACE;;AAAgC;AAAA,qBAAS,IAAAqnF,YAAA,EAAT;AAAuB,aAAvB;;AAC9B;;;;AACF;;AACF;;AACF;;AAIA;;AAMA;;AAuDF;;AACA;;AACE;;AACF;;;;;;;;AAnGQ;;AAAA;;AAKqD;;AAAA;;AAE6C;;AAAA,8FAAsB,eAAtB,EAAsB,GAAtB;;AAI7C;;AAAA;;AAE2C;;AAAA,4FAAoB,eAApB,EAAoB,GAApB;;AAI5C;;AAAA;;AAC5B;;AAAA;;AACG;;AAAA;;AAIV;;AAAA;;AAKjB;;AAAA;;AAOA;;AAAA;;AAMgB;;AAAA;;AAyDA;;AAAA;;;;;;;;;;;;;;;;;;;;;;ACnGxB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACUU;;AAAuC;;AAAW;;;;;;AAAX;;AAAA;;;;;;AACvC;;AAAwC;;;;AAAyH;;;;;;;;AAAzH;;AAAA;;;;;;AAF1C;;AACE;;AACA;;AACF;;;;;;AAHc;;;;;;AAOZ;;AACE;;AACE;;AACE;;AAAuC;;AAAqB;;AAC5D;;AAAqC;;AAAmB;;AACxD;;AAAmC;;AAAiB;;AACpD;;AAAqC;;AAAmB;;AAC1D;;AACA;;AACE;;AACA;;AAAuD;;AAAa;;AACtE;;AACF;;AACF;;;;;;;;AAbuC;;AACD;;AAAA;;AAEO;;AAAA;;AACF;;AAAA;;AACF;;AAAA;;AACE;;AAAA;;AAGrC;;AAAA;;;;;;AAOR;;;;;;;;AACA;;AAAwJ;AAAA;;AAAA;;AAAA;;AAAA,uFAAyD,IAAzD,GAAgE,WAAhE;AAA6D,WAA7D;;AACxJ;;;;;;;;AAD6F;;;;;;AAE7F;;;;;;AAkCF;;AACE;;AACE;;AACF;;AACF;;;;;;;;UDpCOyV,qB;AAwCX,uCAAoB51G,IAApB,EAA8CD,UAA9C,EAA0E;AAAA;;AAAtD,eAAAC,IAAA,GAAAA,IAAA;AAA0B,eAAAD,UAAA,GAAAA,UAAA;AAvC9C,eAAA81G,eAAA,GAA2B,KAA3B;AAEA,eAAAC,gBAAA,GAAmB,CACjB,QADiB,EAEjB,QAFiB,EAGjB,eAHiB,EAIjB,gBAJiB,EAKjB,eALiB,EAMjB,IANiB,CAAnB;AAUA,eAAAC,YAAA,GAAe,CACb;AACEt1G,kBAAM,EAAE,cADV;AAEEmyF,kBAAM,EAAE,SAFV;AAGEojB,yBAAa,EAAE,KAHjB;AAIEC,0BAAc,EAAE,IAAI7vG,IAAJ,EAJlB;AAKE8vG,yBAAa,EAAE,IAAI9vG,IAAJ,EALjB;AAMEjB,cAAE,EAAE;AANN,WADa,EASb;AACE1E,kBAAM,EAAE,cADV;AAEEmyF,kBAAM,EAAE,SAFV;AAGEojB,yBAAa,EAAE,KAHjB;AAIEC,0BAAc,EAAE,IAAI7vG,IAAJ,EAJlB;AAKE8vG,yBAAa,EAAE,IAAI9vG,IAAJ,EALjB;AAMEjB,cAAE,EAAE;AANN,WATa,EAiBb;AACE1E,kBAAM,EAAE,cADV;AAEEmyF,kBAAM,EAAE,SAFV;AAGEojB,yBAAa,EAAE,KAHjB;AAIEC,0BAAc,EAAE,IAAI7vG,IAAJ,EAJlB;AAKE8vG,yBAAa,EAAE,IAAI9vG,IAAJ,EALjB;AAMEjB,cAAE,EAAE;AANN,WAjBa,CAAf,CA2B0E,CACxE;AACD;;;;iBAED,2BAAkB;AAAA;;AAChB,iBAAK0wG,eAAL,GAAuB,IAAvB;AAEA,iBAAK71G,IAAL,CACG+C,GADH,WAEO,yEAAazB,aAFpB,2DAIGc,SAJH,CAIa,UAACC,GAAD,EAAS;AAClB,sBAAI,CAACwzG,eAAL,GAAuB,KAAvB,CADkB,CAElB;AACD,aAPH;AAQD;;;iBACD,oBAAQ,CAAW;;;;;;;yBAxDRD,qB,EAAqB,gI,EAAA,gJ;AAAA,O;;;cAArBA,qB;AAAqB,0C;AAAA,iB;AAAA,e;AAAA,i6C;AAAA;AAAA;ACtClC;;AACE;;AACA;;AACE;;AAAU;;AAAK;;AACjB;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAMA;;AACE;;AAcF;;AAEA;;AACA;;AAEA;;AACF;;AAiCA;;AAwDF;;AACF;;AACF;;;;AAvHuB;;AAAA;;AAC4C;;AAAA;;AAuBvC;;AAAA;;AACiB;;AAAA;;AAEJ;;AAAA;;AAkCW;;AAAA;;;;;;;qBD3CtC,CACV,oEAAQ,cAAR,EAAwB,CACtB,kEAAM,WAAN,EAAmB,kEAAM;AAAE9mF,kBAAM,EAAE,KAAV;AAAiBqnF,qBAAS,EAAE;AAA5B,WAAN,CAAnB,CADsB,EAEtB,kEAAM,UAAN,EAAkB,kEAAM;AAAErnF,kBAAM,EAAE;AAAV,WAAN,CAAlB,CAFsB,EAGtB,uEACE,wBADF,EAEE,oEAAQ,sCAAR,CAFF,CAHsB,CAAxB,CADU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEkEE;;AACI;;AACI;;AACI;;AACA;;;;AACJ;;AACJ;;AACJ;;;;;;;;AAL0I;;AAAA;;AAE9H;;AAAA;;;;;;AAIZ;;AACI;;AACI;;AACI;;AACA;;;;AACJ;;AACJ;;AACJ;;;;;;;;AAL0I;;AAAA;;AAE9H;;AAAA;;;;;;AAbhB;;AACI;;AAQA;;AAQJ;;;;;;;;AAhBgE;;AAAA;;AAQA;;AAAA;;;;;;AAVpE;;AACI;;AAkBJ;;;;;;AAlByC;;AAAA;;;;;;AAoBzC;;AACI;;AACI;;AACI;;AACA;;AAA6D;;;;AAAyB;;AAC1F;;AACJ;;AACJ;;;;AAHyE;;AAAA;;;;UC3GpEsnF,kC;AAMX,oDACS5xG,SADT,EACoC;AAAA;;AAA3B,eAAAA,SAAA,GAAAA,SAAA;AAEP,eAAKwJ,WAAL,GAAmB1Q,YAAY,CAACC,OAAb,CAAqB,WAArB,KAAqC,MAArC,GAA8C,IAA9C,GAAqD,KAAxE;AACD;;;;iBAED,oBAAQ,CACP;;;iBAED,uBAAcuG,MAAd,EAA4B;AAC1B,mBAAO6wB,KAAK,CAACgjD,IAAN,CAAW;AAAE7zE,oBAAM,EAAEkc,IAAI,CAACwgD,IAAL,CAAU18D,MAAM,GAAG,CAAnB;AAAV,aAAX,EAA8C,UAAC8nC,CAAD,EAAInqB,CAAJ;AAAA,qBAAUA,CAAC,GAAG,CAAd;AAAA,aAA9C,CAAP;AACD;;;;;;;yBAjBU20F,kC,EAAkC,qI;AAAA,O;;;cAAlCA,kC;AAAkC,yD;AAAA;AAAA;AAAA,S;AAAA,iB;AAAA,gB;AAAA,4mD;AAAA;AAAA;ADT/C;;AACI;;AACI;;AACI;;AACI;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AACI;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAAmE;;;;AAA0B;;AAC7F;;AACI;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AAAgE;;AAAoE;;AACxI;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACI;;AACI;;AACI;;;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AAAgE;;AAAiG;;AACrK;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AAEI;;AACI;;AACI;;AACI;;AACI;;AACI;;;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AAAgE;;AAA+B;;AACnG;;AACJ;;AACJ;;AACJ;;AAEA;;AACI;;AACI;;AACI;;AACI;;AACI;;;;AACA;;AACI;;AACJ;;AACJ;;AACA;;AAAgE;;AAA8F;;AAClK;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACJ;;AACA;;AACI;;AAA6F;;;;AAAuB;;AACpH;;AACI;;AAqBA;;AAQJ;;AACJ;;;;AAzGuE;;AAAA;;AASvC;;AAAA;;AAEkB;;AAAA,iGAA2B,WAA3B,EAA2B,8CAA3B;;AAG0C;;AAAA;;AAW5D;;AAAA;;AAEkB;;AAAA,sGAAgC,WAAhC,EAAgC,8CAAhC;;AAG0C;;AAAA;;AAa5D;;AAAA;;AAEkB;;AAAA,kGAA4B,WAA5B,EAA4B,8CAA5B;;AAG0C;;AAAA;;AAW5D;;AAAA;;AAEkB;;AAAA,oGAA8B,WAA9B,EAA8B,8CAA9B;;AAG0C;;AAAA;;AASK;;AAAA;;AAE1E;;AAAA;;AAqBA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eE3GvB;AACA;AACA;AACA;;;UACaC,S;AAIX,6BAAc;AAAA;;AACZ,eAAKC,SAAL,GAAiB,KAAKC,mBAAL,CAAyB,WAAzB,EAAsC,CAAtC,CAAjB,CADY,CAEZ;AACA;;AACA,eAAKC,gBAAL,GAAwB,KAAKD,mBAAL,CAAyB,kBAAzB,EAA6C,CAA7C,CAAxB;AACD;;;;iBAEO,6BAAoB3yF,GAApB,EAAiC6yF,YAAjC,EAAqD;AAC3D,gBAAMjvF,WAAW,GAAGlqB,YAAY,CAACC,OAAb,CAAqBqmB,GAArB,CAApB;AACA,mBAAO4D,WAAW,KAAK,IAAhB,GAAuBxC,QAAQ,CAACwC,WAAD,EAAc,EAAd,CAA/B,GAAmDivF,YAA1D;AACD;;;iBAEO,2BAAkB7yF,GAAlB,EAA+Bzf,KAA/B,EAA4C;AAClD7G,wBAAY,CAACU,OAAb,CAAqB4lB,GAArB,EAA0Bzf,KAAK,CAACE,QAAN,EAA1B;AACD;;;iBAED,oBAAWqyG,MAAX,EAAyB;AACvB,iBAAKJ,SAAL;AACA,iBAAKK,iBAAL,CAAuB,WAAvB,EAAoC,KAAKL,SAAzC;AACA,6BAAUI,MAAV,SAAmB,KAAKJ,SAAxB;AACD;;;iBAED,4BAAmBM,kBAAnB,EAA6C;AAC3C,iBAAKJ,gBAAL;AACA,iBAAKG,iBAAL,CAAuB,kBAAvB,EAA2C,KAAKH,gBAAhD;AACA,6BAAUI,kBAAV,SAA+B,KAAKJ,gBAApC;AACD;;;iBAED,yCAA6B;AAC3B,iBAAKA,gBAAL;AACA,iBAAKG,iBAAL,CAAuB,kBAAvB,EAA2C,KAAKH,gBAAhD;AACD;;;;;;;yBAnCUH,S;AAAS,O;;;eAATA,S;AAAS,iBAATA,SAAS,K;AAAA,oBANR;;;;;;;;;;;;;;;;;ACDd;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACyBI;;;;;;;;AADF;;AAAmD;AAAA;;AAAA;;AAAA;AAAA;;AACjD;;AACA;;;;AACF;;;;;;AAFS;;AAAA;;AACP;;AAAA;;;;;;AAEF;;AAAoH;;;;AAAqB;;;;AAAvF;;AAAkE;;AAAA;;;;UDpBzGQ,4B;AAOX,8CACU72G,IADV,EAC0B;AAAA;;AAAhB,eAAAA,IAAA,GAAAA,IAAA;AAPV,eAAA8J,KAAA,GAAQ,IAAI1D,IAAJ,EAAR;AACA,eAAAZ,QAAA,GAAiB,IAAIY,IAAJ,CAAS,KAAK0D,KAAL,CAAW6hB,QAAX,CAAoB,KAAK7hB,KAAL,CAAW8hB,QAAX,KAAwB,EAA5C,CAAT,CAAjB;AACA,eAAArmB,MAAA,GAAe,IAAIa,IAAJ,EAAf;AAEA,eAAA0wG,gBAAA,GAAmB,KAAnB;AAIK;;;;iBAEL,oBAAQ,CAAY;;;iBAEpB,yBAAgB;AAAA;;AACd,iBAAKA,gBAAL,GAAwB,IAAxB;AACA,iBAAK5W,oBAAL,GAA4B99F,SAA5B,CAAsC,UAACC,GAAD,EAAS;AAC7C,sBAAI,CAAC00G,SAAL,GAAiB10G,GAAG,CAAC,CAAD,CAApB;AACA,sBAAI,CAACy0G,gBAAL,GAAwB,KAAxB;AACD,aAHD;AAID;;;iBAED,gCAAuB;AACrB,gBAAIn/B,IAAI,GAAG,mCAAM,CAAC,KAAKnyE,QAAN,CAAN,CAAsB0nB,MAAtB,CAA6B,YAA7B,CAAX;AACA,gBAAI0qD,EAAE,GAAG,mCAAM,CAAC,KAAKryE,MAAN,CAAN,CAAoB2nB,MAApB,CAA2B,YAA3B,CAAT,CAFqB,CAGrB;;AACA,mBAAO,KAAKltB,IAAL,CAAU+C,GAAV,WACF,yEAAazB,aADX,qDACmEq2E,IADnE,qBACkFC,EADlF,iCAAP;AAGD;;;;;;;yBA5BUi/B,4B,EAA4B,gI;AAAA,O;;;cAA5BA,4B;AAA4B,kD;AAAA,iB;AAAA,gB;AAAA,g7B;AAAA;AAAA;;;ACVzC;;AAEE;;AACE;;AAAI;;;;AAAoC;;AAC1C;;AAIA;;AACE;;AACE;;AAA6B;;;;AAAyB;;AAEtD;;AAAO;AAAA;;AAAA;;AAAA,qBAAS,UAAT;AAA0B,aAA1B,EAA2B,eAA3B,EAA2B;AAAA;AAAA,aAA3B;;AAAP;;AAEA;;AACF;;AACA;;AACE;;AAA6B;;;;AAAuB;;AAEpD;;AAAO;AAAA;;AAAA;;AAAA,qBAAS,UAAT;AAAwB,aAAxB,EAAyB,eAAzB,EAAyB;AAAA;AAAA,aAAzB;;AAAP;;AAEA;;AACF;;AACF;;AACA;;AAEA;;AAIA;;AAEF;;AAEA;;;;;;;;AA/BQ;;AAAA;;AAO2B;;AAAA;;AAEuE;;AAAA,8FAAsB,eAAtB,EAAsB,GAAtB;;AAKvE;;AAAA;;AAEqE;;AAAA,4FAAoB,eAApB,EAAoB,GAApB;;AAOrE;;AAAA;;AAIA;;AAAA;;AAIS;;AAAA;;;;;;;;;;;;;;;;;;;;;;AC9B5C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAeaG,sB;AASX,wCACUpZ,WADV,EAEUt+F,KAFV,EAGUrC,MAHV,EAIU4gG,YAJV,EAKU9gG,MALV,EAMUyH,SANV,EAOUzE,UAPV,EAQU+9F,kBARV,EAQgD;AAAA;;AAPtC,eAAAF,WAAA,GAAAA,WAAA;AACA,eAAAt+F,KAAA,GAAAA,KAAA;AACA,eAAArC,MAAA,GAAAA,MAAA;AACA,eAAA4gG,YAAA,GAAAA,YAAA;AACA,eAAA9gG,MAAA,GAAAA,MAAA;AACA,eAAAyH,SAAA,GAAAA,SAAA;AACA,eAAAzE,UAAA,GAAAA,UAAA;AACA,eAAA+9F,kBAAA,GAAAA,kBAAA;AAbV,eAAA4E,aAAA,GAA+B,EAA/B;AAcK;;;;iBAEL,oBAAW;AACT,iBAAK1E,UAAL,GAAkB,KAAKJ,WAAL,CAAiBK,KAAjB,CAAuB;AACvCC,mBAAK,EAAE,CAAC,IAAD,EAAO,CAAC,0DAAWx4F,QAAZ,EAAsB,0DAAWw4F,KAAjC,CAAP;AADgC,aAAvB,CAAlB;AAGD,W,CAED;;;;eAEA,eAAS;AACP,mBAAO,KAAKF,UAAL,CAAgBv3F,QAAvB;AACD;;;iBAKD,oBAAW;AAAA;;AAET,iBAAKq3F,kBAAL,CAAwBK,OAAxB,CAAgC,iBAAhC,EACG/7F,SADH,CACa,UAACm7F,KAAD,EAAmB;AAC5B,sBAAI,CAACmF,aAAL,CAAmBtE,KAAnB,GAA2B,QAAI,CAACJ,UAAL,CAAgB75F,KAAhB,CAAsB+5F,KAAjD;;AACA,sBAAI,CAACn+F,UAAL,CAAgBujG,cAAhB,CAA+B,QAAI,CAACZ,aAApC,EACGtgG,SADH,CACa,UAAC6qF,GAAD,EAAgC;AACzC,oBAAIA,GAAG,CAACgqB,OAAJ,IAAe,IAAnB,EACE,mDAAKjoG,IAAL,CAAU;AACRC,0BAAQ,EAAE,QADF;AAERC,sBAAI,EAAE,SAFE;AAGR5H,uBAAK,EAAE,QAAI,CAAC9C,SAAL,CAAehC,OAAf,CAAuB,oBAAvB,CAHC;AAIR2M,mCAAiB,EAAE,KAJX;AAKRC,uBAAK,EAAE;AALC,iBAAV,aAMW,YAAM;AACf,0BAAI,CAACnS,MAAL,CAAY+B,aAAZ,CAA0B,iBAA1B;AACD,iBARD,EADF,KAWE,mDAAKgQ,IAAL,CAAU;AACRC,0BAAQ,EAAE,QADF;AAERC,sBAAI,EAAE,OAFE;AAGR5H,uBAAK,EAAE,QAAI,CAAC9C,SAAL,CAAehC,OAAf,CAAuB,kBAAvB,CAHC;AAIR2M,mCAAiB,EAAE,KAJX;AAKRC,uBAAK,EAAE;AALC,iBAAV;AAOH,eApBH;AAuBD,aA1BH;AA2BD;;;iBACD,iBAAQ;AACN,iBAAKnS,MAAL,CAAY+B,aAAZ,CAA0B,QAA1B;AAED;;;iBACD,uBAAc;AACZ,gBAAI,KAAKs/F,aAAT,EAAwB;AACtB,mBAAKA,aAAL,CAAmBzlE,WAAnB;AACD;;AACD,gBAAM5f,OAAO,GAAG/a,QAAQ,CAACmN,sBAAT,CAAgC,kBAAhC,EAAoD,CAApD,CAAhB;;AACA,gBAAI4N,OAAJ,EAAa;AACXA,qBAAO,CAACta,KAAR,CAAc4/F,UAAd,GAA2B,QAA3B;AACD;AACF;;;;;;;yBA7EUyY,sB,EAAsB,2H,EAAA,+H,EAAA,uH,EAAA,4I,EAAA,mI,EAAA,qI,EAAA,gJ,EAAA,gI;AAAA,O;;;cAAtBA,sB;AAAsB,2C;AAAA,iB;AAAA,gB;AAAA,ulB;AAAA;AAAA;ACnBnC;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAEF;;AACA;;AACA;;AAA+B;AAAA,qBAAY,IAAAE,QAAA,EAAZ;AAAsB,aAAtB;;AAC7B;;AACE;;AACE;;;;AACF;;AACA;;;;AACF;;AACA;;AACE;;AACE;;AAAqB;AAAA,qBAAS,IAAAC,KAAA,EAAT;AAAgB,aAAhB;;AAAkB;;;;AAAoB;;AAC7D;;AACA;;AACE;;;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AAEF;;;;AArBgB;;AAAA;;AAGA;;AAAA;;AAEkB;;AAAA;;AAIqB;;AAAA;;AAEjC;;AAAA;;AACN;;AAAA;;;;;;;;;;;;;;;;;;;;;;ACnBhB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAKaC,a;AAcX,+BAAoBp3G,IAApB,EAAsC;AAAA;;AAAA;;AAAlB,eAAAA,IAAA,GAAAA,IAAA;AAbZ,eAAAq3G,SAAA,GAAY,6BAAZ;AAcN,eAAKC,gBAAL,GAAwBl1G,SAAxB,CAAkC,UAACC,GAAD,EAAS;AACzC,oBAAI,CAAC4B,OAAL,GAAe5B,GAAG,CAAC,SAAD,CAAlB;AACA,oBAAI,CAACf,aAAL,GAAqBe,GAAG,CAAC,eAAD,CAAxB;AACA,oBAAI,CAACmY,UAAL,GAAkBnY,GAAG,CAAC,YAAD,CAArB;AACA,oBAAI,CAAC6mG,MAAL,GAAc7mG,GAAG,CAAC,QAAD,CAAjB;AACA,oBAAI,CAACm1B,aAAL,GAAqBn1B,GAAG,CAAC,eAAD,CAAxB;AACA,oBAAI,CAACoiG,MAAL,GAAcpiG,GAAG,CAAC,QAAD,CAAjB;AACA,oBAAI,CAACk1G,QAAL,GAAgBl1G,GAAG,CAAC,UAAD,CAAnB;AACA,oBAAI,CAAC8tF,MAAL,GAAc9tF,GAAG,CAAC,QAAD,CAAjB;AACA,oBAAI,CAAC4sG,SAAL,GAAiB5sG,GAAG,CAAC,WAAD,CAApB;AACA,oBAAI,CAAC6sG,gBAAL,GAAwB7sG,GAAG,CAAC,kBAAD,CAA3B;AACD,WAXD;AAYD;;;;iBAED,gBAAO;AAAA;;AACL,mBAAO,IAAIqB,OAAJ,CAAkB,UAACC,OAAD,EAAUC,MAAV,EAAqB;AAC5C,sBAAI,CAAC0zG,gBAAL,GAAwBl1G,SAAxB,CAAkC,UAAC6G,IAAD,EAAU;AAC1C,kFAAa3H,aAAb,GAA6B2H,IAAI,CAAC,eAAD,CAAjC;AACA,kFAAahF,OAAb,GAAuBgF,IAAI,CAAC,SAAD,CAA3B;AACA,kFAAaigG,MAAb,GAAsBjgG,IAAI,CAAC,QAAD,CAA1B;AACA,kFAAauR,UAAb,GAA0BvR,IAAI,CAAC,YAAD,CAA9B;AACA,kFAAauuB,aAAb,GAA6BvuB,IAAI,CAAC,eAAD,CAAjC;AACA,kFAAaw7F,MAAb,GAAsBx7F,IAAI,CAAC,QAAD,CAA1B;AACA,kFAAasuG,QAAb,GAAwBtuG,IAAI,CAAC,UAAD,CAA5B;AACA,kFAAau6F,aAAb,GAA6Bv6F,IAAI,CAAC,eAAD,CAAjC;AACA,kFAAainG,cAAb,GAA8BjnG,IAAI,CAAC,gBAAD,CAAlC;AACA,kFAAasf,WAAb,GAA2Btf,IAAI,CAAC,aAAD,CAA/B;AACA,kFAAa8lG,oBAAb,GAAoC9lG,IAAI,CAAC,sBAAD,CAAxC;AACA,kFAAaknF,MAAb,GAAsBlnF,IAAI,CAAC,QAAD,CAA1B;AACA,kFAAa+lG,QAAb,GAAwB/lG,IAAI,CAAC,UAAD,CAA5B;AACA,kFAAagmG,SAAb,GAAyBhmG,IAAI,CAAC,WAAD,CAA7B;AACA,kFAAaimG,gBAAb,GAAgCjmG,IAAI,CAAC,kBAAD,CAApC;AACAtF,uBAAO;AACR,eAjBD;AAkBD,aAnBM,CAAP;AAoBD;;;iBAEM,4BAAmB;AACxB,mBAAO,KAAK3D,IAAL,CAAU+C,GAAV,CAAc,KAAKs0G,SAAnB,CAAP;AACD;;;iBAED,wBAAe;AAAA;;AACb,iBAAKC,gBAAL,GAAwBl1G,SAAxB,CAAkC,UAACC,GAAD,EAAS;AACzC,sBAAI,CAAC4B,OAAL,GAAe5B,GAAG,CAAC,SAAD,CAAlB;AACA,sBAAI,CAACf,aAAL,GAAqBe,GAAG,CAAC,eAAD,CAAxB;AACA,sBAAI,CAACm1B,aAAL,GAAqBn1B,GAAG,CAAC,eAAD,CAAxB;AACA,sBAAI,CAACmY,UAAL,GAAkBnY,GAAG,CAAC,YAAD,CAArB;AACA,sBAAI,CAAC6mG,MAAL,GAAc7mG,GAAG,CAAC,QAAD,CAAjB;AACA,sBAAI,CAACoiG,MAAL,GAAcpiG,GAAG,CAAC,QAAD,CAAjB;AACA,sBAAI,CAACk1G,QAAL,GAAgBl1G,GAAG,CAAC,UAAD,CAAnB;AACA,sBAAI,CAAC4sG,SAAL,GAAiB5sG,GAAG,CAAC,WAAD,CAApB;AACA,sBAAI,CAAC6sG,gBAAL,GAAwB7sG,GAAG,CAAC,kBAAD,CAA3B;AACD,aAVD;AAWD;;;eAED,eAAwB;AACtB,mBAAO,KAAK4B,OAAZ;AACD;;;eACD,eAAuB;AACrB,mBAAO,KAAK3C,aAAZ;AACD;;;eACD,eAAuB;AACrB,mBAAO,KAAKk2B,aAAZ;AACD;;;eACD,eAAgB;AACd,mBAAO,KAAKitE,MAAZ;AACD;;;eACD,eAAyB;AACvB,mBAAO,KAAK8S,QAAZ;AACD;;;;;;;yBApFUH,a,EAAa,uH;AAAA,O;;;eAAbA,a;AAAa,iBAAbA,aAAa,K;AAAA,oBAFZ;;;;;;;;;;;;;;;;;ACNd;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACII;;AAA+B;AAAA;;AAAA;;AAAA;AAAA;;AAAoC;;;;AAAoC;;;;AAApC;;AAAA;;;;;;;;AAEnE;;AAEO;AAAA;;AAAA;;AAAA;AAAA,aAA6B,OAA7B,EAA6B;AAAA;;AAAA;;AAAA;AAAA,WAA7B;;;;AAFP;;;;;;AAEO,sGAA6B,aAA7B,EAA6B,kFAA7B;;;;;;;;AAKP;;AACQ;AAAA;;AAAA;;AAAA;AAAA,aAAqC,OAArC,EAAqC;AAAA;;AAAA;;AAAA;AAAA,WAArC;;AAGA;;;;AACR;;;;AADQ;;AAAA;;;;;;AAGR;;AACE;;AACF;;;;;;AADE;;AAAA;;;;;;AAIJ;;AACE;;AAA6B;;;;AAAiC;;AAChE;;;;AAD+B;;AAAA;;;;;;AAI/B;;;;;;;;;;;;;;;AAFA;;AAAkE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAElE;;AACA;;AACE;;AAA6C;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAiD;;AAChG;;;;;;;;AAJA;;AAC6B;;AAAA;;AAC7B;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;UDvBWI,qB;AAeX,uCAAoBnwB,IAApB,EACUC,UADV,EACiC;AAAA;;AADb,eAAAD,IAAA,GAAAA,IAAA;AACV,eAAAC,UAAA,GAAAA,UAAA;AAfD,eAAAz5E,CAAA,GAAI,CAAJ;AACA,eAAAob,CAAA,GAAI,CAAJ;AACA,eAAA2iF,MAAA,GAAkB,KAAlB;AAEA,eAAAvrG,aAAA,GAAgB,EAAhB;AACC,eAAAonF,cAAA,GAAiB,IAAI,0DAAJ,EAAjB;AACA,eAAAgwB,cAAA,GAAiB,IAAI,0DAAJ,EAAjB;AACA,eAAAC,sBAAA,GAAyB,IAAI,0DAAJ,EAAzB;AACA,eAAAC,sBAAA,GAAyB,IAAI,0DAAJ,EAAzB;AAEV,eAAAxL,eAAA,GAA2B,KAA3B;AACA,eAAAC,eAAA,GAA0B,EAA1B;AACA,eAAA5rF,YAAA,GAAuB,EAAvB;AAII;;;;iBAEJ,sBAAatU,KAAb,EAAgC;AAC9B,gBAAI,CAAC,KAAKm7E,IAAL,CAAU5oF,aAAV,CAAwBipF,QAAxB,CAAiCx7E,KAAK,CAACE,MAAvC,CAAL,EAAqD;AACnD,mBAAKq7E,cAAL,CAAoBrxD,IAApB;AACD;AACF;;;iBAEA,2BAAkBlqB,KAAlB,EAAqC;AACpCA,iBAAK,CAAC+sB,eAAN;;AACA,gBAAI,KAAK54B,aAAL,CAAmByD,MAAnB,IAA6B,CAAjC,EAAoC;AAClC2X,mBAAK,CAAC,iCAAD,CAAL;AACA;AACD;;AACD,iBAAK0wF,eAAL,GAAuB,CAAC,KAAKA,eAA7B;AACA,iBAAK3rF,YAAL,GAAoB,EAApB;AACD;;;iBAED,qCAA4BtU,KAA5B,EAA+C;AAC7CA,iBAAK,CAAC+sB,eAAN;AACD;;;iBAED,wBAAex4B,MAAf,EAA+B;AAC7B,gBAAI,KAAKJ,aAAL,CAAmByD,MAAnB,IAA6B,CAAjC,EAAoC;AAClC2X,mBAAK,CAAC,iCAAD,CAAL;AACA;AACD;;AAED,gBAAI,KAAK2wF,eAAL,CAAqB7C,IAArB,EAAJ,EAAiC;AACjC,kBAAMrkG,IAAI,GAAE,KAAKknG,eAAjB;AACA,mBAAKqL,cAAL,CAAoBrhF,IAApB,CAAyB;AAAC31B,sBAAM,EAANA,MAAD;AAAQyE,oBAAI,EAAJA;AAAR,eAAzB;AACA,mBAAKknG,eAAL,GAAuB,EAAvB;AACA,mBAAKD,eAAL,GAAuB,KAAvB;AACC,aALD,MAMI;AACF1wF,mBAAK,CAAC,gDAAD,CAAL;AAED;AACF;;;iBAED,2BAAkBrY,KAAlB,EAA6B3C,MAA7B,EAA6C;AAC3C,iBAAKi3G,sBAAL,CAA4BthF,IAA5B,CAAiC;AAAEhzB,mBAAK,EAALA,KAAF;AAAS3C,oBAAM,EAANA;AAAT,aAAjC;AACD;;;iBAED,2BAAkBW,aAAlB,EAAyC;AACvC,iBAAKu2G,sBAAL,CAA4BvhF,IAA5B,CAAiC;AAACh1B,2BAAa,EAAbA;AAAD,aAAjC;AACD;;;iBAGD,oBAAW;AACT,iBAAK4M,WAAL,GACE1Q,YAAY,CAACC,OAAb,CAAqB,WAArB,KAAqC,MAArC,GAA8C,IAA9C,GAAqD,KADvD;AAED;;;;;;;yBArEUi6G,qB,EAAqB,yH,EAAA,wI;AAAA,O;;;cAArBA,qB;AAAqB,0C;AAAA;AAAA;;qBAArB,wB;AAAoB,a,EAAA,K,EAAA,+D;;;;;;;;;;;;;;;;;;;;;ACRjC;;AACE;;AACA;;AACE;;AAAuB;AAAA,qBAAS,IAAAI,iBAAA,QAAT;AAAkC,aAAlC;;AAAoC;;AAC3D;;AAEA;;AAOA;;AAOA;;AAGF;;AAEA;;AAGA;;AAOF;;AACA;;;;AApCK,qKAAuC,SAAvC,EAAuC,sHAAvC;;AAEsB;;AAAA;;AAEhB;;AAAA;;AAEC;;AAAA;;AAOC;;AAAA;;AAOH;;AAAA;;AAKH;;AAAA;;AAGiB;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACyFhB;;AACE;;AAAgB;;AAAoB;;AACpC;;AAAgB;;AAA0B;;AAC1C;;AAAgB;;;;AAAmD;;AACnE;;AAAgB;;AAAuB;;AACzC;;;;;;AAJkB;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AAkBhB;;AACE;;AAAK;;AAAiB;;AACtB;;AAAK;;;;AAAyC;;AAChD;;;;;;AAFO;;AAAA;;AACA;;AAAA;;;;UCrIJC,uB;AAKX,yCAAoBC,WAApB,EAAiD;AAAA;;AAA7B,eAAAA,WAAA,GAAAA,WAAA;AAJpB,eAAAhuG,KAAA,GAAQ,IAAI1D,IAAJ,EAAR;AAKE,eAAK2xG,OAAL,GAAeD,WAAW,CAACE,cAAZ,EAAf;AACD;;;;iBAED,oBAAQ,CACP;;;eAED,eAAuB;AACrB,mBAAO,KAAK7qF,OAAL,CAAa8qF,WAAb,CAAyBh/C,MAAzB,CAAgC,UAAUx8B,CAAV,EAAaC,CAAb,EAAgB;AACrD,qBAAOD,CAAC,GAAGC,CAAC,CAACw7E,SAAb;AACD,aAFM,EAEJ,CAFI,CAAP;AAGD;;;;;;;yBAhBUL,uB,EAAuB,gJ;AAAA,O;;;cAAvBA,uB;AAAuB,4C;AAAA;AAAA;AAAA,S;AAAA,kB;AAAA,gB;AAAA,+nC;AAAA;AAAA;ADRpC;;AACE;;AACA;;AACA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACF;;AACF;;AACA;;AACA;;AACE;;AAAI;;AAAM;;AACZ;;AACA;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAQ;;AAAoC;;AAC9C;;AACA;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAQ;;AAAgB;;AAC1B;;AACA;;AACE;;;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAQ;;AAAe;;AACzB;;AACA;;AACE;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAQ;;AAAY;;AACtB;;AACA;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAQ;;AAAY;;AACtB;;AACA;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAQ;;AAAW;;AACrB;;AACA;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAQ;;AAAS;;AACnB;;AACA;;AAGF;;AACF;;AACF;;AACA;;AAEA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAQ;;AAAI;;AACd;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAgB;;AAAW;;AAC3B;;AAAgB;;AAAM;;AACtB;;AAAgB;;AAAK;;AACrB;;AAAgB;;AAAM;;AACxB;;AACF;;AACA;;AACE;;AAMF;;AACA;;AACE;;AACE;;AACE;;AAAI;;;;AAAqB;;AAC3B;;AACA;;AAAgB;;AAAe;;AAC/B;;AACA;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AACE;;AAIF;;AACF;;AACF;;AACA;;AAEA;;AACE;;AACE;;AAAK;;AAAe;;AACpB;;AAAK;;AAAQ;;AAAoB;;AAAS;;AAC5C;;AACA;;AACE;;AAAK;;AAAc;;AACnB;;AAAK;;AAAQ;;;;AAA4C;;AAAS;;AACpE;;AACA;;AACE;;AAAK;;AAAY;;AACjB;;AAAK;;AAAQ;;AAAqB;;AAAS;;AAC7C;;AACF;;AAEF;;AAEA;;AACE;;AACE;;AACE;;AAAK;;AAAU;;AACf;;AAAK;;AAAoB;;AAC3B;;AACA;;AAEA;;AACE;;AAAK;;AAAa;;AAClB;;AAAK;;;;AAAwB;;AAC/B;;AACF;;AACF;;AAEF;;;;AA5JoB;;AAAA;;AAGR;;AAAA;;AAQA;;AAAA;;AAkBA;;AAAA;;AAQA;;AAAA;;AAQA;;AAAA;;AAkBF;;AAAA;;AAUA;;AAAA;;AAGA;;AAAA;;AAGA;;AAAA;;AAcsB;;AAAA;;AAUhB;;AAAA;;AAEU;;AAAA;;AAUK;;AAAA;;AAYV;;AAAA;;AAIA;;AAAA;;AAIA;;AAAA;;AAUR;;AAAA;;AAMA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE5KL;;;;;;AAIA;;AAEI;;AACJ;;;;;;AAH4D;;AAExD;;AAAA;;;;;;AAIR;;;;;;AAAyB;;;;;;AAEzB;;AACI;;AACI;;AACA;;AACI;;AAAwB;;;;AAAoC;;AAChE;;AACJ;;AACJ;;;;AAHoC;;AAAA;;;;UCV3BM,yB;AAQX,2CAAoB3zG,SAApB,EAAiD;AAAA;;AAA7B,eAAAA,SAAA,GAAAA,SAAA;AAAgC;;;;iBAEpD,oBAAQ;AACN,iBAAKwJ,WAAL,GACE1Q,YAAY,CAACC,OAAb,CAAqB,WAArB,KAAqC,MAArC,GAA8C,IAA9C,GAAqD,KADvD;AAED;;;iBAED,2BAAkB;AAChB,gBAAI,CAAC,KAAKupB,QAAV,EAAoB;AAClB,mBAAK0kE,SAAL;AACD;AACF;;;iBAED,qBAAY;AACV,gBAAImd,WAAW,CAACC,MAAhB,CAAuB;AACrB16F,mBAAK,EAAE,MADc;AAErB4gB,oBAAM,EAAE,MAFa;AAGrBruB,oBAAM,EAAE,SAAS,KAAKuJ,UAHD;AAIrB0O,sBAAQ,EAAE,GAJW;AAKrBmwF,sBAAQ,EAAE,cALW;AAMrB/4E,mBAAK,EAAE,KAAK9hB,WAAL,GAAiB,MAAjB,GAAwB,OANV;AAOrBrP,mBAAK,EAAE,GAPc;AAQrBs4B,oBAAM,EAAE,KAAKzyB,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,OAArC,GAA+C,IARlC;AASrB6wG,wBAAU,EAAE,SATS;AAUrBC,+BAAiB,EAAE,KAVE;AAWrBC,4BAAc,EAAE,KAXK;AAYrB;AACAxP,+BAAiB,EAAE,IAbE;AAcrByP,iCAAmB,EAAE,KAdA;AAerBC,+BAAiB,EAAE,KAfE;AAgBrBC,sBAAQ,EAAE,IAhBW;AAiBrBC,yBAAW,EAAE,IAjBQ;AAkBrBC,wBAAU,EAAE,KAlBS;AAmBrBC,4BAAc,EAAE,IAnBK;AAoBrB5P,0BAAY,EAAE,KAAKh/F;AApBE,aAAvB;AAsBD;;;iBAED,qBAAY2D,OAAZ,EAAoC;AAAA;;AAClC,gBAAI,KAAKmZ,QAAL,IAAiBnZ,OAAO,CAAC2a,OAAR,CAAgBuF,YAAhB,IAAgClgB,OAAO,CAAC2a,OAAR,CAAgBs+D,aAArE,EAAoF;AAClF,mBAAK58E,UAAL,GAAkB2D,OAAO,CAAC3D,UAAR,CAAmB6jB,YAArC;AACA7L,wBAAU,CAAC,YAAM;AACf,wBAAI,CAACwpE,SAAL;AACD,eAFS,EAEP,GAFO,CAAV;AAKD;AACF;;;eAED,eAAa;AACX,gBAAI,KAAKxhF,UAAT,EACE,OAAO,KAAKA,UAAZ;AACH;;;;;;;yBA5DUmuG,yB,EAAyB,qI;AAAA,O;;;cAAzBA,yB;AAAyB,+C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,S;AAAA,sF;AAAA,gB;AAAA,e;AAAA,40B;AAAA;AAAA;ADTtC;;AAEI;;AACI;;AAGA;;;;AACA;;AAIJ;;AAEA;;AAEA;;AAQJ;;;;AAnBa;;AAAA;;AAEL;;AAAA;;AAEsC;;AAAA;;AAKpC;;AAAA;;AAEiD;;AAAA;;;;;;;;;;;;;;;;;;;;;;AEf3D;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;AAgBI;;AACE;;AACF;;;;;;AAFK;;AACH;;AAAA;;;;AAdC,UAAMU,gBAAgB,GAAG,GAAzB;AACA,UAAMC,SAAS,GAAG,oEAAQ,WAAR,EAAqB,CAC5C,uEAAW,WAAX,EAAwB,CAAC,kEAAM;AAAEphD,eAAO,EAAE,GAAX;AAAgB7gD,iBAAS,EAAE;AAA3B,OAAN,CAAD,EAAyD,oEAAQgiG,gBAAR,CAAzD,CAAxB,CAD4C,EAE5C,uEAAW,WAAX,EAAwB,CAAC,oEAAQA,gBAAR,EAA0B,kEAAM;AAAEnhD,eAAO,EAAE;AAAX,OAAN,CAA1B,CAAD,CAAxB,CAF4C,EAG5C,uEAAW,QAAX,EAAqB,CACnB,kEAAM;AAAEA,eAAO,EAAE,GAAX;AAAgB7gD,iBAAS,EAAE;AAA3B,OAAN,CADmB,EAEnB,oEAAQgiG,gBAAR,EAA0B,kEAAM;AAAEnhD,eAAO,EAAE,GAAX;AAAgB7gD,iBAAS,EAAE;AAA3B,OAAN,CAA1B,CAFmB,CAArB,CAH4C,CAArB,CAAlB;;UAmBMkiG,qB;;;;;yBAAAA,qB;AAAqB,O;;;cAArBA,qB;AAAqB,0C;AAAA;AAAA;AAAA,S;AAAA,gB;AAAA,e;AAAA,6B;AAAA;AAAA;AAP9B;;;;AAA4B;;;;;;qBAKlB,CAACD,SAAD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZR;;AACE;;AAAU;;AAAK;;AACjB;;;;;;;;AAIA;;AACE;;AAAK;AAAA;;AAAA;;AAAA;AAAA;;AAEH;;AACE;;AACI;;AACJ;;AACA;;AACI;;AAAuC;;AAAG;;AAC1C;;AAAqC;;AAAW;;AACpD;;AACJ;;AACA;;AACF;;;;;;AAdF;;AACE;;AAcF;;;;;;AAd0B;;AAAA;;;;UCPjBE,2B;AAKX,6CACSpqG,SADT,EAC6D;AAAA;;AAApD,eAAAA,SAAA,GAAAA,SAAA;AAJT,eAAAhF,OAAA,GAAQ,CAAC,KAAD,EAAQ,IAAR,EAAc,KAAd,EAAoB,IAApB,CAAR;AAKK;;;;iBAEL,oBAAQ,CACP;;;iBAED,uBAAcsC,KAAd,EAAwB,CACvB;;;iBAED,sBAAU;AACR,iBAAK0C,SAAL,CAAe1D,KAAf;AACD;;;;;;;yBAjBU8tG,2B,EAA2B,sI;AAAA,O;;;cAA3BA,2B;AAA2B,iD;AAAA,iB;AAAA,e;AAAA,s/B;AAAA;AAAA;ADRxC;;AAEA;;AAAsC;;AAAe;;AACrD;;AAAoC;;AAAkD;;AAEtF;;AACI;;AACE;;AAAmB;AAAA;AAAA,eAAyB,OAAzB,EAAyB;AAAA,qBAAU,IAAAC,aAAA,QAAV;AAA+B,aAAxD;;;;AAAnB;;AAEA;;AAGF;;AAEA;;AAgBF;;AACF;;;;AAvBQ;;AAAA;;AADiB;;AAEU;;AAAA;;AAKzB;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UEPGC,sB;AAEX,0CAAc;AAAA;AAAG;;;;iBAEjB,oBAAQ,CACP;;;;;;;yBALUA,sB;AAAsB,O;;;cAAtBA,sB;AAAsB,4C;AAAA,gB;AAAA,e;AAAA,qI;AAAA;AAAA;ACPnC;;AACE;;AACE;;AACA;;AACE;;AAAK;;;;AAAqC;;AAC5C;;AACF;;AACF;;;;AAHW;;AAAA;;;;;;;;;;;;;;;;;;;;;ACCX;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACHI;;;;;;AAYA;;AACE;;AACF;;;;;;AAFwE;;AACtE;;AAAA;;;;;;AAgBE;;AACE;;AACE;;AAAqB;;AACvB;;AAA8C;;;;AAA+C;;AAE/F;;;;;;AAHI;;AAAA;;AAC4C;;AAAA;;;;;;AAJlD;;AACE;;AAMF;;;;;;AANwB;;AAAA;;;;;;AAOxB;;AACE;;AACE;;AACE;;AACA;;AACE;;AAAyB;;AAAQ;;AACnC;;AACF;;AACF;;AACF;;;;;;AACA;;AACE;;AACE;;AACF;;AACF;;;;;;AACA;;AACE;;AACE;;AACE;;AACA;;AACE;;AAAwB;;;;AAAoC;;AAC9D;;AACF;;AACF;;AACF;;;;AAJgC;;AAAA;;;;;;AApClC;;AACE;;AACE;;AACE;;AAAI;;;;AAAqB;;AACzB;;AAAI;;;;AAAmB;;AACzB;;AACF;;AAEA;;AAQA;;AAUA;;AAKA;;AAUF;;;;;;AAtCU;;AAAA;;AACA;;AAAA;;AAIA;;AAAA;;AAQA;;AAAA;;AAUsC;;AAAA;;AAKtC;;AAAA;;;;;;AAuBN;;AACE;;AAAI;;AAAe;;AACnB;;AACE;;AACF;;AACA;;AACE;;;;AACF;;AAEF;;;;;;AARM;;AAAA;;AAEF;;AAAA;;AAGA;;AAAA;;;;;;AAPN;;AACE;;AAUF;;;;;;AAVwB;;AAAA;;;;;;AAWxB;;AACE;;AACE;;AACE;;AACA;;AACE;;AAAwB;;AAAQ;;AAClC;;AACF;;AACF;;AACF;;;;;;AACA;;AACE;;AACE;;AACF;;AACF;;;;;;AACA;;AACE;;AACE;;AACE;;AACA;;AACE;;AAAwB;;;;AAAoC;;AAC9D;;AACF;;AACF;;AACF;;;;AAJgC;;AAAA;;;;;;AA1ClC;;AACE;;AACE;;AACE;;AAAI;;AAAC;;AACL;;AAA8C;;;;AAAqB;;AACnE;;AAA8C;;;;AAAmB;;AAEnE;;AACF;;AAEA;;AAYA;;AAUA;;AAKA;;AAUF;;;;;;AA3CoD;;AAAA;;AACA;;AAAA;;AAK1C;;AAAA;;AAYA;;AAAA;;AAUsC;;AAAA;;AAKtC;;AAAA;;;;UDvFDC,wB;AAWX,0CAAoB10G,QAApB,EAA0C;AAAA;;AAAtB,eAAAA,QAAA,GAAAA,QAAA;AAJpB,eAAAsmB,OAAA,GAAmB,KAAnB;AAI4C;;;;iBAE5C,qBAAYpd,OAAZ,EAAoC;;;AAClC,gBAAIA,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAE2a,OAAb,EAAsB;AACpB,mBAAKte,UAAL,GAAkB,CAAH,KAAG2D,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAE3D,UAAT,MAAmB,IAAnB,IAAmB,aAAnB,GAAmB,MAAnB,GAAmB,GAAE6jB,YAAvC;AACA,mBAAKvF,OAAL,GAAe,CAAH,KAAG3a,OAAO,CAAC2a,OAAR,MAAe,IAAf,IAAe,aAAf,GAAe,MAAf,GAAe,GAAEuF,YAAhC;AACD;;AACD,gBAAI,KAAK7jB,UAAT,EAAqB;AACnB,mBAAK6gB,YAAL,GAAoB,IAApB;AACA,mBAAKC,cAAL,GAAsB,IAAtB;AACA,kBAAI,KAAKC,OAAT,EAAkB,KAAKC,iBAAL,GAAlB,KACK,IAAI,CAAC,KAAKD,OAAV,EAAmB,KAAKE,iBAAL;AACzB;;AAED,gBAAI,CAAC,KAAKF,OAAN,IAAiB,KAAK/gB,UAA1B,EAAsC;AACpC,kBAAI,KAAKkhB,eAAT,EAA0B,KAAKA,eAAL,CAAqBjQ,IAArB;AAC1B,mBAAKmQ,cAAL;AACD;AACF;;;iBAED,0BAAiB;AAAA;;AACf,iBAAKF,eAAL,GAAuB,IAAI,uEAAJ,GACpB3Q,OADoB,CACZ,yEAAaC,UAAb,GAAyB,cADb,EAC6B;AAChDC,6BAAe,EAAE,IAD+B;AAEhDC,uBAAS,EAAE,qEAA0BC;AAFW,aAD7B,EAKpBC,KALoB,EAAvB;AAOA,iBAAKsQ,eAAL,CACGrQ,KADH,GAEGxD,IAFH,CAEQ,UAAChV,GAAD;AAAA,qBACJ,QAAI,CAAC6oB,eAAL,CACGlM,MADH,CACU,WADV,EACuB,QAAI,CAAChV,UAD5B,EAEGqN,IAFH,CAEQ,UAAClT,KAAD,EAAW;AACf,wBAAI,CAAC+mB,eAAL,CAAqBpQ,EAArB,CAAwB,uBAAxB,EAAiD,UAACwQ,WAAD,EAAiB;AAChE,sBAAIvQ,MAAM,GAAGuQ,WAAW,CAAC,CAAD,CAAX,CAAe,aAAf,CAAb;AACA,0BAAI,CAACT,YAAL,CAAkBU,YAAlB,GAAiCxQ,MAAM,CAACwQ,YAAxC;AACA,0BAAI,CAACV,YAAL,CAAkBW,YAAlB,GAAiCzQ,MAAM,CAACyQ,YAAxC;AACA,0BAAI,CAACX,YAAL,CAAkBY,iBAAlB,GAAsC1Q,MAAM,CAAC0Q,iBAA7C;AACD,iBALD;AAMD,eATH,CADI;AAAA,aAFR;AAeD;;;iBAED,uBAAW;AACT,gBAAI,KAAKP,eAAT,EAA0B,KAAKA,eAAL,CAAqBjQ,IAArB;AAC3B;;;iBAED,yBAAgB9W,KAAhB,EAAuB;AACrB,gBAAI,KAAK6F,UAAT,EAAqB,KAAK8gB,cAAL,GAAsB,IAAtB;AACrB,iBAAKC,OAAL,GAAe5mB,KAAf;AACA,gBAAIA,KAAJ,EAAW,KAAK6mB,iBAAL,GAAX,KACK,KAAKC,iBAAL;AACN;;;iBAED,6BAAoB;AAAA;;AAClB,iBAAKxmB,QAAL,CAAcumB,iBAAd,CAAgC,KAAKhhB,UAArC,EAAiD5H,SAAjD,CAA2D,UAACC,GAAD,EAAS;AAClE,sBAAI,CAACyoB,cAAL,GAAsB,KAAtB;AACA,sBAAI,CAACD,YAAL,GAAoBxoB,GAApB;AACD,aAHD;AAID;;;iBACD,6BAAoB;AAAA;;AAClB,iBAAKoC,QAAL,CAAcwmB,iBAAd,CAAgC,KAAKjhB,UAArC,EAAgD,EAAhD,EAAoD5H,SAApD,CAA8D,UAACC,GAAD,EAAS;AACrE,sBAAI,CAACyoB,cAAL,GAAsB,KAAtB;AACA,sBAAI,CAACD,YAAL,GAAoBxoB,GAApB;AACD,aAHD;AAID;;;iBACD,oBAAW,CAAE;;;;;;;yBA/EF82G,wB,EAAwB,iI;AAAA,O;;;cAAxBA,wB;AAAwB,8C;AAAA;AAAA;AAAA;AAAA;AAAA,S;AAAA,sF;AAAA,iB;AAAA,gB;AAAA,07C;AAAA;AAAA;ACfrC;;AACE;;AACE;;AAEA;;AACE;;AAA8C;AAAA,qBAAS,IAAA7jB,eAAA,CAAgB,KAAhB,CAAT;AAA+B,aAA/B;;AAC5C;;AAAI;;;;AAAqB;;AAC3B;;AACF;;AACA;;AACE;;AAAwC;AAAA,qBAAS,IAAAA,eAAA,CAAgB,IAAhB,CAAT;AAA8B,aAA9B;;AACtC;;AAAI;;;;AAAqB;;AAC3B;;AACF;;AACA;;AAMF;;AACA;;AACE;;AA2CA;;AAgDF;;AACF;;;;AAhH+G;;AAAA;;AAInG;;AAAA;;AAKA;;AAAA;;AAG6H;;AAAA;;AAQ/G;;AAAA;;AA2CA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UC5Db8jB,oB;;;;;;;iBAGX,qBAAYzrG,OAAZ,EAAoC,CAEnC;;;;;;;yBALUyrG,oB;AAAoB,O;;;cAApBA,oB;AAAoB,+C;AAAA;AAAA;AAAA,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCCpBC,4B;AACX,8CAAoBhxB,UAApB,EAAyD;AAAA;;AAArC,eAAAA,UAAA,GAAAA,UAAA;AAAuC;;;;iBAE3D,iBAAQn8E,KAAR,EAA2B;AACzB,gBAAI+G,KAAK,GAAG/G,KAAK,CAACE,MAAlB;AACA,gBAAI4gF,MAAM,GAAG/2E,UAAU,CAAChD,KAAK,CAAC9O,KAAN,CAAY0E,OAAZ,CAAoB,IAApB,EAA0B,EAA1B,CAAD,CAAvB;;AACA,gBAAIzE,KAAK,CAAC4oF,MAAD,CAAL,IAAiBA,MAAM,IAAI,CAA/B,EAAkC;AAChC/5E,mBAAK,CAAC9O,KAAN,GAAc,EAAd;AACD,aAFD,MAEO;AACL8O,mBAAK,CAAC9O,KAAN,GAAc,KAAKkkF,UAAL,CAAgBxxE,SAAhB,CAA0Bm2E,MAA1B,EAAkC3oF,QAAlC,EAAd;AACD;AACF;;;;;;;yBAXUg1G,4B,EAA4B,oJ;AAAA,O;;;cAA5BA,4B;AAA4B,uD;AAAA;AAAA;;qBAA5B,mB;AAAe,a;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC2GlB;;AACE;;AAAgB;;AAAuB;;AACvC;;AAAgB;;AAA0B;;AAE1C;;AAAgB;;AAA4B;;AAC5C;;AAAiB;;AAAyB;;AAE1C;;AAAgB;;AAAyB;;AACzC;;AAAgB;;AAA0B;;AAC1C;;AAAgB;;AAA0B;;AAC1C;;AAAgB;;AAAyB;;AAC3C;;;;;;AAVkB;;AAAA;;AACA;;AAAA;;AAEA;;AAAA;;AACC;;AAAA;;AAED;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;AACA;;AAAA;;;;;;AA3H5B;;AACE;;AACA;;AACA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACF;;AACF;;AACA;;AACA;;AACE;;AAAI;;AAAa;;AACnB;;AACA;;AACA;;AACA;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAQ;;AAAY;;AACtB;;AACA;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAQ;;AAAY;;AACtB;;AACA;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAQ;;AAAW;;AACrB;;AACA;;AACE;;AACF;;AACF;;AAEA;;AACE;;AACE;;AAAQ;;AAAa;;AACvB;;AACA;;AACE;;AACF;;AACF;;AAEF;;AAEA;;AACE;;AACE;;AACE;;AAAQ;;AAAQ;;AAClB;;AACA;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAQ;;AAAe;;AACzB;;AACA;;AACE;;AAEF;;AACF;;AACA;;AACE;;AACE;;AAAQ;;AAAe;;AACzB;;AACA;;AACE;;AAEF;;AACF;;AAUF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAAgB;;AAAQ;;AAAQ;;AAAS;;AACzC;;AAAgB;;AAAQ;;AAAS;;AAAS;;AAE1C;;AAAgB;;AAAQ;;AAAU;;AAAS;;AAC3C;;AAAgB;;AAAQ;;AAAK;;AAAS;;AAEtC;;AAAgB;;AAAQ;;AAAI;;AAAS;;AACrC;;AAAgB;;AAAQ;;AAAI;;AAAS;;AACrC;;AAAgB;;AAAQ;;AAAI;;AAAS;;AACrC;;AACF;;AACF;;AACA;;AACE;;AAYF;;AACA;;AACE;;AACE;;AACE;;AAAI;;;;AAAqB;;AAC3B;;AACA;;AACA;;AACA;;AACF;;AACF;;AACF;;AACA;;AACE;;AAEF;;AACF;;AACA;;AACA;;AACA;;AACE;;AACE;;AAGF;;AACF;;AACA;;AAGF;;AAEA;;AACE;;AACE;;AACE;;AAAK;;AAAU;;AACf;;AAAK;;AAAoB;;AAC3B;;AACA;;AAEA;;AACE;;AAAK;;AAAa;;AAClB;;AAAK;;;;AAAwB;;AAC/B;;AACF;;AACF;;AAEF;;;;;;AAhJY;;AAAA;;AAQA;;AAAA;;AAQA;;AAAA;;AASA;;AAAA;;AAYA;;AAAA;;AAQA;;AAAA;;AASA;;AAAA;;AAgCwB;;AAAA;;AAgBlB;;AAAA;;AASV;;AAAA;;AAsBK;;AAAA;;AAMA;;AAAA;;;;UC9JAC,yB;AAKX,2CAAoBxB,WAApB,EAAiD;AAAA;;AAA7B,eAAAA,WAAA,GAAAA,WAAA;AAJpB,eAAAhuG,KAAA,GAAQ,IAAI1D,IAAJ,EAAR;AAKE,eAAK2xG,OAAL,GAAeD,WAAW,CAACE,cAAZ,EAAf;AACD;;;;iBAED,oBAAQ,CACP;;;eAED,eAAyB;AACvB,mBAAO,IAAP,CADuB,CAEvB;AACA;AACA;AACD;;;;;;;yBAjBUsB,yB,EAAyB,gJ;AAAA,O;;;cAAzBA,yB;AAAyB,8C;AAAA;AAAA;AAAA,S;AAAA,gB;AAAA,e;AAAA,q5B;AAAA;AAAA;ADRtC;;;;AAAoE;;;;;;;;;;;;;;;;;;;;;;AEkBpE;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;;ACMoB;;;;;;AACA;;;;;;;;AAZV;;AACE;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACA;;AACE;;AACE;;AACE;;AAEE;;AACF;;AACA;;AACE;;;;;;AACA;;AACA;;AACF;;AACF;;AACA;;AACE;;AAEE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACF;;AACF;;AACF;;;;;;AAnBU;;AAAA;;AAEwC;;AAAA;;AACxC;;AAAA;;AAC+B;;AAAA;;AACE;;AAAA;;AAMjC;;AAAA;;AAGA;;AAAA;;;;;;AAiBA;;;;;;AACA;;;;;;AAXR;;AACE;;AACE;;AACE;;AAEE;;AACF;;AACA;;AACE;;;;;;AAEA;;AACA;;AACF;;AACF;;AACA;;AACE;;AAEE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACF;;AACF;;;;;;AAnBQ;;AAAA;;AAEwC;;AAAA;;AACxC;;AAAA;;AAE+B;;AAAA;;AACE;;AAAA;;AAMjC;;AAAA;;AAGA;;AAAA;;;;;;AArBV;;AACE;;AAyBF;;;;;;AAzBoF;;AAAA;;;;;;AAiCxF;;AACE;;AAAmC;;AACb;;;;AAAqC;;AAAO;;AAAoB;;AACxF;;;;;;AADwB;;AAAA;;AAA4C;;AAAA;;;;;;AAoB5D;;;;;;AACA;;;;;;;;;;;;AAZV;;AACE;;AACE;;AACE;;AACE;;AAEE;;AAAoD;;AAAe;;AAAQ;;AACjD;;AAAe;;AAC3C;;AACA;;AACE;;;;;;AACA;;AACA;;AACF;;AACF;;AACA;;AACE;;AAEE;;AAAgD;;;;AAA+C;;AACjG;;AACA;;AACE;;;;AACF;;AACF;;AACF;;AACF;;AACF;;;;;;;;AApBgB;;AAAA;;AAA8C;;AAAA;;AAC1B;;AAAA;;AAEc;;AAAA;;AACxC;;AAAA;;AAC+B;;AAAA;;AACE;;AAAA;;AAMe;;AAAA;;AAGhD;;AAAA;;;;;;AAtBZ;;AACE;;AA2BF;;;;;;AA3BwB;;AAAA;;;;;;AA2CZ;;;;;;AACA;;;;;;AAXV;;AACE;;AACE;;AACE;;AACE;;AAEE;;AACF;;AACA;;AACE;;;;;;AACA;;AACA;;AACF;;AACF;;AACA;;AACE;;AAEE;;AACF;;AACA;;AACE;;;;AACF;;AACF;;AACF;;AACF;;AACF;;;;;;;;AAnBU;;AAAA;;AAEwC;;AAAA;;AACxC;;AAAA;;AAC+B;;AAAA;;AACE;;AAAA;;AAMjC;;AAAA;;AAGA;;AAAA;;;;;;AArBZ;;AACE;;AA0BF;;;;;;AA1ByB;;AAAA;;;;;;AAiCrB;;AACE;;AACE;;AACE;;AACE;;AAEE;;AACF;;AACA;;AACE;;AAAgD;;;;AAC5C;;AACN;;AACF;;AACA;;AACE;;AACE;;AAAyB;;;;AAAmB;;AAAO;;AACxB;;AAAiB;;AAC9C;;AACA;;AACE;;AAAuB;;;;AAAoB;;AAAO;;AAChD;;AAAkB;;AACtB;;AACF;;AACF;;AACF;;AACF;;;;;;AAnBU;;AAAA;;AAGgD;;AAAA;;AAMvB;;AAAA;;AACE;;AAAA;;AAGJ;;AAAA;;AACrB;;AAAA;;;;UDhJLC,sB;AAgBX,wCACUv5G,IADV,EAEUD,UAFV,EAGE0P,aAHF,EAISjL,SAJT,EAKU+E,UALV,EAMUiwG,UANV,EAM+B;AAAA;;AAAA;;AALrB,eAAAx5G,IAAA,GAAAA,IAAA;AACA,eAAAD,UAAA,GAAAA,UAAA;AAED,eAAAyE,SAAA,GAAAA,SAAA;AACC,eAAA+E,UAAA,GAAAA,UAAA;AACA,eAAAiwG,UAAA,GAAAA,UAAA;AA6CV,eAAA9f,WAAA,GAAc;AACZI,mBAAO,EAAE,QADG;AAEZC,wBAAY,EAAE,GAFF;AAGZC,0BAAc,EAAE,CAHJ;AAIZE,gBAAI,EAAE,IAJM;AAKZhsF,iBAAK,EAAE;AALK,WAAd;AA3CEuB,uBAAa,CAACuJ,aAAd,CAA4B5W,SAA5B,CAAsC,UAACC,GAAD;AAAA,mBACpCA,GAAG,CAAC0B,OAAJ,CAAY,UAACkV,OAAD,EAAa;AACvB,kBAAIA,OAAO,CAACtR,UAAR,IAAsB,QAAI,CAACqC,UAA/B,EAA2C;AACzC,wBAAI,CAACiG,OAAL,GAAegJ,OAAf,CADyC,CAEzC;;AACA;AACD;AACF,aAND,CADoC;AAAA,WAAtC;AASA,eAAK1P,UAAL,CAAgB8tF,eAAhB,GAAkCj1F,SAAlC,CAA4C,UAACC,GAAD,EAAS;AACnD,oBAAI,CAACulG,IAAL,GAAYvlG,GAAZ;AACD,WAFD;AAGA,eAAKkH,UAAL,CAAgBkwG,iBAAhB,GAAoCr3G,SAApC,CAA8C,UAACC,GAAD,EAAS;AACrD,oBAAI,CAACq3G,YAAL,GAAoBr3G,GAApB;AACD,WAFD;AAGA,eAAKkH,UAAL,CAAgBowG,sBAAhB,GAAyCv3G,SAAzC,CAAmD,UAACC,GAAD,EAAS;AAC1D,oBAAI,CAACu3G,iBAAL,GAAyBv3G,GAAzB;AACD,WAFD;AAGA,eAAKkH,UAAL,CAAgBswG,kBAAhB,GAAqCz3G,SAArC,CAA+C,UAACC,GAAD,EAAS;AACtD,oBAAI,CAACy3G,aAAL,GAAqBz3G,GAArB;AACD,WAFD;AAGA,eAAKkH,UAAL,CAAgBwwG,QAAhB,GAA2B33G,SAA3B,CAAqC,UAACC,GAAD,EAAS;AAC5C,oBAAI,CAAC23G,OAAL,GAAe33G,GAAf;;AACA,oBAAI,CAAC23G,OAAL,CAAal3G,GAAb;AACD,WAHD;AAIA,eAAKyG,UAAL,CAAgB0wG,WAAhB,GAA8B73G,SAA9B,CAAwC,UAACC,GAAD,EAAS;AAC/C,oBAAI,CAAC63G,UAAL,GAAkB73G,GAAlB;AACD,WAFD;AAGD;;;;iBAED,oBAAW5B,MAAX,EAAmB;AACjB,oBAAQA,MAAR;AACE,mBAAK,MAAL;AACE,uBAAO,SAAP;;AACF,mBAAK,QAAL;AACE,uBAAO,SAAP;;AACF,mBAAK,UAAL;AACE,uBAAO,SAAP;;AACF,mBAAK,QAAL;AACE,uBAAO,SAAP;AARJ;AAUD;;;iBAUD,oBAAQ;AACN,iBAAKuN,WAAL,GACE1Q,YAAY,CAACC,OAAb,CAAqB,WAArB,KAAqC,MAArC,GAA8C,IAA9C,GAAqD,KADvD;AAC+D;;;iBAEjE,2BAAkB;;;AAChB,iBAAK48G,eAAL,CAAqB,KAArB;;AAEA,gBAAIC,MAAM,GAAG,KAAKZ,UAAL,CAAgB7xD,aAAhB,CAA8B,QAA9B,CAAb;;AACAyyD,kBAAM,CAAC30G,IAAP;AACA20G,kBAAM,CAACC,GAAP,GACE,8EADF;AAEAD,kBAAM,CAAC1qF,IAAP,sUAeoB,KAAK1hB,WAAL,GAAmB,MAAnB,GAA4B,OAfhD,sCAgBe,KAAKxJ,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,OAArC,GAA+C,IAhB9D;AAmBA,uBAAK+yG,WAAL,MAAgB,IAAhB,IAAgB,aAAhB,GAAgB,MAAhB,GAAgB,GAAE77G,aAAF,CAAgB6M,WAAhB,CAA4B8uG,MAA5B,CAAhB;AACD;;;iBAED,yBAAgB35G,MAAhB,EAAwB;AACtB,gBAAIkoG,WAAW,CAACC,MAAhB,CAAuB;AACrB16F,mBAAK,EAAE,MADc;AAErB4gB,oBAAM,EAAE,GAFa;AAGrBruB,oBAAM,EAAEA,MAHa;AAIrB;AACAooG,sBAAQ,EAAE,cALW;AAMrB/4E,mBAAK,EAAE,KAAK9hB,WAAL,GAAmB,MAAnB,GAA4B,OANd;AAOrBrP,mBAAK,EAAE,GAPc;AAQrBs4B,oBAAM,EAAE,KAAKzyB,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,OAArC,GAA+C,IARlC;AASrB;AACA;AACA;AACA;AACAuhG,+BAAiB,EAAE,IAbE;AAcrBC,8BAAgB,EAAE,IAdG;AAerB;AACA;AACA;AACA;AACA;AACAC,0BAAY,EAAE;AApBO,aAAvB;AAsBD;;;iBAED,wBAAe;AAAA;;AACb,iBAAKhpG,IAAL,CACG+C,GADH,CAEI,UAAG,yEAAakB,OAAhB,sDACA,KAAK+F,UAHT,EAKG5H,SALH,CAKa,UAACC,GAAD,EAAS;AAClB,sBAAI,CAAC4N,OAAL,GAAe5N,GAAf;AACD,aAPH;AAQD;;;;;;;yBA9IUk3G,sB,EAAsB,gI,EAAA,gJ,EAAA,gJ,EAAA,qI,EAAA,wI,EAAA,wH;AAAA,O;;;cAAtBA,sB;AAAsB,2C;AAAA;AAAA;;;;;;;;;;;;;;;;;;AC3BnC;;AAEE;;AACE;;AAA6B;;;;AAA6B;;AAC5D;;AAEA;;AACE;;AACE;;AACE;;AACE;;AACF;;AACA;;AACE;;AA2BA;;AA2BF;;AACF;;AACF;;AACF;;AACA;;AACA;;AACE;;AACE;;AAIF;;AACF;;AAEA;;AACE;;AAA6B;;;;AAAsB;;AACrD;;AACA;;AA8BA;;AACE;;AAA6B;;;;AAAmB;;AAClD;;AACA;;AA6BA;;AACE;;AAA6B;;;;AAA8B;;AAC7D;;AACA;;AACE;;AACE;;AA0BF;;AACF;;AAEA;;AACE;;AACE;;AACE;;AACA;;AACF;;AACF;;AACF;;AA6BF;;;;AArNiC;;AAAA;;AAUA;;AAAA;;AA2BA;;AAAA;;AAiC6B;;AAAA;;AAClC;;AAAA;;AAQK;;AAAA;;AAEE;;AAAA;;AA+BF;;AAAA;;AAEyB;;AAAA;;AA8BzB;;AAAA;;AAGqC;;AAAA;;AAC1C;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UClJfgB,8B;AAwBX,gDAAoB57B,EAApB,EAAoC;AAAA;;AAAhB,eAAAA,EAAA,GAAAA,EAAA,CAAgB,CAnBpC;;AACQ,eAAA67B,WAAA,GAA6B,CACnC,WADmC,EAEnC,KAFmC,EAGnC,KAHmC,EAInC,MAJmC,EAKnC,WALmC,EAMnC,YANmC,EAOnC,KAPmC,EAQnC,QARmC,CAA7B;AAkB8B;;;;iBAPtC,2BAAkB;AAChB,gBAAI,KAAKC,eAAT,EAA0B;AACxB,mBAAKne,KAAL,GAAa,IAAI7rB,MAAJ,CAAW,kBAAX,CAAb;AACD,aAFD,MAEO;AACL,mBAAK6rB,KAAL,GAAa,IAAI7rB,MAAJ,CAAW,kBAAX,CAAb;AACD;AACF;;;iBAGD,mBAAUvkE,KAAV,EAAgC;AAC9B,gBAAI,KAAKsuG,WAAL,CAAiBx5G,OAAjB,CAAyBkL,KAAK,CAAC0X,GAA/B,MAAwC,CAAC,CAA7C,EAAgD;AAC9C;AACD;;AACD,gBAAI82F,OAAO,GAAW,KAAK/7B,EAAL,CAAQlgF,aAAR,CAAsB0F,KAA5C;AACA,gBAAM8K,QAAQ,GAAG,KAAK0vE,EAAL,CAAQlgF,aAAR,CAAsBk8G,cAAvC;AACA,gBAAMz5G,IAAI,GAAW,CACnBw5G,OAAO,CAACnsF,KAAR,CAAc,CAAd,EAAiBtf,QAAjB,CADmB,EAEnB/C,KAAK,CAAC0X,GAAN,IAAa,SAAb,GAAyB,GAAzB,GAA+B1X,KAAK,CAAC0X,GAFlB,EAGnB82F,OAAO,CAACnsF,KAAR,CAActf,QAAd,CAHmB,EAInBk7B,IAJmB,CAId,EAJc,CAArB;;AAKA,gBAAIjpC,IAAI,IAAI,CAACgS,MAAM,CAAChS,IAAD,CAAN,CAAa+oC,KAAb,CAAmB,KAAKqyD,KAAxB,CAAb,EAA6C;AAC3CpwF,mBAAK,CAACoH,cAAN;AACD;AACF;;;;;;;yBAxCUinG,8B,EAA8B,yH;AAAA,O;;;cAA9BA,8B;AAA8B,yD;AAAA;AAAA;;qBAA9B,qB;AAAiB,a;;;;;;;;;;;;;;;;;;;;;;ACM9B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACOU;;AAAqF;AAAA;;AAAA;;AAAA,6CAA2B,GAA3B,EAAgC/zG,MAAhC;AAA8B,WAA9B;;AACnF;;AACF;;;;;;AADE;;AAAA;;;;;;;;AAuDJ;;AACA;;AAIA;AAAA;;AAAA;;AAAA;AAAA,aAAwC,UAAxC,EAAwC;AAAA;;AAAA;;AAAA;AAAA,WAAxC;;AAEA;;AAAA;;AACE;;AACF;;AACA;;AAAA;;AACF;;AACF;;;;;;AAVI;;AAAA;;AAKK;;AAAA;;;;;;;;AAMT;;AACE;;AAIE;AAAA;;AAAA;;AAAA;AAAA,aAAwC,UAAxC,EAAwC;AAAA;;AAAA;;AAAA;AAAA,WAAxC;;AAEA;;AAAA;;AACE;;AACF;;AACA;;AAAA;;AACF;;AACF;;;;;;AAVI;;AAAA;;AAKK;;AAAA;;;;;;;;AAMT;;AACE;;AAGA;AAAA;;AAAA;;AAAA;AAAA,aAAuC,UAAvC,EAAuC;AAAA;;AAAA;;AAAA;AAAA,WAAvC;;AAEE;;AAAA;;AACE;;AACF;;AACA;;AAAA;;AACF;;AACF;;;;;;AAVK;;AAAA;;AAKI;;AAAA;;;;;;;;AAMT;;AACE;;AAGA;AAAA;;AAAA;;AAAA;AAAA,aAAuC,UAAvC,EAAuC;AAAA;;AAAA;;AAAA;AAAA,WAAvC;;AAEE;;AAAA;;AACE;;AACF;;AACA;;AAAA;;AACF;;AACF;;;;;;AAVK;;AAAA;;AAKK;;AAAA;;;;;;AAgCN;;;;;;AAGA;;;;;;AAgCI;;AACE;;AACF;;;;;;AAD6B;;AAAA;;;;;;AAF/B;;AACE;;AAGF;;;;;;AAHwB;;AAAA;;;;;;AAK1B;;AAOE;;AACA;;AAAsB;;AAAQ;;AAChC;;;;;;AACA;;AAOE;;AACA;;AAAsB;;AAAI;;AAC5B;;;;;;AAzCN;;AAEE;;AAIE;;AAME;;AACE;;AACE;;AACF;;AACA;;AAKF;;AACA;;AAUA;;AAUF;;AACF;;AACF;;;;;;AA9B6E;;AAAA;;AAEd;;AAAA;;AAOtD;;AAAA;;AAUA;;AAAA;;;;;;AAiFC;;;;;;AAEE;;;;;;AAJN;;AACE;;AACE;;AAKA;;AAAI;;AAAoB;;AACxB;;AACE;;AACF;;AACF;;AACF;;;;;;AAVU;;AAAA;;AAKF;;AAAA;;AAEF;;AAAA;;;;;;;;AAmCF;;AACE;;AAIE;AAAA;;AAAA;;AAAA;AAAA,aAAyC,UAAzC,EAAyC;AAAA;;AAAA;;AAAA;AAAA,WAAzC;;AAEA;;AAAA;;AACE;;AACF;;AACA;;AAAA;;AACF;;AACF;;;;;;AAVI;;AAAA;;AAKK;;AAAA;;;;;;;;AAMT;;AACE;;AAIE;AAAA;;AAAA;;AAAA;AAAA,aAAyC,UAAzC,EAAyC;AAAA;;AAAA;;AAAA;AAAA,WAAzC;;AAEA;;AAAA;;AACE;;AACF;;AACA;;AAAA;;AACF;;AACF;;;;;;AAVI;;AAAA;;AAKK;;AAAA;;;;;;;;AAMT;;AACE;;AAGA;AAAA;;AAAA;;AAAA;AAAA,aAAwC,UAAxC,EAAwC;AAAA;;AAAA;;AAAA;AAAA,WAAxC;;AAEE;;AAAA;;AACE;;AACF;;AACA;;AAAA;;AACF;;AACF;;;;;;AAVK;;AAAA;;AAKI;;AAAA;;;;;;;;AAMT;;AACE;;AAGA;AAAA;;AAAA;;AAAA;AAAA,aAAwC,UAAxC,EAAwC;AAAA;;AAAA;;AAAA;AAAA,WAAxC;;AAEE;;AAAA;;AACE;;AACF;;AACA;;AAAA;;AACF;;AACF;;;;;;AAVK;;AAAA;;AAKK;;AAAA;;;;;;AAqBV;;AACE;;AACA;;AAAO;;AAAoC;;AAC7C;;;;;;AADS;;AAAA;;;;;;AAET;;AACE;;AACA;;AAAO;;AAAmC;;AAC5C;;;;;;AADS;;AAAA;;;;;;AAUT;;AACE;;AACA;;AAAO;;AAAoD;;AAC7D;;;;;;AADS;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UDjYRo0G,wB;AAyBX,0CACSp2G,SADT,EAEU8d,WAFV,EAGU/Y,UAHV,EAIUisF,SAJV,EAKUr4F,UALV,EAMU09G,gBANV,EAM4C;AAAA;;AALnC,eAAAr2G,SAAA,GAAAA,SAAA;AACC,eAAA8d,WAAA,GAAAA,WAAA;AACA,eAAA/Y,UAAA,GAAAA,UAAA;AACA,eAAAisF,SAAA,GAAAA,SAAA;AACA,eAAAr4F,UAAA,GAAAA,UAAA;AACA,eAAA09G,gBAAA,GAAAA,gBAAA;AA7BV,eAAAC,WAAA,GAAsB,EAAtB;AACA,eAAAC,QAAA,GAAqB,EAArB;AAQA,eAAAC,YAAA,GAAuB,EAAvB;AACA,eAAAC,WAAA,GAAsB,SAAtB;AACA,eAAAtT,SAAA,GAAY,OAAZ;AACA,eAAAuT,OAAA,GAAkB,oBAAlB;AACA,eAAAp5F,WAAA,GAAc,IAAI1b,IAAJ,EAAd;AACA,eAAA+0G,WAAA,GAAc,KAAKr5F,WAAL,CAAiB2vD,WAAjB,EAAd;AAEA,eAAA2pC,oBAAA,GAAiC,EAAjC;AACA,eAAAC,6BAAA,GAA0C,EAA1C;AAKA,eAAAC,eAAA,GAAkB,SAAlB;AAQK;;;;iBAEL,2BAAkBC,OAAlB,EAAmC/0G,MAAnC,EAA2C;AAAA;;AACzC,iBAAKq0G,gBAAL,CAAsBW,cAAtB,CAAqCD,OAArC;AACA,gBAAIE,KAAK,GAAG9mF,KAAK,CAACgjD,IAAN,CAAWz5E,QAAQ,CAACmN,sBAAT,CAAgC,UAAhC,CAAX,CAAZ;AACAowG,iBAAK,CAAC13G,OAAN,CAAc,UAAA23G,IAAI,EAAI;;;AACpBA,kBAAI,CAAC/8G,KAAL,CAAWsP,KAAX,GAAmB,MAAnB;;AACA,kBAAIytG,IAAI,CAACv2G,EAAL,IAAWqB,MAAM,CAAC4F,MAAP,CAAcjH,EAA7B,EAAiC;AAC/Bu2G,oBAAI,CAAC/8G,KAAL,CAAWsP,KAAX,GAAmB,CAAH,WAAG,QAAI,CAACs1F,eAAR,MAAuB,IAAvB,IAAuB,aAAvB,GAAuB,MAAvB,GAAuB,GAAEoY,aAAtB,MAAmC,IAAnC,IAAmC,aAAnC,GAAmC,MAAnC,GAAmC,GAAEC,UAAxD;AACD;AACF,aALD;AAMD;;;iBAED,oBAAQ;AAAA;;AACN,iBAAKp3G,SAAL,CAAe64F,cAAf,CAA8B,IAA9B;AACA,iBAAK91F,WAAL,GAAmB,KAAK/C,SAAL,CAAe+C,WAAlC;AACA,iBAAK2zG,OAAL,GAAe,KAAK12G,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,wBAArC,GAAgE,oBAA/E;AACA,iBAAK/C,SAAL,CAAeq3G,YAAf,CAA4Bz5G,SAA5B,CAAsC,UAACwb,IAAD,EAAU;AAC9C,sBAAI,CAACrW,WAAL,GAAmB,QAAI,CAAC/C,SAAL,CAAe+C,WAAlC,CAD8C,CAE9C;AACD,aAHD;AAIA,iBAAKmhG,QAAL;AACA,iBAAK3F,kBAAL;AACA,iBAAK+Y,sBAAL,CAA4B,CAAC,CAAD,CAA5B;AACA,iBAAKA,sBAAL,CAA4B,CAAC,CAAD,CAA5B;AACA,iBAAKA,sBAAL,CAA4B,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAA5B;AACD;;;iBAED,2BAAe;AACb,iBAAK3+G,UAAL,CAAgBsB,aAAhB,CAA8BC,aAA9B,CACGP,IADH,CACQQ,KADR,CACc8+C,eADd,GACgC,SADhC;AAED;;;iBAED,gCAAuBljB,QAAvB,EAA2C;AAAA;;AACzC,iBAAKhxB,UAAL,CAAgBuyG,sBAAhB,CAAuCvhF,QAAvC,EACGn4B,SADH,CAEI,UAAC25G,YAAD,EAAiC;AAC/B,kBAAIA,YAAJ,EAAkB;AAChB,oBAAIxhF,QAAQ,CAAC35B,QAAT,CAAkB,CAAlB,CAAJ,EAA0B;AACxB,0BAAI,CAACo7G,WAAL,GAAmBD,YAAY,SAAZ,IAAAA,YAAY,WAAZ,GAAY,MAAZ,GAAAA,YAAY,CAAE54G,IAAd,CAAmB,UAACo4G,OAAD,EAA0B;AAC9D,2BAAOA,OAAO,CAACU,EAAR,IAAc,CAAd,GAAkBV,OAAlB,GAA4B,IAAnC;AACD,mBAFkB,CAAnB;AAGD;;AAED,oBAAIhhF,QAAQ,CAAC35B,QAAT,CAAkB,CAAlB,CAAJ,EAA0B;AACxB,sBAAIm7G,YAAY,CAAC,CAAD,CAAZ,CAAgBG,cAApB,EAAoC;AAClC,4BAAI,CAACC,YAAL,GAAoBJ,YAAY,SAAZ,IAAAA,YAAY,WAAZ,GAAY,MAAZ,GAAAA,YAAY,CAAE54G,IAAd,CAAmB,UAACo4G,OAAD,EAA0B;AAC/D,6BAAOA,OAAO,CAACU,EAAR,IAAc,CAAd,GAAkBV,OAAlB,GAA4B,IAAnC;AACD,qBAFmB,CAApB;AAGA,4BAAI,CAACH,oBAAL,GAA4BW,YAAY,CAAC,CAAD,CAAZ,CAAgBK,SAAhB,CAA0Bj1G,GAA1B,CAA8B,UAAC2B,IAAD,EAAU;AAClE,6BAAOA,IAAI,CAACmzG,EAAZ;AACD,qBAF2B,CAA5B;;AAIA,4BAAI,CAAC1yG,UAAL,CAAgB8yG,uBAAhB,CAAwC,QAAI,CAACjB,oBAA7C,EACGh5G,SADH,CAEI,UAACk6G,WAAD,EAAwB;AACtB,8BAAI,CAACC,iBAAL,GAAyBD,WAAW,CAACn1G,GAAZ,CAAgB,UAAC2B,IAAD,EAAU;AACjD,+BAAO;AACLmzG,4BAAE,EAAEnzG,IAAI,CAAC0zG,WAAL,CAAiB,CAAjB,IAAsB1zG,IAAI,CAACmzG,EAA3B,GAAgC,IAD/B;AAELO,qCAAW,EAAE1zG,IAAI,CAAC0zG,WAAL,CAAiB,CAAjB,IAAsB,yEAAal7G,aAAb,GAA6BwH,IAAI,CAAC0zG,WAAL,CAAiB,CAAjB,CAAnD,GAAyE;AAFjF,yBAAP;AAID,uBALwB,CAAzB;;AAMA,0BAAI,QAAI,CAACD,iBAAT,EAA4B;AAC1B,gCAAI,CAACzB,WAAL,GAAmB,QAAI,CAACyB,iBAAL,CAAuB,CAAvB,EAA0BC,WAA7C;AACA,gCAAI,CAACzB,QAAL,GAAgB,QAAI,CAACwB,iBAAL,CAAuBhuF,KAAvB,CAA6B,CAA7B,CAAhB;AACD;AACF,qBAbL;AAeD;AACF;;AAED,oBAAIgM,QAAQ,CAAC35B,QAAT,CAAkB,CAAlB,KAAwB25B,QAAQ,CAAC35B,QAAT,CAAkB,CAAlB,CAAxB,IAAgD25B,QAAQ,CAAC35B,QAAT,CAAkB,CAAlB,CAApD,EAA0E;AACxE,0BAAI,CAAC67G,YAAL,GAAoBV,YAAY,SAAZ,IAAAA,YAAY,WAAZ,GAAY,MAAZ,GAAAA,YAAY,CAAE54G,IAAd,CAAmB,UAACo4G,OAAD,EAA0B;AAC/D,2BAAOA,OAAO,CAACU,EAAR,IAAc,CAAd,GAAkBV,OAAlB,GAA4B,IAAnC;AACD,mBAFmB,CAApB;AAGA,0BAAI,CAACmB,oBAAL,GAA4BX,YAAY,SAAZ,IAAAA,YAAY,WAAZ,GAAY,MAAZ,GAAAA,YAAY,CAAE54G,IAAd,CAAmB,UAACo4G,OAAD,EAA0B;AACvE,2BAAOA,OAAO,CAACU,EAAR,IAAc,CAAd,GAAkBV,OAAlB,GAA4B,IAAnC;AACD,mBAF2B,CAA5B;AAEG;AACH,0BAAI,CAACoB,eAAL,GAAuBZ,YAAY,SAAZ,IAAAA,YAAY,WAAZ,GAAY,MAAZ,GAAAA,YAAY,CAAE54G,IAAd,CAAmB,UAACo4G,OAAD,EAA0B;AAClE,2BAAOA,OAAO,CAACU,EAAR,IAAc,CAAd,GAAkBV,OAAlB,GAA4B,IAAnC;AACD,mBAFsB,CAAvB;AAEG;AACJ;;AAED,oBAAIhhF,QAAQ,CAAC35B,QAAT,CAAkB,CAAlB,CAAJ,EAA0B;AACxB,sBAAIm7G,YAAY,CAAC,CAAD,CAAZ,CAAgBG,cAApB,EAAoC;AAClC,4BAAI,CAACb,6BAAL,GAAqCU,YAAY,CAAC,CAAD,CAAZ,CAAgBK,SAAhB,CAA0Bj1G,GAA1B,CAA8B,UAAC2B,IAAD,EAAU;AAC3E,6BAAOA,IAAI,CAACmzG,EAAZ;AACD,qBAFoC,CAArC;;AAGA,4BAAI,CAAC1yG,UAAL,CAAgB8yG,uBAAhB,CAAwC,QAAI,CAAChB,6BAA7C,EACGj5G,SADH,CAEI,UAACk6G,WAAD,EAAiB;AACf,8BAAI,CAACM,0BAAL,GAAkCN,WAAlC;;AACA,8BAAI,CAACO,eAAL,CAAqB,QAAI,CAACF,eAA1B,EAA2C,QAAI,CAACC,0BAAhD;AACD,qBALL;AAOD;AACF;AACF;AACF,aAhEL;AAiED;;;iBAED,yBAAgBE,kBAAhB,EAAiDC,UAAjD,EAA8E;AAAA;;AAC5E,iBAAK/B,YAAL,GAAoB,KAAK2B,eAAL,CAAqBP,SAArB,CAA+Bj1G,GAA/B,CAAmC,UAAC2B,IAAD,EAAU;AAC/D,qBAAO;AACLk0G,oBAAI,EAAE,kCADD;AAEL;AACAC,wBAAQ,EAAE,QAAI,CAAC11G,WAAL,IAAoB,IAApB,GAA2BuB,IAAI,CAACo0G,UAAhC,GAA6Cp0G,IAAI,CAACq0G,UAHvD;AAILz3F,uBAAO,EAAE,QAAI,CAACne,WAAL,IAAoB,IAApB,GAA2BuB,IAAI,CAACs0G,SAAhC,GAA4Ct0G,IAAI,CAACu0G;AAJrD,eAAP;AAMD,aAPmB,CAApB;AAQD;;;iBAED,8BAAqB;AAAA;;AACnB,iBAAK9zG,UAAL,CAAgBw5F,kBAAhB,GACG3gG,SADH,CAEI,UAAC6G,IAAD,EAA2B;AACzB,sBAAI,CAACs6F,eAAL,GAAuBt6F,IAAvB;AACD,aAJL;AAMD,W,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;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;iBAEA,sBAAa;AACX,gBAAI,KAAKzE,SAAL,CAAe+C,WAAf,IAA8B,IAAlC,EAAwC;AACtC,mBAAK/C,SAAL,CAAe44F,GAAf,CAAmB,IAAnB;AACA,mBAAK54F,SAAL,CAAe64F,cAAf,CAA8B,IAA9B;AACA,mBAAK/6E,WAAL,CAAiB0gF,QAAjB,CAA0B,IAA1B;AACD,aAJD,MAIO;AACL,mBAAKx+F,SAAL,CAAe44F,GAAf,CAAmB,IAAnB;AACA,mBAAK54F,SAAL,CAAe64F,cAAf,CAA8B,IAA9B;AACA,mBAAK/6E,WAAL,CAAiB0gF,QAAjB,CAA0B,IAA1B;AACD;;AACDnkG,kBAAM,CAACC,QAAP,CAAgBC,MAAhB;AACD;;;iBAED,oBAAW;AACT,gBAAImP,KAAK,GAAGrP,MAAM,CAACuwG,UAAnB;AACA,gBAAI7tF,IAAI,GAAGrjB,QAAQ,CAAC0jB,cAAT,CAAwB,QAAxB,CAAX;AACA,gBAAI07F,IAAI,GAAGp/G,QAAQ,CAAC0jB,cAAT,CAAwB,OAAxB,CAAX;AACA,gBAAI27F,QAAQ,GAAGr/G,QAAQ,CAAC0jB,cAAT,CAAwB,WAAxB,CAAf;AACA,gBAAI47F,OAAO,GAAGt/G,QAAQ,CAAC0jB,cAAT,CAAwB,SAAxB,CAAd;;AACA,gBAAI1T,KAAK,IAAI,GAAT,IAAgBA,KAAK,IAAI,IAA7B,EAAmC;AACjC,kBAAIqT,IAAI,CAAC5iB,KAAL,CAAWisD,OAAX,KAAuB,MAA3B,EAAmC;AACjCrpC,oBAAI,CAAC5iB,KAAL,CAAWisD,OAAX,GAAqB,MAArB;AACArpC,oBAAI,CAAC5iB,KAAL,CAAW8+G,aAAX,GAA2B,QAA3B;AACAl8F,oBAAI,CAAC5iB,KAAL,CAAW++G,cAAX,GAA4B,QAA5B;AACAn8F,oBAAI,CAAC5iB,KAAL,CAAWg/G,UAAX,GAAwB,QAAxB;AACD,eALD,MAKO;AACLp8F,oBAAI,CAAC5iB,KAAL,CAAWisD,OAAX,GAAqB,MAArB;AACD;;AAED,kBAAI0yD,IAAI,CAAC3+G,KAAL,CAAWisD,OAAX,KAAuB,MAA3B,EAAmC;AACjC0yD,oBAAI,CAAC3+G,KAAL,CAAWisD,OAAX,GAAqB,MAArB;AACA0yD,oBAAI,CAAC3+G,KAAL,CAAW8+G,aAAX,GAA2B,QAA3B;AACAH,oBAAI,CAAC3+G,KAAL,CAAW++G,cAAX,GAA4B,QAA5B;AACAJ,oBAAI,CAAC3+G,KAAL,CAAWg/G,UAAX,GAAwB,QAAxB;AACAL,oBAAI,CAAC3+G,KAAL,CAAWi/G,GAAX,GAAiB,MAAjB;AACAL,wBAAQ,CAAC77F,SAAT,CAAmB7Y,OAAnB,CAA2B,aAA3B,EAA0C,cAA1C;AAED,eARD,MAQO;AACLy0G,oBAAI,CAAC3+G,KAAL,CAAWisD,OAAX,GAAqB,MAArB;AACA2yD,wBAAQ,CAAC77F,SAAT,CAAmB7Y,OAAnB,CAA2B,cAA3B,EAA2C,aAA3C;AACD;AACF;;AACD,gBAAIqF,KAAK,IAAI,GAAT,IAAgBA,KAAK,IAAI,GAA7B,EAAkC;AAChC,kBAAIovG,IAAI,CAAC3+G,KAAL,CAAWisD,OAAX,KAAuB,MAA3B,EAAmC;AACjC4yD,uBAAO,CAAC7+G,KAAR,CAAcmwB,MAAd,GAAuB,KAAvB;AACD,eAFD,MAEO;AACL0uF,uBAAO,CAAC7+G,KAAR,CAAcmwB,MAAd,GAAuB,OAAvB;AACD;AACF,aAND,MAMO;AACL,kBAAIwuF,IAAI,CAAC3+G,KAAL,CAAWisD,OAAX,KAAuB,MAA3B,EAAmC;AACjC4yD,uBAAO,CAAC7+G,KAAR,CAAcmwB,MAAd,GAAuB,KAAvB;AACD,eAFD,MAEO;AACL0uF,uBAAO,CAAC7+G,KAAR,CAAcmwB,MAAd,GAAuB,OAAvB;AACD;AACF;AACF;;;iBAED,oBAAW;AACT,gBAAI65E,WAAW,CAACC,MAAhB,CAAuB;AACrB16F,mBAAK,EAAE,MADc;AAErB4gB,oBAAM,EAAE,GAFa;AAGrBruB,oBAAM,EAAE,KAAKknG,SAHQ;AAIrB;AACAkB,sBAAQ,EAAE,cALW;AAMrB/4E,mBAAK,EAAE,MANc;AAOrBnxB,mBAAK,EAAE,GAPc;AAQrBs4B,oBAAM,EAAE,KAAKzyB,SAAL,CAAe+C,WAAf,IAA8B,IAA9B,GAAqC,OAArC,GAA+C,IARlC;AASrB;AACA;AACA;AACA;AACAuhG,+BAAiB,EAAE,IAbE;AAcrBC,8BAAgB,EAAE,IAdG;AAerB;AACA;AACA;AACA;AACA;AACAC,0BAAY,EAAE;AApBO,aAAvB;AAsBD;;;iBAED,sBAAa;AACX,gBAAIsU,IAAI,GAAGp/G,QAAQ,CAAC0jB,cAAT,CAAwB,YAAxB,CAAX;AACA,gBAAIi8F,MAAM,GAAG37B,gBAAgB,CAAChkF,QAAQ,CAAC0jB,cAAT,CAAwB,YAAxB,CAAD,CAA7B;AACA,gBAAIgpC,OAAO,GAAGizD,MAAM,CAACjmE,gBAAP,CAAwB,SAAxB,CAAd;;AACA,gBAAIgT,OAAO,IAAI,MAAf,EAAuB;AACrB0yD,kBAAI,CAAC3+G,KAAL,CAAWisD,OAAX,GAAqB,MAArB;AACA0yD,kBAAI,CAAC3+G,KAAL,CAAW8+G,aAAX,GAA2B,QAA3B;AACD,aAHD,MAGO;AACLH,kBAAI,CAAC3+G,KAAL,CAAWisD,OAAX,GAAqB,MAArB;AACD;AACF;;;iBAEkC,0BAAiB;AAClD,gBAAIkzD,UAAU,GAAG5/G,QAAQ,CAAC0jB,cAAT,CAAwB,QAAxB,CAAjB;AACA,iBAAKm8F,cAAL,CAAoBD,UAApB;AACD;;;iBACD,wBAAeE,GAAf,EAAoB;AAClB,gBACE9/G,QAAQ,CAACC,IAAT,CAAc0yD,SAAd,GAA0B,EAA1B,IACA3yD,QAAQ,CAACoxG,eAAT,CAAyBz+C,SAAzB,GAAqC,EAFvC,EAGE;AACAmtD,iBAAG,CAACr/G,KAAJ,CAAUisD,OAAV,GAAoB,MAApB;AACD,aALD,MAKO;AACLozD,iBAAG,CAACr/G,KAAJ,CAAUisD,OAAV,GAAoB,MAApB;AACD;AACF;;;iBAED,qBAAY;AACV/rD,kBAAM,CAACg2G,QAAP,CAAgB;AAAExgE,iBAAG,EAAE,CAAP;AAAU4pE,sBAAQ,EAAE;AAApB,aAAhB;AACD;;;iBAED,kBAAS;;;AACP,mBAAO,KAAKzoB,SAAL,CAAe0oB,8BAAf,0CAC6B,WAAK3a,eAAL,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAE4a,eADnD,cACsE,WAAK5a,eAAL,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAE6a,gBAD5F,8BAAP;AAGD;;;iBAED,qBAAY53G,MAAZ,EAAoB;;;AAClB,gBAAIw3G,GAAG,GAAG9/G,QAAQ,CAACmN,sBAAT,CAAgC,OAAhC,CAAV;;AACA,gBAAI7E,MAAM,CAACf,IAAP,IAAe,WAAnB,EAAgC;AAC7Bu4G,iBAAG,CAAC,CAAD,CAAH,CAAuBr/G,KAAvB,CAA6BoP,UAA7B,GAA0C,CAAH,WAAG,KAAKw1F,eAAR,MAAuB,IAAvB,IAAuB,aAAvB,GAAuB,MAAvB,GAAuB,GAAEoY,aAAtB,MAAmC,IAAnC,IAAmC,aAAnC,GAAmC,MAAnC,GAAmC,GAAEC,UAA/E;AACAoC,iBAAG,CAAC,CAAD,CAAH,CAAuBr/G,KAAvB,CAA6BsP,KAA7B,GAAqC,YAArC;AACF,aAHD,MAGO;AACJ+vG,iBAAG,CAAC,CAAD,CAAH,CAAuBr/G,KAAvB,CAA6BoP,UAA7B,GAA0C,aAA1C;AACAiwG,iBAAG,CAAC,CAAD,CAAH,CAAuBr/G,KAAvB,CAA6BsP,KAA7B,GAAqC,CAAH,WAAG,KAAKs1F,eAAR,MAAuB,IAAvB,IAAuB,aAAvB,GAAuB,MAAvB,GAAuB,GAAEoY,aAAtB,MAAmC,IAAnC,IAAmC,aAAnC,GAAmC,MAAnC,GAAmC,GAAEC,UAA1E;AACF;AACF;;;eAED,eAA4B;AAC1B,mBAAO,yEAAayC,qBAApB;AACD;;;iBAID,4BAAmB73G,MAAnB,EAA2B;AACzB,gBAAIA,MAAM,CAACrB,EAAP,GAAY,UAAhB,EAA4B;AAC1B,kBAAIm5G,kBAAkB,GAAGpgH,QAAQ,CAAC0jB,cAAT,CAAwB,oBAAxB,CAAzB;AACA,kBAAI28F,oBAAoB,GAAGrgH,QAAQ,CAAC0jB,cAAT,CAAwB,sBAAxB,CAA3B;;AACA,kBAAIpb,MAAM,CAACf,IAAP,IAAe,WAAnB,EAAgC;AAC7B64G,kCAAkC,CAAC3/G,KAAnC,CAAyCisD,OAAzC,GAAmD,MAAnD;AACA2zD,oCAAoC,CAAC5/G,KAArC,CAA2CisD,OAA3C,GAAqD,cAArD;AACF,eAHD,MAGO;AACJ0zD,kCAAkC,CAAC3/G,KAAnC,CAAyCisD,OAAzC,GAAmD,cAAnD;AACA2zD,oCAAoC,CAAC5/G,KAArC,CAA2CisD,OAA3C,GAAqD,MAArD;AACF;AACF;AACF;;;iBACD,6BAAoBpkD,MAApB,EAA4B;AAC1B,gBAAIA,MAAM,CAACrB,EAAP,GAAY,WAAhB,EAA6B;AAC3B,kBAAIm5G,kBAAkB,GAAGpgH,QAAQ,CAAC0jB,cAAT,CAAwB,qBAAxB,CAAzB;AACA,kBAAI28F,oBAAoB,GAAGrgH,QAAQ,CAAC0jB,cAAT,CAAwB,uBAAxB,CAA3B;;AACA,kBAAIpb,MAAM,CAACf,IAAP,IAAe,WAAnB,EAAgC;AAC7B64G,kCAAkC,CAAC3/G,KAAnC,CAAyCisD,OAAzC,GAAmD,MAAnD;AACA2zD,oCAAoC,CAAC5/G,KAArC,CAA2CisD,OAA3C,GAAqD,cAArD;AACF,eAHD,MAGO;AACJ0zD,kCAAkC,CAAC3/G,KAAnC,CAAyCisD,OAAzC,GAAmD,cAAnD;AACA2zD,oCAAoC,CAAC5/G,KAArC,CAA2CisD,OAA3C,GAAqD,MAArD;AACF;AACF;AACF;;;iBACD,4BAAmBpkD,MAAnB,EAA2B;AACzB,gBAAIA,MAAM,CAACrB,EAAP,GAAY,UAAhB,EAA4B;AAC1B,kBAAIq5G,kBAAkB,GAAGtgH,QAAQ,CAAC0jB,cAAT,CAAwB,oBAAxB,CAAzB;AACA,kBAAI68F,oBAAoB,GAAGvgH,QAAQ,CAAC0jB,cAAT,CAAwB,sBAAxB,CAA3B;;AACA,kBAAIpb,MAAM,CAACf,IAAP,IAAe,WAAnB,EAAgC;AAC7B+4G,kCAAkC,CAAC7/G,KAAnC,CAAyCisD,OAAzC,GAAmD,MAAnD;AACA6zD,oCAAoC,CAAC9/G,KAArC,CAA2CisD,OAA3C,GAAqD,cAArD;AACF,eAHD,MAGO;AACJ4zD,kCAAkC,CAAC7/G,KAAnC,CAAyCisD,OAAzC,GAAmD,cAAnD;AACA6zD,oCAAoC,CAAC9/G,KAArC,CAA2CisD,OAA3C,GAAqD,MAArD;AACF;AACF;AAEF;;;iBAED,6BAAoBpkD,MAApB,EAA4B;AAC1B,gBAAIA,MAAM,CAACrB,EAAP,GAAY,WAAhB,EAA6B;AAC3B,kBAAIq5G,kBAAkB,GAAGtgH,QAAQ,CAAC0jB,cAAT,CAAwB,qBAAxB,CAAzB;AACA,kBAAI68F,oBAAoB,GAAGvgH,QAAQ,CAAC0jB,cAAT,CAAwB,uBAAxB,CAA3B;;AACA,kBAAIpb,MAAM,CAACf,IAAP,IAAe,WAAnB,EAAgC;AAC7B+4G,kCAAkC,CAAC7/G,KAAnC,CAAyCisD,OAAzC,GAAmD,MAAnD;AACA6zD,oCAAoC,CAAC9/G,KAArC,CAA2CisD,OAA3C,GAAqD,cAArD;AACF,eAHD,MAGO;AACJ4zD,kCAAkC,CAAC7/G,KAAnC,CAAyCisD,OAAzC,GAAmD,cAAnD;AACA6zD,oCAAoC,CAAC9/G,KAArC,CAA2CisD,OAA3C,GAAqD,MAArD;AACF;AACF;AACF;;;iBAED,2BAAkBpkD,MAAlB,EAA0B;AACxB,gBAAIA,MAAM,CAACrB,EAAP,GAAY,SAAhB,EAA2B;AACzB,kBAAIu5G,iBAAiB,GAAGxgH,QAAQ,CAAC0jB,cAAT,CAAwB,mBAAxB,CAAxB;AACA,kBAAI+8F,mBAAmB,GAAGzgH,QAAQ,CAAC0jB,cAAT,CAAwB,qBAAxB,CAA1B;;AACA,kBAAIpb,MAAM,CAACf,IAAP,IAAe,WAAnB,EAAgC;AAC7Bi5G,iCAAiC,CAAC//G,KAAlC,CAAwCisD,OAAxC,GAAkD,MAAlD;AACA+zD,mCAAmC,CAAChgH,KAApC,CAA0CisD,OAA1C,GAAoD,cAApD;AACF,eAHD,MAGO;AACJ8zD,iCAAiC,CAAC//G,KAAlC,CAAwCisD,OAAxC,GAAkD,cAAlD;AACA+zD,mCAAmC,CAAChgH,KAApC,CAA0CisD,OAA1C,GAAoD,MAApD;AACF;AACF;AACF;;;iBAED,4BAAmBpkD,MAAnB,EAA2B;AACzB,gBAAIA,MAAM,CAACrB,EAAP,GAAY,UAAhB,EAA4B;AAC1B,kBAAIu5G,iBAAiB,GAAGxgH,QAAQ,CAAC0jB,cAAT,CAAwB,oBAAxB,CAAxB;AACA,kBAAI+8F,mBAAmB,GAAGzgH,QAAQ,CAAC0jB,cAAT,CAAwB,sBAAxB,CAA1B;;AACA,kBAAIpb,MAAM,CAACf,IAAP,IAAe,WAAnB,EAAgC;AAC7Bi5G,iCAAiC,CAAC//G,KAAlC,CAAwCisD,OAAxC,GAAkD,MAAlD;AACA+zD,mCAAmC,CAAChgH,KAApC,CAA0CisD,OAA1C,GAAoD,cAApD;AACF,eAHD,MAGO;AACJ8zD,iCAAiC,CAAC//G,KAAlC,CAAwCisD,OAAxC,GAAkD,cAAlD;AACA+zD,mCAAmC,CAAChgH,KAApC,CAA0CisD,OAA1C,GAAoD,MAApD;AACF;AACF;AACF;;;iBAED,2BAAkBpkD,MAAlB,EAA0B;AACxB,gBAAIA,MAAM,CAACrB,EAAP,GAAY,SAAhB,EAA2B;AACzB,kBAAIy5G,iBAAiB,GAAG1gH,QAAQ,CAAC0jB,cAAT,CAAwB,mBAAxB,CAAxB;AACA,kBAAIi9F,mBAAmB,GAAG3gH,QAAQ,CAAC0jB,cAAT,CAAwB,qBAAxB,CAA1B;;AACA,kBAAIpb,MAAM,CAACf,IAAP,IAAe,WAAnB,EAAgC;AAC7Bm5G,iCAAiC,CAACjgH,KAAlC,CAAwCisD,OAAxC,GAAkD,MAAlD;AACAi0D,mCAAmC,CAAClgH,KAApC,CAA0CisD,OAA1C,GAAoD,cAApD;AACF,eAHD,MAGO;AACJg0D,iCAAiC,CAACjgH,KAAlC,CAAwCisD,OAAxC,GAAkD,cAAlD;AACAi0D,mCAAmC,CAAClgH,KAApC,CAA0CisD,OAA1C,GAAoD,MAApD;AACF;AACF;AACF;;;iBAED,4BAAmBpkD,MAAnB,EAA2B;AACzB,gBAAIA,MAAM,CAACrB,EAAP,GAAY,UAAhB,EAA4B;AAC1B,kBAAIy5G,iBAAiB,GAAG1gH,QAAQ,CAAC0jB,cAAT,CAAwB,oBAAxB,CAAxB;AACA,kBAAIi9F,mBAAmB,GAAG3gH,QAAQ,CAAC0jB,cAAT,CAAwB,sBAAxB,CAA1B;;AACA,kBAAIpb,MAAM,CAACf,IAAP,IAAe,WAAnB,EAAgC;AAC7Bm5G,iCAAiC,CAACjgH,KAAlC,CAAwCisD,OAAxC,GAAkD,MAAlD;AACAi0D,mCAAmC,CAAClgH,KAApC,CAA0CisD,OAA1C,GAAoD,cAApD;AACF,eAHD,MAGO;AACJg0D,iCAAiC,CAACjgH,KAAlC,CAAwCisD,OAAxC,GAAkD,cAAlD;AACAi0D,mCAAmC,CAAClgH,KAApC,CAA0CisD,OAA1C,GAAoD,MAApD;AACF;AACF;AACF;;;;;;;yBA3bUgwD,wB,EAAwB,qI,EAAA,kJ,EAAA,wI,EAAA,uI,EAAA,yH,EAAA,iI;AAAA,O;;;cAAxBA,wB;AAAwB,6C;AAAA;AAAA;;qBAAxB,oB;AAAgB,a,EAAA,K,EAAA,6D;;;;;;;;ACtB7B;;AACE;;AACE;;AACE;;AAEE;;AACF;;AACA;;AAA6C;AAAA,qBAAS,IAAAzL,QAAA,EAAT;AAAmB,aAAnB;;AAC3C;;AACF;;AACA;;AACE;;AACE;;AAAsC;AAAA,qBAAS,IAAA2P,iBAAA,CAAkB,GAAlB,EAAuBt4G,MAAvB,CAAT;AAAuC,aAAvC;;AACpC;;AACF;;AACA;;AAAqC;AAAA,qBAAS,IAAAs4G,iBAAA,CAAkB,GAAlB,EAAuBt4G,MAAvB,CAAT;AAAuC,aAAvC;;AACnC;;AACF;;AACA;;AAGA;;AAAqC;AAAA,qBAAS,IAAAs4G,iBAAA,CAAkB,GAAlB,EAAuBt4G,MAAvB,CAAT;AAAuC,aAAvC;;AACnC;;AACF;;AACA;;AAAqC;AAAA,qBAAS,IAAAs4G,iBAAA,CAAkB,GAAlB,EAAuBt4G,MAAvB,CAAT;AAAuC,aAAvC;;AACnC;;AACF;;AACA;;AAAqC;AAAA,qBAAS,IAAAs4G,iBAAA,CAAkB,GAAlB,EAAuBt4G,MAAvB,CAAT;AAAuC,aAAvC;;AACnC;;AACF;;AACF;;AACA;;AACE;;AACE;;AAOE;;AACA;;;;AACF;;AACA;;AAKE;AAAA,qBAAa,IAAAu4G,WAAA,QAAb;AAAgC,aAAhC,EAAiC,UAAjC,EAAiC;AAAA,qBACrB,IAAAA,WAAA,QADqB;AACF,aAD/B;;AAGA;;;;AACF;;AACF;;AACA;;AAA+B;AAAA,qBAAS,IAAArb,UAAA,EAAT;AAAqB,aAArB;;AAC7B;;AACF;;AACF;;AACF;;AACF;;AACF;;AAEA;;AACI;;AAGA;;AACE;;AACF;;AACA;;AACE;;AACF;;AAEA;;AACE;;AAaJ;;AAaA;;AAYA;;AAYE;;AACF;;AAEF;;AAEA;;AACE;;AACE;;AACI;;AACE;;AACJ;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAGE;;AACF;;AACA;;AAEE;;AACF;;AACF;;AACA;;AACF;;AACA;;AACE;;AACA;;AACE;;AAEE;;AACF;;AACA;;AAEE;;AACF;;AACF;;AACF;;AACF;;AACF;;AAEA;;AA8CA;;AACE;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AAGE;;AACE;;AAEE;AAAA;AAAA,eAAuB,eAAvB,EAAuB;AAAA,qBACN,IAAAgF,QAAA,EADM;AACI,aAD3B;;AAGA;;AACG;;AAAK;;AAER;;AACG;;AAAK;;AAER;;AACG;;AAAM;;AAEX;;AACF;;AACF;;AACA;;AACE;;AACF;;AACA;;AACE;;AAQA;;AACA;;AACA;;AAQA;;AACA;;AACF;;AACF;;AACF;;AACF;;AAEA;;AACE;;AACE;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AAaF;;AACF;;AACF;;AAEA;;AACE;;AACE;;AAUF;;AACF;;AAEA;;AACE;;AACE;;AACE;;AACI;;AACJ;;AACA;;AACE;;AACE;;;;AACF;;AACA;;AAEE;;AAaA;;AAaA;;AAYA;;AAYF;;AACF;;AACA;;AAGE;;AAIE;;AACF;;AACA;;AAIE;;AAIA;;AAIA;;AACE;;AAKA;;AAAO;;AAAqC;;AAC9C;;AACA;;AAIF;;AACF;;AACF;;AACF;;AACF;;AAEA;;AACE;;AAAI;;AAAmL;;AACzL;;AAEA;;AAEE;;AAGE;AAAA,qBAAS,IAAAsW,UAAA,EAAT;AAAqB,aAArB;;AAME;;AACF;;AACA;;AAOE;;AAEE;;AACE;;AACF;;AACF;;AACA;;AAEE;;AACE;;AACF;;AACF;;AACA;;AAEE;;AACE;;AACF;;AACF;;AACF;;AACJ;;AAEA;;AAQE;AAAA,qBAAS,IAAAnuD,SAAA,EAAT;AAAoB,aAApB;;AAEA;;AAAU;;AAAiB;;AAC7B;;AAGF;;;;AAvduB;;AAA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","file":"main-es5.711800749151a7cf57bf.js","sourcesContent":["
\r\n
{{\"settings\"|translate}}
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{\"apperance\"|translate}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{\"security\"|translate}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{\"night-mode\"|translate}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{\"pricesBar\"|translate}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{\"quick-btn\"|translate}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"fontSize\" | translate }}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{size}}%\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { MatDialog } from \"@angular/material/dialog\";\r\nimport { Component, ElementRef, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { GridsterService } from \"src/app/services/gridster.service\";\r\n\r\n@Component({\r\n selector: \"app-settings\",\r\n templateUrl: \"./settings.component.html\",\r\n styleUrls: [\"./settings.component.scss\"],\r\n})\r\nexport class SettingsComponent implements OnInit {\r\n darkTheme: boolean;\r\n showNewsBar: any;\r\n showQuickButton: any;\r\n userProfile: any;\r\n fontSize: any;\r\n\r\n zoomValues=[\r\n \"80\",\r\n \"100\",\r\n \"120\",\r\n \"140\",\r\n \"150\"\r\n ]\r\n \r\n constructor(\r\n private dialog: MatDialog,\r\n private acc: AccountService,\r\n private router: Router,\r\n private gridsterService: GridsterService,\r\n private elementRef: ElementRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.fontSize = localStorage.getItem(\"fontsize\")\r\n ? localStorage.getItem(\"fontsize\")\r\n : \"100\";\r\n if (localStorage.getItem(\"userProfile\") != null) {\r\n this.userProfile = JSON.parse(localStorage.getItem(\"userProfile\"));\r\n }\r\n this.showNewsBar = this.acc.Ticker;\r\n this.showQuickButton = this.acc.quickButton;\r\n this.darkTheme = localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n }\r\n\r\n saveSettings() {\r\n localStorage.setItem(\"showTicker\", JSON.stringify(this.showNewsBar));\r\n localStorage.setItem(\"showQuickButton\", JSON.stringify(this.showQuickButton));\r\n localStorage.setItem(\"fontsize\", this.fontSize);\r\n localStorage.setItem(\"darktheme\", this.darkTheme ? \"dark\" : \"light\");\r\n document.body.setAttribute(\r\n \"data-theme\",\r\n this.darkTheme ? \"dark\" : \"light\"\r\n );\r\n this.acc.setTicker(this.showNewsBar);\r\n this.acc.setQuickButton(this.showQuickButton);\r\n this.dialog.closeAll();\r\n let zoomPercent = `${this.fontSize}%`\r\n this.elementRef.nativeElement.ownerDocument\r\n .body.style.zoom = zoomPercent;\r\n window.location.reload();\r\n }\r\n\r\n navigateChangePw() {\r\n this.router.navigateByUrl(\"/changePassword\");\r\n this.dialog.closeAll();\r\n }\r\n\r\n switchTheme() {\r\n this.gridsterService.switchTheme();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n CanActivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n Router,\r\n} from \"@angular/router\";\r\nimport { AccountService } from \"./account.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n constructor(private router: Router, private accountService: AccountService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const user = this.accountService.userValue;\r\n if (user) {\r\n // authorised so return true\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate([\"login\"], {\r\n queryParams: { returnUrl: state.url },\r\n });\r\n return false;\r\n }\r\n}\r\n","import { TranslateService } from \"@ngx-translate/core\";\r\nimport { AccountService } from \"./account.service\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { CompanyList } from \"../models/company-list\";\r\nimport { Account } from \"../screens/user-profile/client-data\";\r\nimport { UrlConstants } from \"../models/urlConstants\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class FavService {\r\n favCompanies: BehaviorSubject = new BehaviorSubject([]);\r\n favCompaniesSymbols: BehaviorSubject = new BehaviorSubject([]);\r\n marketWatches: BehaviorSubject = new BehaviorSubject([]);\r\n activeMarketWatch: BehaviorSubject = new BehaviorSubject(null);\r\n selectedMarketWatchId:number =0;\r\n accList = JSON.parse(localStorage.getItem(\"accList\")) as Account[];\r\n\r\n constructor(\r\n private accService: AccountService,\r\n private http: HttpClient,\r\n private toastr: ToastrService,\r\n private _translate: TranslateService\r\n ) {\r\n this.accList = JSON.parse(localStorage.getItem(\"accList\")) as Account[];\r\n }\r\n\r\n\r\n isFav(symbol: string) {\r\n const favSymbols = this.favCompaniesSymbols.getValue() || [];\r\n return favSymbols.includes(symbol);\r\n }\r\n\r\n removeFav(symbol: string,marketWatchId:number) {\r\n let favCodes = this.favCompaniesSymbols.getValue();\r\n const index: number = favCodes.indexOf(symbol);\r\n\r\n if (index !== -1) {\r\n favCodes.splice(index, 1);\r\n this.favCompaniesSymbols.next(favCodes);\r\n this.updateFavs(favCodes,marketWatchId,\"\",false);\r\n }\r\n }\r\n\r\n deleteMarketWatch(marketWatchID: string): Observable {\r\n return this.http.post(UrlConstants.backofficeUrl+ `/api/Client//RemoveMarketWatchByID?marketWatchID=${marketWatchID}`,{});\r\n }\r\n\r\n toggleFav(symbol: string,marketWatchId:number) {\r\n let favCodes = this.favCompaniesSymbols.getValue();\r\n if (this.isFav(symbol)) {\r\n this.removeFav(symbol,marketWatchId);\r\n } else {\r\n favCodes.push(symbol);\r\n this.favCompaniesSymbols.next(favCodes);\r\n this.updateFavs(favCodes,marketWatchId,\"\",false);\r\n }\r\n }\r\n\r\n updateFavs(symbols: string[],marketWatchId:number,marketWatchName:string,defaultList: boolean) {\r\n var marketId;\r\n const relationCode = this.accList[0]?.relationCode;\r\n const marketWatchID = this.activeMarketWatch.getValue()?.MarketWatchID || 0;\r\n marketWatchID==null? marketId=marketWatchID: marketId=marketWatchId;\r\n this.selectedMarketWatchId=marketId;\r\n this.http\r\n .post(UrlConstants.backofficeUrl + \"/api/Client/PostClientMarketWatchNew\", {\r\n RelationCode: relationCode,\r\n Symbols: symbols,\r\n MarketWatchID: marketId,\r\n MarketWatchName:marketWatchName,\r\n IsDefault:defaultList\r\n })\r\n .subscribe((res) => {\r\n if (res) {\r\n this.fetchAllMarketWatches(marketWatchID);\r\n } else {\r\n this.toastr.warning(\r\n this._translate.instant(\"exceed-watch-limit\"),\r\n this._translate.instant(\"exceed-watch-title\"),\r\n {\r\n positionClass: \"toast-bottom-right\",\r\n closeButton: false,\r\n titleClass: \"toast-error-title\",\r\n messageClass: \"toast-error-message\",\r\n }\r\n );\r\n // Rollback last action if limit exceeded\r\n let tempFavs = this.favCompaniesSymbols.getValue();\r\n tempFavs.pop();\r\n this.favCompaniesSymbols.next(tempFavs);\r\n }\r\n });\r\n }\r\n\r\n fetchAllMarketWatches(marketWatchID: number) {\r\n if (marketWatchID == null)\r\n marketWatchID = 0;\r\n const relationCode = this.accList[0]?.relationCode;\r\n\r\n this.http\r\n .get(\r\n `${UrlConstants.backofficeUrl}/api/Client/GetMarketWatchListNew?relationCode=${relationCode}`,\r\n {\r\n headers: new HttpHeaders({\r\n \"Cache-Control\": \"no-cache\",\r\n Pragma: \"no-cache\",\r\n }),\r\n }\r\n )\r\n .subscribe(\r\n (marketWatches) => {\r\n if (marketWatches) {\r\n this.marketWatches.next(marketWatches);\r\n const defaultWatch = marketWatches.find((watch) => watch.isDefault) || marketWatches[0];\r\n if (defaultWatch) this.setActiveMarketWatch(defaultWatch);\r\n this.fetchFavs(marketWatchID);\r\n }\r\n }\r\n );\r\n }\r\n\r\n setActiveMarketWatch(marketWatch: any) {\r\n this.activeMarketWatch.next(marketWatch);\r\n this.favCompaniesSymbols.next(marketWatch.symbols); \r\n this.fetchFavoritesData(); \r\n }\r\n\r\n\r\n\r\n fetchFavs(marketWatch: any): Promise {\r\n return new Promise((resolve, reject) => {\r\n const relationCode = this.accList[0]?.relationCode;\r\n const MarketWatchID = marketWatch.MarketWatchID;\r\n if (this.accList && relationCode) {\r\n this.http\r\n .get(\r\n `${UrlConstants.backofficeUrl}/api/Client/GetClientMarketWatchSymbols?MarketWatchID=${MarketWatchID}&relationCode=${relationCode}`,\r\n {\r\n headers: new HttpHeaders({\r\n \"Cache-Control\": \"no-cache\",\r\n Pragma: \"no-cache\",\r\n }),\r\n }\r\n )\r\n .subscribe(\r\n (response) => {\r\n this.favCompanies.next(response);\r\n if (response && response.length > 0) {\r\n let favCodes = [];\r\n response.forEach((res) => favCodes.push(res));\r\n this.favCompaniesSymbols.next([]);\r\n this.favCompaniesSymbols.next(favCodes);\r\n this.fetchFavoritesData();\r\n }\r\n resolve(); // Resolve the promise here\r\n },\r\n (err) => reject(err) // Reject the promise in case of an error\r\n );\r\n } else {\r\n resolve(); // Resolve immediately if there's no valid accList or relationCode\r\n }\r\n });\r\n }\r\n\r\n fetchFavoritesData() {\r\n if(this.favCompaniesSymbols.getValue()!=null){\r\n this.http\r\n .post(UrlConstants.feedUrl + \"/api/Feed/GetMarketWatchForSymbolList\", this.favCompaniesSymbols.getValue())\r\n .subscribe(\r\n (response) => {\r\n this.favCompanies.next(response);\r\n }\r\n );\r\n }\r\n}\r\n} \r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'numberFormat'\r\n})\r\nexport class NumberFormatPipe implements PipeTransform {\r\n\r\n transform(value: number | string): string {\r\n if (value == null || isNaN(+value)) {\r\n return value?.toString() || '';\r\n }\r\n return (+value).toLocaleString('en-US');\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport * as moment from 'moment';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { InfoModalComponent } from 'src/app/components/info-Modal/info-modal.component';\r\nimport { UserStockDetails } from 'src/app/models/UserStocksDetails';\r\nimport { ReportDTO, SearchObj } from 'src/app/models/report';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\n\r\n@Component({\r\n selector: 'app-technical-reports',\r\n templateUrl: './technical-reports.component.html',\r\n styleUrls: ['./technical-reports.component.scss']\r\n})\r\n\r\nexport class TechnicalReportsComponent implements OnInit {\r\n\r\n dtOptions = {\r\n paging: false,\r\n searching: false,\r\n autoWidth: true,\r\n info: false,\r\n responsive: true,\r\n order: [[0, \"desc\"]],\r\n };\r\n fromDate: Date;\r\n types: { name; id; }[] = [\r\n {\r\n name: \"all\",\r\n id: 3\r\n },\r\n {\r\n name: \"general\",\r\n id: 0\r\n },\r\n {\r\n name: \"index\",\r\n id: 1\r\n },\r\n {\r\n name: \"symbol\",\r\n id: 2\r\n }\r\n ];\r\n indexTypes: { name; id; }[] = [\r\n {\r\n name: \"EGX_30\",\r\n id: 30\r\n },\r\n {\r\n name: \"EGX_70\",\r\n id: 70\r\n },\r\n {\r\n name: \"EGX_100\",\r\n id: 100\r\n }\r\n ];\r\n allMarketNames: UserStockDetails[];\r\n searchObj: SearchObj = {};\r\n searchForm = new FormGroup({\r\n dateTo: new FormControl(),\r\n dateFrom: new FormControl(),\r\n type: new FormControl(null, Validators.required),\r\n value: new FormControl()\r\n });\r\n report: ReportDTO[] = [];\r\n cols: string[] = [\r\n \"date\",\r\n \"address\",\r\n \"report-type\"\r\n ];\r\n rows: any[] = [];\r\n noDataFound: boolean = false;\r\n skip: number = 0;\r\n take: number = 10;\r\n currentPage: number = 0;\r\n hasMoreRows: boolean;\r\n loading = false;\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private _service: ApiService,\r\n public dialog: MatDialog,\r\n private toastr: ToastrService,\r\n ) {\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.searchForm?.get(\"dateTo\").setValue(new Date());\r\n this.searchForm.get(\"dateFrom\").setValue(new Date(this.searchForm?.get(\"dateTo\").value.getTime() - 7 * 24 * 60 * 60 * 1000));\r\n this.fromDate = this.searchForm.get(\"dateFrom\").value;\r\n this.fetchTechnicalAnalysisSymbols();\r\n }\r\n\r\n getTypeNum($event) {\r\n !$event ? this.noDataFound = false : null;\r\n this.searchForm.get(\"type\").setValue($event);\r\n this.searchObj.type = this.searchForm.get(\"type\").value;\r\n this.searchForm.controls.value.setValidators(($event == 1 || $event == 2) ? [Validators.required] : null)\r\n this.searchForm.controls.value.updateValueAndValidity();\r\n }\r\n\r\n getTypeValue($event) {\r\n this.searchForm.get(\"value\").setValue($event);\r\n }\r\n\r\n search() {\r\n if (this.searchForm.valid) {\r\n this.searchObj = this.searchForm.value\r\n this.searchObj.dateFrom = moment(this.searchForm.get(\"dateFrom\").value);\r\n this.searchObj.dateTo = moment(this.searchForm.get(\"dateTo\").value);\r\n this.fetchTechnicalAnalysis()\r\n }\r\n }\r\n\r\n fetchTechnicalAnalysisSymbols() {\r\n let dateTo = new Date();\r\n let dateFrom = new Date(dateTo.getTime() - 7 * 24 * 60 * 60 * 1000);\r\n this.searchForm.get(\"type\").setValue(3);\r\n\r\n this._service.fetchTechnicalAnalysisSymbols().subscribe(\r\n (res) => {\r\n this.allMarketNames = res;\r\n this.fetchTechnicalAnalysis({ type: 3, dateFrom: moment(dateFrom), dateTo: moment(dateTo), Skip: 0, Take: 10 })\r\n }\r\n )\r\n }\r\n\r\n fetchTechnicalAnalysis(searchObj?: SearchObj) {\r\n this.searchObj.Skip = 0;\r\n this.searchObj.Take = 10;\r\n this.loading = true;\r\n this._service.fetchTechnicalAnalysis(searchObj ? searchObj : this.searchObj).subscribe(\r\n (res: ReportDTO[]) => {\r\n if (res.length > 0) {\r\n this.noDataFound = false;\r\n this.report = res;\r\n this.setRows(this.report);\r\n this.loading = false;\r\n if (res.length == 10)\r\n this.hasMoreRows = true;\r\n } else {\r\n this.report = [];\r\n this.noDataFound = true;\r\n this.loading = false;\r\n }\r\n }\r\n )\r\n }\r\n\r\n setRows(report: ReportDTO[]) {\r\n this.rows = report.map((row) => {\r\n return {\r\n CreateDate: row.CreateDate,\r\n title: (this.translate.currentLang == 'en') ? row.TitleEn : row.TitleAr,\r\n type:\r\n row.IsGeneral ? this.translate.currentLang == 'en' ? 'General' : 'عام' :\r\n row.SymbolCode ?\r\n (this.translate.currentLang == 'en') ?\r\n this.allMarketNames?.find((market) => market.SYMBOL_CODE == row?.SymbolCode)?.eng_shortname :\r\n this.allMarketNames?.find((market) => market.SYMBOL_CODE == row?.SymbolCode)?.arb_shortname :\r\n row.IndexType ?\r\n this.indexTypes?.find((index) => index.id == row?.IndexType)?.name\r\n : null,\r\n Uploads: row.Uploads ? row.Uploads.map(file => file.FilePath) : null,\r\n Desc: {\r\n ShortDesc: this.translate.currentLang == 'en' ? row.ShortDescEn : row.ShortDescAr,\r\n Desc: this.translate.currentLang == 'en' ? row.DescEn : row.DescAr\r\n }\r\n }\r\n })\r\n }\r\n\r\n printPDF($event) {\r\n let filePath: string = $event;\r\n if (filePath) {\r\n window.open(UrlConstants.backofficeUrl + filePath, \"_blank\");\r\n }\r\n }\r\n\r\n getFilename(fullPath) {\r\n return fullPath.replace(/^.*[\\\\\\/]/, '');\r\n }\r\n\r\n openDescModal(item) {\r\n this.dialog.open(\r\n InfoModalComponent,\r\n {\r\n maxHeight: '80vh',\r\n panelClass: \"order-dialog-container\",\r\n data: {\r\n item\r\n },\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n }\r\n );\r\n }\r\n\r\n getMoreData() {\r\n this.currentPage++;\r\n this.skip = this.currentPage * this.take;\r\n this.searchObj.Skip = this.skip;\r\n this.searchObj.Take = this.take;\r\n this.loading = true;\r\n this._service.fetchTechnicalAnalysis(this.searchObj).subscribe((res: ReportDTO[]) => {\r\n if (res) {\r\n if (this.report.length > 0) {\r\n res.forEach((item) => this.report.push(item))\r\n this.setRows(this.report)\r\n if (res.length < 10 || res == null) {\r\n this.hasMoreRows = false;\r\n this.toastr.info(\r\n \"\",\r\n this.translate.instant(\"noMoreData\"),\r\n {\r\n timeOut: 15000,\r\n positionClass: \"toast-bottom-center\",\r\n closeButton: true,\r\n }\r\n );\r\n } else {\r\n this.hasMoreRows = true;\r\n }\r\n }\r\n this.loading = false;\r\n } else {\r\n this.hasMoreRows = false;\r\n this.loading = false;\r\n }\r\n })\r\n\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n {{ \"reportsCenter\" | translate }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ \"date-from\" | translate }}\r\n \r\n \r\n
\r\n \r\n
\r\n {{ \"date-to\" | translate }}\r\n \r\n \r\n
\r\n \r\n
\r\n {{ \"type\" | translate }} \r\n \r\n \r\n {{ type.name | translate }}\r\n \r\n \r\n
\r\n \r\n
\r\n {{ \"indexValue\" | translate }}\r\n \r\n \r\n {{ type.name | translate }}\r\n \r\n \r\n
\r\n \r\n
\r\n {{ \"symbolValue\" | translate }}\r\n \r\n \r\n {{\r\n translate.currentLang == \"ar\"\r\n ? allMarketName.arb_shortname\r\n : allMarketName.eng_shortname\r\n }}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {{ \"preview\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n 0\"\r\n >\r\n \r\n \r\n \r\n \r\n {{ item | translate }}\r\n \r\n PDF\r\n {{ \"description\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n {{ rowData.CreateDate | date : \"medium\" }}\r\n \r\n \r\n {{ rowData.title }}\r\n \r\n \r\n {{ rowData?.type }}\r\n \r\n \r\n
0\">\r\n \r\n PDF\r\n \r\n 1\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n >\r\n PDF\r\n \r\n 1\"\r\n >\r\n \r\n \r\n PDF {{ i + 1 }}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{ \"viewMore\" | translate }}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n {{ \"selectTypeMsg\" | translate }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ \"noDataFound\" | translate }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n ","import { ApiService } from \"src/app/services/api.service\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { Component, ElementRef, OnInit, ViewChild } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Order, OrderTrade, Stocks } from \"src/app/models/order\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { formatDate } from \"@angular/common\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport {\r\n MatDatepicker,\r\n MatDateRangePicker,\r\n} from \"@angular/material/datepicker\";\r\n\r\n@Component({\r\n selector: \"app-trades-history\",\r\n templateUrl: \"./trades-history.component.html\",\r\n styleUrls: [\"./trades-history.component.scss\"],\r\n})\r\nexport class TradesHistoryComponent implements OnInit {\r\n isTrade = false;\r\n userOrders: Order[];\r\n userTransactions: OrderTrade[];\r\n searchSubmit = false;\r\n isOrdersLoading: boolean = false;\r\n isTradesLoading: boolean = false;\r\n toggleBool: boolean;\r\n accList: any;\r\n symbolCodeName: string;\r\n selectedAccount;\r\n records: any = [];\r\n // orderFilterRequest: OrderFilter = {} as OrderFilter;\r\n stocksFilter: Stocks = {} as Stocks;\r\n statusFilter: any;\r\n typeFilter: any;\r\n marketFilter: any;\r\n\r\n today = new Date();\r\n orderRequestFormGroup = new FormGroup({\r\n relationCode: new FormControl(null, Validators.required),\r\n symbolCode: new FormControl(\"\"),\r\n fixStatus: new FormControl(\"\"),\r\n transactionType: new FormControl(\"\"),\r\n marketId: new FormControl(\"\"),\r\n fromDate: new FormControl(\r\n new Date(this.today.getUTCFullYear(), this.today.getUTCMonth(), 2),\r\n Validators.required\r\n ),\r\n toDate: new FormControl(new Date(), Validators.required),\r\n });\r\n transactionRequestFormGroup = new FormGroup({\r\n relationCode: new FormControl(null, Validators.required),\r\n symbolCode: new FormControl(\"\"),\r\n transactionType: new FormControl(\"\"),\r\n fromDate: new FormControl(\r\n new Date(this.today.getUTCFullYear(), this.today.getUTCMonth(), 2),\r\n Validators.required\r\n ),\r\n toDate: new FormControl(new Date(), Validators.required),\r\n });\r\n\r\n @ViewChild(\"datepickerFooter\", { static: false })\r\n datepickerFooter: ElementRef;\r\n @ViewChild(\"datepickerFooter2\", { static: false })\r\n datepickerFooter2: ElementRef;\r\n @ViewChild(\"datepicker\", { static: false })\r\n datepicker: MatDateRangePicker;\r\n @ViewChild(\"datepicker2\", { static: false })\r\n datepicker2: MatDateRangePicker;\r\n\r\n selectedValue: Date | null = null;\r\n constructor(\r\n public translate: TranslateService,\r\n private apiService: ApiService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.fetchAccounts();\r\n this.getOrderFilters();\r\n }\r\n onOpen(type) {\r\n this.appendFooter(type);\r\n }\r\n\r\n PrevDate(limit) {\r\n let day = new Date().getUTCDate();\r\n let month = new Date().getUTCMonth();\r\n let year = new Date().getUTCFullYear();\r\n if (limit === 0) {\r\n this.transactionRequestFormGroup.controls[\"fromDate\"].patchValue(\r\n new Date()\r\n );\r\n this.transactionRequestFormGroup.controls[\"toDate\"].patchValue(\r\n new Date()\r\n );\r\n }\r\n if (limit === 1) {\r\n this.transactionRequestFormGroup.controls[\"fromDate\"].patchValue(\r\n new Date(year, month, day - 1)\r\n );\r\n this.transactionRequestFormGroup.controls[\"toDate\"].patchValue(\r\n new Date(year, month, day - 1)\r\n );\r\n }\r\n if (limit === 7) {\r\n this.transactionRequestFormGroup.controls[\"fromDate\"].patchValue(\r\n new Date(year, month, day - 7)\r\n );\r\n this.transactionRequestFormGroup.controls[\"toDate\"].patchValue(\r\n new Date()\r\n );\r\n }\r\n if (limit === 30) {\r\n this.transactionRequestFormGroup.controls[\"fromDate\"].patchValue(\r\n new Date(year, month - 1, day)\r\n );\r\n this.transactionRequestFormGroup.controls[\"toDate\"].patchValue(\r\n new Date()\r\n );\r\n }\r\n this.transactionRequestFormGroup.controls[\"fromDate\"].patchValue(\r\n formatDate(\r\n this.transactionRequestFormGroup.value.fromDate,\r\n \"YYYY-MM-dd\",\r\n \"en_US\"\r\n )\r\n );\r\n this.transactionRequestFormGroup.controls[\"toDate\"].patchValue(\r\n formatDate(\r\n this.transactionRequestFormGroup.value.toDate,\r\n \"YYYY-MM-dd\",\r\n \"en_US\"\r\n )\r\n );\r\n\r\n this.datepicker2.close();\r\n }\r\n orderPrevDate(limit) {\r\n let day = new Date().getUTCDate();\r\n let month = new Date().getUTCMonth();\r\n let year = new Date().getUTCFullYear();\r\n if (limit === 0) {\r\n this.orderRequestFormGroup.controls[\"fromDate\"].patchValue(new Date());\r\n this.orderRequestFormGroup.controls[\"toDate\"].patchValue(new Date());\r\n }\r\n if (limit === 1) {\r\n this.orderRequestFormGroup.controls[\"fromDate\"].patchValue(\r\n new Date(year, month, day - 1)\r\n );\r\n this.orderRequestFormGroup.controls[\"toDate\"].patchValue(\r\n new Date(year, month, day - 1)\r\n );\r\n }\r\n if (limit === 7) {\r\n this.orderRequestFormGroup.controls[\"fromDate\"].patchValue(\r\n new Date(year, month, day - 7)\r\n );\r\n this.orderRequestFormGroup.controls[\"toDate\"].patchValue(new Date());\r\n }\r\n if (limit === 30) {\r\n this.orderRequestFormGroup.controls[\"fromDate\"].patchValue(\r\n new Date(year, month - 1, day)\r\n );\r\n this.orderRequestFormGroup.controls[\"toDate\"].patchValue(new Date());\r\n }\r\n this.orderRequestFormGroup.controls[\"fromDate\"].patchValue(\r\n formatDate(\r\n this.orderRequestFormGroup.value.fromDate,\r\n \"YYYY-MM-dd\",\r\n \"en_US\"\r\n )\r\n );\r\n this.orderRequestFormGroup.controls[\"toDate\"].patchValue(\r\n formatDate(this.orderRequestFormGroup.value.toDate, \"YYYY-MM-dd\", \"en_US\")\r\n );\r\n this.datepicker.close();\r\n }\r\n\r\n private appendFooter(type) {\r\n const matCalendar = document.getElementsByClassName(\r\n \"mat-datepicker-content\"\r\n )[0] as HTMLElement;\r\n if (type === 1) {\r\n matCalendar.appendChild(this.datepickerFooter.nativeElement);\r\n }\r\n if (type === 2) {\r\n matCalendar.appendChild(this.datepickerFooter2.nativeElement);\r\n }\r\n }\r\n\r\n fetchAccounts() {\r\n this.apiService.fetchAccounts().subscribe((res) => {\r\n if (res) {\r\n this.accList = res;\r\n this.selectedAccount = this.accList[0].relationCode;\r\n }\r\n });\r\n }\r\n\r\n getOrderFilters() {\r\n let filterList;\r\n this.apiService.fetchOrderFilters().subscribe((res) => {\r\n filterList = res;\r\n this.stocksFilter = filterList.Symbols as Stocks;\r\n this.statusFilter = filterList.Status;\r\n this.marketFilter = filterList.Markets;\r\n this.typeFilter = filterList.TransactionTypes;\r\n });\r\n }\r\n\r\n credentialsSearchFilter(event: any) {\r\n this.searchSubmit = true;\r\n\r\n const val = event.target.value.toLowerCase();\r\n\r\n if (val != \"\") {\r\n this.toggleBool = true;\r\n } else {\r\n this.toggleBool = false;\r\n }\r\n\r\n this.records = this.stocksFilter.filter((d) => {\r\n return (\r\n d.ReutersCode?.toLowerCase().includes(val) ||\r\n d.SymbolNameA?.toLowerCase().includes(val) ||\r\n d.SymbolNameE?.toLowerCase().includes(val)\r\n );\r\n });\r\n }\r\n fetchOrders() {\r\n let fromDate = formatDate(\r\n this.orderRequestFormGroup.value.fromDate,\r\n \"YYYY-MM-dd\",\r\n \"en_US\"\r\n );\r\n let toDate = formatDate(\r\n this.orderRequestFormGroup.value.toDate,\r\n \"YYYY-MM-dd\",\r\n \"en_US\"\r\n );\r\n\r\n this.orderRequestFormGroup.value.fromDate = fromDate;\r\n this.orderRequestFormGroup.value.toDate = toDate;\r\n\r\n this.apiService\r\n .fetchfilteredOrders({ ...this.orderRequestFormGroup.value, ShowNotActive: true })\r\n .subscribe((res) => {\r\n this.isOrdersLoading = true;\r\n this.userOrders = res as Order[];\r\n });\r\n }\r\n fetchTrades() {\r\n let fromDate = formatDate(\r\n this.transactionRequestFormGroup.value.fromDate,\r\n \"YYYY-MM-dd\",\r\n \"en_US\"\r\n );\r\n let toDate = formatDate(\r\n this.transactionRequestFormGroup.value.toDate,\r\n \"YYYY-MM-dd\",\r\n \"en_US\"\r\n );\r\n\r\n this.transactionRequestFormGroup.value.fromDate = fromDate;\r\n this.transactionRequestFormGroup.value.toDate = toDate;\r\n\r\n this.apiService\r\n .fetchfilteredTransactions(this.transactionRequestFormGroup.value)\r\n .subscribe((res) => {\r\n this.isTradesLoading = true;\r\n this.userTransactions = res as OrderTrade[];\r\n });\r\n }\r\n\r\n selectedOrderRecored(item) {\r\n if (this.translate.currentLang == \"en\") {\r\n this.symbolCodeName = item.SymbolNameE;\r\n }\r\n if (this.translate.currentLang == \"ar\") {\r\n this.symbolCodeName = item.SymbolNameA;\r\n }\r\n this.searchSubmit = false;\r\n this.orderRequestFormGroup.controls[\"symbolCode\"].patchValue(\r\n item.SymbolCode\r\n );\r\n }\r\n selectedTransactionRecored(item) {\r\n this.searchSubmit = false;\r\n if (this.translate.currentLang == \"en\") {\r\n this.symbolCodeName = item.SymbolNameE;\r\n }\r\n if (this.translate.currentLang == \"ar\") {\r\n this.symbolCodeName = item.SymbolNameA;\r\n }\r\n this.transactionRequestFormGroup.controls[\"symbolCode\"].patchValue(\r\n item.SymbolCode\r\n );\r\n }\r\n xButton() {\r\n this.symbolCodeName = \"\";\r\n this.transactionRequestFormGroup.controls[\"symbolCode\"].patchValue(null);\r\n this.orderRequestFormGroup.controls[\"symbolCode\"].patchValue(null);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{\"trading-history\"|translate}}

\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{\"order-history-details\"|translate}}

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n ({{acc.relationCode}})\r\n {{translate.currentLang=='en'?acc.clientNameEn:acc.clientNameAr}}\r\n \r\n
\r\n
\r\n \r\n {{\"date\" | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n Invalid\r\n start date\r\n Invalid\r\n end date\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
{{\"symbolCode\"|translate}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n {{(translate.currentLang=='en')?record.SymbolNameE:record.SymbolNameA}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{\"status\"|translate}}
\r\n \r\n {{'all'|translate}}\r\n \r\n {{(translate.currentLang==\"en\")?status.NameE:status.NameA}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{\"type\"|translate}}
\r\n \r\n {{'all'|translate}}\r\n \r\n {{(translate.currentLang==\"en\")?type.TransactionNameE:type.TransactionTypeA}}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
{{\"market\"|translate}}
\r\n \r\n {{'all'|translate}}\r\n \r\n {{(translate.currentLang==\"en\")?market.MarketNameE:market.MarketNameA}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{\"trading-history-details\"|translate}}

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n ({{acc.relationCode}})\r\n {{translate.currentLang=='en'?acc.clientNameEn:acc.clientNameAr}}\r\n \r\n
\r\n
\r\n \r\n {{\"date\" | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n Invalid\r\n start date\r\n Invalid\r\n end date\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
{{\"symbolCode\"|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{(translate.currentLang=='en')?record.SymbolNameE:record.SymbolNameA}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
{{\"type\"|translate}}
\r\n \r\n {{'all'|translate}}\r\n {{(translate.currentLang==\"en\")?type.TransactionNameE:type.TransactionTypeA}}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
","/* (ignored) */","import { Account } from \"./../../screens/user-profile/client-data\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { StatementComponent } from \"src/app/screens/user-profile/statement/statement.component\";\r\nimport { InvoicesModalComponent } from \"../invoices-modal/invoices-modal.component\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\n\r\n@Component({\r\n selector: \"app-account-header\",\r\n templateUrl: \"./account-header.component.html\",\r\n styleUrls: [\"./account-header.component.scss\"],\r\n})\r\nexport class AccountHeaderComponent implements OnInit {\r\n @Input() selectedAccount;\r\n @Input() accList: any[];\r\n @Output() accChange = new EventEmitter();\r\n accObject: any;\r\n isDarkTheme: boolean;\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private dialog: MatDialog,\r\n private apiService: ApiService\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.accList)\r\n this.accObject = this.accList.find(\r\n (x) => x.relationCode === this.selectedAccount\r\n );\r\n }\r\n\r\n get getColor() {\r\n switch (this.accObject.accountType) {\r\n //Basic\r\n case 0:\r\n return {\r\n background: this.isDarkTheme?\"palegreen\":\"#28a745\" ,\r\n color: this.isDarkTheme?\"darkslategrey\":\"white\",\r\n };\r\n //Margin\r\n case 1:\r\n return {\r\n background: \"salmon\",\r\n color: \"black\",\r\n };\r\n //MarginCustion\r\n case 2:\r\n return {\r\n background: \"salmon\",\r\n color: \"black\",\r\n };\r\n //Fund\r\n case 3:\r\n return {\r\n background: \"cyan\",\r\n color: \"black\",\r\n };\r\n //Other\r\n case 4:\r\n return {\r\n background: \"aquamarine\",\r\n color: \"black\",\r\n };\r\n //Qasser\r\n case 1001:\r\n return {\r\n background: \"lightgoldenrodyellow\",\r\n color: \"black\",\r\n };\r\n default:\r\n return {\r\n background: \"lightgray\",\r\n color: \"black\",\r\n };\r\n }\r\n }\r\n\r\n openStatement() {\r\n this.dialog.open(StatementComponent, {\r\n width: \"700px\",\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n data: {\r\n inputUser: this.selectedAccount,\r\n },\r\n });\r\n }\r\n openInvoice() {\r\n this.dialog.open(InvoicesModalComponent, {\r\n width: \"1000px\",\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n data: {\r\n inputUser: this.selectedAccount,\r\n },\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;}\r\n\r\n changed() {\r\n this.accChange.next(this.selectedAccount);\r\n }\r\n\r\n isLoadingPdf: boolean = false;\r\n downloadPDF() {\r\n this.isLoadingPdf = true;\r\n let date = new Date().toISOString();\r\n this.apiService.fetchClientPortfolio(this.selectedAccount, date).subscribe(\r\n (res) => {\r\n this.isLoadingPdf = false;\r\n window.open(UrlConstants.backofficeUrl + res[\"fileURL\"], \"_blank\");\r\n },\r\n (err) => {\r\n this.isLoadingPdf = false;\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n ({{acc.relationCode}}) {{translate.currentLang=='en'?acc.clientNameEn:acc.clientNameAr}}\r\n \r\n \r\n {{'dormant-acc'|translate}}\r\n {{'dormant-hint' | translate}}\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {{(translate.currentLang=='en')?accObject?.accountTypeEn:accObject?.accountTypeAr}}\r\n
\r\n
","import { AccountService } from \"./../../services/account.service\";\r\nimport { AlertManagerComponent } from \"./../alert-manager/alert-manager.component\";\r\nimport { Component, Inject, OnInit } from \"@angular/core\";\r\nimport {\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport Swal from \"sweetalert2\";\r\n\r\nclass Condition {\r\n Id?: number;\r\n PropertyName: string;\r\n Condition: number;\r\n PropertyValue: string;\r\n}\r\n\r\nclass CreateAlert {\r\n Id?: number;\r\n RelationCode: string;\r\n SymbolCode: string;\r\n Conditions: Condition[] = [];\r\n ExpirationType: number;\r\n ExpirationDate: Date;\r\n NotificationType: number;\r\n}\r\n\r\n@Component({\r\n selector: \"app-create-alert\",\r\n templateUrl: \"./create-alert.component.html\",\r\n styleUrls: [\"./create-alert.component.scss\"],\r\n})\r\nexport class CreateAlertComponent implements OnInit {\r\n newAlert: CreateAlert = new CreateAlert();\r\n tempCondition: Condition = new Condition();\r\n notificationTypes = [\r\n {\r\n name: \"Web\",\r\n value: 1,\r\n },\r\n {\r\n name: \"Mobile\",\r\n value: 2,\r\n },\r\n {\r\n name: \"Email\",\r\n value: 3,\r\n },\r\n {\r\n name: \"Sms\",\r\n value: 4,\r\n },\r\n {\r\n name: \"All\",\r\n value: 5,\r\n },\r\n ];\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialog: MatDialog,\r\n private accService: AccountService,\r\n private http: HttpClient\r\n ) {}\r\n\r\n alertManager() {\r\n this.dialogRef.close();\r\n this.dialog.open(AlertManagerComponent, { width: \"800px\" });\r\n }\r\n\r\n removeAlert(index) {\r\n this.newAlert.Conditions.splice(index, 1);\r\n }\r\n\r\n addAlert() {\r\n this.newAlert.Conditions.push(this.tempCondition);\r\n this.tempCondition = new Condition();\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n createAlert() {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"info\",\r\n title: \"COMING SOON\",\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n // this.newAlert.SymbolCode = this.data.symbol;\r\n // this.newAlert.RelationCode = \"1001-1\";\r\n\r\n // const httpOptions = {\r\n // headers: new HttpHeaders({\r\n // Authorization: this.accService.userValue.toString(),\r\n // }),\r\n // };\r\n\r\n // return this.http\r\n // .post(\r\n // UrlConstants.backofficeUrl + \"/api/OnlineTrading/Subscribe\",\r\n // this.newAlert,\r\n // httpOptions\r\n // )\r\n // .subscribe((res) => {});\r\n }\r\n}\r\n","
\r\n Set New Alert\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{data.nameEn}}\r\n
\r\n
\r\n {{data.reuters}}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ParameterCriteriaValue
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
{{alert.PropertyName}}{{alert.Condition}}{{alert.PropertyValue}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {{item.name}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","/* (ignored) */","import { ToastrService } from \"ngx-toastr\";\r\n// import { SharedService } from \"./../../services/shared.service\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { AccountService } from \"./../../services/account.service\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { CompanyList } from \"./../../models/company-list\";\r\nimport { Component, Inject, Input, OnInit } from \"@angular/core\";\r\nimport { MatDialog, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport Swal from \"sweetalert2\";\r\nimport {\r\n Account,\r\n ClientDataPortfolio,\r\n PortfolioElement,\r\n} from \"src/app/screens/user-profile/client-data\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\nimport { SharedService } from \"src/app/services/shared.service\";\r\nimport { CompanyDetails } from \"src/app/models/company-details\";\r\nimport { DatePipe, formatNumber } from \"@angular/common\";\r\nimport {\r\n MarketWatchDetailService,\r\n StockDetail,\r\n} from \"src/app/services/market-watch-detail.service\";\r\nimport { InvestmentAmount } from \"src/app/models/investment-amount\";\r\n\r\ninterface orderType {\r\n TransactionId: number;\r\n TransactionNameE: String;\r\n TransactionTypeA: String;\r\n}\r\n\r\n@Component({\r\n selector: \"app-order-buy\",\r\n templateUrl: \"./order-buy.component.html\",\r\n styleUrls: [\"./order-buy.component.scss\"],\r\n})\r\nexport class OrderBuyComponent implements OnInit {\r\n // company: any;\r\n\r\n @Input() selectedRelCode;\r\n isBuyLoading = false;\r\n\r\n marketDisbaled: boolean = true;\r\n maxLimit: number;\r\n inputUser: Account;\r\n isLoading = false;\r\n avgCommission: any;\r\n minCommission: any;\r\n minCommissionUSD: any;\r\n accList: any;\r\n clientData: any;\r\n custodianList: any;\r\n orderTotal: number;\r\n totalCost: number;\r\n orderFees: number;\r\n isMarket: boolean;\r\n sendingOrder: boolean = false;\r\n company: CompanyList = {} as CompanyList;\r\n isMyShares: boolean = false;\r\n myShareSymbols: any;\r\n myCompanies: CompanyList[];\r\n settledQty: number;\r\n sellType: number = 2;\r\n currentPortfolioCompany: PortfolioElement;\r\n companyDetails: CompanyDetails;\r\n titleMessage: string;\r\n textConfirmMassage: string;\r\n inputCustodian: number;\r\n initqty: number;\r\n\r\n\r\n TransactionTypes: orderType[] = [\r\n {\r\n TransactionId: 1,\r\n TransactionNameE: \"Buy\",\r\n TransactionTypeA: \"شراء\",\r\n },\r\n {\r\n TransactionId: 2,\r\n TransactionNameE: \"Sell\",\r\n TransactionTypeA: \"بيع\",\r\n },\r\n {\r\n TransactionId: 3,\r\n TransactionNameE: \"Sell Same Day\",\r\n TransactionTypeA: \"بيع نفس اليوم \",\r\n },\r\n {\r\n TransactionId: 4,\r\n TransactionNameE: \"Buy Same Day\",\r\n TransactionTypeA: \"شراء نفس اليوم\",\r\n },\r\n {\r\n TransactionId: 5,\r\n TransactionNameE: \"Sell T+1\",\r\n TransactionTypeA: \"T+1 بيع\",\r\n },\r\n {\r\n TransactionId: 6,\r\n TransactionNameE: \"Buy T+1\",\r\n TransactionTypeA: \"Buy T+1\",\r\n },\r\n ];\r\n tiffFlagValue = [\r\n { value: 0, NameE: \"Day\", NameA: \"يوم\" },\r\n { value: 1, NameE: \"Good Till Cancel\", NameA: \"صالح حتي الالغاء\" },\r\n { value: 6, NameE: \"Good Till Date\", NameA: \"صالح حتي التاريخ\" },\r\n { value: 3, NameE: \"Immediate\", NameA: \"فوري\" },\r\n ];\r\n\r\n demandMethods = [\r\n {\r\n Id: \"Written\",\r\n Value: 0,\r\n NameE: \"Written\",\r\n NameA: \"كتابة\",\r\n },\r\n {\r\n Id: \"Phone\",\r\n Value: 1,\r\n NameE: \"Phone\",\r\n NameA: \"تليفون\",\r\n },\r\n {\r\n Id: \"Fax\",\r\n Value: 2,\r\n NameE: \"Fax\",\r\n NameA: \"فاكس\",\r\n },\r\n {\r\n Id: \"Online\",\r\n Value: 3,\r\n NameE: \"Online\",\r\n NameA: \"اونلاين\",\r\n },\r\n {\r\n Id: \"Email\",\r\n Value: 4,\r\n NameE: \"Email\",\r\n NameA: \"بريد إلكتروني\",\r\n },\r\n ];\r\n\r\n investmentData: InvestmentAmount;\r\n brokerInfo: any;\r\n\r\n\r\n customSearchFn(term: string, item: CompanyList) {\r\n term = term.toLowerCase();\r\n return (\r\n item?.ENG_NAME?.toLowerCase().includes(term) ||\r\n item?.ARB_NAME?.toLowerCase().includes(term) ||\r\n item?.Reuters?.toLowerCase().includes(term)\r\n );\r\n }\r\n\r\n onSelectChange() {\r\n this.fetchCompany();\r\n }\r\n\r\n public tabIndex = 0;\r\n\r\n today = new Date();\r\n tomorrow = new Date(this.today.setDate(this.today.getDate() + 1));\r\n\r\n isFetchingUserData: boolean = false;\r\n companies: CompanyList[];\r\n allMarketNames: StockDetail[];\r\n\r\n toggle(e: any) {\r\n if (e.value == \"market\") {\r\n this.isMarket = true;\r\n this.orderForm.get(\"price\").disable();\r\n this.orderForm.get(\"price\").patchValue(0);\r\n } else {\r\n this.isMarket = false;\r\n this.orderForm.get(\"price\").enable();\r\n this.orderForm.get(\"price\").patchValue(null);\r\n }\r\n }\r\n\r\n // @Input() company: CompanyList;\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: string,\r\n private http: HttpClient,\r\n private accService: AccountService,\r\n private signalService: SignalRService,\r\n public datepipe: DatePipe,\r\n public translate: TranslateService,\r\n private dialog: MatDialog,\r\n private apiService: ApiService,\r\n private sharedService: SharedService,\r\n private toastr: ToastrService,\r\n private _marketDetail: MarketWatchDetailService\r\n ) {\r\n this.accList = JSON.parse(localStorage.getItem(\"accList\")) as Account[];\r\n this.accList = this.accList.filter(x => x.accountType != 3)\r\n this.tabIndex = this.data[\"type\"];\r\n\r\n }\r\n\r\n fetchInvestmentAmount() {\r\n this.apiService\r\n .fetchInvestmentAmount(\r\n this.company.SYMBOL_CODE.toString(),\r\n this.inputUser.relationCode.toString()\r\n )\r\n .subscribe((res) => {\r\n this.investmentData = res as InvestmentAmount;\r\n\r\n this.investmentData.investmentAmount = formatNumber(\r\n Number(this.investmentData.investmentAmount),\r\n \"en-US\",\r\n \"1.0-0\"\r\n );\r\n\r\n // Number(\r\n // this.investmentData.investmentAmount.toLocaleString(\"en-GB\")\r\n // )\r\n\r\n this.investmentData.targetWeight = Number(\r\n this.investmentData.targetWeight.toFixed(2)\r\n );\r\n\r\n this.investmentData.currentWeight = Number(\r\n this.investmentData.currentWeight.toFixed(2)\r\n );\r\n });\r\n }\r\n updateStockDetail(stock: CompanyList) {\r\n if (stock?.SYMBOL_CODE && this.allMarketNames) {\r\n let companyDetail = this.allMarketNames.find(\r\n (x) => x[\"SYMBOL_CODE\"] === stock.SYMBOL_CODE\r\n );\r\n if (companyDetail) {\r\n stock.arb_shortname = companyDetail[\"arb_shortname\"];\r\n stock.eng_shortname = companyDetail[\"eng_shortname\"];\r\n stock.Reuters = companyDetail[\"Reuters\"];\r\n }\r\n }\r\n }\r\n\r\n // oninput=\"if(!this.value.match('^[1-9][0-9]*$'))this.value='';\"\r\n priceDecimalInput(event: any) {\r\n let reg;\r\n switch (this.companyDetails.RoundDigits) {\r\n case 0:\r\n reg = /^[0-9]*$/;\r\n break;\r\n case 1:\r\n reg = /^[0-9]*(\\.\\d{0,1})?$/;\r\n break;\r\n case 2:\r\n reg = /^[0-9]*(\\.\\d{0,2})?$/;\r\n break;\r\n case 3:\r\n reg = /^[0-9]*(\\.\\d{0,3})?$/;\r\n break;\r\n case 4:\r\n reg = /^[0-9]*(\\.\\d{0,4})?$/;\r\n break;\r\n case 5:\r\n reg = /^[0-9]*(\\.\\d{0,5})?$/;\r\n break;\r\n default:\r\n reg = /^[0-9]*(\\.\\d{0,3})?$/;\r\n break;\r\n }\r\n\r\n // const reg = /^-?\\d*(\\.\\d{0,2})?$/;\r\n let input = event.target.value + String.fromCharCode(event.charCode);\r\n\r\n if (!reg.test(input)) {\r\n event.preventDefault();\r\n }\r\n }\r\n fetchSymbolBO() {\r\n if (this.company?.SYMBOL_CODE) {\r\n this.apiService\r\n .fetchSymbolBO(this.company.SYMBOL_CODE)\r\n .subscribe({\r\n next: (res: CompanyDetails) => {\r\n this.companyDetails = res;\r\n // Simplified boolean assignment\r\n this.marketDisbaled = this.companyDetails.EnablePriceLimit;\r\n this.maxLimit = this.companyDetails.MaxLimit;\r\n },\r\n error: (err) => {\r\n // Handle error here if needed\r\n console.error('Error fetching symbol BO:', err);\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n // fetchSymbolBO() {\r\n // if (this.company.SYMBOL_CODE) {\r\n // this.apiService\r\n // .fetchSymbolBO(this.company.SYMBOL_CODE)\r\n // .subscribe((res: CompanyDetails) => {\r\n // this.companyDetails = res;\r\n // });\r\n // }\r\n // }\r\n\r\n fetchMySymbols() {\r\n this.apiService\r\n .fetchMySymbols(this.orderForm.get(\"client\").value)\r\n .subscribe((res) => {\r\n this.myShareSymbols = res;\r\n if (this.myShareSymbols?.length > 0)\r\n this.myCompanies = this.companies.filter((company) => {\r\n return this.myShareSymbols.indexOf(company.SYMBOL_CODE) != -1;\r\n });\r\n });\r\n }\r\n\r\n get companiesList() {\r\n if (this.isMyShares) return this.myCompanies;\r\n else return this.companies;\r\n }\r\n\r\n\r\n fetchCommissions() {\r\n this.http.get(`${UrlConstants.backofficeUrl}/api/Settings/GetConfiguredCommissions`)\r\n .subscribe((res) => {\r\n this.avgCommission = res.AvgCommission;\r\n this.minCommission = res.MinCommission;\r\n this.minCommissionUSD = res.MinCommissionUSD;\r\n });\r\n }\r\n\r\n calculateFees(orderValue) {\r\n let feePercentage = this.avgCommission;\r\n\r\n if (orderValue == 0) {\r\n feePercentage == 0;\r\n }\r\n\r\n let totalFees = orderValue * feePercentage;\r\n\r\n if (this.company.CURRENCY == 1) {\r\n // For EGP\r\n if (totalFees < this.minCommission) {\r\n totalFees = this.minCommission;\r\n }\r\n } else {\r\n // For USD or other currencies\r\n if (totalFees < this.minCommissionUSD) {\r\n totalFees = this.minCommissionUSD;\r\n }\r\n }\r\n\r\n return totalFees;\r\n }\r\n\r\n fetchCompany() {\r\n if (this.company.SYMBOL_CODE) {\r\n this.http\r\n .get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetMarketWatchForSymbol?SYMBOL_CODE=` +\r\n this.company.SYMBOL_CODE\r\n )\r\n .subscribe((res) => {\r\n this.company = res as CompanyList;\r\n this.fetchSymbolBO();\r\n this.fetchSymbolPortfolio(this.company.SYMBOL_CODE);\r\n });\r\n }\r\n }\r\n\r\n fetchSymbolPortfolio(symbolCode) {\r\n this.http\r\n .get(\r\n `${UrlConstants.backofficeUrl\r\n }/api/Client/GetClientPortfolio?relationCode=${this.orderForm.get(\"client\").value\r\n }&symbolCode=${symbolCode}`\r\n )\r\n .subscribe((res: ClientDataPortfolio) => {\r\n if (res.RatedPortfolio?.Portfolio?.length > 0) {\r\n if (this.company.CURRENCY == 1) {\r\n if (res.EGPPortfolio.Portfolio.length > 1 && this.inputCustodian)\r\n this.currentPortfolioCompany = res.EGPPortfolio.Portfolio.find(\r\n (item) => {\r\n return item.CustodianCode == this.inputCustodian;\r\n }\r\n );\r\n else this.currentPortfolioCompany = res.EGPPortfolio.Portfolio[0];\r\n } else if (this.company.CURRENCY == 2) {\r\n if (res.USDPortfolio.Portfolio.length > 1 && this.inputCustodian)\r\n this.currentPortfolioCompany = res.USDPortfolio.Portfolio.find(\r\n (item) => {\r\n return item.CustodianCode == this.inputCustodian;\r\n }\r\n );\r\n else this.currentPortfolioCompany = res.USDPortfolio.Portfolio[0];\r\n this.currentPortfolioCompany = res.USDPortfolio.Portfolio[0];\r\n }\r\n\r\n this.sellTypeChange();\r\n } else this.settledQty = null;\r\n // this.isProfileLoading = false;\r\n // this.userPortfolio = res as ClientData;\r\n });\r\n }\r\n\r\n orderForm = new FormGroup({\r\n client: new FormControl(\"\", Validators.required),\r\n qty: new FormControl(\"\", Validators.required),\r\n price: new FormControl(\"\", Validators.required),\r\n custodian: new FormControl(\"\", Validators.required),\r\n execRule: new FormControl(\"\", Validators.required),\r\n validTill: new FormControl(\"\", Validators.required),\r\n tiffDate: new FormControl(),\r\n demandMethod: new FormControl(3, Validators.required),\r\n minFillVolume: new FormControl(),\r\n });\r\n\r\n sellTypeChange() {\r\n if (this.tabIndex == 1 && this.currentPortfolioCompany) {\r\n if (this.sellType == 2)\r\n this.settledQty = this.currentPortfolioCompany.AvbSetteledQty;\r\n else if (this.sellType == 3)\r\n this.settledQty = this.currentPortfolioCompany.AvbTPlusZeroQty;\r\n else if (this.sellType == 5)\r\n this.settledQty = this.currentPortfolioCompany.AvbTPlusOneQty;\r\n }\r\n this.f.qty.patchValue(null);\r\n }\r\n\r\n qtyClicked() {\r\n if (this.settledQty != 0) this.f.qty.patchValue(this.settledQty);\r\n }\r\n\r\n orderType(type) {\r\n let typeName = this.TransactionTypes.find((trans) => {\r\n return trans.TransactionId == type;\r\n });\r\n\r\n return this.translate.currentLang == \"en\"\r\n ? typeName.TransactionNameE\r\n : typeName.TransactionTypeA;\r\n }\r\n calculateMakretCost(quantity, maxLimit) {\r\n this.totalCost = quantity * maxLimit;\r\n }\r\n\r\n\r\n getTiffFlag(value) {\r\n // if (value != null)\r\n // return this.tiffFlagValue.find((x) => x.value == value).viewValue;\r\n // else return null;\r\n\r\n let tiffFlag = this.tiffFlagValue.find((trans) => {\r\n return trans.value == value;\r\n });\r\n\r\n return this.translate.currentLang == \"en\" ? tiffFlag.NameE : tiffFlag.NameA;\r\n }\r\n\r\n custodianName(value) {\r\n return this.custodianList.find((item) => item.CustodianCode == value)\r\n .CustodianNameE;\r\n }\r\n\r\n sendOrder(type) {\r\n\r\n this.orderTotal = parseFloat(parseFloat(this.orderTotal.toString()).toFixed(2));\r\n this.orderFees = this.calculateFees(this.orderTotal);\r\n this.totalCost = parseFloat((this.orderTotal + this.orderFees).toFixed(2));\r\n\r\n\r\n if (\r\n (this.company.CURRENCY === 1 && this.clientData?.purchasePower?.EGP > this.totalCost) ||\r\n (this.company.CURRENCY === 2 && this.clientData?.purchasePower?.USD > this.totalCost) ||\r\n this.brokerInfo?.IsAllowExceedPP ||\r\n type === 2\r\n ) {\r\n if (this.translate.currentLang == \"ar\") {\r\n this.titleMessage = \"تأكيد اضافة امر\";\r\n this.textConfirmMassage = `برجاء مراجعه البيانات التالية قبل اضافة الامر\r\n ${type == 2 ? this.orderType(this.sellType) : this.orderType(type)\r\n } \r\n الكمية: ${this.orderForm.value.qty}\r\n السهم: ${this.company.ARB_NAME}\r\n السعر: ${this.orderForm.value.price}\r\n الصلاحية: ${this.orderForm.value.validTill == 6 &&\r\n this.orderForm.value.validTill != null\r\n ? this.datepipe.transform(this.orderForm.value.tiffDate)\r\n : \"\"\r\n } ${this.getTiffFlag(this.orderForm.value.validTill)}\r\n امين الحفظ: ${this.custodianName(this.orderForm.value.custodian)}\r\n قيمة الامر: ${this.orderTotal} ${this.company.CURRENCY == 1 ? \"جنيه مصري\" : \"دولار\"} \r\n الرسوم: ${this.orderFees.toFixed(2)} ${this.company.CURRENCY == 1 ? \"جنيه مصري\" : \"دولار\"} \r\n القيمة الاجمالية: ${this.totalCost} ${this.company.CURRENCY == 1 ? \"جنيه مصري\" : \"دولار\"} `;\r\n\r\n }\r\n\r\n if (this.translate.currentLang == \"en\") {\r\n this.titleMessage = \"Confirm New Order\";\r\n this.textConfirmMassage = `Please check order details before confirmation\r\n Order Type: ${type == 2 ? this.orderType(this.sellType) : this.orderType(type)\r\n } Qty: ${this.orderForm.value.qty}\r\n Stock: ${this.translate.currentLang == \"en\"\r\n ? this.company.ENG_NAME\r\n : this.company.ARB_NAME\r\n }\r\n Price: ${this.isMarket\r\n ? this.translate.instant(\"market\")\r\n : this.orderForm.value.price\r\n }\r\n Validity: ${this.getTiffFlag(this.orderForm.value.validTill)} ${this.orderForm.value.validTill == 6 &&\r\n this.orderForm.value.validTill != null\r\n ? this.datepipe.transform(this.orderForm.value.tiffDate)\r\n : \"\"\r\n }\r\n Custodian: ${this.custodianName(this.orderForm.value.custodian)}\r\n Order Value: ${this.orderTotal} ${this.company.CURRENCY == 1 ? \"EGP\" : \"USD\"} \r\n Fees: ${this.orderFees.toFixed(2)} ${this.company.CURRENCY == 1 ? \"EGP\" : \"USD\"} \r\n Total: ${this.totalCost} ${this.company.CURRENCY == 1 ? \"EGP\" : \"USD\"}`;\r\n\r\n\r\n }\r\n this.titleMessage =\r\n this.translate.currentLang == \"en\"\r\n ? \"Confirm New Order\"\r\n : \"تأكيد اضافة امر\";\r\n Swal.fire({\r\n title: this.titleMessage,\r\n html: \"
\" + this.textConfirmMassage + \"
\",\r\n        icon: \"warning\",\r\n        showCancelButton: true,\r\n        confirmButtonText: this.translate.instant(\"yes\"),\r\n        cancelButtonText: this.translate.instant(\"no\"),\r\n        reverseButtons: true,\r\n      }).then((result) => {\r\n        if (result.isConfirmed) {\r\n          this.sendingOrder = true;\r\n\r\n          this.http\r\n            .post(UrlConstants.backofficeUrl + \"/api/Orders/PostOrder\", {\r\n              SymbolCode: this.company.SYMBOL_CODE,\r\n              Qty: this.orderForm.get(\"qty\").value,\r\n              Price: this.orderForm.get(\"price\").value,\r\n              TakeMarketPrice: this.isMarket,\r\n              ISMSCDBook: false,\r\n              OrderType: type == 2 ? this.sellType : 1,\r\n              ApprovedStatus: type == 1 && !this.isValidOrder ? 2 : null,\r\n              TiffFlag: this.orderForm.get(\"validTill\").value,\r\n              TiffDate: this.orderForm.get(\"tiffDate\").value,\r\n              FillFlag: this.orderForm.get(\"execRule\").value,\r\n              relationCode: this.orderForm.get(\"client\").value,\r\n              CustodianCode: this.orderForm.get(\"custodian\").value,\r\n              ISOPR: false,\r\n              DemandMethod: this.orderForm.get(\"demandMethod\").value,\r\n              MinFillVolume: this.orderForm.get(\"minFillVolume\").value,\r\n            })\r\n            .subscribe((res) => {\r\n              if (res[\"Errors\"]?.length > 0) {\r\n                this.sendingOrder = false;\r\n                this.dialog.closeAll();\r\n                this.toastr.error(\"\", this.translate.instant(res[\"Errors\"][0]), {\r\n                  timeOut: 15000,\r\n                  positionClass: \"toast-bottom-center\",\r\n                  closeButton: true,\r\n                });\r\n              } else {\r\n                this.sendingOrder = false;\r\n                this.dialog.closeAll();\r\n                this.toastr.info(\r\n                  \"\",\r\n                  this.translate.instant(\"new-order-success\"),\r\n                  {\r\n                    timeOut: 15000,\r\n                    positionClass: \"toast-bottom-center\",\r\n                    closeButton: true,\r\n                  }\r\n                );\r\n              }\r\n            });\r\n        } else if (\r\n          /* Read more about handling dismissals below */\r\n          !result.isConfirmed\r\n        ) {\r\n          this.sendingOrder = false;\r\n        }\r\n      });\r\n    }\r\n    else {\r\n      this.titleMessage =\r\n        this.translate.currentLang == \"en\"\r\n          ? \"this action not allowed\"\r\n          : \"خطأ فى الاستخدام\";\r\n    }\r\n  }\r\n\r\n  onSelectClient(relCode) {\r\n    this.isFetchingUserData = true;\r\n\r\n    //fetch Purchase Power\r\n    this.http\r\n      .get(\r\n        `${UrlConstants.backofficeUrl}/api/Client/GetClientPurchasePower?relationCode=` +\r\n        relCode\r\n      )\r\n      .subscribe((res) => {\r\n        if (res) {\r\n          this.isFetchingUserData = false;\r\n          this.clientData = res;\r\n          this.fetchMySymbols();\r\n          this.fetchCompany();\r\n        }\r\n      });\r\n\r\n    //fetch Client Custodian\r\n    this.http\r\n      .get(\r\n        `${UrlConstants.backofficeUrl}/api/Client/GetClientCustodianList?relationCode=` +\r\n        relCode\r\n      )\r\n      .subscribe((res) => {\r\n        if (res) {\r\n          this.custodianList = res;\r\n          if (!this.inputCustodian)\r\n            this.f.custodian.patchValue(this.custodianList[0].CustodianCode); // set first custodian\r\n          this.f.execRule.patchValue(0); //set regular\r\n          this.f.validTill.patchValue(0); //set today\r\n          this.f.demandMethod.patchValue(3);\r\n        }\r\n      });\r\n  }\r\n\r\n  get f() {\r\n    return this.orderForm.controls;\r\n  }\r\n\r\n  get isValidOrder() {\r\n    if (this.isMarket) return (\r\n      this.totalCost <\r\n      (this.company.CURRENCY == 2\r\n        ? this.clientData?.purchasePower?.USD\r\n        : this.clientData?.purchasePower?.EGP) && this.totalCost > 0\r\n    ); else\r\n      return (\r\n        this.orderTotal <\r\n        (this.company.CURRENCY == 2\r\n          ? this.clientData?.purchasePower?.USD\r\n          : this.clientData?.purchasePower?.EGP) && this.orderTotal > 0\r\n      );\r\n  }\r\n  get isValidOrderCost() {\r\n    if (this.isMarket) return (\r\n      this.totalCost <\r\n      (this.company.CURRENCY == 2\r\n        ? this.clientData?.purchasePower?.USD\r\n        : this.clientData?.purchasePower?.EGP) && this.totalCost > 0\r\n    );\r\n    else\r\n      return (\r\n        this.totalCost <\r\n        (this.company.CURRENCY == 2\r\n          ? this.clientData?.purchasePower?.USD\r\n          : this.clientData?.purchasePower?.EGP) && this.totalCost > 0\r\n      );\r\n  }\r\n\r\n  //Valid Till\r\n  // if (value == 0 || value == 1) {\r\n  //   tiffDate = null;\r\n  // }\r\n  // if (value == 6) {\r\n  //   DatePicker.showDatePicker(context,\r\n  //       showTitleActions: true,\r\n  //       minTime: DateTime(2019, 1, 1),\r\n  //       maxTime: DateTime.now(),\r\n  //       onConfirm: (date) {\r\n  //     setState(() {\r\n  //       tiffDate = date;\r\n  //       print(tiffDate);\r\n  //     });\r\n  //   },\r\n  //       currentTime: DateTime.now(),\r\n  //       locale: LocaleType.en);\r\n  // }\r\n\r\n  ngAfterViewInit(): void {\r\n\r\n\r\n    this.orderForm.valueChanges.subscribe((val) => {\r\n      this.orderTotal = this.orderForm.get(\"price\").value * this.orderForm.get(\"qty\").value;\r\n\r\n      this.orderFees = this.calculateFees(this.orderTotal);\r\n      this.totalCost = this.orderTotal + this.orderFees;\r\n      this.orderTotal = this.isMarket ? this.orderForm.get(\"qty\").value * this.maxLimit : this.orderTotal;\r\n      this.orderFees = this.isMarket ? this.calculateFees(this.orderForm.get(\"qty\").value * this.maxLimit) : this.orderFees;\r\n      this.totalCost = this.isMarket\r\n        ? (this.orderForm.get(\"qty\").value * this.maxLimit > 0\r\n          ? ((this.orderForm.get(\"qty\").value * this.maxLimit) + this.orderFees)\r\n          : 0)\r\n        : this.totalCost + this.orderFees;\r\n    });\r\n    this.isBuyLoading = true;\r\n    const buyInterval = setInterval(() => {\r\n      if (this.company && this.avgCommission) {\r\n        clearInterval(buyInterval);\r\n        this.isBuyLoading = false;\r\n      }\r\n    }, 100);\r\n    this.isLoading = true;\r\n    const interval = setInterval(() => {\r\n      if (this.totalCost == 0 || this.totalCost == null)\r\n        this.isLoading = false;\r\n      else if (this.company && this.avgCommission && this.myCompanies && this.clientData\r\n        && this.myShareSymbols && this.companyDetails && this.currentPortfolioCompany\r\n      ) {\r\n        clearInterval(interval);\r\n        this.orderForm.get(\"qty\").patchValue(this.initqty);\r\n        this.isLoading = false;\r\n      }\r\n    }, 100);\r\n\r\n\r\n\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.fetchCommissions();\r\n\r\n    if (this.data[\"currentUser\"] != null)\r\n      this.orderForm.get(\"client\").patchValue(this.data[\"currentUser\"]);\r\n    else this.orderForm.get(\"client\").patchValue(this.accList[0].relationCode);\r\n\r\n    if (this.sharedService.allMarketCompanies) {\r\n      this.companies = this.sharedService.allMarketCompanies;\r\n      this.onSelectClient(this.orderForm.get(\"client\").value);\r\n    } else\r\n      this.apiService.fetchAllMarketWatch().subscribe((res) => {\r\n        this.companies = res as CompanyList[];\r\n        this.onSelectClient(this.orderForm.get(\"client\").value);\r\n      });\r\n\r\n    if (this.data[\"symbol\"]) {\r\n      this.company.SYMBOL_CODE = this.data[\"symbol\"];\r\n      if (this.data[\"custodianCode\"]) {\r\n        this.inputCustodian = this.data[\"custodianCode\"];\r\n        this.f.custodian.patchValue(this.inputCustodian);\r\n      }\r\n\r\n      this.fetchCompany();\r\n      this.fetchSymbolBO();\r\n    }\r\n    if (this.data[\"price\"] != null && this.data[\"qty\"] != null) {\r\n      this.orderForm.get(\"price\").patchValue(this.data[\"price\"]);\r\n      this.orderForm.get(\"qty\").patchValue(this.data[\"qty\"]);\r\n      this.maxLimit = this.companyDetails.MaxLimit;\r\n\r\n    }\r\n\r\n\r\n\r\n    // });\r\n\r\n\r\n    this.signalService.marketChanges.subscribe((res: any) =>\r\n      res.forEach((element) => {\r\n        if (element.SYMBOL_CODE == this.company.SYMBOL_CODE) {\r\n          this.updateStockDetail(element);\r\n          this.company = element;\r\n          return;\r\n        }\r\n      })\r\n    );\r\n\r\n    if (this._marketDetail.marketNames)\r\n      this.allMarketNames = this._marketDetail.marketNames.getValue();\r\n    this._marketDetail.namesSubject.subscribe((res) => {\r\n      this.allMarketNames = res as StockDetail[];\r\n    });\r\n\r\n    this.orderForm.valueChanges.subscribe((val) => {\r\n      this.orderTotal =\r\n        this.orderForm.get(\"price\").value * this.orderForm.get(\"qty\").value;\r\n    });\r\n\r\n    this.orderForm.get(\"validTill\").valueChanges.subscribe((res) => {\r\n      if (res == \"6\") {\r\n        this.orderForm.get(\"tiffDate\").setValidators(Validators.required);\r\n        this.orderForm.get(\"tiffDate\").updateValueAndValidity();\r\n      } else if (res == \"0\" || res == \"1\") {\r\n        this.orderForm.get(\"tiffDate\").clearValidators();\r\n        this.orderForm.updateValueAndValidity();\r\n\r\n        this.orderForm.get(\"tiffDate\").patchValue(null);\r\n      }\r\n    });\r\n\r\n    this.brokerInfo = JSON.parse(localStorage.getItem(\"brokerInfo\"));\r\n\r\n  }\r\n\r\n  numberOnly(event): boolean {\r\n    const charCode = event.which ? event.which : event.keyCode;\r\n    if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n      return false;\r\n    }\r\n    return true;\r\n  }\r\n\r\n  onTabChanged(event) {\r\n    this.orderForm.reset();\r\n    this.orderForm\r\n      .get(\"client\")\r\n      .patchValue(this.data[\"currentUser\"] || this.accList[0].relationCode); // set first acc\r\n    if (!this.inputCustodian)\r\n      this.f.custodian.patchValue(this.custodianList[0].CustodianCode); // set first custodian\r\n    this.f.execRule.patchValue(0); //set regular\r\n    this.f.validTill.patchValue(0); //set today\r\n    this.f.demandMethod.patchValue(3);\r\n  }\r\n}\r\n","
\r\n
{{ \"new-order\" | translate }}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n \r\n \r\n {{ \"buy\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{ company.Reuters }}\r\n - \r\n {{\r\n translate.currentLang == \"en\"\r\n ? company.eng_shortname\r\n : company.arb_shortname\r\n }}\r\n \r\n
\r\n \r\n {{ \"company-suspended\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"last-price\" | translate }}\r\n {{\r\n company.LAST_TRADE_PRICE | number : \"1.0\" : \"en-US\"\r\n }}\r\n
\r\n \r\n
0 ? 'green' : 'red'\" style=\"text-align: end !important\">\r\n {{ company.LAST_CHANGE | number : \"1.0\" : \"en-US\" }} ({{\r\n company.LAST_CHANGE_PRC | number : \"1.0\" : \"en-US\"\r\n }}%)\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ \"min-limit\" | translate }}: {{ companyDetails?.MinLimit }}\r\n
\r\n
\r\n {{ \"max-limit\" | translate }}: {{ companyDetails?.MaxLimit }}\r\n
\r\n
\r\n
\r\n
\r\n {{ \"best-bid\" | translate }}:\r\n {{ company.BID_PRICE | number : \"1.0\" : \"en-US\" }} /\r\n {{ company.BID_VOLUME | number : \"1.0\" : \"en-US\" }}\r\n
\r\n
\r\n {{ \"best-ask\" | translate }}:\r\n {{ company.ASK_PRICE | number : \"1.0\" : \"en-US\" }} /\r\n {{ company.ASK_VOLUME | number : \"1.0\" : \"en-US\" }}\r\n
\r\n
\r\n
\r\n
\r\n {{ \"close-price\" | translate }}:\r\n {{ company.CLOSE_PRICE | number : \"1.0\" : \"en-US\" }}\r\n
\r\n
\r\n {{ \"sameday-qty\" | translate }}:\r\n {{ companyDetails?.SameDayQty | number }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"select-account\" | translate }}\r\n
\r\n
\r\n \r\n \r\n ({{acc.relationCode}}) {{translate.currentLang=='en'?acc.clientNameEn:acc.clientNameAr}}\r\n \r\n \r\n
\r\n
You must select client
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n You must select client\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n {{\r\n translate.currentLang == \"en\"\r\n ? \" Collateral: \" +\r\n companyDetails.MarginPercentage +\r\n \"%\" +\r\n \"\\n\" +\r\n \"Max. allowed amount: \" +\r\n investmentData.investmentAmount +\r\n (company.CURRENCY == 1 ? \"EGP\" : \"USD\") +\r\n \"\\n\"+\r\n \"Current Weight: \" +\r\n investmentData.currentWeight +\r\n \"%, Max Weight: \" +\r\n investmentData.targetWeight * 100 +\r\n \"%\"\r\n :\" ضمانه السهم: \" +\r\n companyDetails.MarginPercentage +\r\n \"%\" +\r\n \"\\n\" +\r\n \"اقصي قيمة للتمويل: \" +\r\n investmentData.investmentAmount +\r\n (company.CURRENCY == 1 ? \" جم \" : \" دولار \") +\r\n \"\\n\"+\r\n \"اقصي\r\n وزن مسموح: \" +\r\n investmentData?.targetWeight * 100 +\r\n \"% \" +\r\n \" الوزن الحالى: \" +\r\n investmentData?.currentWeight +\r\n \"%\" +\r\n \"\\n\"\r\n\r\n\r\n\r\n\r\n }}\r\n\r\n \r\n {{translate.currentLang == \"en\"\r\n ? \"\\n\" +\"Financing not allowed\":\"لا يمكن التمويل\"}}\r\n \r\n \r\n \r\n\r\n
\r\n \r\n {{\r\n translate.currentLang == \"en\"\r\n ? \"You cannot buy this stock using market price!\"\r\n :\"لا يمكنك شراء هذا السهم بسعر السوق!\"\r\n }}\r\n \r\n \r\n \r\n
\r\n \r\n {{\r\n \"limit-price\" | translate\r\n }}\r\n {{\r\n \"market-price\" | translate\r\n }}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{\r\n \"qty\" | translate\r\n }}\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n {{ \"price\" | translate }}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ \"price\" | translate }}\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n {{ \"purchase-power\" | translate }} \r\n \r\n
\r\n {{ clientData.purchasePower.EGP | currency : \"EGP\" }}\r\n
\r\n \r\n {{ clientData.purchasePower.USD | currency : \"USD\" }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n\r\n\r\n\r\n\r\n \r\n
0 || (isMarket && totalCost > 0)\"> \r\n \r\n {{ \"order-value\" | translate }}\r\n \r\n
\r\n \r\n \r\n\r\n {{ orderTotal | number : \"1.2-2\" : \"en-US\" }}\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
0 || (isMarket && totalCost > 0)\"> \r\n \r\n {{ \"order-fees\" | translate }}\r\n \r\n
\r\n \r\n {{ orderFees | number : \"1.2-2\" : \"en-US\" }}\r\n \r\n
\r\n\r\n\r\n \r\n
0 || (isMarket && totalCost > 0)\"> \r\n \r\n {{ 'total-cost' | translate }} \r\n \r\n
\r\n \r\n {{ totalCost | number: '1.2-2' : 'en-US' }}\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n
0)&& !isLoading)\" class=\"text-danger text-center\">\r\n {{ 'order-value-exceeded-purchase' | translate }}\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
{{ \"custodian\" | translate }}
\r\n \r\n
\r\n
\r\n You must select custodian\r\n
\r\n
\r\n
\r\n
\r\n
{{ \"exec-rule\" | translate }}
\r\n \r\n
\r\n
\r\n You must select exec rule\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
{{ \"valid-till\" | translate }}
\r\n \r\n
\r\n {{\r\n translate.currentLang == \"en\"\r\n ? \"Margin clien cannot change validity\"\r\n : \"لا يمكن لعملاء الهامش تغيير صلاحيتهم\"\r\n }}\r\n
\r\n
\r\n
\r\n You must select valid till\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
{{ \"demand-method\" | translate }}
\r\n \r\n
\r\n
\r\n You must select demand method\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
{{ \"select-date\" | translate }}
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ \"sell\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{ company.Reuters }}\r\n - \r\n {{\r\n translate.currentLang == \"en\"\r\n ? company.eng_shortname\r\n : company.arb_shortname\r\n }}\r\n \r\n
\r\n \r\n {{ \"company-suspended\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"last-price\" | translate }}\r\n {{\r\n company.LAST_TRADE_PRICE | number : \"1.0\" : \"en-US\"\r\n }}\r\n
\r\n \r\n
0 ? 'green' : 'red'\" style=\"text-align: end !important\">\r\n {{ company.LAST_CHANGE | number : \"1.0\" : \"en-US\" }} ({{\r\n company.LAST_CHANGE_PRC | number : \"1.0\" : \"en-US\"\r\n }}%)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"min-limit\" | translate }}: {{ companyDetails?.MinLimit }}\r\n
\r\n
\r\n {{ \"max-limit\" | translate }}: {{ companyDetails?.MaxLimit }}\r\n
\r\n
\r\n
\r\n
\r\n {{ \"best-bid\" | translate }}:\r\n {{ company.BID_PRICE | number : \"1.0\" : \"en-US\" }} /\r\n {{ company.BID_VOLUME | number : \"1.0\" : \"en-US\" }}\r\n
\r\n
\r\n {{ \"best-ask\" | translate }}:\r\n {{ company.ASK_PRICE | number : \"1.0\" : \"en-US\" }} /\r\n {{ company.ASK_VOLUME | number : \"1.0\" : \"en-US\" }}\r\n
\r\n
\r\n
\r\n
\r\n {{ \"close-price\" | translate }}:\r\n {{ company.CLOSE_PRICE | number : \"1.0\" : \"en-US\" }}\r\n
\r\n
\r\n {{ \"sameday-qty\" | translate }}\r\n {{ companyDetails?.SameDayQty | number }}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ \"select-account\" | translate }}
\r\n
\r\n
\r\n \r\n \r\n ({{acc.relationCode}}) {{translate.currentLang=='en'?acc.clientNameEn:acc.clientNameAr}}\r\n \r\n \r\n
\r\n
You must select client
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{\r\n \"settled\" | translate\r\n }}\r\n T+0\r\n T+1\r\n \r\n
\r\n
\r\n {{ settledQty | number : \"1.0\" : \"en-US\" }}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n {{\r\n \"limit-price\" | translate\r\n }}\r\n {{\r\n \"market-price\" | translate\r\n }}\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{\r\n \"qty\" | translate\r\n }}\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n {{ \"price\" | translate }}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ \"MKT\" | translate }}\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
0 && !isMarket\">\r\n {{ \"order-value-hint\" | translate }}:\r\n {{ orderTotal | number : \"1.2-2\" : \"en-US\" }}\r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
{{ \"custodian\" | translate }}
\r\n \r\n
\r\n
\r\n You must select custodian\r\n
\r\n
\r\n
\r\n
\r\n
{{ \"exec-rule\" | translate }}
\r\n \r\n
\r\n
\r\n You must select exec rule\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
{{ \"valid-till\" | translate }}
\r\n \r\n
\r\n
\r\n You must select valid till\r\n
\r\n
\r\n
\r\n\r\n
\r\n
{{ \"demand-method\" | translate }}
\r\n \r\n
\r\n
\r\n You must select demand method\r\n
\r\n
\r\n
\r\n\r\n \r\n Choose a date\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","import { UrlConstants } from \"./../models/urlConstants\";\r\nimport { CompanyList } from \"./../models/company-list\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\nimport { Subject } from \"rxjs\";\r\nimport {\r\n HubConnection,\r\n HubConnectionBuilder,\r\n LogLevel,\r\n} from \"@microsoft/signalr\";\r\nimport * as signalR from \"@microsoft/signalr\";\r\n\r\nexport class ErrorMessages {\r\n public static ErrMsgNoOptions: string =\r\n \"Connection options not found. An options is required to connect to a SignalR Hub\";\r\n public static ErrMsgNoUrl: string = \"SignalR server URL not found.\";\r\n public static ErrMsgNoHubName: string = \"Hub name not found.\";\r\n public static ErrMsgNojQuery: string =\r\n \"jQuery not found. Ng2SignalRClientService requires jQuery. Ensure that jQuery is installed and available.\";\r\n public static ErrMsgNoSignalR: string =\r\n \"SignalR not found. Ng2SignalRClientService requires SignalR. Ensure that SignalR is installed and available.\";\r\n}\r\n\r\n@Injectable()\r\nexport class SignalRService {\r\n private marketWatchConnection: HubConnection;\r\n private tradesConnection: HubConnection;\r\n private depthConnection: HubConnection;\r\n\r\n orderChanges: Subject = new Subject();\r\n tradeChanges: Subject = new Subject();\r\n marketChanges: Subject = new Subject();\r\n depthChanges: Subject = new Subject();\r\n summaryChanges: Subject = new Subject();\r\n newsChanges: Subject = new Subject();\r\n marketStatusChanges: Subject = new Subject();\r\n\r\n constructor() {}\r\n\r\n connectMarketWatch() {\r\n this.marketWatchConnection = new HubConnectionBuilder()\r\n .withUrl(UrlConstants.newSignalR + \"/marketwatchHub\", {\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets,\r\n })\r\n .build();\r\n\r\n this.marketWatchConnection\r\n .start()\r\n .then(() => {\r\n this.marketWatchConnection.on(\"sendMarketFeed\", (update) => {\r\n this.marketChanges.next(update);\r\n });\r\n this.marketWatchConnection.on(\"SendMarketSummary\", (update) => {\r\n this.summaryChanges.next(update);\r\n });\r\n this.marketWatchConnection.on(\"SendNewsFeed\", (update) => {\r\n this.newsChanges.next(update);\r\n });\r\n })\r\n .catch( );\r\n }\r\n\r\n connectTradesUpdates() {\r\n this.tradesConnection = new HubConnectionBuilder()\r\n .withUrl(UrlConstants.newSignalR + \"/tradesHub\", {\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets,\r\n })\r\n .build();\r\n\r\n this.tradesConnection\r\n .start()\r\n .then(() =>\r\n this.tradesConnection.on(\"sendTrades\", (update) => {\r\n this.tradeChanges.next(update);\r\n })\r\n )\r\n .catch();\r\n }\r\n\r\n // connectBidsAsksUpdates() {\r\n // this.depthConnection = new HubConnectionBuilder()\r\n // .withUrl(\"https://feedsignalr.egitdns.net/bidsAsksHub\", {\r\n // skipNegotiation: true,\r\n // transport: signalR.HttpTransportType.WebSockets,\r\n // })\r\n // .build();\r\n\r\n // this.depthConnection\r\n // .start()\r\n // .then(() =>\r\n // this.depthConnection.on(\"sendBidsAsks\", (update) => {\r\n // this.depthChanges.next(update);\r\n // })\r\n // )\r\n // \r\n // }\r\n\r\n public invoke() {}\r\n\r\n public disconnectMwSignalr() {\r\n if (this.marketWatchConnection) this.marketWatchConnection.stop();\r\n }\r\n\r\n public disconnectTradesSignalr() {\r\n if (this.tradesConnection) this.tradesConnection.stop();\r\n }\r\n}\r\n","/* (ignored) */","import { Injectable } from \"@angular/core\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { filter } from \"rxjs/operators\";\r\nimport { Alert, AlertType } from \"../models/alert\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AlertService {\r\n private subject = new Subject();\r\n private defaultId = \"default-alert\";\r\n\r\n // enable subscribing to alerts observable\r\n onAlert(id = this.defaultId): Observable {\r\n return this.subject.asObservable().pipe(filter((x) => x && x.id === id));\r\n }\r\n\r\n // convenience methods\r\n success(message: string, options?: any) {\r\n this.alert(new Alert({ ...options, type: AlertType.Success, message }));\r\n }\r\n\r\n error(message: string, options?: any) {\r\n this.alert(new Alert({ ...options, type: AlertType.Error, message }));\r\n }\r\n\r\n info(message: string, options?: any) {\r\n this.alert(new Alert({ ...options, type: AlertType.Info, message }));\r\n }\r\n\r\n warn(message: string, options?: any) {\r\n this.alert(new Alert({ ...options, type: AlertType.Warning, message }));\r\n }\r\n\r\n // main alert method\r\n alert(alert: Alert) {\r\n alert.id = alert.id || this.defaultId;\r\n this.subject.next(alert);\r\n }\r\n\r\n // clear alerts\r\n clear(id = this.defaultId) {\r\n this.subject.next(new Alert({ id }));\r\n }\r\n}\r\n","var map = {\n\t\"./igc-button-component_20.entry.js\": [\n\t\t\"bbhR\",\n\t\t0\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"3LVs\";\nmodule.exports = webpackAsyncContext;","import { ChangeDetectorRef, Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { Account, ClientData } from 'src/app/screens/user-profile/client-data';\r\nimport { UrlConstants } from 'src/app/models/urlConstants';\r\nimport {\r\n SignalRConfiguration,\r\n BroadcastEventListener,\r\n SignalR,\r\n ISignalRConnection,\r\n} from \"ng2-signalr\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { MatStepper } from '@angular/material/stepper';\r\n\r\n\r\ninterface PurchasePower {\r\n EGP: number;\r\n USD: number;\r\n Rated: number;\r\n}\r\n\r\n\r\ninterface BlockingAmount {\r\n curr: string;\r\n bookbalance: number;\r\n activebalance: number;\r\n availablebalance: number;\r\n AvailableBalanceForWithdrow: number;\r\n availablebalancefortransfer: number;\r\n ChecksUnderCollection: number;\r\n blkAmt: number;\r\n withHeldAmt: number;\r\n netAsset: number;\r\n crdLmt: number;\r\n penSell: number;\r\n penSellCommission: number;\r\n mrgLmt: number;\r\n dayCashMar: number;\r\n pendBuy: number;\r\n MarginCustodian: number;\r\n}\r\n\r\ninterface PurchasePowerResponse {\r\n purchasePower: PurchasePower;\r\n BlockingAmount: BlockingAmount[];\r\n MarginPosition: any;\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-ipo-acc-order-modal',\r\n templateUrl: './ipo-acc-order-modal.component.html',\r\n styleUrls: ['./ipo-acc-order-modal.component.scss']\r\n})\r\nexport class IpoAccOrderModalComponent implements OnInit {\r\n lang: string;\r\n isBuy: boolean = false;\r\n isIpo: boolean = false;\r\n clientsAccount: Account[];\r\n accountSelected: boolean = false;\r\n accounts: number[] = [1, 2, 3];\r\n typeSelected: string = null;\r\n type: string = 'success';\r\n selectedAccount: any | null = null;\r\n custodianList: any;\r\n IPOdetails: any;\r\n purchasePower: any;\r\n EgpPurchasePower: any;\r\n UsdPurchasePower: any;\r\n IPOBalanceEGP: any;\r\n IPOBalanceUSD: any;\r\n maxQuantiyEGP: any;\r\n maxQuantiyUSD: any;\r\n isMaxPressed: boolean;\r\n quantityControl = new FormControl('', [\r\n Validators.required,\r\n Validators.pattern(/^-?\\d*$/)\r\n ])\r\n orderTotal\r\n avgCommission: number;\r\n minCommission: number;\r\n minCommissionUSD: number;\r\n orderValue: number;\r\n orderFees: number;\r\n totalCost: number;\r\n inputValue: number;\r\n userPortfolio: ClientData;\r\n maxQuantity;\r\n selectedCurr = \"Rated\";\r\n selectedAccountRealtionCode;\r\n selectedAcccountNewPP;\r\n numberOfAccounts: number = 0;\r\n accList: any;\r\n selectedIndex;\r\n Quantity;\r\n errorMessage;\r\n inputCustodian: number;\r\n sendingOrder: boolean = false;\r\n isSendingOrder: boolean = false;\r\n isLoading: boolean = false;\r\n currentDate: string;\r\n isStep1Completed: boolean = false;\r\n isStep2Completed: boolean = false;\r\n notEntered: boolean = false;\r\n minQtyIndividual: number;\r\n maxQtyIndividual: number;\r\n isLessThanMin: boolean = false;\r\n isMoreThanMax: boolean = false;\r\n\r\n\r\n\r\n private portfolioConnection: ISignalRConnection;\r\n\r\n\r\n constructor(\r\n\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n private signalR: SignalR,\r\n public translate: TranslateService,\r\n public dialog: MatDialog,\r\n private cdr: ChangeDetectorRef,\r\n private _service: ApiService,\r\n public dialogRef: MatDialogRef,\r\n private http: HttpClient,\r\n private apiService: ApiService,\r\n private toastr: ToastrService,\r\n private datePipe: DatePipe\r\n ) {\r\n this.lang = this.translate.currentLang\r\n this.isBuy = this.data['isBuy']\r\n this.clientsAccount = this.data['accounts'];\r\n this.IPOdetails = this.data['IPO'];\r\n this.minQtyIndividual = this.IPOdetails.MinQtyIndividual;\r\n this.maxQtyIndividual = this.IPOdetails.MaxQtyIndividual;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.fetchAccounts();\r\n this.fetchCommissions();\r\n this.quantityControl.valueChanges.subscribe((value) => {\r\n this.handleQuantityChange(value);\r\n });\r\n\r\n\r\n if (this.accList.length == 1) {\r\n this.selectAccount(null, this.accList[0]);\r\n }\r\n // this.orderForm.valueChanges.subscribe((val) => {\r\n // this.orderTotal =\r\n // this.IPOdetails.StockPrice * this.orderForm.get(\"qty\").value;\r\n // });\r\n\r\n }\r\n get currenciedPP() {\r\n try {\r\n return this.userPortfolio.PurchasePower.purchasePower.Rated;\r\n } catch (error) { }\r\n }\r\n\r\n get currenciedPortfolio() {\r\n switch (this.selectedCurr) {\r\n case \"EGP\":\r\n return this.userPortfolio?.Portfolio.EGPPortfolio;\r\n case \"Rated\":\r\n return this.userPortfolio?.Portfolio.RatedPortfolio;\r\n case \"USD\":\r\n return this.userPortfolio?.Portfolio.USDPortfolio;\r\n }\r\n }\r\n initPortfolioSignalR() {\r\n // First, check if accList is populated\r\n if (!this.accList || this.accList.length === 0) {\r\n return;\r\n }\r\n\r\n // Log accList to ensure it's populated\r\n\r\n // Check if selectedAccount is defined and valid\r\n if (!this.selectedAccount.relationCode) {\r\n return;\r\n }\r\n\r\n // Find the account in accList that matches the selectedAccount relationCode\r\n let account = this.accList.find(item => item.relationCode === this.selectedAccount.relationCode);\r\n\r\n if (account) {\r\n // Log account data to ensure it contains ExchangeCode\r\n\r\n // Extract the exchangeCode from the found account\r\n let exchangeCode = account.ExchangeCode;\r\n\r\n // Ensure exchangeCode is valid before proceeding\r\n if (!exchangeCode) {\r\n return;\r\n }\r\n\r\n // Setup SignalR configuration\r\n let config: SignalRConfiguration = new SignalRConfiguration();\r\n config.url = UrlConstants.backofficeUrl;\r\n config.hubName = 'ordersHub';\r\n config.logging = false;\r\n\r\n // Establish SignalR connection\r\n this.signalR.connect(config).then((res) => {\r\n this.portfolioConnection = res;\r\n\r\n // Join the SignalR group with the exchangeCode\r\n this.portfolioConnection.invoke('JoinGroup', exchangeCode);\r\n\r\n // Set up listener for portfolio updates\r\n let method = new BroadcastEventListener('UpdatePortfolio');\r\n this.portfolioConnection.listen(method);\r\n method.subscribe((update) => {\r\n // Handle portfolio updates (fetch new data)\r\n this.fetchUserPortfolio();\r\n });\r\n\r\n // Handle errors during the connection\r\n this.portfolioConnection.errors.subscribe((res) => {\r\n this.initPortfolioSignalR(); // Retry connecting if there's an error\r\n });\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n openFundAccount() {\r\n this.dialogRef.close();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n\r\n\r\n // this.orderForm.valueChanges.subscribe((val) => {\r\n // this.orderTotal = this.IPOdetails.StockPrice * this.orderForm.get(\"qty\").value;\r\n // this.orderFees = this.calculateFees(this.orderTotal);\r\n // this.totalCost = this.orderTotal + this.orderFees ;\r\n\r\n // });\r\n }\r\n\r\n\r\n get isValidOrder() {\r\n return (\r\n this.orderTotal <\r\n (this.IPOdetails.CurrencyId == 2\r\n ? this.IPOBalanceUSD\r\n : this.IPOBalanceEGP) && this.orderTotal > 0\r\n );\r\n }\r\n\r\n selectAccount(stepper: any, acc: any) {\r\n this.accountSelected = true;\r\n this.selectedAccount = acc;\r\n this.selectedIndex = this.accList.findIndex(account => account === acc);\r\n\r\n //this.isLoading = true;\r\n\r\n this.fetchUserPortfolio(this.selectedAccount)\r\n .then(() => {\r\n this.isLoading = false;\r\n this.cdr.detectChanges();\r\n stepper.next();\r\n })\r\n .catch((error) => {\r\n this.isLoading = false;\r\n this.cdr.detectChanges();\r\n });\r\n\r\n // this.getUserPurchasePower(this.selectedAccount.relationCode).then(() => {\r\n // this.cdr.detectChanges();\r\n // this.handleQuantityChange('0');\r\n // this.calculateMaxQuantity(false);\r\n // this.isLoading=false;\r\n\r\n // }).catch((error) => {\r\n // }); \r\n }\r\n\r\n\r\n calculateMaxQuantity(clicked: boolean) {\r\n const Balance = this.IPOdetails.CurrencyId == 1 ? this.IPOBalanceEGP : this.IPOBalanceUSD;\r\n let maxQuantity = Math.floor(Balance / this.IPOdetails.StockPrice);\r\n\r\n while (maxQuantity > 0) {\r\n const orderValue = maxQuantity * this.IPOdetails.StockPrice;\r\n const fees = this.calculateFees(orderValue);\r\n const totalCost = orderValue + fees;\r\n\r\n if (totalCost <= Balance) {\r\n break;\r\n }\r\n maxQuantity--;\r\n }\r\n this.maxQuantiyEGP = this.IPOdetails.CurrencyId == 1 ? maxQuantity : this.maxQuantiyEGP;\r\n this.maxQuantiyUSD = this.IPOdetails.CurrencyId != 1 ? maxQuantity : this.maxQuantiyUSD;\r\n this.cdr.detectChanges();\r\n if (clicked) {\r\n this.handleQuantityChange(maxQuantity.toString());\r\n }\r\n }\r\n\r\n\r\n OrderCalculate() {\r\n this.orderValue = this.Quantity * this.IPOdetails.StockPrice\r\n\r\n }\r\n validateInput() {\r\n // Ensure inputValue is an integer\r\n this.inputValue = Math.floor(this.inputValue);\r\n\r\n // If the input is less than 1, set it to 1\r\n if (this.inputValue < 1) {\r\n this.inputValue = 1;\r\n this.errorMessage = \"The min value is 1\";\r\n }\r\n\r\n // If the input exceeds the maxQuantity, set it to maxQuantity\r\n if (this.inputValue > this.maxQuantity) {\r\n this.inputValue = this.maxQuantity;\r\n this.errorMessage = \"This value exceed max value\";\r\n\r\n }\r\n\r\n }\r\n\r\n calculateOrderValue() {\r\n this.orderValue = this.inputValue * this.IPOdetails.StockPrice\r\n\r\n return this.orderValue\r\n\r\n }\r\n\r\n\r\n\r\n\r\n fetchUserPortfolio(selectedAcc?): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (selectedAcc) {\r\n this.selectedAccountRealtionCode = selectedAcc.relationCode;\r\n }\r\n\r\n if (!this.selectedAccountRealtionCode) {\r\n reject('Invalid selected account or relationCode');\r\n return;\r\n }\r\n\r\n this.http\r\n .get(`${UrlConstants.backofficeUrl}/api/Client/GetClientInformation?relationCode=${this.selectedAccountRealtionCode}`)\r\n .subscribe(\r\n (res) => {\r\n this.userPortfolio = res as ClientData;\r\n this.EgpPurchasePower = this.userPortfolio.PurchasePower.purchasePower.EGP || 0;\r\n this.UsdPurchasePower = this.userPortfolio.PurchasePower.purchasePower.USD || 0;\r\n this.IPOBalanceEGP = this.IPOdetails.PaidPer === 0 ? this.EgpPurchasePower : this.EgpPurchasePower * (100 / this.IPOdetails.PaidPer);\r\n this.IPOBalanceUSD = this.IPOdetails.PaidPer === 0 ? this.UsdPurchasePower : this.UsdPurchasePower * (100 / this.IPOdetails.PaidPer);\r\n this.IPOBalanceEGP = this.IPOBalanceEGP < 0 ? 0 : this.IPOBalanceEGP;\r\n this.IPOBalanceUSD = this.IPOBalanceUSD < 0 ? 0 : this.IPOBalanceUSD;\r\n this.calculateMaxQuantity(false);\r\n // Fetch custodian list\r\n this.http\r\n .get(`${UrlConstants.backofficeUrl}/api/Client/GetClientCustodianList?relationCode=${this.selectedAccountRealtionCode}`)\r\n .subscribe(\r\n (custodianRes) => {\r\n if (custodianRes) {\r\n this.custodianList = custodianRes;\r\n if (!this.inputCustodian) {\r\n this.f.custodian.patchValue(this.custodianList[0].CustodianCode);\r\n }\r\n this.f.execRule.patchValue(0);\r\n this.f.validTill.patchValue(0);\r\n }\r\n resolve(); // Resolve after both calls succeed\r\n },\r\n (custodianErr) => {\r\n reject(custodianErr); // Reject on custodian fetch error\r\n }\r\n );\r\n },\r\n (err) => {\r\n reject(err); // Reject on user portfolio fetch error\r\n }\r\n );\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n getUserPurchasePower(relationCode: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this._service.fetchPurchasePower(relationCode).subscribe(\r\n (response: PurchasePowerResponse) => {\r\n if (response && response.purchasePower) {\r\n this.purchasePower = response.purchasePower;\r\n this.EgpPurchasePower = this.purchasePower.EGP || 0;\r\n this.UsdPurchasePower = this.purchasePower.USD || 0;\r\n this.IPOBalanceEGP = this.EgpPurchasePower * (100 / this.IPOdetails.PaidPer);\r\n this.IPOBalanceUSD = this.UsdPurchasePower * (100 / this.IPOdetails.PaidPer);\r\n this.IPOBalanceEGP = this.IPOBalanceEGP < 0 ? 0 : this.IPOBalanceEGP;\r\n this.IPOBalanceUSD = this.IPOBalanceUSD < 0 ? 0 : this.IPOBalanceUSD;\r\n resolve();\r\n } else {\r\n reject('Invalid response structure');\r\n }\r\n },\r\n (error) => {\r\n reject(error);\r\n }\r\n );\r\n });\r\n }\r\n fetchCommissions() {\r\n this.http.get(`${UrlConstants.backofficeUrl}/api/Settings/GetConfiguredCommissions`)\r\n .subscribe((res) => {\r\n this.avgCommission = res.AvgCommission;\r\n this.minCommission = res.MinCommission;\r\n this.minCommissionUSD = res.MinCommissionUSD;\r\n });\r\n\r\n\r\n }\r\n calculateFees(orderValue) {\r\n let feePercentage = this.avgCommission;\r\n\r\n if (orderValue == 0) {\r\n feePercentage == 0;\r\n }\r\n\r\n let totalFees = orderValue * feePercentage;\r\n\r\n if (this.IPOdetails.CurrencyId == 1) {\r\n if (totalFees < this.minCommission) {\r\n totalFees = this.minCommission;\r\n }\r\n } else {\r\n if (totalFees < this.minCommissionUSD) {\r\n totalFees = this.minCommissionUSD;\r\n }\r\n }\r\n\r\n return totalFees;\r\n }\r\n\r\n fetchAccounts() {\r\n this.apiService.fetchAccounts().subscribe(\r\n (res: { accountType: number; relationCode: string; clientNameAr: string; accountTypeAr: string; }[]) => {\r\n if (res) {\r\n this.accList = res.filter(acc => acc.accountType === 0 || acc.accountType === 1001);\r\n if (this.accList.length > 0) {\r\n this.selectedAccount = this.accList[0];\r\n this.selectAccount(null, this.selectedAccount)\r\n }\r\n this.numberOfAccounts = this.accList.length;\r\n }\r\n },\r\n (err) => {\r\n }\r\n );\r\n }\r\n\r\n\r\n handleQuantityChange(value: string): void {\r\n const filteredValue = value.replace(/[^0-9]/g, ''); // Remove all non-digit characters\r\n\r\n if (filteredValue !== value) {\r\n this.quantityControl.setValue(filteredValue, { emitEvent: false });\r\n return;\r\n }\r\n\r\n if (filteredValue !== value) {\r\n this.quantityControl.setValue(filteredValue, { emitEvent: false });\r\n return;\r\n }\r\n if (this.minQtyIndividual !== 0) {\r\n if (parseFloat(filteredValue) < this.minQtyIndividual) {\r\n this.isLessThanMin = true;\r\n } else {\r\n this.isLessThanMin = false;\r\n }\r\n }\r\n if (this.maxQtyIndividual !== 0) {\r\n if (parseFloat(filteredValue) > this.maxQtyIndividual) {\r\n this.isMoreThanMax = true;\r\n } else {\r\n this.isMoreThanMax = false;\r\n }\r\n }\r\n\r\n const trimmedValue = filteredValue.replace(/^0+/, '') || '';\r\n this.quantityControl.setValue(trimmedValue, { emitEvent: false });\r\n\r\n this.orderValue = parseFloat((this.IPOdetails.StockPrice * parseFloat(trimmedValue)).toFixed(2));\r\n this.orderValue = isNaN(this.orderValue) || this.orderValue < 0 ? 0 : this.orderValue;\r\n\r\n this.orderFees = parseFloat(this.calculateFees(this.orderValue).toFixed(2));\r\n this.orderFees = isNaN(this.orderFees) || this.orderFees < 0 ? 0 : this.orderFees;\r\n\r\n this.orderTotal = parseFloat((this.orderValue + this.orderFees).toFixed(2));\r\n this.orderTotal = isNaN(this.orderTotal) || this.orderTotal < 0 ? 0 : this.orderTotal;\r\n }\r\n\r\n\r\n selectType(stepper: any, event: any, type: string) {\r\n this.typeSelected = type;\r\n this.cdr.detectChanges();\r\n stepper.next();\r\n const TARGET = event.currentTarget as HTMLElement;\r\n var tabs = document.querySelectorAll('.tab-card');\r\n tabs.forEach(i => i.classList.remove('selectedType'));\r\n let element = document.getElementById(TARGET.id);\r\n element?.classList.add('selectedType');\r\n\r\n }\r\n\r\n createOrder(stepper: any) {\r\n this.currentDate = this.datePipe.transform(new Date(), 'dd-MM-yyyy hh:mm a');\r\n\r\n if (!this.isValidOrder && this.orderValue > 0 && this.quantityControl.value > 0 && !this.isLoading) {\r\n this.isStep1Completed = false;\r\n this.stopNavigation(stepper);\r\n this.cdr.detectChanges();\r\n } else {\r\n this.isStep1Completed = true;\r\n this.cdr.detectChanges();\r\n setTimeout(() => {\r\n stepper.next();\r\n }, 0);\r\n }\r\n }\r\n\r\n\r\n submitOrder(stepper: any) {\r\n this.sendOrder(stepper);\r\n //stepper.next();\r\n }\r\n\r\n closeModal() {\r\n this.dialogRef.close();\r\n }\r\n custodianName(value) {\r\n return this.custodianList.find((item) => item.CustodianCode == value)\r\n .CustodianNameE;\r\n }\r\n\r\n stopNavigation(stepper: any) {\r\n const currentStepIndex = stepper.selectedIndex;\r\n stepper.selectedIndex = currentStepIndex;\r\n }\r\n\r\n\r\n\r\n\r\n sendOrder(stepper: any) {\r\n\r\n // Ensure precision for order total\r\n this.orderTotal = parseFloat(this.orderTotal.toFixed(2));\r\n\r\n // Validate purchase power\r\n if (\r\n (this.IPOdetails.CurrencyId === 1 && this.IPOBalanceEGP > this.orderTotal) ||\r\n (this.IPOdetails.CurrencyId === 2 && this.IPOBalanceUSD > this.orderTotal)\r\n ) {\r\n this.sendingOrder = true; \r\n this.isSendingOrder=true;\r\n\r\n const orderPayload = {\r\n SymbolCode: this.IPOdetails.SymbolCode,\r\n Qty: this.quantityControl.value,\r\n Price: this.IPOdetails.StockPrice,\r\n Remark: \"OPR\",\r\n TakeMarketPrice: true,\r\n ISMSCDBook: false,\r\n OrderType: 1,\r\n TiffFlag: 1,\r\n TiffDate: this.orderForm.get(\"tiffDate\").value,\r\n FillFlag: this.orderForm.get(\"execRule\").value,\r\n relationCode: this.selectedAccount.relationCode,\r\n CustodianCode: this.orderForm.get(\"custodian\").value,\r\n ISOPR: true,\r\n MinFillVolume: this.orderForm.get(\"minFillVolume\").value,\r\n };\r\n\r\n // Send API request\r\n this.http.post(`${UrlConstants.backofficeUrl}/api/Orders/PostOrder`, orderPayload).subscribe({\r\n next: (res) => {\r\n if (res[\"Errors\"]?.length > 0) {\r\n this.sendingOrder = false;\r\n this.isSendingOrder = false;\r\n this.toastr.error(\"\", this.translate.instant(res[\"Errors\"][0]), {\r\n timeOut: 15000,\r\n positionClass: \"toast-bottom-center\",\r\n closeButton: true,\r\n });\r\n } else {\r\n this.sendingOrder = true;\r\n this.isSendingOrder = false;\r\n this.toastr.info(\"\", this.translate.instant(\"new-order-success\"), {\r\n timeOut: 15000,\r\n positionClass: \"toast-bottom-center\",\r\n closeButton: true,\r\n });\r\n this.cdr.detectChanges();\r\n this.isStep2Completed = true;\r\n setTimeout(() => {\r\n stepper.next();\r\n }, 0);\r\n }\r\n },\r\n error: (err) => {\r\n this.sendingOrder = false;\r\n this.isSendingOrder = false;\r\n this.toastr.error(\"\", this.translate.instant(\"order-failure\"), {\r\n timeOut: 15000,\r\n positionClass: \"toast-bottom-center\",\r\n closeButton: true,\r\n });\r\n this.cdr.detectChanges();\r\n this.isStep2Completed = false;\r\n },\r\n });\r\n } else {\r\n this.toastr.warning(\"\", this.translate.instant(\"insufficient-funds\"), {\r\n timeOut: 15000,\r\n positionClass: \"toast-bottom-center\",\r\n closeButton: true,\r\n });\r\n }\r\n }\r\n\r\n\r\n get f() {\r\n return this.orderForm.controls;\r\n }\r\n orderForm = new FormGroup({\r\n client: new FormControl(\"\", Validators.required),\r\n qty: new FormControl(\"\", Validators.required),\r\n price: new FormControl(\"\", Validators.required),\r\n custodian: new FormControl(\"\", Validators.required),\r\n execRule: new FormControl(\"\", Validators.required),\r\n validTill: new FormControl(\"\", Validators.required),\r\n tiffDate: new FormControl(),\r\n tiffFlag: new FormControl(),\r\n minFillVolume: new FormControl(),\r\n });\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n \r\n X\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n 0\"\r\n appDisableLabelClick\r\n [linear]=\"true\"\r\n #stepper\r\n >\r\n 1\"\r\n [completed]=\"accountSelected\"\r\n [label]=\"'ChooseAccount' | translate\"\r\n >\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n \r\n {{ \"IPOAlertTitle\" | translate }}\r\n \r\n
\r\n \r\n {{ \"IPOAlertText\" | translate }}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ lang == \"ar\" ? acc?.clientNameAr : acc?.clientNameEn }}\r\n
\r\n
\r\n \r\n {{ acc?.relationCode }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{\r\n lang == \"ar\" ? acc?.accountTypeAr : acc?.accountTypeEn\r\n }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n {{ lang == \"ar\" ? IPOdetails.NameAr : IPOdetails.NameEn }}\r\n
\r\n
\r\n {{ \"buy\" | translate }}\r\n \r\n {{\r\n translate.currentLang == \"en\"\r\n ? IPOdetails.NameEn\r\n : IPOdetails.NameAr\r\n }}\r\n @\r\n {{\r\n IPOdetails.StockPrice | number : \"1.2-2\" | numberFormat\r\n }}\r\n {{\r\n IPOdetails.CurrencyId == 1\r\n ? translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n : translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n }}\r\n
\r\n
\r\n {{\r\n translate.currentLang == \"en\"\r\n ? selectedAccount?.clientNameEn\r\n : selectedAccount?.clientNameAr\r\n }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{\r\n translate.currentLang == \"en\"\r\n ? selectedAccount?.accountTypeEn\r\n : selectedAccount?.accountTypeAr\r\n }}\r\n \r\n {{ selectedAccount?.relationCode }}\r\n \r\n
\r\n
\r\n
\r\n \r\n = 0\r\n }\"\r\n >\r\n {{ \"balance\" | translate }}\r\n {{\r\n IPOdetails.CurrencyId == 1\r\n ? (EgpPurchasePower | number : \"1.2-2\" | numberFormat)\r\n : (UsdPurchasePower | number : \"1.2-2\" | numberFormat)\r\n }}\r\n {{\r\n IPOdetails.CurrencyId == 1\r\n ? translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n : translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n }}\r\n \r\n {{ \"IPOBalance\" | translate }}\r\n {{\r\n IPOdetails.CurrencyId == 1\r\n ? (IPOBalanceEGP | number : \"1.2-2\" | numberFormat)\r\n : (IPOBalanceUSD | number : \"1.2-2\" | numberFormat)\r\n }}\r\n {{\r\n IPOdetails.CurrencyId == 1\r\n ? translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n : translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n }}\r\n \r\n \r\n Your Certificates\r\n 100\r\n \r\n
\r\n\r\n
\r\n {{\r\n \"enterQuantity\" | translate\r\n }}\r\n Enter Certificate Number\r\n \r\n {{ \"max\" | translate }}\r\n \r\n
\r\n
\r\n \r\n {{ quantityControl.value || \"\" }}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n 0 &&\r\n quantityControl.value > 0 &&\r\n quantityControl.value < minQtyIndividual\r\n \"\r\n >\r\n {{ \"MinQauntity\" | translate }}:\r\n \r\n \r\n {{ minQtyIndividual | numberFormat }}\r\n
\r\n
\r\n {{ \"order-value\" | translate }}\r\n \r\n \r\n {{ orderValue | number : \"1.2-2\" | numberFormat }}\r\n {{\r\n IPOdetails.CurrencyId == 1\r\n ? translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n : translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n }}\r\n
\r\n\r\n
\r\n {{ \"order-fees\" | translate }}:\r\n \r\n \r\n {{ orderFees | number : \"1.2-2\" | numberFormat }}\r\n {{\r\n IPOdetails.CurrencyId == 1\r\n ? translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n : translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n }}\r\n
\r\n \r\n \r\n 0 &&\r\n quantityControl.value > 0 &&\r\n quantityControl.value > maxQtyIndividual\r\n \"\r\n >\r\n {{ \"MaxQauntity\" | translate }}:\r\n \r\n \r\n {{ maxQtyIndividual | numberFormat }}\r\n \r\n
\r\n {{ \"MaxQauntity\" | translate }}:\r\n \r\n \r\n {{\r\n IPOdetails.CurrencyId == 1\r\n ? (maxQuantiyEGP | numberFormat)\r\n : (maxQuantiyUSD | numberFormat)\r\n }}\r\n
\r\n\r\n
\r\n {{ \"total-cost\" | translate }}:\r\n \r\n \r\n {{ orderTotal | number : \"1.2-2\" | numberFormat }}\r\n {{\r\n IPOdetails.CurrencyId == 1\r\n ? translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n : translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n }}\r\n
\r\n \r\n \r\n \r\n\r\n 0) ||\r\n ((IPOdetails.CurrencyId == 1\r\n ? EgpPurchasePower\r\n : UsdPurchasePower) < 0 &&\r\n !isLoading)\r\n \"\r\n >\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n \r\n {{ \"IPOExceedTitle\" | translate }}\r\n \r\n
\r\n \r\n {{ \"IPOExceedText\" | translate }}\r\n \r\n
\r\n \r\n\r\n \r\n \r\n {{ \"Next\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n {{ \"buy\" | translate }}\r\n \r\n {{\r\n translate.currentLang == \"en\"\r\n ? IPOdetails.NameEn\r\n : IPOdetails.NameAr\r\n }}\r\n @\r\n {{ IPOdetails.StockPrice | number : \"1.2-2\" | numberFormat }}\r\n {{\r\n IPOdetails.CurrencyId == 1\r\n ? translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n : translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n }}\r\n
\r\n
\r\n {{\r\n translate.currentLang == \"en\"\r\n ? selectedAccount?.clientNameEn\r\n : selectedAccount?.clientNameAr\r\n }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n {{\r\n translate.currentLang == \"en\"\r\n ? selectedAccount?.accountTypeEn\r\n : selectedAccount?.accountTypeAr\r\n }}\r\n \r\n ({{ selectedAccount?.relationCode }})\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n {{ \"market\" | translate }}\r\n {{ \"IPO\" | translate }}\r\n
\r\n
\r\n {{ \"Quantity\" | translate }}\r\n \r\n {{ quantityControl.value | numberFormat }}\r\n
\r\n
\r\n {{\r\n \"order-value\" | translate\r\n }}\r\n \r\n {{ orderValue | number : \"1.2-2\" | numberFormat }}\r\n
\r\n
\r\n {{ \"Block\" | translate }}\r\n {{\r\n IPOdetails.PaidPer | number : \"1.2-2\" | numberFormat\r\n }}%\r\n \r\n {{\r\n orderValue * (IPOdetails.PaidPer / 100)\r\n | number : \"1.2-2\"\r\n | numberFormat\r\n }}\r\n
\r\n
\r\n {{ \"DateTime\" | translate }}\r\n {{ currentDate }}\r\n
\r\n
\r\n {{ \"Expiry\" | translate }}\r\n {{\r\n \"GoodTillCancel\" | translate\r\n }}\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n {{\r\n \"order-fees\" | translate\r\n }}\r\n \r\n {{ orderFees | number : \"1.2-2\" | numberFormat }}\r\n {{\r\n IPOdetails.CurrencyId == 1\r\n ? translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n : translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{\r\n \"EstimatedTotal\" | translate\r\n }}\r\n \r\n {{ orderTotal | number : \"1.2-2\" | numberFormat }}\r\n {{\r\n IPOdetails.CurrencyId == 1\r\n ? translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n : translate.currentLang == \"en\"\r\n ? IPOdetails.AbbreviationEn\r\n : IPOdetails.AbbreviationAr\r\n }}\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n \r\n {{ \"IPOsubmitOrderAlertTitle\" | translate }}\r\n \r\n
\r\n \r\n {{ \"IPOsubmitOrderAlertText\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \"\"\r\n
\r\n \r\n
\r\n {{ \"IPOSuccessAlertTitle\" | translate }}\r\n
\r\n
\r\n {{ \"IPOSuccessAlertText\" | translate }}\r\n
\r\n \r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n
{{ \"Sorry\" | translate }}
\r\n
\r\n {{ \"IPOFailedSendOrder\" | translate }}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n\r\n","/* (ignored) */","//import { OrderReviewComponent } from \"./../../components/order-review/order-review.component\";\r\nimport { ConfigService } from \"./../../services/config.service\";\r\nimport { DetailedQuotaComponent } from \"./../detailed-quota/detailed-quota.component\";\r\nimport { SlickMarketWatchComponent } from \"./../../components/slick-market-watch/slick-market-watch.component\";\r\nimport { ApiService } from \"./../../services/api.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { MarketNewsComponent } from \"./../../components/market-news/market-news.component\";\r\nimport { OrderBookComponent } from \"./../../components/order-book/order-book.component\";\r\nimport { MarketTradesComponent } from \"./../../components/market-trades/market-trades.component\";\r\nimport { MarketDepthComponent } from \"./../../components/market-depth/market-depth.component\";\r\nimport { GridsterService } from \"./../../services/gridster.service\";\r\nimport { MarketDepthBidsComponent } from \"./../../components/market-depth-bids/market-depth-bids.component\";\r\nimport { MarketDepthAsksComponent } from \"./../../components/market-depth-asks/market-depth-asks.component\";\r\nimport { TradesComponent } from \"./../../components/trades/trades.component\";\r\nimport { NewsComponent } from \"./../../components/news/news.component\";\r\nimport { HistoricalComponent, historicalData } from \"./../../components/historical/historical.component\";\r\nimport {\r\n ChangeDetectorRef,\r\n OnInit,\r\n QueryList,\r\n ViewChildren,\r\n AfterViewInit,\r\n Component,\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n ElementRef,\r\n ViewChild,\r\n HostListener,\r\n} from \"@angular/core\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport {\r\n GridsterConfig,\r\n GridsterItem,\r\n} from \"angular-gridster2\";\r\nimport { Router } from \"@angular/router\";\r\nimport Swal from \"sweetalert2\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { UserIdleService } from \"angular-user-idle\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport 'zone.js/dist/zone';\r\nimport {\r\n IgcContentPane,\r\n IgcDockManagerComponent,\r\n IgcDockManagerLayout,\r\n IgcDockManagerPaneType,\r\n IgcPaneCloseEventArgs,\r\n IgcSplitPane,\r\n IgcSplitPaneOrientation,\r\n IgcDockManagerPane,\r\n IgcDockManagerPoint\r\n} from 'docking-egid';\r\nimport { defineCustomElements } from 'docking-egid/loader';\r\nimport { FlexLayoutService } from \"../../services/flex-layout.service\";\r\nimport { HomeComponentsServices } from \"../../services/home-components.service\";\r\nimport { CustomContentPane } from \"./custom-content-pane.interface\";\r\nimport { CompanyDepth } from \"src/app/models/company-depth\";\r\nimport { CompanyTrades, MarketTrades } from \"src/app/models/company-trades\";\r\nimport { MatButton } from \"@angular/material/button\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\n\r\nimport { OrderBuyComponent } from \"src/app/components/order-buy/order-buy.component\";\r\ndefineCustomElements();\r\n\r\n@Component({\r\n selector: 'app-test',\r\n templateUrl: './test.component.html',\r\n styleUrls: ['./test.component.scss'],\r\n})\r\nexport class TestComponent implements OnInit, AfterViewInit {\r\n\r\n dockManagerService: any;\r\n dockManager: any;\r\n previousPaneLength: number;\r\n slotAssigned: Set = new Set();\r\n isCompaniesLoading: boolean;\r\n selectedCompanySymbol: any;\r\n wasChanged: any;\r\n isLinked: any;\r\n options: GridsterConfig;\r\n dashboard: IgcDockManagerLayout;\r\n @ViewChildren(\"MWT\") components: QueryList;\r\n private isDialogOpen = false; // Flag to track dialog state\r\n\r\n companies: CompanyList[] = [];\r\n isDarktheme;\r\n darkTheme;\r\n records = [];\r\n toggleBool = false;\r\n selectedEgx: CompanyList;\r\n companiesUpdates: any = [];\r\n selectedCompanyReuters: any;\r\n selectedCompanyName: any;\r\n dashboardIndex = 0;\r\n dashboardList: IgcDockManagerLayout[] = [];\r\n\r\n //References to our flexLayout element and the Switch dashboard action button\r\n @ViewChild('flexlayout', { static: true }) flexlayout!: ElementRef;\r\n @ViewChild('actionButton', { static: false }) actionButton!: MatButton;\r\n @HostListener('document:keydown', ['$event'])\r\n handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'F4') {\r\n event.preventDefault(); // Prevent default F4 action\r\n this.customF4Function();\r\n } else if (event.key === 'F5') {\r\n event.preventDefault(); // Prevent default F5 action\r\n this.customF5Function();\r\n }\r\n }\r\n\r\n // Custom function for F4 key press\r\n customF4Function() {\r\n if (this.isDialogOpen) {\r\n return; // Prevent opening a new dialog if one is already open\r\n }\r\n this.orderBuy(null, 0); // Example parameters, adjust as needed\r\n }\r\n\r\n // Custom function for F5 key press\r\n customF5Function() {\r\n if (this.isDialogOpen) {\r\n return; // Prevent opening a new dialog if one is already open\r\n }\r\n this.orderBuy(null, 1); // Example parameters, adjust as needed\r\n }\r\n\r\n // Function for placing an order\r\n orderBuy(company: any, isSell: number) {\r\n // Check if a dialog is already open, if so don't proceed\r\n if (this.isDialogOpen) {\r\n return;\r\n }\r\n\r\n // Mark the dialog as open\r\n this.isDialogOpen = true;\r\n\r\n const dialogRef = this.dialog.open(OrderBuyComponent, {\r\n disableClose: true,\r\n panelClass: 'order-dialog-container',\r\n data: { symbol: company, type: isSell },\r\n direction: this.translate.currentLang === 'ar' ? 'rtl' : 'ltr',\r\n });\r\n\r\n // Handle dialog close event\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.isDialogOpen = false; // Reset flag when dialog is closed\r\n });\r\n }\r\n\r\n\r\n\r\n private floatingPaneParams: { [id: string]: Omit } = {};\r\n\r\n constructor(\r\n public gridService: FlexLayoutService,\r\n public translate: TranslateService,\r\n private _service: ApiService,\r\n private nav: Router,\r\n public accService: AccountService,\r\n private apiService: ApiService,\r\n private configService: ConfigService,\r\n private userIdle: UserIdleService,\r\n private dialog : MatDialog ,\r\n public signalR: SignalRService,\r\n private toastr: ToastrService,\r\n private cdr: ChangeDetectorRef,\r\n private homeComponentService: HomeComponentsServices,\r\n ) {\r\n // Initialize SignalR and UserIdle\r\n this.signalR.connectMarketWatch();\r\n this.signalR.connectTradesUpdates();\r\n this.userIdle.setConfigValues({\r\n idle: this.configService.getIdleTime,\r\n timeout: 10,\r\n });\r\n\r\n this.isCompaniesLoading = true;\r\n this._service.fetchTodayMarketWatch().subscribe((res) => {\r\n this.isCompaniesLoading = false;\r\n this.companies = res as any[];\r\n this.WindowResize();\r\n });\r\n }\r\n\r\n //Initialize the firefunction (used to transfer companyData to the other dynamic components when a stock is pressed in the slick market watch component ref. )\r\n fireFunction(symbol: string, reuter: string, nameEn: string, nameAr: string, wasChanged: boolean) {\r\n this.selectedCompanySymbol = symbol;\r\n this.wasChanged = false;\r\n this.selectedCompanyReuters = reuter;\r\n this.selectedCompanyName = this.translate.currentLang === 'ar' ? nameAr : nameEn;\r\n }\r\n\r\n //This function is crucial as it provides a necessary update to the docking system (DO NOT REMOVE IT)\r\n clickButtonTwice() {\r\n if (this.actionButton) {\r\n this.actionButton._elementRef.nativeElement.dispatchEvent(new Event('click'));\r\n this.actionButton._elementRef.nativeElement.dispatchEvent(new Event('click'));\r\n } else {\r\n }\r\n }\r\n onButtonClick() {\r\n //Necessay function do not remove!!\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n //Set the theme based on the in site settings toggle \r\n this.darkTheme = localStorage.getItem(\"darktheme\");\r\n if (this.darkTheme == \"dark\") {\r\n this.isDarktheme = false;\r\n }\r\n else {\r\n this.isDarktheme = true;\r\n }\r\n\r\n //Get the initial dashboard Layout\r\n const savedIndex = localStorage.getItem('dashboardindex');\r\n if (savedIndex !== null) {\r\n this.dashboardIndex = parseInt(savedIndex, 10);\r\n } else {\r\n this.dashboardIndex = 0; // Default to the first layout if none is saved\r\n }\r\n this.gridService.checkAndSetDefaultLayout()\r\n this.loadDashboard();\r\n\r\n\r\n\r\n // Start watching for user inactivity\r\n this.userIdle.startWatching();\r\n this.userIdle.onTimerStart().subscribe((count) => {\r\n if (!Swal.isVisible()) {\r\n let timerInterval;\r\n Swal.fire({\r\n title: this.translate.instant(\"auto-close\"),\r\n html: \"
\",\r\n timer: this.popupAlertTime * 1000,\r\n timerProgressBar: true,\r\n didOpen: () => {\r\n const content = Swal.getHtmlContainer();\r\n Swal.showLoading();\r\n timerInterval = setInterval(() => {\r\n content.getElementsByTagName(\"strong\").item(0).innerHTML = (\r\n Swal.getTimerLeft() / 1000\r\n ).toFixed(0);\r\n }, 100);\r\n },\r\n willClose: () => {\r\n this.userIdle.resetTimer();\r\n },\r\n });\r\n }\r\n });\r\n\r\n this.userIdle.onTimeout().subscribe(() => {\r\n if (sessionStorage.getItem(\"userName\") != null) {\r\n let userName = sessionStorage.getItem(\"userName\");\r\n this.apiService.logOut(userName).subscribe(\r\n (x) => {\r\n this.accService.logout();\r\n },\r\n (err) => { }\r\n );\r\n this.userIdle.stopTimer();\r\n this.userIdle.stopWatching();\r\n }\r\n });\r\n //Subscribe to the paneAdded subject ref. flex-layout.service\r\n this.gridService.paneAdded$.subscribe(pane => {\r\n this.addFloatingPane(pane.id, pane.header, pane.headerId, pane.isLinked);\r\n });\r\n }\r\n\r\n //Handle refresh action to maintain current dashboard and it's data (by saving the flex layout (to connect to the dynamic components in the HTML)\r\n //And the addWidget function in afterViewInit will populate the data)\r\n @HostListener('window:beforeunload', ['$event'])\r\n saveLayoutBeforeUnload(event: any) {\r\n if (!this.gridService.isResetting) {\r\n localStorage.setItem(\"dashboardLayout\", JSON.stringify(this.dashboard));\r\n localStorage.setItem(\"dashboardindex\", this.dashboardIndex.toString());\r\n localStorage.setItem('Map', JSON.stringify(this.gridService.contentIdMap));\r\n this.assignFireFunctionToComponents();\r\n\r\n\r\n }\r\n }\r\n\r\n loadDashboard() {\r\n // Set default dashboard initially\r\n this.dashboard = this.gridService.defaultDash;\r\n\r\n // Trigger change detection and assign fire functions\r\n this.cdr.detectChanges();\r\n this.assignFireFunctionToComponents();\r\n\r\n try {\r\n // Fetch dashboard layout data from localStorage\r\n const dashboardString = localStorage.getItem('dashboardLayoutLists');\r\n const dashboardIndexString = localStorage.getItem('dashboardindex');\r\n let dashboardLayoutString = localStorage.getItem('dashboardLayout');\r\n\r\n // Parse fetched data\r\n this.dashboardList = dashboardString ? JSON.parse(dashboardString) : [];\r\n\r\n // Initialize dashboardLayout if it's the first time and dashboardList exists\r\n if (!dashboardLayoutString && this.dashboardList.length > 0) {\r\n // Set the first dashboard in the list as the initial layout\r\n dashboardLayoutString = JSON.stringify(this.dashboardList[0]);\r\n localStorage.setItem('dashboardLayout', dashboardLayoutString);\r\n }\r\n\r\n const dashboardIndex = dashboardIndexString ? parseInt(dashboardIndexString, 10) : null;\r\n const parsedDashboardLayout = dashboardLayoutString ? JSON.parse(dashboardLayoutString) as IgcDockManagerLayout : null;\r\n\r\n // Check if we have any dashboards in the list\r\n if (this.dashboardList.length === 0) {\r\n // No dashboards, fall back to default dashboard\r\n this.dashboard = this.gridService.defaultDash;\r\n } else if (dashboardIndex !== null && dashboardIndex >= 0 && dashboardIndex < this.dashboardList.length) {\r\n // If a valid index is found, load the corresponding dashboard\r\n this.dashboard = parsedDashboardLayout || this.dashboardList[dashboardIndex];\r\n } else {\r\n // Invalid index, fallback to default dashboard\r\n this.dashboard = this.gridService.defaultDash;\r\n }\r\n // this.cdr.detectChanges();\r\n\r\n } catch (error) {\r\n // Handle any errors that occur during the loading process\r\n this.dashboard = this.gridService.defaultDash; // Fallback to default in case of an error\r\n }\r\n\r\n // Final console log to verify the loaded dashboard\r\n }\r\n assignFireFunctionToComponents(): void {\r\n const storedValue = localStorage.getItem('Map');\r\n\r\n // Check if the stored value is double-encoded and decode if necessary\r\n if (storedValue) {\r\n try {\r\n // Try parsing multiple levels if needed\r\n this.gridService.contentIdMap = JSON.parse(JSON.parse(storedValue));\r\n } catch (e) {\r\n // If it fails, it's probably only encoded once\r\n this.gridService.contentIdMap = JSON.parse(storedValue);\r\n }\r\n } else {\r\n // If no value in local storage, initialize as an empty object\r\n this.gridService.contentIdMap = this.gridService.contentIdMap;\r\n }\r\n this.cdr.detectChanges(); // Ensure the view is updated\r\n }\r\n\r\n\r\n\r\n getAllPanes(rootPane: IgcDockManagerPane): IgcContentPane[] {\r\n return this.gridService.getAllPanes(rootPane);\r\n }\r\n getAllFloatingPanes(floatingPanes: IgcDockManagerPane[]): IgcContentPane[] {\r\n return this.gridService.getAllFloatingPanes(floatingPanes);\r\n }\r\n checkSplitAndTabGroupPanes(): boolean {\r\n const rootPanes = this.dashboard.rootPane.panes || [];\r\n const floatingPanes = this.dashboard.floatingPanes.length ? this.dashboard.floatingPanes : [];\r\n const allPanes = [...rootPanes, ...floatingPanes];\r\n return this.gridService.checkSplitAndTabGroupPanes(allPanes);\r\n }\r\n\r\n//Initialize pane params\r\n setPaneParams(id: string, params: Omit) {\r\n this.floatingPaneParams[id] = params;\r\n }\r\n//Slot is the attribute of the flexLayout pane which connects the pane with it's content, it should be the contentID \r\n getSlotForPane(contentId: string): string {\r\n return this.gridService.getSlotByContentId(contentId);\r\n }\r\n//Gets whether or not the pane is linked\r\n getIsLinkedForPane(contentId: string): boolean {\r\n return this.gridService.getIsLinkedForPane(contentId);\r\n }\r\n\r\n//The Main add a new floating pane functionality\r\n addFloatingPane(id: string, header: string, headerId: string, isLinked: boolean, additionalParams: Omit = {\r\n symbolCode: \"\",\r\n reuters: \"\",\r\n isLinked: false,\r\n companyName: \"\",\r\n state: \"\",\r\n Id: 0,\r\n wasChanged: false\r\n }) {\r\n const params = this.floatingPaneParams[id] || {\r\n symbolCode: '',\r\n reuters: '',\r\n isLinked: false,\r\n companyName: '',\r\n state: '',\r\n Id: 0,\r\n wasChanged: false\r\n };\r\n//Floating panes are content panes in split panes, so we first create the content pane (but our custom one) \r\n const newPane: CustomContentPane = {\r\n type: IgcDockManagerPaneType.contentPane,\r\n contentId: id,\r\n header: header,\r\n headerId: headerId,\r\n ...params,\r\n symbolCode: params.symbolCode!,\r\n reuters: params.reuters!,\r\n isLinked: isLinked,\r\n companyName: params.companyName!,\r\n state: params.state!,\r\n Id: params.Id!,\r\n wasChanged: params.wasChanged\r\n };\r\n//Then we place it in a new split pane\r\n const newFloatingPane: IgcSplitPane = {\r\n type: IgcDockManagerPaneType.splitPane,\r\n orientation: IgcSplitPaneOrientation.horizontal,\r\n floatingHeight: 500,\r\n floatingWidth: 550,\r\n floatingLocation: { x: 200, y: 300 },\r\n panes: [newPane],\r\n };\r\n//we make sure the dashboard has floating panes available\r\n if (!this.dashboard.floatingPanes) {\r\n this.dashboard.floatingPanes = [];\r\n }\r\n//We push the new pane in our dashboard\r\n this.dashboard.floatingPanes.push(newFloatingPane);\r\n//We need to invoke a refresh on the HTML component itself to render the data\r\n if (this.flexlayout && this.flexlayout.nativeElement) {\r\n this.flexlayout.nativeElement.layout = this.dashboard;\r\n this.flexlayout.nativeElement.layout.floatingPanes = this.dashboard.floatingPanes;\r\n//This is the most important line here as it handles the HTML update (NEVER Remove) \r\n this.flexlayout.nativeElement.layout = Object.assign({}, this.flexlayout.nativeElement.layout);\r\n//We need to save the new contentId Map to our localStorage to maintain the data of the pane's contents \r\n localStorage.setItem('Map', JSON.stringify(this.gridService.contentIdMap));\r\n }\r\n//Next we need to update our service's dashboard to match our updated dashboard before saving our updated dashboard in our local storage \r\n this.gridService.defaultDash = this.dashboard;\r\n this.gridService.updateLayout(this.dashboard, this.dashboardIndex); \r\n\r\n\r\n//Manually detect changes\r\n this.cdr.detectChanges();\r\n }\r\n\r\n\r\nngAfterViewInit(): void {\r\n//Atter rendering the components we need to assign the firefunctions to all rendered components and then click the button twice to trigger an update\r\n this.assignFireFunctionToComponents();\r\n this.clickButtonTwice();\r\n//This listens to the package event on pane close, search for the pane to make sure it's not the last pane, close it if possible then update the layout\r\n this.flexlayout.nativeElement.addEventListener\r\n (\"paneClose\",\r\n (ev: CustomEvent) => {\r\n var dockedPanes = this.getAllPanes(this.flexlayout.nativeElement.layout.rootPane);\r\n var floatingPanes = this.getAllFloatingPanes(this.flexlayout.nativeElement.layout.floatingPanes);\r\n const allPanes = floatingPanes.length + dockedPanes.length;\r\n const lastTabGroupPane = this.checkSplitAndTabGroupPanes();\r\n if (allPanes <= 1 || lastTabGroupPane) {\r\n ev.preventDefault(); this.toastr.warning\r\n (this.translate.instant('Cannot close the last pane'));\r\n }\r\n else {\r\n this.gridService.defaultDash = this.dashboard;\r\n this.gridService.updateLayout(this.dashboard, this.dashboardIndex);\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n//this listens to any layout change to update the dashboard layout\r\n this.flexlayout.nativeElement.addEventListener\r\n (\"layoutChange\",\r\n (ev: CustomEvent) => {\r\n var dockedPanes = this.getAllPanes(this.dashboard.rootPane);\r\n var floatingPanes = this.getAllFloatingPanes(this.dashboard.floatingPanes);\r\n const allPanes = floatingPanes.length + dockedPanes.length;\r\n const lastTabGroupPane = this.checkSplitAndTabGroupPanes();\r\n\r\n this.gridService.defaultDash = this.dashboard;\r\n this.gridService.updateLayout(this.dashboard, this.dashboardIndex);\r\n this.cdr.detectChanges();\r\n\r\n localStorage.setItem(\"dashboardLayout\", JSON.stringify(this.dashboard));\r\n });\r\n\r\n\r\n\r\n\r\n//This here is the entire logic of our data update for the dynamic components, the dynamic components are defined in a queryList which is mapped in the HTML\r\n//We subscribe to any changes on these component (the firefunction handles mainly any click on the stocks in the slick-market-watch component or marketWatch\r\n//which sends the compnay's data to all other dynamic components)\r\n//The add widget enables adding unlinked panes (updated only once upon creation and do not respond to the firefunction)\r\n this.components.changes.subscribe((queryList) => {\r\n\r\n this.components.forEach((element) => {\r\n //The element found here will be the element which is changed probably the market-watch pane\r\n element.componentRef.instance.fireFunction = (symbol, reuter, nameEn, nameAr, wasChanged) => {\r\n //We then parse all the other component and check if they are linked to update them with the new company data (we should not update them if they are unlinked)\r\n this.components.forEach((otherComponent) => {\r\n var componentRef = otherComponent.componentRef.instance;\r\n if (componentRef.isLinked) {\r\n\r\n componentRef.symbolCode = symbol;\r\n componentRef.reuters = reuter;\r\n\r\n\r\n\r\n if (this.translate.currentLang === \"ar\") {\r\n componentRef.companyName = nameAr;\r\n } else if (this.translate.currentLang === \"en\") {\r\n componentRef.companyName = nameEn;\r\n }\r\n //The market watch needs a state update as well\r\n if (componentRef.name === \"market-watch\") {\r\n this.gridService.setPaneCompanyData(componentRef.id, componentRef.symbolCode, componentRef.reuters, componentRef.companyName, componentRef.wasChanged, componentRef.state);\r\n }\r\n else {\r\n this.gridService.setPaneCompanyData(componentRef.id, componentRef.symbolCode, componentRef.reuters, componentRef.companyName, componentRef.wasChanged, null);\r\n }\r\n //We then see which component it is so we can update the dynamics component's propeties from within the dynamic element itself (not the ts of the component)\r\n //ref. each components's ts component and the home-components.service\r\n switch (componentRef.name) {\r\n case \"market-watch\":\r\n break;\r\n case \"news\":\r\n componentRef.isNewsLoading = true;\r\n this.homeComponentService.fetchCompanyNews(componentRef.symbolCode)\r\n .subscribe((res) => {\r\n componentRef.companyNews = res.filter((book) => book.TYPE === 1);\r\n componentRef.announcements = res.filter((book) => book.TYPE !== 1);\r\n componentRef.isNewsLoading = false;\r\n });\r\n break;\r\n case \"trades\":\r\n componentRef.isTradesLoading = true;\r\n if (componentRef.isTime)\r\n this.homeComponentService.fetchCompanyTradesByTime(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isTradesLoading = false;\r\n componentRef.timeTrades = res as MarketTrades[];\r\n });\r\n else\r\n this.homeComponentService.fetchCompanyTradesByPrice(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isTradesLoading = false;\r\n componentRef.priceTrades = res as CompanyTrades;\r\n });\r\n\r\n break;\r\n case \"depth-asks\":\r\n if (componentRef.symbolCode) {\r\n componentRef.companyDepth = null;\r\n componentRef.isDepthLoading = true;\r\n if (componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByOrder(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n else if (!componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByPrice(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n }\r\n\r\n if (!componentRef.isOrder && componentRef.symbolCode) {\r\n if (componentRef.depthConnection) {\r\n this.homeComponentService.stopSignalRConnection(componentRef.depthConnection);\r\n }\r\n\r\n\r\n this.homeComponentService.connectSignalR(componentRef.symbolCode).then((connection) => {\r\n componentRef.depthConnection = connection;\r\n connection.on(\"sendBidsAsksForSymbol\", (depthUpdate) => {\r\n const update = depthUpdate[0][\"MarketDepth\"] as CompanyDepth;\r\n componentRef.companyDepth.asksPerPrice = update.asksPerPrice;\r\n componentRef.companyDepth.bidsPerPrice = update.bidsPerPrice;\r\n componentRef.companyDepth.totalsBidsAndAsks = update.totalsBidsAndAsks;\r\n });\r\n });\r\n }\r\n break;\r\n case \"depth-bids\":\r\n if (componentRef.symbolCode) {\r\n componentRef.companyDepth = null;\r\n componentRef.isDepthLoading = true;\r\n if (componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByOrder(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n else if (!componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByPrice(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n }\r\n\r\n if (!componentRef.isOrder && componentRef.symbolCode) {\r\n if (componentRef.depthConnection) {\r\n this.homeComponentService.stopSignalRConnection(componentRef.depthConnection);\r\n }\r\n\r\n\r\n this.homeComponentService.connectSignalR(componentRef.symbolCode).then((connection) => {\r\n componentRef.depthConnection = connection;\r\n connection.on(\"sendBidsAsksForSymbol\", (depthUpdate) => {\r\n const update = depthUpdate[0][\"MarketDepth\"] as CompanyDepth;\r\n componentRef.companyDepth.asksPerPrice = update.asksPerPrice;\r\n componentRef.companyDepth.bidsPerPrice = update.bidsPerPrice;\r\n componentRef.companyDepth.totalsBidsAndAsks = update.totalsBidsAndAsks;\r\n });\r\n });\r\n }\r\n break;\r\n case \"market-depth\":\r\n if (componentRef.symbolCode) {\r\n componentRef.companyDepth = null;\r\n componentRef.isDepthLoading = true;\r\n if (componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByOrder(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n else if (!componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByPrice(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n }\r\n\r\n if (!componentRef.isOrder && componentRef.symbolCode) {\r\n if (componentRef.depthConnection) {\r\n this.homeComponentService.stopSignalRConnection(componentRef.depthConnection);\r\n }\r\n\r\n\r\n this.homeComponentService.connectSignalR(componentRef.symbolCode).then((connection) => {\r\n componentRef.depthConnection = connection;\r\n connection.on(\"sendBidsAsksForSymbol\", (depthUpdate) => {\r\n const update = depthUpdate[0][\"MarketDepth\"] as CompanyDepth;\r\n componentRef.companyDepth.asksPerPrice = update.asksPerPrice;\r\n componentRef.companyDepth.bidsPerPrice = update.bidsPerPrice;\r\n componentRef.companyDepth.totalsBidsAndAsks = update.totalsBidsAndAsks;\r\n });\r\n });\r\n }\r\n break;\r\n //Not needed so far\r\n case \"market-trades\":\r\n // componentRef.isTradesLoading = true;\r\n // this.homeComponentService.fetchMarketTrades().subscribe((res) => {\r\n // componentRef.isTradesLoading = false;\r\n // componentRef.companyTrades = res as MarketTrades[];\r\n // });\r\n // const marketNames = this.homeComponentService.getMarketNames();\r\n // if (marketNames) {\r\n // componentRef.allMarketNames = marketNames;\r\n // }\r\n\r\n // // Subscribe to market names changes\r\n // this.homeComponentService.subscribeToMarketNames((names) => {\r\n // componentRef.allMarketNames = names;\r\n // });\r\n\r\n // // Subscribe to trade updates\r\n // this.homeComponentService.subscribeToTradeUpdates(componentRef.allMarketNames, (trade) => {\r\n // componentRef.companyTrades.unshift(trade);\r\n // if (componentRef.companyTrades.length > 100) {\r\n // componentRef.companyTrades.length = 100;\r\n // }\r\n // });\r\n break;\r\n\r\n //Setting an inital date of 1 month or any duration breaks everything , no idea why\r\n case \"historical\":\r\n const today = new Date();\r\n const startDate = new Date();\r\n startDate.setMonth(today.getMonth() - 1);\r\n componentRef.isDepthLoading = true;\r\n // this.homeComponentService.fetchCompanyMarketDepth(componentRef.symbolCode,startDate,today).subscribe((res) => {\r\n // componentRef.data = [];\r\n // componentRef.data = res as historicalData[];\r\n // componentRef.isDepthLoading = false;\r\n // });\r\n break;\r\n case \"bids\":\r\n if (componentRef.symbolCode) {\r\n componentRef.companyDepth = null;\r\n componentRef.isDepthLoading = true;\r\n if (componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByOrder(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n else if (!componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByPrice(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n }\r\n\r\n if (!componentRef.isOrder && componentRef.symbolCode) {\r\n if (componentRef.depthConnection) {\r\n this.homeComponentService.stopSignalRConnection(componentRef.depthConnection);\r\n }\r\n\r\n\r\n this.homeComponentService.connectSignalR(componentRef.symbolCode).then((connection) => {\r\n componentRef.depthConnection = connection;\r\n connection.on(\"sendBidsAsksForSymbol\", (depthUpdate) => {\r\n const update = depthUpdate[0][\"MarketDepth\"] as CompanyDepth;\r\n componentRef.companyDepth.asksPerPrice = update.asksPerPrice;\r\n componentRef.companyDepth.bidsPerPrice = update.bidsPerPrice;\r\n componentRef.companyDepth.totalsBidsAndAsks = update.totalsBidsAndAsks;\r\n });\r\n });\r\n }\r\n break;\r\n case \"asks\":\r\n if (componentRef.symbolCode) {\r\n componentRef.companyDepth = null;\r\n componentRef.isDepthLoading = true;\r\n if (componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByOrder(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n else if (!componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByPrice(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n }\r\n\r\n if (!componentRef.isOrder && componentRef.symbolCode) {\r\n if (componentRef.depthConnection) {\r\n this.homeComponentService.stopSignalRConnection(componentRef.depthConnection);\r\n }\r\n\r\n\r\n this.homeComponentService.connectSignalR(componentRef.symbolCode).then((connection) => {\r\n componentRef.depthConnection = connection;\r\n connection.on(\"sendBidsAsksForSymbol\", (depthUpdate) => {\r\n const update = depthUpdate[0][\"MarketDepth\"] as CompanyDepth;\r\n componentRef.companyDepth.asksPerPrice = update.asksPerPrice;\r\n componentRef.companyDepth.bidsPerPrice = update.bidsPerPrice;\r\n componentRef.companyDepth.totalsBidsAndAsks = update.totalsBidsAndAsks;\r\n });\r\n });\r\n }\r\n break;\r\n case \"order-book\":\r\n break;\r\n case \"market-news\":\r\n break;\r\n case \"order-review\":\r\n break;\r\n case \"detailed-quota\":\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n\r\n }\r\n });\r\n }\r\n //Next we update the unlinked elements upon creation, we check if they are unlinked and not changed before updating them once\r\n element.componentRef.instance.addWidget = (name, companyData, isLinked) => {\r\n this.components.forEach((otherComponent) => {\r\n var componentRef = otherComponent.componentRef.instance;\r\n if (\r\n !componentRef.isLinked &&\r\n (componentRef.name === name)\r\n && componentRef.wasChanged === false\r\n ) {\r\n componentRef.wasChanged = true\r\n componentRef.symbolCode = companyData.symbol;\r\n componentRef.reuters = companyData.reuters;\r\n\r\n if (this.translate.currentLang === \"ar\") {\r\n componentRef.companyName = companyData.name;\r\n } else if (this.translate.currentLang === \"en\") {\r\n componentRef.companyName = companyData.nameEn;\r\n }\r\n if (componentRef.name === \"market-watch\") {\r\n this.gridService.setPaneCompanyData(componentRef.id, componentRef.symbolCode, componentRef.reuters, componentRef.companyName, componentRef.wasChanged, componentRef.state);\r\n }\r\n else {\r\n this.gridService.setPaneCompanyData(componentRef.id, componentRef.symbolCode, componentRef.reuters, componentRef.companyName, componentRef.wasChanged, null);\r\n }\r\n switch (componentRef.name) {\r\n case \"market-watch\":\r\n break;\r\n case \"news\":\r\n if (componentRef.name == \"news\") {\r\n componentRef.isNewsLoading = true;\r\n this.homeComponentService.fetchCompanyNews(componentRef.symbolCode)\r\n .subscribe((res) => {\r\n componentRef.companyNews = res.filter((book) => book.TYPE === 1);\r\n componentRef.announcements = res.filter((book) => book.TYPE !== 1);\r\n componentRef.isNewsLoading = false;\r\n });\r\n }\r\n\r\n break;\r\n case \"trades\":\r\n break;\r\n case \"depth-asks\":\r\n break;\r\n case \"depth-bids\":\r\n break;\r\n case \"market-depth\":\r\n if (componentRef.symbolCode) {\r\n componentRef.companyDepth = null;\r\n componentRef.isDepthLoading = true;\r\n if (componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByOrder(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n else if (!componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByPrice(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n }\r\n\r\n if (!componentRef.isOrder && componentRef.symbolCode) {\r\n if (componentRef.depthConnection) {\r\n this.homeComponentService.stopSignalRConnection(componentRef.depthConnection);\r\n }\r\n\r\n\r\n this.homeComponentService.connectSignalR(componentRef.symbolCode).then((connection) => {\r\n componentRef.depthConnection = connection;\r\n connection.on(\"sendBidsAsksForSymbol\", (depthUpdate) => {\r\n const update = depthUpdate[0][\"MarketDepth\"] as CompanyDepth;\r\n componentRef.companyDepth.asksPerPrice = update.asksPerPrice;\r\n componentRef.companyDepth.bidsPerPrice = update.bidsPerPrice;\r\n componentRef.companyDepth.totalsBidsAndAsks = update.totalsBidsAndAsks;\r\n });\r\n });\r\n }\r\n break;\r\n //Not needed so far\r\n case \"market-trades\":\r\n // componentRef.isTradesLoading = true;\r\n // this.homeComponentService.fetchMarketTrades().subscribe((res) => {\r\n // componentRef.isTradesLoading = false;\r\n // componentRef.companyTrades = res as MarketTrades[];\r\n // });\r\n // const marketNames = this.homeComponentService.getMarketNames();\r\n // if (marketNames) {\r\n // componentRef.allMarketNames = marketNames;\r\n // }\r\n\r\n // // Subscribe to market names changes\r\n // this.homeComponentService.subscribeToMarketNames((names) => {\r\n // componentRef.allMarketNames = names;\r\n // });\r\n\r\n // // Subscribe to trade updates\r\n // this.homeComponentService.subscribeToTradeUpdates(componentRef.allMarketNames, (trade) => {\r\n // componentRef.companyTrades.unshift(trade);\r\n // if (componentRef.companyTrades.length > 100) {\r\n // componentRef.companyTrades.length = 100;\r\n // }\r\n // });\r\n break;\r\n\r\n //Setting an inital date of 1 month or any duration breaks everything , no idea why\r\n case \"historical\":\r\n const today = new Date();\r\n const startDate = new Date();\r\n startDate.setMonth(today.getMonth() - 1);\r\n componentRef.isDepthLoading = true;\r\n // this.homeComponentService.fetchCompanyMarketDepth(componentRef.symbolCode,startDate,today).subscribe((res) => {\r\n // componentRef.data = [];\r\n // componentRef.data = res as historicalData[];\r\n // componentRef.isDepthLoading = false;\r\n // });\r\n break;\r\n case \"bids\":\r\n if (componentRef.symbolCode) {\r\n componentRef.companyDepth = null;\r\n componentRef.isDepthLoading = true;\r\n if (componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByOrder(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n else if (!componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByPrice(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n }\r\n\r\n if (!componentRef.isOrder && componentRef.symbolCode) {\r\n if (componentRef.depthConnection) {\r\n this.homeComponentService.stopSignalRConnection(componentRef.depthConnection);\r\n }\r\n\r\n\r\n this.homeComponentService.connectSignalR(componentRef.symbolCode).then((connection) => {\r\n componentRef.depthConnection = connection;\r\n connection.on(\"sendBidsAsksForSymbol\", (depthUpdate) => {\r\n const update = depthUpdate[0][\"MarketDepth\"] as CompanyDepth;\r\n componentRef.companyDepth.asksPerPrice = update.asksPerPrice;\r\n componentRef.companyDepth.bidsPerPrice = update.bidsPerPrice;\r\n componentRef.companyDepth.totalsBidsAndAsks = update.totalsBidsAndAsks;\r\n });\r\n });\r\n }\r\n break;\r\n case \"asks\":\r\n if (componentRef.symbolCode) {\r\n componentRef.companyDepth = null;\r\n componentRef.isDepthLoading = true;\r\n if (componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByOrder(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n else if (!componentRef.isOrder) {\r\n this.homeComponentService.fetchDepthByPrice(componentRef.symbolCode).subscribe((res) => {\r\n componentRef.isDepthLoading = false;\r\n componentRef.companyDepth = res as CompanyDepth;\r\n });;\r\n }\r\n }\r\n\r\n if (!componentRef.isOrder && componentRef.symbolCode) {\r\n if (componentRef.depthConnection) {\r\n this.homeComponentService.stopSignalRConnection(componentRef.depthConnection);\r\n }\r\n\r\n\r\n this.homeComponentService.connectSignalR(componentRef.symbolCode).then((connection) => {\r\n componentRef.depthConnection = connection;\r\n connection.on(\"sendBidsAsksForSymbol\", (depthUpdate) => {\r\n const update = depthUpdate[0][\"MarketDepth\"] as CompanyDepth;\r\n componentRef.companyDepth.asksPerPrice = update.asksPerPrice;\r\n componentRef.companyDepth.bidsPerPrice = update.bidsPerPrice;\r\n componentRef.companyDepth.totalsBidsAndAsks = update.totalsBidsAndAsks;\r\n });\r\n });\r\n }\r\n break;\r\n case \"order-book\":\r\n break;\r\n case \"market-news\":\r\n break;\r\n case \"order-review\":\r\n break;\r\n case \"detailed-quota\":\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n\r\n });\r\n\r\n });\r\n }\r\n\r\n//This handles adding a new dashboard, updating the index and saving the last dashboard to the local storage \r\n addNewDashboard() {\r\n const index = this.gridService.addNewDashboard();\r\n\r\n // Fetch the updated dashboard list from localStorage\r\n this.dashboardList = this.gridService.getGrid() || [];\r\n\r\n // Ensure dashboardIndex is valid\r\n this.dashboardIndex = index - 1;\r\n if (this.dashboardIndex >= 0 && this.dashboardIndex < this.dashboardList.length) {\r\n this.dashboard = this.dashboardList[this.dashboardIndex];\r\n this.WindowResize();\r\n\r\n // Save layout and update\r\n this.gridService.defaultDash = this.dashboard;\r\n this.gridService.updateLayout(this.dashboard, this.dashboardIndex);\r\n this.gridService.saveLayoutList(this.dashboardList);\r\n this.gridService.loadNewLayout(this.dashboardIndex);\r\n\r\n } else {\r\n }\r\n }\r\n\r\n //This handles switching dashboards, updating the index and saving the last dashboard to the local storage, loading the other dashboard from the localstorage \r\n switchDashboard(index: number) {\r\n if (index >= 0 && index < this.dashboardList.length) {\r\n this.dashboardIndex = index;\r\n this.dashboard = this.dashboardList[this.dashboardIndex];\r\n\r\n // Load the corresponding layout\r\n const layout = this.gridService.loadLayout();\r\n\r\n if (layout) {\r\n this.gridService.defaultDash = this.dashboard;\r\n this.gridService.updateLayout(this.dashboard, this.dashboardIndex); // Automatically update and save the new layout\r\n this.gridService.saveLayoutList(this.dashboardList);\r\n } \r\n } \r\n }\r\n\r\n\r\n//This handles removing dashboard, updating the index and removing the dashboard from the local storage \r\n removeDashboard(index: number) {\r\n if (index >= 0 && index < this.dashboardList.length) {\r\n this.gridService.removeDashboard(index);\r\n this.dashboardList = this.gridService.getGrid();\r\n this.dashboardIndex = Math.min(this.dashboardIndex, this.dashboardList.length - 1);\r\n this.dashboard = this.dashboardList[this.dashboardIndex];\r\n\r\n this.WindowResize();\r\n this.gridService.defaultDash = this.dashboard;\r\n this.gridService.updateLayout(this.dashboard, this.dashboardIndex); // Save layout\r\n this.gridService.saveLayoutList(this.dashboardList);\r\n\r\n } \r\n }\r\n\r\n WindowResize() {\r\n setTimeout(() => {\r\n window.dispatchEvent(new Event(\"resize\"));\r\n }, 250);\r\n }\r\n\r\n//This allows the dynamic component to find the component it should render based on the pane's headerId \r\n public get(name: string): any {\r\n switch (name) {\r\n case \"market-watch\":\r\n return SlickMarketWatchComponent;\r\n case \"news\":\r\n return NewsComponent;\r\n case \"trades\":\r\n return TradesComponent;\r\n case \"depth-asks\":\r\n return MarketDepthAsksComponent;\r\n case \"depth-bids\":\r\n return MarketDepthBidsComponent;\r\n case \"market-depth\":\r\n return MarketDepthComponent;\r\n case \"market-trades\":\r\n return MarketTradesComponent;\r\n case \"historical\":\r\n return HistoricalComponent;\r\n case \"bids\":\r\n return MarketDepthBidsComponent;\r\n case \"asks\":\r\n return MarketDepthAsksComponent;\r\n case \"order-book\":\r\n return OrderBookComponent;\r\n case \"market-news\":\r\n return MarketNewsComponent;\r\n // case \"order-review\":\r\n // return OrderReviewComponent;\r\n case \"detailed-quota\":\r\n return DetailedQuotaComponent;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n changedOptions(): void {\r\n if (this.options.api && this.options.api.optionsChanged) {\r\n this.options.api.optionsChanged();\r\n }\r\n }\r\n\r\n popupAlertTime = 10;\r\n\r\n ngOnDestroy(): void {\r\n this.signalR.disconnectMwSignalr();\r\n this.signalR.disconnectTradesSignalr();\r\n }\r\n\r\n navigateProfile(item) {\r\n this.nav\r\n .navigate([\"/company-profile\", item.SYMBOL_CODE, item.Reuters])\r\n .then(() => (this.toggleBool = false));\r\n }\r\n}","
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
0 && this.accService.Ticker\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ company.Reuters }}\r\n
\r\n
0 ? 'green' : 'red'\">\r\n {{ company.LAST_CHANGE | number : \"1.2-2\" }} ({{\r\n company.LAST_CHANGE_PRC | number : \"1.2-2\"\r\n }}%)\r\n \r\n 0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{\r\n translate.currentLang == \"en\"\r\n ? company.ENG_NAME\r\n : company.ARB_NAME\r\n }}\r\n
\r\n
\r\n {{ company.LAST_TRADE_PRICE | currency : \"EGP\" : \"symbol\" }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
","/* (ignored) */","import { ExportAsConfig, ExportAsService } from \"ngx-export-as\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { NgxPrinterService } from \"ngx-printer\";\r\n\r\n@Component({\r\n selector: \"app-preview-invoice\",\r\n templateUrl: \"./preview-invoice.component.html\",\r\n styleUrls: [\"./preview-invoice.component.scss\"],\r\n})\r\nexport class PreviewInvoiceComponent implements OnInit {\r\n invoice: any;\r\n exportAsConfig: ExportAsConfig = {\r\n type: \"pdf\", // the type you want to download\r\n elementIdOrContent: \"print-section\",\r\n options: {\r\n jsPDF: { unit: \"in\", format: \"a4\", orientation: \"portrait\" },\r\n },\r\n // the id of html/table element\r\n };\r\n\r\n constructor(\r\n private router: Router,\r\n private exportService: ExportAsService,\r\n private printerService: NgxPrinterService\r\n ) {\r\n this.invoice = this.router.getCurrentNavigation().extras.state.invoice;\r\n }\r\n\r\n printerMarkerClicked() {\r\n this.printerService.printDiv(\"print-section\");\r\n }\r\n\r\n export() {\r\n this.exportService\r\n .save(this.exportAsConfig, \"INVOICE\")\r\n .subscribe((content) => {\r\n });\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n","import { AccountService } from \"src/app/services/account.service\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport {\r\n ApexAxisChartSeries,\r\n ApexChart,\r\n ApexTitleSubtitle,\r\n ApexDataLabels,\r\n ApexFill,\r\n ApexMarkers,\r\n ApexYAxis,\r\n ApexXAxis,\r\n ApexTooltip,\r\n} from \"ng-apexcharts\";\r\nimport * as moment from \"moment\";\r\nimport { ConfigService } from \"src/app/services/config.service\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\n\r\n//import { dataSeries } from './data-series';\r\n\r\n@Component({\r\n selector: \"app-new-trade-chart\",\r\n templateUrl: \"./new-trade-chart.component.html\",\r\n styleUrls: [\"./new-trade-chart.component.scss\"],\r\n})\r\nexport class NewTradeChartComponent implements OnInit {\r\n public series: ApexAxisChartSeries;\r\n public chart: ApexChart;\r\n public dataLabels: ApexDataLabels;\r\n public markers: ApexMarkers;\r\n public title: ApexTitleSubtitle;\r\n public fill: ApexFill;\r\n public yaxis: ApexYAxis;\r\n public xaxis: ApexXAxis;\r\n public tooltip: ApexTooltip;\r\n\r\n public resultData: any = [];\r\n public slicedResult: any;\r\n result: any;\r\n public companyReuters: string;\r\n @Input(\"symbol\") symbolCode;\r\n\r\n constructor(\r\n public httpClient: HttpClient,\r\n private accService: AccountService\r\n ) {\r\n this.getChartData();\r\n // this.initChartData();\r\n }\r\n\r\n getChartData() {\r\n this.resultData = [];\r\n }\r\n\r\n // CLOSE:5.67\r\n // HIGH:5.72\r\n // LOW:5.55\r\n // OPEN:5.7\r\n // REUTERS:'ATLC.CA'\r\n // SYMBOL_CODE:'EGS676N1C015'\r\n // VALUE_TRADED:0\r\n // VOLUME_TRADED:257095\r\n // x:'2021-08-22T00:00:00'\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.resultData = [];\r\n this.symbolCode = changes.symbolCode.currentValue;\r\n if (this.symbolCode != null) {\r\n this.getShareGraph(this.symbolCode).subscribe((res) => {\r\n let responseHistory = res[0].Data;\r\n this.companyReuters = res[0].Data[0][\"REUTERS\"];\r\n for (let item in responseHistory) {\r\n this.resultData.push({\r\n date: moment(responseHistory[item][\"x\"]).format(\"YYYY-MM-DD\"),\r\n value: [\r\n responseHistory[item][\"OPEN\"],\r\n responseHistory[item][\"HIGH\"],\r\n responseHistory[item][\"LOW\"],\r\n responseHistory[item][\"CLOSE\"],\r\n ],\r\n });\r\n }\r\n this.initChartData(responseHistory[0].REUTERS);\r\n });\r\n }\r\n }\r\n\r\n getShareGraph(symbol) {\r\n return this.httpClient.post(\r\n UrlConstants.feedUrl + \"/api/Feed/GetSymbolsChart\",\r\n {\r\n period: \"7\",\r\n SYMBOLS_CODE: [this.symbolCode],\r\n Nth: \"-1\",\r\n interval: \"1\",\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n public modifyDateSyntax(x) {\r\n //this.result = x.split('-').join(', ');\r\n x = x.slice(120);\r\n let newDate = new Date(this.slicedResult);\r\n\r\n return newDate;\r\n }\r\n\r\n public initChartData(reuter): void {\r\n let graphData = [];\r\n for (let i = 0; i < this.resultData.length; i++) {\r\n graphData.push([this.resultData[i].date, this.resultData[i].value]);\r\n }\r\n\r\n this.series = [\r\n {\r\n name: reuter,\r\n data: graphData,\r\n color: \"#d3d3d3\",\r\n },\r\n ];\r\n // open,high,low,close\r\n this.chart = {\r\n type: \"candlestick\",\r\n stacked: false,\r\n height: 380,\r\n zoom: {\r\n type: \"x\",\r\n enabled: true,\r\n autoScaleYaxis: true,\r\n },\r\n toolbar: {\r\n autoSelected: \"zoom\",\r\n },\r\n };\r\n this.dataLabels = {\r\n enabled: false,\r\n };\r\n this.markers = {\r\n size: 5,\r\n colors: [\"#09404b\"],\r\n };\r\n // this.fill = {\r\n // type: \"gradient\",\r\n // gradient: {\r\n // shadeIntensity: 1,\r\n // inverseColors: false,\r\n // opacityFrom: 0.8,\r\n // opacityTo: 0,\r\n // stops: [0, 90, 100],\r\n // },\r\n // };\r\n\r\n this.yaxis = {\r\n labels: {\r\n formatter: function (val) {\r\n return val.toFixed(3).toString();\r\n },\r\n },\r\n title: {\r\n text: \"Price\",\r\n },\r\n };\r\n this.xaxis = {\r\n type: \"datetime\",\r\n };\r\n this.tooltip = {\r\n shared: false,\r\n theme: \"dark\",\r\n y: {\r\n formatter: function (val) {\r\n return val.toFixed(3).toString();\r\n },\r\n },\r\n };\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n
\r\n","import { TranslateService } from \"@ngx-translate/core\";\r\nimport { SECAuth, Parameter } from \"./../../models/login\";\r\nimport { first, map } from \"rxjs/operators\";\r\nimport {\r\n Component,\r\n ElementRef,\r\n Inject,\r\n Input,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport Keyboard from \"simple-keyboard\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport Swal from \"sweetalert2\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\n@Component({\r\n selector: \"app-twfa\",\r\n encapsulation: ViewEncapsulation.None,\r\n templateUrl: \"./twfa.component.html\",\r\n styleUrls: [\"./twfa.component.scss\"],\r\n})\r\nexport class TwfaComponent implements OnInit {\r\n value = \"\";\r\n secAuthReq: SECAuth = {} as SECAuth;\r\n token: any;\r\n ordinalNum: number;\r\n keyboard: Keyboard;\r\n passCount: any;\r\n carItems: any;\r\n arrayCount: number[] = [];\r\n tfa: any;\r\n // userName: any;\r\n // password: any;\r\n input: HTMLInputElement;\r\n firstInput: any;\r\n focus: any;\r\n remeberMe: boolean;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: string,\r\n private accountService: AccountService,\r\n private elementRef: ElementRef,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n public dialogRef: MatDialogRef,\r\n public translate: TranslateService\r\n ) {\r\n if (this.data[\"data\"] != null) {\r\n this.tfa = this.data[\"data\"];\r\n }\r\n if (this.data[\"remeberMe\"] != null) {\r\n this.remeberMe = this.data[\"remeberMe\"];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.passCount = this.tfa.secondParameter.maxCount;\r\n this.carItems = this.tfa.secondParameter.Items;\r\n if (this.passCount != null) {\r\n for (let i = 0; i < this.passCount; i++) this.arrayCount.push(i);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.onInputFocus();\r\n this.elementRef.nativeElement.focus();\r\n }\r\n\r\n onInputFocus() {\r\n this.keyboard = new Keyboard({\r\n onKeyPress: (button) => this.onKeyPress(button),\r\n onInputChange: (event) => this.onInputChange(event),\r\n layout: {\r\n default: [\"1 2 3\", \"4 5 6\", \"7 8 9\", \"0 {bksp}\"], //\"{shift} 0 _\", \"{bksp}\"],\r\n },\r\n theme: \"hg-theme-default hg-layout-numeric numeric-theme\",\r\n });\r\n }\r\n\r\n onKeyPress = (button: string) => {\r\n /**\r\n * If you want to handle the shift and caps lock buttons\r\n */ if (button === \"{bksp}\") {\r\n this.keyboard.clearInput();\r\n } else {\r\n this.value = button;\r\n }\r\n\r\n if (button === \"{shift}\" || button === \"{lock}\") this.handleShift();\r\n };\r\n\r\n onInputChange = (event: any) => {\r\n this.keyboard.setInput(event.target.value);\r\n };\r\n\r\n handleShift = () => {\r\n let currentLayout = this.keyboard.options.layoutName;\r\n let shiftToggle = currentLayout === \"default\" ? \"shift\" : \"default\";\r\n\r\n this.keyboard.setOptions({\r\n layoutName: shiftToggle,\r\n });\r\n };\r\n\r\n putOrdinalNum(index, e) {\r\n this.ordinalNum = Number(index);\r\n }\r\n onPropertyChange(index, e) {\r\n e.target.value = this.value;\r\n\r\n if (e.target.value != \"\") {\r\n this.carItems.map((item, i) => {\r\n if (item.Index == index) {\r\n this.carItems[i].Value = e.target.value;\r\n }\r\n });\r\n const target = e.target;\r\n let nextElement = target.nextSibling;\r\n\r\n if (nextElement.disabled == true) {\r\n while (nextElement.disabled) {\r\n nextElement = nextElement.nextSibling;\r\n }\r\n }\r\n if (nextElement.nextElementSibling != null) {\r\n nextElement.focus();\r\n nextElement.select();\r\n }\r\n if (nextElement.nextElementSibling == null) {\r\n this.ordinalNum = -1;\r\n }\r\n this.value = \"\";\r\n }\r\n }\r\n\r\n // trackByIndex(index: number, obj: any): any {\r\n // return index;\r\n // }\r\n submitSecAuth() {\r\n this.secAuthReq.UserName = this.tfa.Username;\r\n this.secAuthReq.Parameter = {} as Parameter;\r\n this.secAuthReq.Parameter.maxCount = Number(this.passCount);\r\n this.secAuthReq.Parameter.Items = this.carItems;\r\n\r\n if (this.secAuthReq) {\r\n this.accountService\r\n .checkSecondAuth(this.secAuthReq)\r\n .pipe(first())\r\n .subscribe({\r\n next: (userToken) => {\r\n // if (userToken) {\r\n // var decoded = jwt_decode(userToken.toString());\r\n\r\n // // let isMarket = decoded[\"unique_name\"].split(\"_\")[3];\r\n\r\n // // let isDemo = decoded[\"unique_name\"].split(\"_\")[4];\r\n\r\n // // if (isMarket == \"1\")\r\n // // //set is Market\r\n // // this.accountService.setIsFullMarket(true);\r\n // // //set not is Market\r\n // // else if (isMarket == \"0\")\r\n // // this.accountService.setIsFullMarket(false);\r\n // }\r\n\r\n // get return url from query parameters or default to home page\r\n this.accountService\r\n .getAccountList(userToken[\"Token\"])\r\n .subscribe((res) => {\r\n localStorage.setItem(\"accList\", JSON.stringify(res));\r\n this.accountService.saveUserProfile(res[0].relationCode);\r\n const returnUrl =\r\n this.route.snapshot.queryParams[\"returnUrl\"] || \"/\";\r\n this.router.navigateByUrl(\"/\");\r\n\r\n this.dialogRef.close();\r\n });\r\n },\r\n error: (err) => {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"second-login-failed-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n },\r\n });\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n","import { GridsterItem } from \"angular-gridster2\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { MarketNewsComponent } from \"./../components/market-news/market-news.component\";\r\nimport { OrderBookComponent } from \"./../components/order-book/order-book.component\";\r\nimport { MarketTradesComponent } from \"./../components/market-trades/market-trades.component\";\r\nimport { MarketDepthComponent } from \"./../components/market-depth/market-depth.component\";\r\nimport { MarketDepthBidsComponent } from \"./../components/market-depth-bids/market-depth-bids.component\";\r\nimport { MarketDepthAsksComponent } from \"./../components/market-depth-asks/market-depth-asks.component\";\r\nimport { TradesComponent } from \"./../components/trades/trades.component\";\r\nimport { NewsComponent } from \"./../components/news/news.component\";\r\nimport { HistoricalComponent } from \"./../components/historical/historical.component\";\r\n//import { OrderReviewComponent } from \"./../components/order-review/order-review.component\";\r\nimport { DetailedQuotaComponent } from \"../screens/detailed-quota/detailed-quota.component\";\r\nimport { SlickMarketWatchComponent } from \"./../components/slick-market-watch/slick-market-watch.component\";\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { IdService } from '../services/contentId.service';\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { CustomContentPane } from \"../screens/test/custom-content-pane.interface\";\r\nimport {\r\n IgcContentPane,\r\n IgcDockManagerComponent,\r\n IgcDockManagerLayout,\r\n IgcDockManagerPaneType,\r\n IgcPaneCloseEventArgs,\r\n IgcSplitPane,\r\n IgcSplitPaneOrientation,\r\n IgcTabGroupPane,\r\n IgcDockManagerPane\r\n} from \"docking-egid\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\n//________________________________________________________________________________________________________________________________________________\r\n//This service handles most of the logic retaining to the test/home component\r\n//________________________________________________________________________________________________________________________________________________\r\n\r\n//The paneAddedSubject is responsible for emmiting an update to the test/home component once a new pane is added (through add generic from nav bar component \r\n//or from the contextmenu/button in the slick-market-watch component)\r\n//The contentIdMap is responsible for linking each pane to a contentId accross all layouts and maintain intergity of the data\r\nexport class FlexLayoutService {\r\n private paneAddedSubject = new Subject<{ id: string, header: string, component: any, headerId: string, isLinked: boolean }>();\r\n paneAdded$ = this.paneAddedSubject.asObservable();\r\n public contentIdMap: Record = {};\r\n contentIdIsLinkedMap: { [key: string]: boolean } = {};\r\n private panes: any[] = [];\r\n dashboardIndex;\r\n isResetting: boolean = false;\r\n\r\n\r\n\r\n\r\n// This is the inital default layout, we create a IgcDockManagerLayout which holds a root pane and floating panes \r\n public defaultDash: IgcDockManagerLayout = {\r\n rootPane: {\r\n type: IgcDockManagerPaneType.splitPane,\r\n orientation: IgcSplitPaneOrientation.vertical,\r\n panes: this.initializePanes(), // Use the method to initialize panes\r\n },\r\n floatingPanes: [],\r\n };\r\n\r\n//This is the default layout lists\r\n public defaultDashList: IgcDockManagerLayout[] = [this.defaultDash];\r\n checkAndSetDefaultLayout() {\r\n let checkLocal = localStorage.getItem(\"dashboardLayoutLists\");\r\n\r\n // Check if 'dashboardLayoutLists' does not exist or is an empty string\r\n if (!checkLocal || checkLocal.length === 0) {\r\n // Use the defaultDash from the service and store it in localStorage\r\n localStorage.setItem('dashboardLayoutLists', JSON.stringify(this.defaultDashList));\r\n }\r\n }\r\n//Helper function to create a default CusotmContentPane\r\n private createCustomContentPane(header: string, headerId: string, params: any): CustomContentPane {\r\n return {\r\n type: IgcDockManagerPaneType.contentPane,\r\n contentId: this.idService.generateId('content'),\r\n header: header,\r\n headerId: headerId,\r\n ...params,\r\n symbolCode: params.symbolCode || '',\r\n reuters: params.reuters || '',\r\n isLinked: params.isLinked || false,\r\n companyName: params.companyName || '',\r\n state: params.state || 'Most Active',\r\n Id: params.Id || 0\r\n };\r\n }\r\n\r\n private initializePanes() {\r\n const panes: IgcDockManagerPane[] = [\r\n {\r\n type: IgcDockManagerPaneType.splitPane,\r\n orientation: IgcSplitPaneOrientation.horizontal,\r\n panes: [\r\n this.createCustomContentPane('Market', 'market-watch', { isLinked: true ,state:\"Most Active\"}),\r\n this.createCustomContentPane('Market Trades', 'market-trades', { isLinked: true }),\r\n this.createCustomContentPane('Market News', 'market-news', { isLinked: true }),\r\n ],\r\n },\r\n {\r\n type: IgcDockManagerPaneType.splitPane,\r\n orientation: IgcSplitPaneOrientation.horizontal,\r\n panes: [\r\n\r\n this.createCustomContentPane('Buy Order Book', 'order-book', { isLinked: true }),\r\n this.createCustomContentPane('Market Depth', 'market-depth', { isLinked: true }),\r\n this.createCustomContentPane('Historical', 'historical', { isLinked: true }),\r\n \r\n ],\r\n },\r\n ];\r\n\r\n // Populate the floating pane map with the original data\r\n this.storeContentIdMap(panes);\r\n localStorage.setItem('idCounter', \"0\");\r\n localStorage.setItem('defaultPaneCount', \"6\");\r\n return panes;\r\n }\r\n\r\n\r\n private storeContentIdMap(panes: IgcDockManagerPane[]): void {\r\n panes.forEach(pane => {\r\n if (pane.type === IgcDockManagerPaneType.splitPane && (pane as IgcSplitPane).panes) {\r\n this.storeContentIdMap((pane as IgcSplitPane).panes);\r\n } else if (pane.type === IgcDockManagerPaneType.contentPane) {\r\n this.contentIdMap[(pane as IgcContentPane).contentId] = 'content' + (Object.keys(this.contentIdMap).length + 1);\r\n\r\n }\r\n });\r\n }\r\n public getSlotByContentId(contentId: string): string {\r\n return this.contentIdMap[contentId];\r\n }\r\n public getIsLinkedForPane(contentId: string): boolean {\r\n return this.contentIdIsLinkedMap[contentId];\r\n }\r\n\r\n//This subject is responsible for emitting layout changes\r\n private layoutSubject = new BehaviorSubject(this.defaultDash);\r\n layout$ = this.layoutSubject.asObservable();\r\n\r\n constructor(private idService: IdService,\r\n public translate: TranslateService,\r\n private toastr: ToastrService,\r\n ) {\r\n this.initTheme();\r\n }\r\n\r\n private newGenericWidget = new Subject();\r\n\r\n isDarkTheme: boolean;\r\n\r\n//This is the add a new pane function, all new panes will be floating and this function is responsible for passing them the necessary company and pane data\r\n addGeneric(name: string, isLinked: boolean) {\r\n let component;\r\n let id;\r\n let headerId;\r\n switch (name) {\r\n case \"market-watch\":\r\n component = SlickMarketWatchComponent;\r\n id = this.idService.generateFloatingId('content');\r\n headerId = \"market-watch\";\r\n isLinked;\r\n break;\r\n case \"news\":\r\n component = NewsComponent;\r\n id = this.idService.generateFloatingId('content');\r\n headerId = \"news\";\r\n isLinked;\r\n break;\r\n case \"trades\":\r\n component = TradesComponent;\r\n id = this.idService.generateFloatingId('content');\r\n headerId = \"trades\";\r\n isLinked;\r\n break;\r\n case \"depth-asks\":\r\n component = MarketDepthAsksComponent;\r\n id = this.idService.generateFloatingId('content');\r\n headerId = \"depth-asks\";\r\n isLinked;\r\n break;\r\n case \"depth-bids\":\r\n component = MarketDepthBidsComponent;\r\n id = this.idService.generateFloatingId('content');\r\n headerId = \"depth-bids\";\r\n isLinked;\r\n break;\r\n case \"market-depth\":\r\n component = MarketDepthComponent;\r\n id = this.idService.generateFloatingId('content');\r\n headerId = \"market-depth\";\r\n isLinked;\r\n break;\r\n case \"market-trades\":\r\n component = MarketTradesComponent;\r\n id = this.idService.generateFloatingId('content');\r\n headerId = \"market-trades\";\r\n isLinked;\r\n break;\r\n case \"historical\":\r\n component = HistoricalComponent;\r\n id = this.idService.generateFloatingId('content');\r\n headerId = \"historical\";\r\n isLinked;\r\n break;\r\n case \"bids\":\r\n component = MarketDepthBidsComponent;\r\n id = this.idService.generateFloatingId('content');\r\n headerId = \"bids\";\r\n isLinked;\r\n break;\r\n case \"asks\":\r\n component = MarketDepthAsksComponent;\r\n id = this.idService.generateFloatingId('content');\r\n headerId = \"asks\";\r\n isLinked;\r\n break;\r\n case \"order-book\":\r\n component = OrderBookComponent;\r\n id = this.idService.generateFloatingId('content');\r\n headerId = \"order-book\";\r\n isLinked;\r\n break;\r\n case \"market-news\":\r\n component = MarketNewsComponent;\r\n id = this.idService.generateFloatingId('content');\r\n headerId = \"market-news\";\r\n isLinked;\r\n break;\r\n // case \"order-review\":\r\n // component = OrderReviewComponent;\r\n // id = this.idService.generateFloatingId('content');\r\n // headerId = \"order-review\";\r\n // isLinked;\r\n // break;\r\n case \"detailed-quota\":\r\n component = DetailedQuotaComponent;\r\n id = this.idService.generateFloatingId('content');\r\n headerId = \"detailed-quota\";\r\n isLinked;\r\n break;\r\n }\r\n\r\n if (component) {\r\n const header = name.replace(/-/g, ' ').toUpperCase();\r\n const existingRootPanes = this.getAllPanes(this.defaultDash.rootPane);\r\n const existingFloatingPanes = this.getAllFloatingPanes(this.defaultDash.floatingPanes);\r\n\r\n const allPanes = [...existingRootPanes, ...existingFloatingPanes];\r\n//Checking for duplicate panes by looking for the same headerId, the link of the pane found and the link of the newly added pane\r\n const duplicatePane = allPanes.find(pane => pane.headerId === headerId && pane.isLinked === true && pane.isLinked === isLinked);\r\n if (duplicatePane) {\r\n this.idService.revertLastGeneratedFloatingId();\r\n this.toastr.error(\"\", this.translate.instant(\"linked-already-exist\"), {\r\n timeOut: 15000,\r\n positionClass: \"toast-bottom-center\",\r\n closeButton: true,\r\n });\r\n } else {\r\n this.addPane(id, header, component, headerId, isLinked);\r\n }\r\n }\r\n }\r\n\r\n private addPane(id: string, header: string, component: any, headerId: string, isLinked: boolean) {\r\n const newPane = { id, header, component, headerId, isLinked };\r\n this.contentIdMap[id] = 'content' + (Object.keys(this.contentIdMap).length + 1);\r\n this.contentIdIsLinkedMap[id] = isLinked;\r\n localStorage.setItem('Map', JSON.stringify(this.contentIdMap));\r\n this.paneAddedSubject.next(newPane);\r\n }\r\n\r\n//Retains the company data within the layout itself (not only the dynamic component), essential to reatain the data upon switching dashboards or refreshing\r\n setPaneCompanyData(contentId: string, symbolCode: string, reuters: string, companyName: string, wasChanged: boolean,state :string) {\r\n // Get all the content panes from root and floating panes\r\n const existingRootPanes = this.getAllPanes(this.defaultDash.rootPane);\r\n const existingFloatingPanes = this.defaultDash.floatingPanes\r\n ? this.getAllFloatingPanes(this.defaultDash.floatingPanes)\r\n : [];\r\n\r\n const allPanes = [...existingRootPanes, ...existingFloatingPanes];\r\n\r\n // Find the exact pane using contentId\r\n const exactPane = allPanes.find(pane => pane.contentId === contentId);\r\n\r\n if (exactPane) {\r\n // Update the properties of the found pane\r\n exactPane.companyName = companyName;\r\n exactPane.reuters = reuters;\r\n exactPane.symbolCode = symbolCode;\r\n exactPane.wasChanged = wasChanged;\r\n exactPane.state = state;\r\n\r\n // Now find the exact pane in the `defaultDash` to apply the changes\r\n this.updatePaneInDefaultDash(exactPane,this.dashboardIndex);\r\n } \r\n }\r\n\r\n // Function to update the exact pane in `defaultDash`\r\n private updatePaneInDefaultDash(updatedPane: CustomContentPane,index:number) {\r\n \r\n // Update the pane in the rootPane\r\n const updatePanesRecursive = (pane: IgcDockManagerPane): boolean => {\r\n if (pane.type === IgcDockManagerPaneType.contentPane && pane.contentId === updatedPane.contentId) {\r\n Object.assign(pane, updatedPane);\r\n //localStorage.setItem(\"dashboardLayout\", JSON.stringify(this.defaultDash));\r\n if(this.dashboardIndex != null)\r\n this.saveLayout(this.defaultDash, this.dashboardIndex);\r\n // Update the pane directly\r\n return true;\r\n }\r\n\r\n if (pane.type === IgcDockManagerPaneType.splitPane || pane.type === IgcDockManagerPaneType.tabGroupPane) {\r\n const compositePane = pane as IgcSplitPane | IgcTabGroupPane;\r\n return compositePane.panes.some(childPane => updatePanesRecursive(childPane));\r\n }\r\n\r\n return false;\r\n };\r\n\r\n // Update rootPane\r\n const rootPaneUpdated = updatePanesRecursive(this.defaultDash.rootPane);\r\n\r\n // Update floatingPanes if necessary\r\n if (!rootPaneUpdated && this.defaultDash.floatingPanes) {\r\n this.defaultDash.floatingPanes.forEach((floatingPane: IgcDockManagerPane) => updatePanesRecursive(floatingPane));\r\n }\r\n\r\n }\r\n\r\n//Iterate over all docked content panes in the root of the layout and return them\r\n getAllPanes(rootPane: IgcDockManagerPane): CustomContentPane[] {\r\n const contentPanes: CustomContentPane[] = [];\r\n const stack: IgcDockManagerPane[] = [rootPane];\r\n\r\n while (stack.length > 0) {\r\n const currentPane = stack.pop();\r\n\r\n if (currentPane) {\r\n if (currentPane.type === IgcDockManagerPaneType.splitPane) {\r\n const splitPane = currentPane as IgcSplitPane;\r\n if (splitPane.panes && Array.isArray(splitPane.panes)) {\r\n stack.push(...splitPane.panes.filter(pane => pane !== undefined));\r\n }\r\n }\r\n else if (currentPane.type === IgcDockManagerPaneType.tabGroupPane) {\r\n const tabGroupPane = currentPane as IgcTabGroupPane;\r\n if (tabGroupPane.panes && Array.isArray(tabGroupPane.panes)) {\r\n stack.push(...tabGroupPane.panes.filter(pane => pane !== undefined));\r\n }\r\n }\r\n else if (currentPane.type === IgcDockManagerPaneType.contentPane) {\r\n contentPanes.push(currentPane as CustomContentPane);\r\n }\r\n }\r\n }\r\n\r\n return contentPanes;\r\n }\r\n\r\n\r\n//Iterate over all floating content panes of the layout and return them\r\n getAllFloatingPanes(floatingPanes: IgcDockManagerPane[]): CustomContentPane[] {\r\n const contentPanes: CustomContentPane[] = [];\r\n const stack: IgcDockManagerPane[] = [...floatingPanes]; // Start with all floating panes\r\n\r\n while (stack.length > 0) {\r\n const currentPane = stack.pop();\r\n\r\n if (currentPane) {\r\n if (currentPane.type === IgcDockManagerPaneType.splitPane) {\r\n const splitPane = currentPane as IgcSplitPane;\r\n if (splitPane.panes && Array.isArray(splitPane.panes)) {\r\n stack.push(...splitPane.panes.filter(pane => pane !== undefined));\r\n }\r\n }\r\n else if (currentPane.type === IgcDockManagerPaneType.tabGroupPane) {\r\n const tabGroupPane = currentPane as IgcTabGroupPane;\r\n if (tabGroupPane.panes && Array.isArray(tabGroupPane.panes)) {\r\n stack.push(...tabGroupPane.panes.filter(pane => pane !== undefined));\r\n }\r\n }\r\n else if (currentPane.type === IgcDockManagerPaneType.contentPane) {\r\n contentPanes.push(currentPane as CustomContentPane);\r\n }\r\n }\r\n }\r\n\r\n return contentPanes;\r\n }\r\n\r\n//Make sure the there is always a pane left to maintain the docking layout \r\n checkSplitAndTabGroupPanes(panes: IgcDockManagerPane[]): boolean {\r\n let hasSplitPane = false;\r\n let tabGroupPaneCount = 0;\r\n let firstItemProcessed = false;\r\n\r\n const stack: IgcDockManagerPane[] = [...panes];\r\n\r\n while (stack.length > 0) {\r\n const currentPane = stack.pop();\r\n\r\n if (currentPane) {\r\n // Check if the first pane is a split pane\r\n if (!firstItemProcessed && currentPane.type === IgcDockManagerPaneType.splitPane) {\r\n firstItemProcessed = true;\r\n const splitPane = currentPane as IgcSplitPane;\r\n\r\n if (splitPane.panes && Array.isArray(splitPane.panes) && splitPane.panes.length === 1) {\r\n // If the split pane contains only one pane and that pane is a TabGroupPane, continue logic with it\r\n const firstPane = splitPane.panes[0];\r\n if (firstPane.type === IgcDockManagerPaneType.tabGroupPane) {\r\n tabGroupPaneCount++; // Count this TabGroupPane\r\n const tabGroupPane = firstPane as IgcTabGroupPane;\r\n if (tabGroupPane.panes && Array.isArray(tabGroupPane.panes)) {\r\n stack.push(...tabGroupPane.panes.filter(pane => pane !== undefined));\r\n }\r\n }\r\n }\r\n // If it contains more than one pane, continue checking other panes as usual\r\n else if (splitPane.panes && Array.isArray(splitPane.panes)) {\r\n stack.push(...splitPane.panes.filter(pane => pane !== undefined));\r\n }\r\n } else {\r\n // Process non-first panes as usual\r\n if (currentPane.type === IgcDockManagerPaneType.splitPane) {\r\n hasSplitPane = true; // Mark that a split pane was found\r\n const splitPane = currentPane as IgcSplitPane;\r\n if (splitPane.panes && Array.isArray(splitPane.panes)) {\r\n stack.push(...splitPane.panes.filter(pane => pane !== undefined));\r\n }\r\n } else if (currentPane.type === IgcDockManagerPaneType.tabGroupPane) {\r\n tabGroupPaneCount++; // Found a tab group pane\r\n const tabGroupPane = currentPane as IgcTabGroupPane;\r\n if (tabGroupPane.panes && Array.isArray(tabGroupPane.panes)) {\r\n stack.push(...tabGroupPane.panes.filter(pane => pane !== undefined));\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Return true if there are no split panes and exactly one tab group pane\r\n return !hasSplitPane && tabGroupPaneCount === 1;\r\n }\r\n\r\n saveGrid(newLayout: IgcDockManagerLayout) {\r\n localStorage.setItem(\"dashboardLayoutLists\", JSON.stringify(newLayout));\r\n }\r\n\r\n resetGrid() {\r\n // Default content ID Map \r\n const defaultLayout: IgcDockManagerLayout[] = this.defaultDashList;\r\n const map = {\r\n \"content1\": \"content1\",\r\n \"content2\": \"content2\",\r\n \"content3\": \"content3\",\r\n \"content4\": \"content4\",\r\n \"content5\": \"content5\",\r\n \"content6\": \"content6\"\r\n };\r\n localStorage.setItem(\"dashboardLayoutLists\", JSON.stringify(defaultLayout));\r\n localStorage.setItem(\"dashboardLayout\", JSON.stringify(defaultLayout[0]));\r\n localStorage.setItem(\"Map\", JSON.stringify(map));\r\n localStorage.setItem('idCounter', \"0\");\r\n localStorage.setItem('defaultPaneCount', \"6\");\r\n localStorage.setItem('dashboardindex', \"0\");\r\n\r\n this.isResetting = true;\r\n\r\n }\r\n\r\n\r\n updateGridWithIndex(index: number, newFloatingPane: IgcSplitPane) {\r\n // Retrieve the current layout\r\n const currentLayout: IgcDockManagerLayout = this.getGrid();\r\n\r\n // Ensure the floatingPanes array exists\r\n if (!currentLayout.floatingPanes) {\r\n currentLayout.floatingPanes = [];\r\n }\r\n\r\n // Add the new floating pane to the floatingPanes array\r\n currentLayout.floatingPanes.push(newFloatingPane);\r\n\r\n // Save the updated layout back to local storage\r\n localStorage.setItem(\"dashboardLayoutLists\", JSON.stringify(currentLayout));\r\n }\r\n\r\n\r\n onNewGenericAdded(): Observable {\r\n return this.newGenericWidget.asObservable();\r\n }\r\n\r\n getGrid() {\r\n const gridData = localStorage.getItem('dashboardLayoutLists');\r\n return gridData ? JSON.parse(gridData) : []; // Return empty array if null\r\n }\r\n\r\n saveLayout(layout: IgcDockManagerLayout, dashboardIndex: number): void {\r\n // Retrieve the current list of layouts from localStorage\r\n const layoutLists = JSON.parse(localStorage.getItem('dashboardLayoutLists') || '[]');\r\n\r\n // Update the layout at the given index if it exists, otherwise add it\r\n if (dashboardIndex >= 0 && dashboardIndex < layoutLists.length) {\r\n layoutLists[dashboardIndex] = layout; // Update the existing layout at the index\r\n } else {\r\n layoutLists.push(layout); // Add a new layout if the index is out of bounds\r\n }\r\n\r\n // Save the updated layout and layout list back to localStorage\r\n localStorage.setItem('dashboardLayout', JSON.stringify(layout)); // Optional: If you want to store the current layout separately\r\n localStorage.setItem('dashboardLayoutLists', JSON.stringify(layoutLists));\r\n }\r\n saveLayoutList(layout: IgcDockManagerLayout[]): void {\r\n localStorage.setItem('dashboardLayoutLists', JSON.stringify(layout));\r\n }\r\n\r\n loadLayout(): IgcDockManagerLayout | null {\r\n const layout = localStorage.getItem('dashboardLayout');\r\n return layout ? JSON.parse(layout) : null;\r\n }\r\n\r\n loadNewLayout(index: number): IgcDockManagerLayout | null {\r\n const newLayout = localStorage.getItem('dashboardLayoutLists');\r\n\r\n if (newLayout) {\r\n const layoutLists = JSON.parse(newLayout);\r\n const layout = layoutLists[index];\r\n return layout ? layout : null;\r\n }\r\n\r\n return null;\r\n }\r\n updateLayout(newLayout: IgcDockManagerLayout, index) {\r\n this.dashboardIndex = index;\r\n this.layoutSubject.next(newLayout);\r\n // this.defaultDash=newLayout;\r\n this.saveLayout(newLayout, index); // Save the updated layout\r\n }\r\n\r\n addNewDashboard(): number {\r\n const currentLayout: IgcDockManagerLayout[] = this.getGrid();\r\n const newLayout: IgcDockManagerLayout = this.layoutSubject.getValue();\r\n\r\n currentLayout.push(newLayout);\r\n this.saveLayoutList(currentLayout);\r\n\r\n return currentLayout.length;\r\n }\r\n removeDashboard(index: number) {\r\n const tempLayout = this.getGrid();\r\n tempLayout.splice(index, 1);\r\n localStorage.setItem(\"dashboardLayoutLists\", JSON.stringify(tempLayout));\r\n return tempLayout.length;\r\n }\r\n\r\n\r\n saveLang(language) {\r\n localStorage.setItem(\"lang\", language);\r\n }\r\n\r\n getLang() {\r\n return localStorage.getItem(\"lang\");\r\n }\r\n\r\n saveMarketWatchColumns(newColsList) {\r\n localStorage.setItem(\"marketCols\", JSON.stringify(newColsList));\r\n }\r\n\r\n getMarketWatchColumns() {\r\n return JSON.parse(localStorage.getItem(\"marketCols\"));\r\n }\r\n\r\n savePortfolioColumns(newColsList) {\r\n localStorage.setItem(\"portfolioCols\", JSON.stringify(newColsList));\r\n }\r\n\r\n getPortfolioColumns() {\r\n return JSON.parse(localStorage.getItem(\"portfolioCols\"));\r\n }\r\n\r\n updateMarketWatchState(newState) {\r\n const existingRootPanes = this.getAllPanes(this.defaultDash.rootPane);\r\n const existingFloatingPanes = this.defaultDash.floatingPanes\r\n ? this.getAllFloatingPanes(this.defaultDash.floatingPanes)\r\n : [];\r\n\r\n const allPanes = [...existingRootPanes, ...existingFloatingPanes];\r\n\r\n // Find the exact pane using contentId\r\n const exactPane = allPanes.find(pane => pane.headerId === \"market-watch\");\r\n\r\n exactPane.state=newState;\r\n this.updatePaneInDefaultDash(exactPane,this.dashboardIndex);\r\n }\r\n\r\n\r\n /////////////\r\n saveOrderHistoryColumns(newColsList) {\r\n localStorage.setItem(\"orderHistoryCols\", JSON.stringify(newColsList));\r\n }\r\n\r\n getOrderHistoryColumns() {\r\n return JSON.parse(localStorage.getItem(\"orderHistoryCols\"));\r\n }\r\n //////////////\r\n saveTradeHistoryColumns(newColsList) {\r\n localStorage.setItem(\"tradeHistoryCols\", JSON.stringify(newColsList));\r\n }\r\n\r\n getTradeHistoryColumns() {\r\n return JSON.parse(localStorage.getItem(\"tradeHistoryCols\"));\r\n }\r\n\r\n switchTheme() {\r\n this.isDarkTheme = !this.isDarkTheme;\r\n }\r\n\r\n initTheme() {\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"light\" ? false : true;\r\n localStorage.setItem(\"darktheme\", this.isDarkTheme ? \"dark\" : \"light\");\r\n document.body.setAttribute(\r\n \"data-theme\",\r\n this.isDarkTheme ? \"dark\" : \"light\"\r\n );\r\n }\r\n}","
\r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{\"select-company-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{'no-trades'|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n 0\" style=\"width: 100%;\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{\"time\"|translate}}{{\"price\"|translate}}{{\"qty\"|translate}}{{\"change\"|translate}}
{{item.EXEC_TIME | date:'h:mm:ss'}}0? 'green' : (item.CHANGE_PRC < 0)? 'red':''\">\r\n {{item.TRADE_PRICE}}{{item.TRADE_VOLUME | number: \"1.0\":\"en-US\"}}0? 'green' : (item.CHANGE_PRC < 0)? 'red':''\">\r\n {{item.CHANGE_PRC}} %
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{\"select-company-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{'no-trades'|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n 0\" style=\"width: 100%;\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
#{{\"price\"|translate}}{{\"qty\"|translate}}
{{item.Split}}{{item.Price}}{{item.Qty | number: \"1.0\":\"en-US\"}}
\r\n
\r\n
\r\n","import { MarketTrades } from \"./../../models/company-trades\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport { CompanyTrades } from \"src/app/models/company-trades\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\n\r\n@Component({\r\n selector: \"app-trades\",\r\n templateUrl: \"./trades.component.html\",\r\n styleUrls: [\"./trades.component.scss\"],\r\n})\r\nexport class TradesComponent implements OnInit {\r\n priceTrades: CompanyTrades;\r\n timeTrades: MarketTrades[];\r\n\r\n isTradesLoading: boolean;\r\n @Input() symbolCode: string;\r\n @Input() reuters: string;\r\n @Input() companyName: string;\r\n @Input() isLinked;\r\n isTime: any = true;\r\n\r\n constructor(\r\n private _service: ApiService,\r\n private signalService: SignalRService\r\n ) {\r\n this.signalService.tradeChanges.subscribe((res) => {\r\n if (this.reuters != null) {\r\n res.forEach((element) => {\r\n if (element.SEC_BORAD_ID == this.symbolCode) {\r\n if (this.isTime && this.timeTrades.length > 0) {\r\n this.timeTrades.unshift(element as MarketTrades);\r\n if (this.timeTrades?.length > 50) {\r\n this.timeTrades.length = 50;\r\n }\r\n } else this.fetchCompanyTradesByPrice();\r\n }\r\n });\r\n }\r\n });\r\n // }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.signalService.connectTradesUpdates();\r\n }\r\n ngOnDestroy(): void {\r\n this.signalService.disconnectTradesSignalr();\r\n }\r\n\r\n toggleView(value) {\r\n if (this.symbolCode) this.isTradesLoading = true;\r\n this.isTime = value;\r\n if (value) this.fetchCompanyTradesByTime();\r\n else this.fetchCompanyTradesByPrice();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.symbolCode = changes.symbolCode.currentValue;\r\n if (this.symbolCode) {\r\n this.isTradesLoading = true;\r\n if (this.isTime) this.fetchCompanyTradesByTime();\r\n else this.fetchCompanyTradesByPrice();\r\n }\r\n }\r\n\r\n fetchCompanyTradesByPrice() {\r\n // this.isTradesLoading = true;\r\n\r\n this._service.fetchCompanyTrades(this.symbolCode).subscribe((res) => {\r\n this.isTradesLoading = false;\r\n this.priceTrades = res as CompanyTrades;\r\n });\r\n }\r\n fetchCompanyTradesByTime() {\r\n this._service.fetchCompanyTradesByTime(this.symbolCode).subscribe((res) => {\r\n this.isTradesLoading = false;\r\n this.timeTrades = res as MarketTrades[];\r\n });\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n@Pipe({\r\n name: \"search\",\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n if (!args) {\r\n return value;\r\n }\r\n return value.filter(\r\n (val) =>\r\n val.ENG_NAME &&\r\n (val.ENG_NAME.toLocaleLowerCase().includes(args.toLocaleLowerCase()) ||\r\n val.ARB_NAME.toLocaleLowerCase().includes(args.toLocaleLowerCase()) ||\r\n val.SYMBOL_CODE.toLocaleLowerCase().includes(\r\n args.toLocaleLowerCase()\r\n ) ||\r\n val.Reuters.toLocaleLowerCase().includes(args.toLocaleLowerCase()))\r\n );\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\n\r\n@Component({\r\n selector: \"app-purchase-power-details\",\r\n templateUrl: \"./purchase-power-details.component.html\",\r\n styleUrls: [\"./purchase-power-details.component.scss\"],\r\n})\r\nexport class PurchasePowerDetailsComponent {\r\n @Input() purchasePower;\r\n @Input() blockingAmount;\r\n @Input() currencySelection;\r\n @Output() dismiss = new EventEmitter();\r\n usdWithdraw: any;\r\n egpWithdraw: any;\r\n\r\n filteredBlockingAmount: any;\r\n\r\n constructor(public translate: TranslateService) {}\r\n\r\n close() {\r\n this.dismiss.emit(false);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes?.purchasePower?.currentValue) {\r\n this.purchasePower = changes.purchasePower.currentValue;\r\n\r\n this.usdWithdraw = 0;\r\n this.egpWithdraw = 0;\r\n var tempUsd = this.blockingAmount.filter((i) => i.curr == \"USD\");\r\n var tempEgp = this.blockingAmount.filter((i) => i.curr == \"EGP\");\r\n\r\n this.filteredBlockingAmount =\r\n this.blockingAmount.filter(\r\n (i) => i.curr == this.currencySelection\r\n )[0] ?? null;\r\n if (tempUsd.length > 0)\r\n this.usdWithdraw = tempUsd[0].AvailableBalanceForWithdrow;\r\n if (tempEgp.length > 0)\r\n this.egpWithdraw = tempEgp[0].AvailableBalanceForWithdrow;\r\n }\r\n\r\n var tempUsd = this.blockingAmount.filter((i) => i.curr == \"USD\");\r\n var tempEgp = this.blockingAmount.filter((i) => i.curr == \"EGP\");\r\n\r\n this.filteredBlockingAmount =\r\n this.blockingAmount.filter((i) => i.curr == this.currencySelection)[0] ??\r\n null;\r\n if (tempUsd.length > 0)\r\n this.usdWithdraw = tempUsd[0].AvailableBalanceForWithdrow;\r\n if (tempEgp.length > 0)\r\n this.egpWithdraw = tempEgp[0].AvailableBalanceForWithdrow;\r\n\r\n if (changes?.currencySelection?.currentValue) {\r\n this.currencySelection = changes.currencySelection.currentValue;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{'purchase-power-details'|translate}}\r\n

{{currencySelection|translate}}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{'start-balance'|translate}}0),\r\n 'red':(filteredBlockingAmount?.bookbalance<0),\r\n \r\n 'text-color-theme':(filteredBlockingAmount?.bookbalance==0)}\">{{(filteredBlockingAmount?.bookbalance || 0)| number:\r\n \"1.0\":\"en-US\"}}
+ {{'today-sales'|translate}}{{(filteredBlockingAmount?.penSell || 0)| number: \"1.0\":\"en-US\"}}
+ {{'margin'|translate}} {{(filteredBlockingAmount?.mrgLmt || 0)| number: \"1.0\":\"en-US\"}}
+ {{'day-limit'|translate}}{{(filteredBlockingAmount?.crdLmt || 0)| number: \"1.0\":\"en-US\"}}
- {{'buy-orders'|translate}} {{(filteredBlockingAmount?.pendBuy || 0)| number: \"1.0\":\"en-US\"}}
- {{'withdrawal-requests'|translate}} {{(filteredBlockingAmount?.withHeldAmt || 0)| number: \"1.0\":\"en-US\"}}
{{'purchase-power'|translate}}0),\r\n 'red':(purchasePower<0),\r\n 'text-color-theme':(purchasePower==0)}\">{{(purchasePower || 0)| number: \"1.0\":\"en-US\"}}
\r\n\r\n
\r\n
\r\n {{'withdrawalBalance'|translate}} \r\n
\r\n
\r\n
\r\n
{{'EGP'|translate}}
\r\n
{{ egpWithdraw || 0 | number}}
\r\n
\r\n
\r\n
{{'USD'|translate}}
\r\n
{{ usdWithdraw || 0 | number}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'inputCommaSepreated',\r\n pure: false\r\n})\r\nexport class InputCommaSepreatedPipe implements PipeTransform {\r\n\r\n transform(value: number | string, minFractionDigits: number = 0, maxFractionDigits: number = 2, locale: string = 'en'): string {\r\n return new Intl.NumberFormat(locale, {\r\n minimumFractionDigits: minFractionDigits,\r\n maximumFractionDigits: maxFractionDigits\r\n }).format(Number(value));\r\n}\r\n\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n backofficeUrl: \"https://boapi.egitdns.net\",\r\n globalDataApi: \"http://164.160.104.123:3030\",\r\n feedUrl: \"https://ticker.egidegypt.com\",\r\n recaptcha: {\r\n siteKey: \"6LePCWEfAAAAAIbSbj1pSyTZp_UDG5ItAS4ReI24\",\r\n },\r\n};\r\n\r\n// \"backofficeUrl\": \"http://164.160.104.163:9090\",\r\n// \"globalDataApi\": \"http://164.160.104.123:3030\",\r\n// \"feedUrl\": \"http://164.160.104.163:9090\"\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { ConfigService } from \"./../../services/config.service\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { GridsterService } from \"./../../services/gridster.service\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport {\r\n Component,\r\n OnInit,\r\n QueryList,\r\n ViewChild,\r\n ViewChildren,\r\n} from \"@angular/core\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { NgZone, OnDestroy } from \"@angular/core\";\r\nimport { MatSelectChange } from \"@angular/material/select\";\r\nimport { fromEvent, merge, Subscription } from \"rxjs\";\r\nimport { debounceTime, filter } from \"rxjs/operators\";\r\nimport { MarketDepthAsksComponent } from \"src/app/components/market-depth-asks/market-depth-asks.component\";\r\nimport { MarketDepthBidsComponent } from \"src/app/components/market-depth-bids/market-depth-bids.component\";\r\nimport { MarketDepthComponent } from \"src/app/components/market-depth/market-depth.component\";\r\nimport { MarketTradesComponent } from \"src/app/components/market-trades/market-trades.component\";\r\nimport { MarketWatchTableComponent } from \"src/app/components/market-watch-table/market-watch-table.component\";\r\nimport { NewsComponent } from \"src/app/components/news/news.component\";\r\nimport { TradesComponent } from \"src/app/components/trades/trades.component\";\r\nimport { KtdGridLayout, KtdGridLayoutItem } from \"./grid.definitions\";\r\nimport {\r\n KtdGridComponent,\r\n ktdTrackById,\r\n KtdDragStart,\r\n KtdResizeStart,\r\n KtdDragEnd,\r\n KtdResizeEnd,\r\n} from \"@katoid/angular-grid-layout\";\r\nimport { HistoricalComponent } from \"src/app/components/historical/historical.component\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\n\r\n@Component({\r\n selector: \"app-home\",\r\n templateUrl: \"./home-new.component.html\",\r\n styleUrls: [\"./home-new.component.scss\"],\r\n})\r\nexport class HomeNewComponent implements OnInit {\r\n isCompaniesLoading: boolean;\r\n selectedCompanySymbol: any;\r\n @ViewChildren(\"MWT\") components: QueryList;\r\n companies: CompanyList[];\r\n\r\n records = [];\r\n toggleBool = false;\r\n selectedEgx: CompanyList;\r\n\r\n companiesUpdates: any = [];\r\n\r\n @ViewChild(KtdGridComponent, { static: true }) grid: KtdGridComponent;\r\n trackById = ktdTrackById;\r\n\r\n cols = 24;\r\n rowHeight = 60;\r\n compactType: \"vertical\";\r\n\r\n layout: KtdGridLayout = [\r\n {\r\n w: 10,\r\n h: 8,\r\n y: 0,\r\n x: 0,\r\n id: \"market-watch\",\r\n },\r\n {\r\n w: 5,\r\n h: 4,\r\n y: 0,\r\n x: 15,\r\n id: \"news\",\r\n },\r\n {\r\n w: 4,\r\n h: 4,\r\n y: 8,\r\n x: 10,\r\n id: \"trades\",\r\n },\r\n {\r\n w: 5,\r\n h: 4,\r\n y: 4,\r\n x: 10,\r\n id: \"market-depth\",\r\n },\r\n {\r\n w: 3,\r\n h: 4,\r\n y: 8,\r\n x: 17,\r\n id: \"depth-asks\",\r\n },\r\n {\r\n w: 3,\r\n h: 4,\r\n y: 8,\r\n x: 14,\r\n id: \"depth-bids\",\r\n },\r\n {\r\n w: 5,\r\n h: 4,\r\n y: 0,\r\n x: 10,\r\n id: \"market-trades\",\r\n },\r\n {\r\n w: 5,\r\n h: 4,\r\n y: 4,\r\n x: 15,\r\n id: \"historical\",\r\n },\r\n ];\r\n transitions: { name: string; value: string }[] = [\r\n {\r\n name: \"ease\",\r\n value: \"transform 500ms ease, width 500ms ease, height 500ms ease\",\r\n },\r\n {\r\n name: \"ease-out\",\r\n value:\r\n \"transform 500ms ease-out, width 500ms ease-out, height 500ms ease-out\",\r\n },\r\n {\r\n name: \"linear\",\r\n value: \"transform 500ms linear, width 500ms linear, height 500ms linear\",\r\n },\r\n {\r\n name: \"overflowing\",\r\n value:\r\n \"transform 500ms cubic-bezier(.28,.49,.79,1.35), width 500ms cubic-bezier(.28,.49,.79,1.35), height 500ms cubic-bezier(.28,.49,.79,1.35)\",\r\n },\r\n {\r\n name: \"fast\",\r\n value: \"transform 200ms ease, width 200ms linear, height 200ms linear\",\r\n },\r\n {\r\n name: \"slow-motion\",\r\n value:\r\n \"transform 1000ms linear, width 1000ms linear, height 1000ms linear\",\r\n },\r\n { name: \"transform-only\", value: \"transform 500ms ease\" },\r\n ];\r\n currentTransition: string = this.transitions[1].value;\r\n\r\n dragStartThreshold = 0;\r\n disableDrag = false;\r\n disableResize = false;\r\n disableRemove = false;\r\n autoResize = false;\r\n preventCollision = false;\r\n isDragging = false;\r\n isResizing = false;\r\n resizeSubscription: Subscription;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private accService: AccountService,\r\n public gridService: GridsterService\r\n ) {\r\n this.fetchTodayMarketWatch();\r\n }\r\n\r\n ngOnInit() {\r\n this.resizeSubscription = merge(\r\n fromEvent(window, \"resize\"),\r\n fromEvent(window, \"orientationchange\")\r\n )\r\n .pipe(\r\n debounceTime(50),\r\n filter(() => this.autoResize)\r\n )\r\n .subscribe(() => {\r\n this.grid.resize();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.resizeSubscription.unsubscribe();\r\n }\r\n\r\n onDragStarted(event: KtdDragStart) {\r\n this.isDragging = true;\r\n }\r\n\r\n onResizeStarted(event: KtdResizeStart) {\r\n this.isResizing = true;\r\n }\r\n\r\n onDragEnded(event: KtdDragEnd) {\r\n this.isDragging = false;\r\n }\r\n\r\n onResizeEnded(event: KtdResizeEnd) {\r\n this.isResizing = false;\r\n }\r\n\r\n onLayoutUpdated(layout: KtdGridLayout) {\r\n this.layout = layout;\r\n }\r\n\r\n onCompactTypeChange(change: MatSelectChange) {\r\n this.compactType = change.value;\r\n }\r\n\r\n onTransitionChange(change: MatSelectChange) {\r\n this.currentTransition = change.value;\r\n }\r\n\r\n onDisableDragChange(checked: boolean) {\r\n this.disableDrag = checked;\r\n }\r\n\r\n onDisableResizeChange(checked: boolean) {\r\n this.disableResize = checked;\r\n }\r\n\r\n onDisableRemoveChange(checked: boolean) {\r\n this.disableRemove = checked;\r\n }\r\n\r\n onAutoResizeChange(checked: boolean) {\r\n this.autoResize = checked;\r\n }\r\n\r\n onPreventCollisionChange(checked: boolean) {\r\n this.preventCollision = checked;\r\n }\r\n\r\n onColsChange(event: Event) {\r\n this.cols = parseInt((event.target as HTMLInputElement).value, 10);\r\n }\r\n\r\n onRowHeightChange(event: Event) {\r\n this.rowHeight = parseInt((event.target as HTMLInputElement).value, 10);\r\n }\r\n\r\n onDragStartThresholdChange(event: Event) {\r\n this.dragStartThreshold = parseInt(\r\n (event.target as HTMLInputElement).value,\r\n 10\r\n );\r\n }\r\n\r\n /** Adds a grid item to the layout */\r\n // addItemToLayout() {\r\n // const maxId = this.layout.reduce(\r\n // (acc, cur) => Math.max(acc, parseInt(cur.id, 10)),\r\n // -1\r\n // );\r\n // const nextId = maxId + 1;\r\n\r\n // const newLayoutItem: KtdGridLayoutItem = {\r\n // id: nextId.toString(),\r\n // x: 0,\r\n // y: 0,\r\n // w: 2,\r\n // h: 2,\r\n // };\r\n\r\n // // Important: Don't mutate the array, create new instance. This way notifies the Grid component that the layout has changed.\r\n // this.layout = [newLayoutItem, ...this.layout];\r\n // }\r\n\r\n /**\r\n * Fired when a mousedown happens on the remove grid item button.\r\n * Stops the event from propagating an causing the drag to start.\r\n * We don't want to drag when mousedown is fired on remove icon button.\r\n */\r\n stopEventPropagation(event: Event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n // /** Removes the item from the layout */\r\n // removeItem(id: string) {\r\n // // Important: Don't mutate the array. Let Angular know that the layout has changed creating a new reference.\r\n // this.layout = ktdArrayRemoveItem(this.layout, item => item.id === id);\r\n // }\r\n\r\n //////////////////////////////////////////////////\r\n credentialsSearchFilter(event: any) {\r\n const val = event.target.value.toLowerCase();\r\n\r\n if (val != \"\") {\r\n this.toggleBool = true;\r\n } else {\r\n this.toggleBool = false;\r\n }\r\n\r\n this.records = this.companies.filter(function (d) {\r\n return d.ENG_NAME?.toLowerCase().includes(val);\r\n });\r\n }\r\n\r\n WindowResize() {\r\n setTimeout(() => {\r\n window.dispatchEvent(new Event(\"resize\"));\r\n }, 250);\r\n }\r\n\r\n get(comp) {\r\n switch (comp) {\r\n case \"market-watch\":\r\n return MarketWatchTableComponent;\r\n case \"news\":\r\n return NewsComponent;\r\n case \"trades\":\r\n return TradesComponent;\r\n case \"depth-asks\":\r\n return MarketDepthAsksComponent;\r\n case \"depth-bids\":\r\n return MarketDepthBidsComponent;\r\n case \"market-depth\":\r\n return MarketDepthComponent;\r\n case \"market-trades\":\r\n return MarketTradesComponent;\r\n case \"historical\":\r\n return HistoricalComponent;\r\n case \"bids\":\r\n return MarketDepthBidsComponent;\r\n case \"asks\":\r\n return MarketDepthAsksComponent;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.components.first.componentRef.instance.fireFunction = (symbol) => {\r\n this.selectedCompanySymbol = symbol;\r\n };\r\n this.components.first.componentRef.instance.addWidget = (\r\n name,\r\n companyData\r\n ) => {\r\n const newLayoutItem: KtdGridLayoutItem = {\r\n id: name,\r\n x: 20,\r\n y: 20,\r\n w: 5,\r\n h: 5,\r\n symbolCode: companyData.symbol,\r\n reuters: companyData.reuters,\r\n companyName: companyData.name,\r\n };\r\n\r\n // Important: Don't mutate the array, create new instance. This way notifies the Grid component that the layout has changed.\r\n this.layout = [newLayoutItem, ...this.layout];\r\n\r\n // this.layout.push({\r\n // cols: 4,\r\n // rows: 4,\r\n // y: 2,\r\n // x: 4,\r\n // dragEnabled: true,\r\n // resizeEnabled: true,\r\n // name: name,\r\n // symbolCode: companyData.symbol,\r\n // reuters: companyData.reuters,\r\n // companyName: companyData.name,\r\n // });\r\n };\r\n }\r\n\r\n removeItem(id: string): void {\r\n // setTimeout(() => {\r\n // $event.preventDefault();\r\n // $event.stopPropagation();\r\n // this.dashboard.splice(this.dashboard.indexOf(item), 1);\r\n // this.gridService.saveGrid(this.dashboard);\r\n // }, 0);\r\n this.layout = this.ktdArrayRemoveItem(\r\n this.layout,\r\n (item) => item.id === id\r\n );\r\n }\r\n\r\n ktdArrayRemoveItem(array: T[], condition: (item: T) => boolean) {\r\n const arrayCopy = [...array];\r\n const index = array.findIndex((item) => condition(item));\r\n if (index > -1) {\r\n arrayCopy.splice(index, 1);\r\n }\r\n return arrayCopy;\r\n }\r\n\r\n fetchTodayMarketWatch() {\r\n this.isCompaniesLoading = true;\r\n this.companies = null;\r\n this.http\r\n .get(`${UrlConstants.feedUrl}/api/Feed/GetTodayMarketWatch`)\r\n .subscribe((res) => {\r\n this.isCompaniesLoading = false;\r\n this.companies = res as CompanyList[];\r\n this.switchEgx(\"EGX30\");\r\n this.WindowResize();\r\n });\r\n }\r\n\r\n switchEgx(egx) {\r\n this.selectedEgx = this.companies.filter((res) => {\r\n return res.Reuters == egx;\r\n })[0];\r\n }\r\n\r\n onSymbolUpdate(newSymbol) {\r\n this.selectedCompanySymbol = newSymbol;\r\n }\r\n\r\n selectCompany(symbolCode) {\r\n this.selectedCompanySymbol = symbolCode;\r\n }\r\n}\r\n","
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{company.Reuters}}\r\n
\r\n
0?'green' : 'red'\">\r\n {{company.LAST_CHANGE_PRC | number : '1.2-2'}}%\r\n 0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{company.ENG_NAME}}\r\n
\r\n
\r\n {{company.LAST_TRADE_PRICE | currency:\"EGP\":\"symbol\"}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'checkArray'\r\n})\r\nexport class CheckArrayPipe implements PipeTransform {\r\n\r\n transform(array: any, key: any): any {\r\n let val = array.find(v => v.Index == key);\r\n return val? false : true;\r\n }\r\n\r\n}\r\n","import { HttpClient} from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { CompanyNews } from \"../models/company-news\";\r\nimport { OrderFilter } from \"../models/order\";\r\nimport { UrlConstants } from \"../models/urlConstants\";\r\nimport { SearchObj } from \"../models/report\";\r\nimport { IPO, IPODetails, IpoDocuments } from \"../models/IPO\";\r\n\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ApiService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n //MARKET APIS\r\n\r\n fetchTodayMarketWatch() {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetTodayMarketWatch`\r\n );\r\n }\r\n\r\n fetchNotMarketSymbols() {\r\n return this.http.get(`${UrlConstants.feedUrl}/api/Feed/SearchMarketWatch`);\r\n }\r\n\r\n fetchAllMarketWatch() {\r\n return this.http.get(`${UrlConstants.feedUrl}/api/Feed/GetAllMarketWatch`);\r\n }\r\n\r\n fetchCompany(symbol) {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetMarketWatchForSymbol?SYMBOL_CODE=` +\r\n symbol\r\n );\r\n }\r\n\r\n fetchEGX(egx) {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetEGXMarketWatch?egxName=` + egx\r\n );\r\n }\r\n fetchDepartments() {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Settings/GetDepartments`\r\n );\r\n }\r\n\r\n fetchEgxMarket(x) {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetEGXMarketWatchByMarket?marketCode=` +\r\n x\r\n );\r\n }\r\n\r\n fetchCompanyNews(symbolCode) {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/getTopFormattedNews?count=10&SYMBOL_CODE=` +\r\n symbolCode\r\n );\r\n }\r\n\r\n fetchMarketNews() {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/getTodayFormattedNews?type=1`\r\n );\r\n }\r\n\r\n fetchCompanyTrades(symbolCode) {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetTodaySymbolTrades?SYMBOL_CODE=` +\r\n symbolCode\r\n );\r\n }\r\n\r\n fetchCompanyTradesByTime(symbolCode) {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetSymbolTrades?SYMBOL_CODE=` +\r\n symbolCode +\r\n \"&count=20\"\r\n );\r\n }\r\n\r\n fetchMarketTrades() {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetTodayTrades?count=10`\r\n );\r\n }\r\n\r\n fetchAllMarketDepth() {\r\n return this.http.get(`${UrlConstants.feedUrl}/api/Feed/GetTodayTrades`);\r\n }\r\n\r\n fetchPurchasePower(relCode) {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Client/GetClientPurchasePower?relationCode=` +\r\n relCode\r\n );\r\n }\r\n\r\n fetchOrders(relCode, filter) {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Orders/GetMyOrders?relationCode=` +\r\n relCode +\r\n \"&fixStatusGroup=\" +\r\n filter\r\n );\r\n }\r\n fetchfilteredOrders(request: OrderFilter) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/Orders/GetMyOrdersByRange`,\r\n request\r\n );\r\n }\r\n fetchMarginCalculator(request: any) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/Client/MarginCalculator`,\r\n request\r\n );\r\n }\r\n fetchOrderHistory(orderNumber) {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Orders/GetOrder?OrderNumber=` +\r\n orderNumber\r\n );\r\n }\r\n fetchfilteredTransactions(request: OrderFilter) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/Orders/getOrderTransactions`,\r\n request\r\n );\r\n }\r\n fetchWidgetfilteredTransactions(request: OrderFilter) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/Orders/getOrderTransactionsWidget`,\r\n request\r\n );\r\n }\r\n fetchTPlusZero(request) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/OnlineTrading/TPlusZeroRequest`,\r\n request\r\n );\r\n }\r\n fetchBOSymbols() {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Orders/GetBOSymbols`\r\n );\r\n }\r\n fetchBOAllSymbols() {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Settings/GetBOSymbols`\r\n );\r\n }\r\n fetchAllCustd() {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Settings/GetCustodianList`\r\n );\r\n }\r\n fetchOrder(OrderNumber) {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Settings/GetOrder` + OrderNumber\r\n );\r\n }\r\n fetchOrderFilters() {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Settings/GetOrderFilters`\r\n );\r\n }\r\n\r\n cancelOrder(orderId) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/Orders/CancelOrder?OrderNumber=` +\r\n orderId,\r\n {}\r\n );\r\n }\r\n\r\n fetchDepthByOrder(symbolCode) {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetMarketDepth?SYMBOL_CODE=` +\r\n symbolCode\r\n );\r\n }\r\n\r\n fetchDepthByPrice(symbolCode, count) {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetMarketDepthPerPrice?SYMBOL_CODE=` +\r\n symbolCode +\r\n `&count=` +\r\n count\r\n );\r\n }\r\n\r\n fetchMarketSummary() {\r\n return this.http.get(`${UrlConstants.feedUrl}/api/Feed/GetMarketSummary`);\r\n }\r\n\r\n fetchMarketStatus() {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetMarketStatus`\r\n );\r\n }\r\n\r\n fetchGDR() {\r\n return this.http.get(\r\n `${UrlConstants.globalDataApi}/GlobalMarket/GetGDRChanges`\r\n );\r\n }\r\n\r\n fetchMiddleEastIndexes() {\r\n return this.http.get(\r\n `${UrlConstants.globalDataApi}/GlobalMarket/GetMiddleEastIndesxChanges`\r\n );\r\n }\r\n\r\n fetchMajorIndexes() {\r\n return this.http.get(\r\n `${UrlConstants.globalDataApi}/GlobalMarket/GetMajorIndexesChanges`\r\n );\r\n }\r\n\r\n fetchMetals() {\r\n return this.http.get(\r\n `${UrlConstants.globalDataApi}/GlobalMarket/GetMetalAndEnergyChanges`\r\n );\r\n }\r\n\r\n fetchExchangeRates() {\r\n return this.http.get(\r\n `${UrlConstants.globalDataApi}/GlobalMarket/GetExchangeRate`\r\n );\r\n }\r\n\r\n fetchInvestorSummary() {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetInvestorSummary`\r\n );\r\n }\r\n\r\n fetchAllInvestor() {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetAllInvestors`\r\n );\r\n }\r\n\r\n fetchInvestorTypeIndividual() {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetInvestorTypeIndividual`\r\n );\r\n }\r\n\r\n fetchInvestorTypes() {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetInvestorTypes`\r\n );\r\n }\r\n\r\n fetchTop5Best() {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetTop5BestMarketWatch`\r\n );\r\n }\r\n\r\n fetchTop5Worst() {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetTop5WorstMarketWatch`\r\n );\r\n }\r\n changePassword(changePassObj) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/Token/ChangePassword`,\r\n changePassObj\r\n );\r\n }\r\n checkUserNameAvailability(username: string) {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Token/checkUserNameAvailability?username=` + username \r\n );\r\n }\r\n logOut(user) {\r\n return this.http.post(`${UrlConstants.backofficeUrl}/api/Token/Logout`, {\r\n UserName: user,\r\n });\r\n }\r\n\r\n fetchAccounts() {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Client/GetAccountList`\r\n );\r\n }\r\n fetchClientsCashPosition(relationCode) {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Client/GetClientCashPosition?relationCode=` +\r\n relationCode\r\n );\r\n }\r\n marginCalculator(request: any) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/Client/MarginCalculator`,\r\n request\r\n );\r\n }\r\n\r\n fetchInvoiceById(relationCode, id) {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl\r\n }/api/Invoice/getInvoicePDF?relationCode=${relationCode}&lang=${1}&invoiceId=${id}`\r\n );\r\n }\r\n\r\n fetchMySymbols(relationCode) {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Client/GetMyPortfolioSymbols?relationCode=${relationCode}`\r\n );\r\n }\r\n\r\n fetchSymbolBO(symbolCode) {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Settings/GetBOSymbol?symbolCode=${symbolCode}`\r\n );\r\n }\r\n\r\n fetchMarketWatchNames() {\r\n return this.http.get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetAllMarketWatchNames`\r\n );\r\n }\r\n\r\n fetchBanks() {\r\n return this.http.get(`${UrlConstants.backofficeUrl}/api/Settings/GetBanks`);\r\n }\r\n\r\n fetchCurrencies() {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Settings/GetCurrencies`\r\n );\r\n }\r\n\r\n fetchActiveCurrencies() {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Settings/GetActiveCurrencies`\r\n );\r\n }\r\n\r\n fetchInvestmentAmount(symbol, relCode) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/OMSOrders/getRequiredInvestmentAmount`,\r\n {\r\n relationCode: relCode,\r\n symbolCode: symbol,\r\n },\r\n {}\r\n );\r\n }\r\n\r\n fetchClientPortfolio(relationCode, date) {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl\r\n }/api/Client/getClientPortfolioPDF?relationCode=${relationCode}&lang=${1}&wantedDate=${date}`\r\n );\r\n }\r\n\r\n GetPageItemsByTypesIDs(typesIDs: number[]) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/LandingPage/GetPageItemsByTypesIDs`, typesIDs\r\n );\r\n }\r\n\r\n GetCompanySettings() {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/LandingPage/GetCompanySettings`\r\n );\r\n }\r\n\r\n GetAttachmentsByItemIDs(itemsIDs: number[]) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/LandingPage/GetAttachmentsByItemIDs`, itemsIDs\r\n );\r\n }\r\n\r\n fetchTechnicalAnalysis(searchObj: SearchObj) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/OnlineTrading/GetTechnicalAnalysis`,\r\n searchObj\r\n );\r\n }\r\n\r\n fetchTechnicalAnalysisSymbols() {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/OnlineTrading/GetTechnicalAnalysisSymbols`\r\n );\r\n }\r\n\r\n GetAvailableIposList() {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Ipo/GetAvailableIposList`\r\n );\r\n }\r\n\r\n GetIpoDetails(IpoId) {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Ipo/GetIpoDetails?IpoId=` + IpoId \r\n );\r\n }\r\n\r\n GetIpoDocuments(IpoId) {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Ipo/GetIpoDocuments?IpoId=` + IpoId \r\n );\r\n }\r\n\r\n fetchIPOTotalVolume(symbolCode: number) {\r\n \r\n return this.http.get( \r\n `${UrlConstants.feedUrl}/api/Feed/GetIPOTotalVolumeBySymbol?symbolCode=${symbolCode}`\r\n );\r\n }\r\n\r\n GetMutualFundList() {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/OfflineOrders/DisplayAvailableFunds` ,\r\n null\r\n );\r\n }\r\n\r\n GetMutualFundDetails(symbolCode: string) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/OfflineOrders/DisplayFundDetails` ,\r\n {symbolCode}\r\n );\r\n }\r\n\r\n GetFundPriceHistory(symbolCode: string) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/OfflineOrders/DisplayFundPriceHistory` ,\r\n {SymbolCode:symbolCode,DataCount:30}\r\n );\r\n }\r\n\r\n OpenNewFundAccountRequest(MainCode: number,RelationCode: string) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/OnlineTrading/NewFundAccountRequest` ,\r\n {MainCode:MainCode,RelationCode:RelationCode}\r\n );\r\n }\r\n}\r\n","export class UrlConstants {\r\n static feedUrl: string;\r\n static backofficeUrl: string;\r\n static globalDataApi: string;\r\n static egxUrl: string;\r\n static appKey: string;\r\n static supportNumber: string;\r\n static companyName: string;\r\n static idleTime: number;\r\n static navButtonColor: string;\r\n static newSignalR: string;\r\n static landingNavButtonColor: string;\r\n static hasTechnicalAnalysis: boolean;\r\n static isEGID: boolean;\r\n static logoLink: string;\r\n static enableIPO: boolean;\r\n static enableMutualFund: boolean;\r\n}\r\n","import { TranslateService } from \"@ngx-translate/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Component, ElementRef, Input, OnInit, SimpleChanges, ViewChild } from \"@angular/core\";\r\nimport {\r\n Account,\r\n ClientData,\r\n Portfolio,\r\n PortfolioElement,\r\n} from \"src/app/screens/user-profile/client-data\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { OrderBuyComponent } from \"../order-buy/order-buy.component\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\nimport { Sort } from \"@angular/material/sort\";\r\nimport * as XLSX from \"xlsx\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n\r\nconst compare = (v1: string | number, v2: string | number) =>\r\n v1 < v2 ? -1 : v1 > v2 ? 1 : 0;\r\n\r\n@Component({\r\n selector: \"app-user-portfolio\",\r\n templateUrl: \"./user-portfolio.component.html\",\r\n styleUrls: [\"./user-portfolio.component.scss\"],\r\n})\r\nexport class UserPortfolioComponent implements OnInit {\r\n isProfileLoading: boolean = false;\r\n @Input() userPortfolio: Portfolio;\r\n searchPortfolio: Portfolio;\r\n sortedData: PortfolioElement[];\r\n sortDirection;\r\n sortActive;\r\n portfolioDataList;\r\n selectedAccount;\r\n accList: any;\r\n @Input() acc;\r\n @Input() currency;\r\n dtOptions: {\r\n // scrollX: true,\r\n paging: boolean;\r\n searching: boolean;\r\n autoWidth: boolean;\r\n info: boolean;\r\n responsive: boolean;\r\n fixedHeader: boolean;\r\n select: boolean;\r\n ordering: boolean;\r\n order: any[];\r\n sorting: any[];\r\n };\r\n accType:any\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private accService: AccountService,\r\n private dialog: MatDialog,\r\n public translate: TranslateService,\r\n private toastr: ToastrService\r\n ) {\r\n\r\n \r\n // this.onSelectClient(this.accList[0].relationCode);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (!this.acc) {\r\n this.accList = JSON.parse(localStorage.getItem(\"accList\")) as Account[];\r\n this.selectedAccount = this.accList[0].relationCode;\r\n this.accType = this.accList.filter(x=>x.relationCode == this.accList[0].relationCode)[0]?.accountType\r\n } else {\r\n this.accList = JSON.parse(localStorage.getItem(\"accList\")) as Account[];\r\n this.selectedAccount = this.acc; \r\n this.accType = this.accList.filter(x=>x.relationCode == this.acc)[0]?.accountType\r\n }\r\n\r\n if (this.userPortfolio != null) {\r\n let arrWithOrderIcon: Portfolio;\r\n arrWithOrderIcon = this.userPortfolio\r\n this.userPortfolio.Portfolio = arrWithOrderIcon?.Portfolio?.map((item) => {\r\n return {\r\n ...item,\r\n hasOrders: (item.BlkSetteledQty > 0 || item.BlkTPlusZeroQty > 0 || item.BlkTPlusOneQty > 0) ? true : false\r\n }\r\n })\r\n }\r\n // this.fetchUserPortfolio();\r\n }\r\n\r\n orderBuy(company, isSell) {\r\n const dialogRef = this.dialog.open(OrderBuyComponent, {\r\n disableClose: true,\r\n panelClass: \"order-dialog-container\",\r\n data: {\r\n symbol: company.SymbolCode,\r\n custodianCode: company.CustodianCode,\r\n type: isSell,\r\n currentUser: this.selectedAccount,\r\n },\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => { });\r\n }\r\n\r\n newOrder() {\r\n const dialogRef = this.dialog.open(OrderBuyComponent, {\r\n disableClose: true,\r\n panelClass: \"order-dialog-container\",\r\n data: { type: 0, currentUser: this.selectedAccount },\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => { });\r\n }\r\n\r\n // fetchUserPortfolio() {\r\n // this.isProfileLoading = true;\r\n // this.http\r\n // .get(\r\n // `${UrlConstants.backofficeUrl}/api/Client/GetClientInformation?relationCode=${this.selectedAccount}`\r\n // )\r\n // .subscribe((res) => {\r\n // this.isProfileLoading = false;\r\n // this.userPortfolio = res as ClientData;\r\n // });\r\n // }\r\n\r\n // get portfolioList() {\r\n // switch (this.currency) {\r\n // case \"USD\":\r\n // return this.userPortfolio?.Portfolio?.USDPortfolio;\r\n // case \"Rated\":\r\n // return this.userPortfolio?.Portfolio?.RatedPortfolio;\r\n // case \"EGP\":\r\n // return this.userPortfolio?.Portfolio?.EGPPortfolio;\r\n // default:\r\n // return this.userPortfolio?.Portfolio?.EGPPortfolio;\r\n // }\r\n // }\r\n ngOnInit(): void {\r\n this.dtOptions = {\r\n // scrollX: true,\r\n paging: false,\r\n searching: false,\r\n autoWidth: true,\r\n info: false,\r\n responsive: true,\r\n fixedHeader: true,\r\n select: false,\r\n ordering: false,\r\n order: [[10, \"desc\"]],\r\n sorting: [],\r\n // ajax: (dataTablesParameters: any, callback) => {\r\n // this.fetchEGX(\"EGX30\").subscribe((res) => {\r\n // this.isCompaniesLoading = false;\r\n // this.companies = res as CompanyList[];\r\n // this.WindowResize();\r\n\r\n // callback({\r\n // recordsTotal: this.companies.length,\r\n // data: [],\r\n // });\r\n // });\r\n // },\r\n };\r\n }\r\n\r\n get portfolioData() {\r\n if (this.searchPortfolio?.Portfolio?.length > 0) {\r\n if (this.sortedData?.length > 0) {\r\n this.portfolioDataList = this.sortAfterSearch(this.searchPortfolio?.Portfolio);\r\n } else {\r\n this.portfolioDataList = this.searchPortfolio?.Portfolio;\r\n }\r\n } else if (this.userPortfolio?.Portfolio?.length > 0) {\r\n if (this.sortedData?.length > 0) {\r\n this.portfolioDataList = this.sortAfterSearch(this.userPortfolio?.Portfolio);\r\n } else {\r\n this.portfolioDataList = this.userPortfolio?.Portfolio;\r\n }\r\n } else {\r\n this.portfolioDataList = null;\r\n }\r\n return this.portfolioDataList;\r\n }\r\n\r\n updateFilter(event) {\r\n const val = event.target.value.toLowerCase();\r\n\r\n if (val != \"\") {\r\n let temp;\r\n temp = { ...this.userPortfolio };\r\n\r\n temp.Portfolio =\r\n temp?.Portfolio.filter(function (d) {\r\n return (\r\n d.SymbolNameEn.toLocaleLowerCase().includes(\r\n val.toLocaleLowerCase()\r\n ) ||\r\n d.SymbolNameAr.toLocaleLowerCase().includes(\r\n val.toLocaleLowerCase()\r\n ) ||\r\n d.SymbolCode.toLocaleLowerCase().includes(\r\n val.toLocaleLowerCase()\r\n ) ||\r\n d.ReutersCode.toLocaleLowerCase().includes(\r\n val.toLocaleLowerCase()\r\n ) ||\r\n d.CustodianNameE.toLocaleLowerCase().includes(\r\n val.toLocaleLowerCase()\r\n ) ||\r\n d.CustodianNameA.toLocaleLowerCase().includes(\r\n val.toLocaleLowerCase()\r\n )\r\n );\r\n }) || [];\r\n\r\n this.searchPortfolio = temp;\r\n } else this.searchPortfolio = this.userPortfolio;\r\n\r\n if (this.searchPortfolio != null) {\r\n let arrWithOrderIcon: Portfolio\r\n arrWithOrderIcon = this.searchPortfolio\r\n this.searchPortfolio.Portfolio = arrWithOrderIcon.Portfolio.map((item) => {\r\n return {\r\n ...item,\r\n hasOrders: (item.BlkSetteledQty > 0 || item.BlkTPlusZeroQty > 0 || item.BlkTPlusOneQty) ? true : false\r\n }\r\n })\r\n }\r\n }\r\n\r\n sortAfterSearch(list) {\r\n // let column = this.colsss.find((x) => x.name == this.sortActive);\r\n const data = list.slice();\r\n\r\n if (!this.sortActive || this.sortDirection === '') {\r\n this.portfolioDataList = data;\r\n this.sortedData = null;\r\n return;\r\n }\r\n\r\n this.sortedData = data.sort((a, b) => {\r\n const isAsc = this.sortDirection === 'asc';\r\n switch (this.sortActive) {\r\n case 'symbol':\r\n return this.compare(this.translate.currentLang == \"ar\" ? a.SymbolNameAr : a.SymbolNameEn, this.translate.currentLang == \"ar\" ? b.SymbolNameAr : b.SymbolNameEn, isAsc);\r\n case 'qty':\r\n return this.compare(a.Qty, b.Qty, isAsc);\r\n case 'custodian':\r\n return this.compare((this.translate.currentLang == 'en') ? a.CustodianNameE : a.CustodianNameA, (this.translate.currentLang == 'en') ? b.CustodianNameE : b.CustodianNameA, isAsc);\r\n case 'current-price':\r\n return this.compare(a.MarketPrice, b.MarketPrice, isAsc);\r\n case 'cost-price':\r\n return this.compare(a.AvgCost, b.AvgCost, isAsc);\r\n case 'mkt-value':\r\n return this.compare(a.MarketValue, b.MarketValue, isAsc);\r\n case 'cost-value':\r\n return this.compare(a.CostValue, b.CostValue, isAsc);\r\n case 'gl':\r\n return this.compare(a.GL, b.GL, isAsc);\r\n case 'glpercent':\r\n return this.compare(a.GLPerc, b.GLPerc, isAsc);\r\n case 'weight':\r\n return this.compare(a.Weight, b.Weight, isAsc);\r\n default:\r\n return 0;\r\n }\r\n });\r\n return this.sortedData;\r\n }\r\n\r\n sortData(sort: Sort) {\r\n this.sortDirection = sort.direction;\r\n this.sortActive = sort.active;\r\n const data = this.portfolioDataList.slice();\r\n\r\n if (!sort.active || sort.direction === '') {\r\n this.portfolioDataList = data;\r\n this.sortedData = null;\r\n return;\r\n }\r\n\r\n\r\n this.sortedData = data.sort((a, b) => {\r\n const isAsc = sort.direction === 'asc';\r\n switch (sort.active) {\r\n case 'symbol':\r\n return this.compare(this.translate.currentLang == \"ar\" ? a.SymbolNameAr : a.SymbolNameEn, this.translate.currentLang == \"ar\" ? b.SymbolNameAr : b.SymbolNameEn, isAsc);\r\n case 'qty':\r\n return this.compare(a.Qty, b.Qty, isAsc);\r\n case 'custodian':\r\n return this.compare((this.translate.currentLang == 'en') ? a.CustodianNameE : a.CustodianNameA, (this.translate.currentLang == 'en') ? b.CustodianNameE : b.CustodianNameA, isAsc);\r\n case 'current-price':\r\n return this.compare(a.MarketPrice, b.MarketPrice, isAsc);\r\n case 'cost-price':\r\n return this.compare(a.AvgCost, b.AvgCost, isAsc);\r\n case 'mkt-value':\r\n return this.compare(a.MarketValue, b.MarketValue, isAsc);\r\n case 'cost-value':\r\n return this.compare(a.CostValue, b.CostValue, isAsc);\r\n case 'gl':\r\n return this.compare(a.GL, b.GL, isAsc);\r\n case 'glpercent':\r\n return this.compare(a.GLPerc, b.GLPerc, isAsc);\r\n case 'weight':\r\n return this.compare(a.Weight, b.Weight, isAsc);\r\n default:\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n\r\n compare(a: number | string, b: number | string, isAsc: boolean) {\r\n var aValue = (typeof a === 'string') ? a.toLowerCase() : a;\r\n var bValue = (typeof b === 'string') ? b.toLowerCase() : b;\r\n return (aValue < bValue ? -1 : 1) * (isAsc ? 1 : -1);\r\n }\r\n\r\n @ViewChild(\"TABLE\") table: ElementRef;\r\n exportAsExcel() {\r\n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(\r\n this.table.nativeElement\r\n ); //converts a DOM TABLE element to a worksheet\r\n\r\n // remove first column Buy/Sell \"B/S\"\r\n ws['!cols'] = [];\r\n ws['!cols'][0] = { hidden: true };\r\n\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, \"TRANSACTIONS\");\r\n\r\n /* save to file */\r\n XLSX.writeFile(wb, \"Client\" + \"Portfolio\" + `${this.selectedAccount}` + \".xlsx\")\r\n this.toastr.success(\"\", this.translate.instant(\"successDocumentDownload\"), {\r\n timeOut: 15000,\r\n positionClass: \"toast-bottom-center\",\r\n closeButton: true,\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n {{\"portfolio\"|translate}}\r\n
\r\n \r\n
0\" class=\"my-2\">\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{'no-portfolio'|translate}}
\r\n
\r\n
\r\n
\r\n 0\">\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{{'actions'|translate}}{{'symbol' | translate }}{{'qty'|translate}}{{\"custodian\"|translate}}{{\"current-price\"|translate}}{{\"cost-price\"|translate}}{{\"mkt-value\"|translate}}{{\"cost-value\"|translate}}G/LG/L %{{\"weight\"|translate}}
\r\n \r\n \r\n \r\n {{\r\n (translate.currentLang=='en')\r\n ?item.SymbolNameEn\r\n :item.SymbolNameAr\r\n }}\r\n \r\n \r\n \r\n
\r\n {{item.Qty | number: \"1.0\":\"en-US\"}}\r\n
\r\n
{{(translate.currentLang=='en')?item.CustodianNameE:item.CustodianNameA}}{{item.MarketPrice}}{{item.AvgCost }}{{item.MarketValue | number: \"1.2-2\":\"en-US\"}}{{item.CostValue | number: \"1.2-2\":\"en-US\"}} 0 ? 'green': item.GL < 0? 'red':'white'\">{{item.GL | number:\r\n \"1.2-2\":\"en-US\"}}\r\n 0 ? 'green': item.GL < 0? 'red':'white'\">{{item.GLPerc}}%{{item.Weight}}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{'norm'|translate}}{{'blk'|translate}}{{'avb'|translate}}
{{'setteled'|translate}} {{item?.SetteledQty | number}} {{item?.BlkSetteledQty | number}} {{item?.AvbSetteledQty | number}}
{{'t0'|translate}} {{item?.TPlusZeroQty| number}} {{item?.BlkTPlusZeroQty| number}} {{item?.AvbTPlusZeroQty| number}}
{{'t1'|translate}} {{item?.TPlusOneQty| number}} {{item?.BlkTPlusOneQty| number}} {{item?.AvbTPlusOneQty| number}}
{{'un-setteled'|translate}} {{item?.NormalQty| number}} - -
\r\n
\r\n \r\n \r\n \r\n\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Total
\r\n \r\n \r\n
{{userPortfolio?.TotalMarketValue | number: \"1.2-2\":\"en-US\"}}
\r\n \r\n \r\n \r\n
{{userPortfolio?.TotalCostValue | number: \"1.2-2\":\"en-US\"}}
\r\n \r\n \r\n
0? 'green' : 'red'\">{{userPortfolio?.TotalGL | number:\r\n \"1.2-2\":\"en-US\"}}
\r\n \r\n \r\n
0? 'green' : 'red'\">{{userPortfolio?.TotalGLPer | number:\r\n \"1.2-2\":\"en-US\"}}%
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-password-validation-section\",\r\n templateUrl: \"./password-validation-section.component.html\",\r\n styleUrls: [\"./password-validation-section.component.scss\"],\r\n})\r\nexport class PasswordValidationSectionComponent implements OnInit {\r\n @Input() control;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'ordinal'\r\n})\r\nexport class OrdinalPipe implements PipeTransform {\r\n\r\n transform(int) {\r\n const ones = +int % 10, tens = +int % 100 - ones;\r\n return int + [\"th\",\"st\",\"nd\",\"rd\"][ tens === 10 || ones > 3 ? 0 : ones ];\r\n}\r\n\r\n}\r\n","import { TranslateService } from \"@ngx-translate/core\";\r\nimport { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\n\r\n@Component({\r\n selector: \"app-confirmation\",\r\n templateUrl: \"./confirmation.component.html\",\r\n styleUrls: [\"./confirmation.component.scss\"],\r\n})\r\nexport class ConfirmationComponent implements OnInit {\r\n message: string = \"Are you sure?\";\r\n confirmButtonText = \"Yes\";\r\n cancelButtonText = \"Cancel\";\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) private data: any,\r\n public translate: TranslateService,\r\n private dialogRef: MatDialogRef\r\n ) {\r\n if (data) {\r\n this.message = data.message || this.message;\r\n if (data.buttonText) {\r\n this.confirmButtonText = data.buttonText.ok || this.confirmButtonText;\r\n this.cancelButtonText = data.buttonText.cancel || this.cancelButtonText;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n onConfirmClick(): void {\r\n this.dialogRef.close(true);\r\n }\r\n}\r\n","
\r\n \r\n

\r\n {{message}}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n","/*!\r\n * Chart.js v2.9.3\r\n * https://www.chartjs.org\r\n * (c) 2019 Chart.js Contributors\r\n * Released under the MIT License\r\n */\r\n!(function (t, e) {\r\n \"object\" == typeof exports && \"undefined\" != typeof module\r\n ? (module.exports = e())\r\n : \"function\" == typeof define && define.amd\r\n ? define(e)\r\n : ((t = t || self).Chart = e());\r\n})(this, function () {\r\n \"use strict\";\r\n \"undefined\" != typeof globalThis\r\n ? globalThis\r\n : \"undefined\" != typeof window\r\n ? window\r\n : \"undefined\" != typeof global\r\n ? global\r\n : \"undefined\" != typeof self && self;\r\n function t() {\r\n throw new Error(\r\n \"Dynamic requires are not currently supported by rollup-plugin-commonjs\"\r\n );\r\n }\r\n function e(t, e) {\r\n return t((e = { exports: {} }), e.exports), e.exports;\r\n }\r\n var n = {\r\n aliceblue: [240, 248, 255],\r\n antiquewhite: [250, 235, 215],\r\n aqua: [0, 255, 255],\r\n aquamarine: [127, 255, 212],\r\n azure: [240, 255, 255],\r\n beige: [245, 245, 220],\r\n bisque: [255, 228, 196],\r\n black: [0, 0, 0],\r\n blanchedalmond: [255, 235, 205],\r\n blue: [0, 0, 255],\r\n blueviolet: [138, 43, 226],\r\n brown: [165, 42, 42],\r\n burlywood: [222, 184, 135],\r\n cadetblue: [95, 158, 160],\r\n chartreuse: [127, 255, 0],\r\n chocolate: [210, 105, 30],\r\n coral: [255, 127, 80],\r\n cornflowerblue: [100, 149, 237],\r\n cornsilk: [255, 248, 220],\r\n crimson: [220, 20, 60],\r\n cyan: [0, 255, 255],\r\n darkblue: [0, 0, 139],\r\n darkcyan: [0, 139, 139],\r\n darkgoldenrod: [184, 134, 11],\r\n darkgray: [169, 169, 169],\r\n darkgreen: [0, 100, 0],\r\n darkgrey: [169, 169, 169],\r\n darkkhaki: [189, 183, 107],\r\n darkmagenta: [139, 0, 139],\r\n darkolivegreen: [85, 107, 47],\r\n darkorange: [255, 140, 0],\r\n darkorchid: [153, 50, 204],\r\n darkred: [139, 0, 0],\r\n darksalmon: [233, 150, 122],\r\n darkseagreen: [143, 188, 143],\r\n darkslateblue: [72, 61, 139],\r\n darkslategray: [47, 79, 79],\r\n darkslategrey: [47, 79, 79],\r\n darkturquoise: [0, 206, 209],\r\n darkviolet: [148, 0, 211],\r\n deeppink: [255, 20, 147],\r\n deepskyblue: [0, 191, 255],\r\n dimgray: [105, 105, 105],\r\n dimgrey: [105, 105, 105],\r\n dodgerblue: [30, 144, 255],\r\n firebrick: [178, 34, 34],\r\n floralwhite: [255, 250, 240],\r\n forestgreen: [34, 139, 34],\r\n fuchsia: [255, 0, 255],\r\n gainsboro: [220, 220, 220],\r\n ghostwhite: [248, 248, 255],\r\n gold: [255, 215, 0],\r\n goldenrod: [218, 165, 32],\r\n gray: [128, 128, 128],\r\n green: [0, 128, 0],\r\n greenyellow: [173, 255, 47],\r\n grey: [128, 128, 128],\r\n honeydew: [240, 255, 240],\r\n hotpink: [255, 105, 180],\r\n indianred: [205, 92, 92],\r\n indigo: [75, 0, 130],\r\n ivory: [255, 255, 240],\r\n khaki: [240, 230, 140],\r\n lavender: [230, 230, 250],\r\n lavenderblush: [255, 240, 245],\r\n lawngreen: [124, 252, 0],\r\n lemonchiffon: [255, 250, 205],\r\n lightblue: [173, 216, 230],\r\n lightcoral: [240, 128, 128],\r\n lightcyan: [224, 255, 255],\r\n lightgoldenrodyellow: [250, 250, 210],\r\n lightgray: [211, 211, 211],\r\n lightgreen: [144, 238, 144],\r\n lightgrey: [211, 211, 211],\r\n lightpink: [255, 182, 193],\r\n lightsalmon: [255, 160, 122],\r\n lightseagreen: [32, 178, 170],\r\n lightskyblue: [135, 206, 250],\r\n lightslategray: [119, 136, 153],\r\n lightslategrey: [119, 136, 153],\r\n lightsteelblue: [176, 196, 222],\r\n lightyellow: [255, 255, 224],\r\n lime: [0, 255, 0],\r\n limegreen: [50, 205, 50],\r\n linen: [250, 240, 230],\r\n magenta: [255, 0, 255],\r\n maroon: [128, 0, 0],\r\n mediumaquamarine: [102, 205, 170],\r\n mediumblue: [0, 0, 205],\r\n mediumorchid: [186, 85, 211],\r\n mediumpurple: [147, 112, 219],\r\n mediumseagreen: [60, 179, 113],\r\n mediumslateblue: [123, 104, 238],\r\n mediumspringgreen: [0, 250, 154],\r\n mediumturquoise: [72, 209, 204],\r\n mediumvioletred: [199, 21, 133],\r\n midnightblue: [25, 25, 112],\r\n mintcream: [245, 255, 250],\r\n mistyrose: [255, 228, 225],\r\n moccasin: [255, 228, 181],\r\n navajowhite: [255, 222, 173],\r\n navy: [0, 0, 128],\r\n oldlace: [253, 245, 230],\r\n olive: [128, 128, 0],\r\n olivedrab: [107, 142, 35],\r\n orange: [255, 165, 0],\r\n orangered: [255, 69, 0],\r\n orchid: [218, 112, 214],\r\n palegoldenrod: [238, 232, 170],\r\n palegreen: [152, 251, 152],\r\n paleturquoise: [175, 238, 238],\r\n palevioletred: [219, 112, 147],\r\n papayawhip: [255, 239, 213],\r\n peachpuff: [255, 218, 185],\r\n peru: [205, 133, 63],\r\n pink: [255, 192, 203],\r\n plum: [221, 160, 221],\r\n powderblue: [176, 224, 230],\r\n purple: [128, 0, 128],\r\n rebeccapurple: [102, 51, 153],\r\n red: [255, 0, 0],\r\n rosybrown: [188, 143, 143],\r\n royalblue: [65, 105, 225],\r\n saddlebrown: [139, 69, 19],\r\n salmon: [250, 128, 114],\r\n sandybrown: [244, 164, 96],\r\n seagreen: [46, 139, 87],\r\n seashell: [255, 245, 238],\r\n sienna: [160, 82, 45],\r\n silver: [192, 192, 192],\r\n skyblue: [135, 206, 235],\r\n slateblue: [106, 90, 205],\r\n slategray: [112, 128, 144],\r\n slategrey: [112, 128, 144],\r\n snow: [255, 250, 250],\r\n springgreen: [0, 255, 127],\r\n steelblue: [70, 130, 180],\r\n tan: [210, 180, 140],\r\n teal: [0, 128, 128],\r\n thistle: [216, 191, 216],\r\n tomato: [255, 99, 71],\r\n turquoise: [64, 224, 208],\r\n violet: [238, 130, 238],\r\n wheat: [245, 222, 179],\r\n white: [255, 255, 255],\r\n whitesmoke: [245, 245, 245],\r\n yellow: [255, 255, 0],\r\n yellowgreen: [154, 205, 50],\r\n },\r\n i = e(function (t) {\r\n var e = {};\r\n for (var i in n) n.hasOwnProperty(i) && (e[n[i]] = i);\r\n var a = (t.exports = {\r\n rgb: { channels: 3, labels: \"rgb\" },\r\n hsl: { channels: 3, labels: \"hsl\" },\r\n hsv: { channels: 3, labels: \"hsv\" },\r\n hwb: { channels: 3, labels: \"hwb\" },\r\n cmyk: { channels: 4, labels: \"cmyk\" },\r\n xyz: { channels: 3, labels: \"xyz\" },\r\n lab: { channels: 3, labels: \"lab\" },\r\n lch: { channels: 3, labels: \"lch\" },\r\n hex: { channels: 1, labels: [\"hex\"] },\r\n keyword: { channels: 1, labels: [\"keyword\"] },\r\n ansi16: { channels: 1, labels: [\"ansi16\"] },\r\n ansi256: { channels: 1, labels: [\"ansi256\"] },\r\n hcg: { channels: 3, labels: [\"h\", \"c\", \"g\"] },\r\n apple: { channels: 3, labels: [\"r16\", \"g16\", \"b16\"] },\r\n gray: { channels: 1, labels: [\"gray\"] },\r\n });\r\n for (var r in a)\r\n if (a.hasOwnProperty(r)) {\r\n if (!(\"channels\" in a[r]))\r\n throw new Error(\"missing channels property: \" + r);\r\n if (!(\"labels\" in a[r]))\r\n throw new Error(\"missing channel labels property: \" + r);\r\n if (a[r].labels.length !== a[r].channels)\r\n throw new Error(\"channel and label counts mismatch: \" + r);\r\n var o = a[r].channels,\r\n s = a[r].labels;\r\n delete a[r].channels,\r\n delete a[r].labels,\r\n Object.defineProperty(a[r], \"channels\", { value: o }),\r\n Object.defineProperty(a[r], \"labels\", { value: s });\r\n }\r\n (a.rgb.hsl = function (t) {\r\n var e,\r\n n,\r\n i = t[0] / 255,\r\n a = t[1] / 255,\r\n r = t[2] / 255,\r\n o = Math.min(i, a, r),\r\n s = Math.max(i, a, r),\r\n l = s - o;\r\n return (\r\n s === o\r\n ? (e = 0)\r\n : i === s\r\n ? (e = (a - r) / l)\r\n : a === s\r\n ? (e = 2 + (r - i) / l)\r\n : r === s && (e = 4 + (i - a) / l),\r\n (e = Math.min(60 * e, 360)) < 0 && (e += 360),\r\n (n = (o + s) / 2),\r\n [\r\n e,\r\n 100 * (s === o ? 0 : n <= 0.5 ? l / (s + o) : l / (2 - s - o)),\r\n 100 * n,\r\n ]\r\n );\r\n }),\r\n (a.rgb.hsv = function (t) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o = t[0] / 255,\r\n s = t[1] / 255,\r\n l = t[2] / 255,\r\n u = Math.max(o, s, l),\r\n d = u - Math.min(o, s, l),\r\n h = function (t) {\r\n return (u - t) / 6 / d + 0.5;\r\n };\r\n return (\r\n 0 === d\r\n ? (a = r = 0)\r\n : ((r = d / u),\r\n (e = h(o)),\r\n (n = h(s)),\r\n (i = h(l)),\r\n o === u\r\n ? (a = i - n)\r\n : s === u\r\n ? (a = 1 / 3 + e - i)\r\n : l === u && (a = 2 / 3 + n - e),\r\n a < 0 ? (a += 1) : a > 1 && (a -= 1)),\r\n [360 * a, 100 * r, 100 * u]\r\n );\r\n }),\r\n (a.rgb.hwb = function (t) {\r\n var e = t[0],\r\n n = t[1],\r\n i = t[2];\r\n return [\r\n a.rgb.hsl(t)[0],\r\n 100 * ((1 / 255) * Math.min(e, Math.min(n, i))),\r\n 100 * (i = 1 - (1 / 255) * Math.max(e, Math.max(n, i))),\r\n ];\r\n }),\r\n (a.rgb.cmyk = function (t) {\r\n var e,\r\n n = t[0] / 255,\r\n i = t[1] / 255,\r\n a = t[2] / 255;\r\n return [\r\n 100 *\r\n ((1 - n - (e = Math.min(1 - n, 1 - i, 1 - a))) / (1 - e) || 0),\r\n 100 * ((1 - i - e) / (1 - e) || 0),\r\n 100 * ((1 - a - e) / (1 - e) || 0),\r\n 100 * e,\r\n ];\r\n }),\r\n (a.rgb.keyword = function (t) {\r\n var i = e[t];\r\n if (i) return i;\r\n var a,\r\n r,\r\n o,\r\n s = 1 / 0;\r\n for (var l in n)\r\n if (n.hasOwnProperty(l)) {\r\n var u = n[l],\r\n d =\r\n ((r = t),\r\n (o = u),\r\n Math.pow(r[0] - o[0], 2) +\r\n Math.pow(r[1] - o[1], 2) +\r\n Math.pow(r[2] - o[2], 2));\r\n d < s && ((s = d), (a = l));\r\n }\r\n return a;\r\n }),\r\n (a.keyword.rgb = function (t) {\r\n return n[t];\r\n }),\r\n (a.rgb.xyz = function (t) {\r\n var e = t[0] / 255,\r\n n = t[1] / 255,\r\n i = t[2] / 255;\r\n return [\r\n 100 *\r\n (0.4124 *\r\n (e =\r\n e > 0.04045\r\n ? Math.pow((e + 0.055) / 1.055, 2.4)\r\n : e / 12.92) +\r\n 0.3576 *\r\n (n =\r\n n > 0.04045\r\n ? Math.pow((n + 0.055) / 1.055, 2.4)\r\n : n / 12.92) +\r\n 0.1805 *\r\n (i =\r\n i > 0.04045\r\n ? Math.pow((i + 0.055) / 1.055, 2.4)\r\n : i / 12.92)),\r\n 100 * (0.2126 * e + 0.7152 * n + 0.0722 * i),\r\n 100 * (0.0193 * e + 0.1192 * n + 0.9505 * i),\r\n ];\r\n }),\r\n (a.rgb.lab = function (t) {\r\n var e = a.rgb.xyz(t),\r\n n = e[0],\r\n i = e[1],\r\n r = e[2];\r\n return (\r\n (i /= 100),\r\n (r /= 108.883),\r\n (n =\r\n (n /= 95.047) > 0.008856\r\n ? Math.pow(n, 1 / 3)\r\n : 7.787 * n + 16 / 116),\r\n [\r\n 116 *\r\n (i = i > 0.008856 ? Math.pow(i, 1 / 3) : 7.787 * i + 16 / 116) -\r\n 16,\r\n 500 * (n - i),\r\n 200 *\r\n (i -\r\n (r =\r\n r > 0.008856 ? Math.pow(r, 1 / 3) : 7.787 * r + 16 / 116)),\r\n ]\r\n );\r\n }),\r\n (a.hsl.rgb = function (t) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o = t[0] / 360,\r\n s = t[1] / 100,\r\n l = t[2] / 100;\r\n if (0 === s) return [(r = 255 * l), r, r];\r\n (e = 2 * l - (n = l < 0.5 ? l * (1 + s) : l + s - l * s)),\r\n (a = [0, 0, 0]);\r\n for (var u = 0; u < 3; u++)\r\n (i = o + (1 / 3) * -(u - 1)) < 0 && i++,\r\n i > 1 && i--,\r\n (r =\r\n 6 * i < 1\r\n ? e + 6 * (n - e) * i\r\n : 2 * i < 1\r\n ? n\r\n : 3 * i < 2\r\n ? e + (n - e) * (2 / 3 - i) * 6\r\n : e),\r\n (a[u] = 255 * r);\r\n return a;\r\n }),\r\n (a.hsl.hsv = function (t) {\r\n var e = t[0],\r\n n = t[1] / 100,\r\n i = t[2] / 100,\r\n a = n,\r\n r = Math.max(i, 0.01);\r\n return (\r\n (n *= (i *= 2) <= 1 ? i : 2 - i),\r\n (a *= r <= 1 ? r : 2 - r),\r\n [\r\n e,\r\n 100 * (0 === i ? (2 * a) / (r + a) : (2 * n) / (i + n)),\r\n 100 * ((i + n) / 2),\r\n ]\r\n );\r\n }),\r\n (a.hsv.rgb = function (t) {\r\n var e = t[0] / 60,\r\n n = t[1] / 100,\r\n i = t[2] / 100,\r\n a = Math.floor(e) % 6,\r\n r = e - Math.floor(e),\r\n o = 255 * i * (1 - n),\r\n s = 255 * i * (1 - n * r),\r\n l = 255 * i * (1 - n * (1 - r));\r\n switch (((i *= 255), a)) {\r\n case 0:\r\n return [i, l, o];\r\n case 1:\r\n return [s, i, o];\r\n case 2:\r\n return [o, i, l];\r\n case 3:\r\n return [o, s, i];\r\n case 4:\r\n return [l, o, i];\r\n case 5:\r\n return [i, o, s];\r\n }\r\n }),\r\n (a.hsv.hsl = function (t) {\r\n var e,\r\n n,\r\n i,\r\n a = t[0],\r\n r = t[1] / 100,\r\n o = t[2] / 100,\r\n s = Math.max(o, 0.01);\r\n return (\r\n (i = (2 - r) * o),\r\n (n = r * s),\r\n [\r\n a,\r\n 100 * (n = (n /= (e = (2 - r) * s) <= 1 ? e : 2 - e) || 0),\r\n 100 * (i /= 2),\r\n ]\r\n );\r\n }),\r\n (a.hwb.rgb = function (t) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l = t[0] / 360,\r\n u = t[1] / 100,\r\n d = t[2] / 100,\r\n h = u + d;\r\n switch (\r\n (h > 1 && ((u /= h), (d /= h)),\r\n (i = 6 * l - (e = Math.floor(6 * l))),\r\n 0 != (1 & e) && (i = 1 - i),\r\n (a = u + i * ((n = 1 - d) - u)),\r\n e)\r\n ) {\r\n default:\r\n case 6:\r\n case 0:\r\n (r = n), (o = a), (s = u);\r\n break;\r\n case 1:\r\n (r = a), (o = n), (s = u);\r\n break;\r\n case 2:\r\n (r = u), (o = n), (s = a);\r\n break;\r\n case 3:\r\n (r = u), (o = a), (s = n);\r\n break;\r\n case 4:\r\n (r = a), (o = u), (s = n);\r\n break;\r\n case 5:\r\n (r = n), (o = u), (s = a);\r\n }\r\n return [255 * r, 255 * o, 255 * s];\r\n }),\r\n (a.cmyk.rgb = function (t) {\r\n var e = t[0] / 100,\r\n n = t[1] / 100,\r\n i = t[2] / 100,\r\n a = t[3] / 100;\r\n return [\r\n 255 * (1 - Math.min(1, e * (1 - a) + a)),\r\n 255 * (1 - Math.min(1, n * (1 - a) + a)),\r\n 255 * (1 - Math.min(1, i * (1 - a) + a)),\r\n ];\r\n }),\r\n (a.xyz.rgb = function (t) {\r\n var e,\r\n n,\r\n i,\r\n a = t[0] / 100,\r\n r = t[1] / 100,\r\n o = t[2] / 100;\r\n return (\r\n (n = -0.9689 * a + 1.8758 * r + 0.0415 * o),\r\n (i = 0.0557 * a + -0.204 * r + 1.057 * o),\r\n (e =\r\n (e = 3.2406 * a + -1.5372 * r + -0.4986 * o) > 0.0031308\r\n ? 1.055 * Math.pow(e, 1 / 2.4) - 0.055\r\n : 12.92 * e),\r\n (n =\r\n n > 0.0031308 ? 1.055 * Math.pow(n, 1 / 2.4) - 0.055 : 12.92 * n),\r\n (i =\r\n i > 0.0031308 ? 1.055 * Math.pow(i, 1 / 2.4) - 0.055 : 12.92 * i),\r\n [\r\n 255 * (e = Math.min(Math.max(0, e), 1)),\r\n 255 * (n = Math.min(Math.max(0, n), 1)),\r\n 255 * (i = Math.min(Math.max(0, i), 1)),\r\n ]\r\n );\r\n }),\r\n (a.xyz.lab = function (t) {\r\n var e = t[0],\r\n n = t[1],\r\n i = t[2];\r\n return (\r\n (n /= 100),\r\n (i /= 108.883),\r\n (e =\r\n (e /= 95.047) > 0.008856\r\n ? Math.pow(e, 1 / 3)\r\n : 7.787 * e + 16 / 116),\r\n [\r\n 116 *\r\n (n = n > 0.008856 ? Math.pow(n, 1 / 3) : 7.787 * n + 16 / 116) -\r\n 16,\r\n 500 * (e - n),\r\n 200 *\r\n (n -\r\n (i =\r\n i > 0.008856 ? Math.pow(i, 1 / 3) : 7.787 * i + 16 / 116)),\r\n ]\r\n );\r\n }),\r\n (a.lab.xyz = function (t) {\r\n var e,\r\n n,\r\n i,\r\n a = t[0];\r\n (e = t[1] / 500 + (n = (a + 16) / 116)), (i = n - t[2] / 200);\r\n var r = Math.pow(n, 3),\r\n o = Math.pow(e, 3),\r\n s = Math.pow(i, 3);\r\n return (\r\n (n = r > 0.008856 ? r : (n - 16 / 116) / 7.787),\r\n (e = o > 0.008856 ? o : (e - 16 / 116) / 7.787),\r\n (i = s > 0.008856 ? s : (i - 16 / 116) / 7.787),\r\n [(e *= 95.047), (n *= 100), (i *= 108.883)]\r\n );\r\n }),\r\n (a.lab.lch = function (t) {\r\n var e,\r\n n = t[0],\r\n i = t[1],\r\n a = t[2];\r\n return (\r\n (e = (360 * Math.atan2(a, i)) / 2 / Math.PI) < 0 && (e += 360),\r\n [n, Math.sqrt(i * i + a * a), e]\r\n );\r\n }),\r\n (a.lch.lab = function (t) {\r\n var e,\r\n n = t[0],\r\n i = t[1];\r\n return (\r\n (e = (t[2] / 360) * 2 * Math.PI),\r\n [n, i * Math.cos(e), i * Math.sin(e)]\r\n );\r\n }),\r\n (a.rgb.ansi16 = function (t) {\r\n var e = t[0],\r\n n = t[1],\r\n i = t[2],\r\n r = 1 in arguments ? arguments[1] : a.rgb.hsv(t)[2];\r\n if (0 === (r = Math.round(r / 50))) return 30;\r\n var o =\r\n 30 +\r\n ((Math.round(i / 255) << 2) |\r\n (Math.round(n / 255) << 1) |\r\n Math.round(e / 255));\r\n return 2 === r && (o += 60), o;\r\n }),\r\n (a.hsv.ansi16 = function (t) {\r\n return a.rgb.ansi16(a.hsv.rgb(t), t[2]);\r\n }),\r\n (a.rgb.ansi256 = function (t) {\r\n var e = t[0],\r\n n = t[1],\r\n i = t[2];\r\n return e === n && n === i\r\n ? e < 8\r\n ? 16\r\n : e > 248\r\n ? 231\r\n : Math.round(((e - 8) / 247) * 24) + 232\r\n : 16 +\r\n 36 * Math.round((e / 255) * 5) +\r\n 6 * Math.round((n / 255) * 5) +\r\n Math.round((i / 255) * 5);\r\n }),\r\n (a.ansi16.rgb = function (t) {\r\n var e = t % 10;\r\n if (0 === e || 7 === e)\r\n return t > 50 && (e += 3.5), [(e = (e / 10.5) * 255), e, e];\r\n var n = 0.5 * (1 + ~~(t > 50));\r\n return [\r\n (1 & e) * n * 255,\r\n ((e >> 1) & 1) * n * 255,\r\n ((e >> 2) & 1) * n * 255,\r\n ];\r\n }),\r\n (a.ansi256.rgb = function (t) {\r\n if (t >= 232) {\r\n var e = 10 * (t - 232) + 8;\r\n return [e, e, e];\r\n }\r\n var n;\r\n return (\r\n (t -= 16),\r\n [\r\n (Math.floor(t / 36) / 5) * 255,\r\n (Math.floor((n = t % 36) / 6) / 5) * 255,\r\n ((n % 6) / 5) * 255,\r\n ]\r\n );\r\n }),\r\n (a.rgb.hex = function (t) {\r\n var e = (\r\n ((255 & Math.round(t[0])) << 16) +\r\n ((255 & Math.round(t[1])) << 8) +\r\n (255 & Math.round(t[2]))\r\n )\r\n .toString(16)\r\n .toUpperCase();\r\n return \"000000\".substring(e.length) + e;\r\n }),\r\n (a.hex.rgb = function (t) {\r\n var e = t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\r\n if (!e) return [0, 0, 0];\r\n var n = e[0];\r\n 3 === e[0].length &&\r\n (n = n\r\n .split(\"\")\r\n .map(function (t) {\r\n return t + t;\r\n })\r\n .join(\"\"));\r\n var i = parseInt(n, 16);\r\n return [(i >> 16) & 255, (i >> 8) & 255, 255 & i];\r\n }),\r\n (a.rgb.hcg = function (t) {\r\n var e,\r\n n = t[0] / 255,\r\n i = t[1] / 255,\r\n a = t[2] / 255,\r\n r = Math.max(Math.max(n, i), a),\r\n o = Math.min(Math.min(n, i), a),\r\n s = r - o;\r\n return (\r\n (e =\r\n s <= 0\r\n ? 0\r\n : r === n\r\n ? ((i - a) / s) % 6\r\n : r === i\r\n ? 2 + (a - n) / s\r\n : 4 + (n - i) / s + 4),\r\n (e /= 6),\r\n [360 * (e %= 1), 100 * s, 100 * (s < 1 ? o / (1 - s) : 0)]\r\n );\r\n }),\r\n (a.hsl.hcg = function (t) {\r\n var e = t[1] / 100,\r\n n = t[2] / 100,\r\n i = 1,\r\n a = 0;\r\n return (\r\n (i = n < 0.5 ? 2 * e * n : 2 * e * (1 - n)) < 1 &&\r\n (a = (n - 0.5 * i) / (1 - i)),\r\n [t[0], 100 * i, 100 * a]\r\n );\r\n }),\r\n (a.hsv.hcg = function (t) {\r\n var e = t[1] / 100,\r\n n = t[2] / 100,\r\n i = e * n,\r\n a = 0;\r\n return i < 1 && (a = (n - i) / (1 - i)), [t[0], 100 * i, 100 * a];\r\n }),\r\n (a.hcg.rgb = function (t) {\r\n var e = t[0] / 360,\r\n n = t[1] / 100,\r\n i = t[2] / 100;\r\n if (0 === n) return [255 * i, 255 * i, 255 * i];\r\n var a,\r\n r = [0, 0, 0],\r\n o = (e % 1) * 6,\r\n s = o % 1,\r\n l = 1 - s;\r\n switch (Math.floor(o)) {\r\n case 0:\r\n (r[0] = 1), (r[1] = s), (r[2] = 0);\r\n break;\r\n case 1:\r\n (r[0] = l), (r[1] = 1), (r[2] = 0);\r\n break;\r\n case 2:\r\n (r[0] = 0), (r[1] = 1), (r[2] = s);\r\n break;\r\n case 3:\r\n (r[0] = 0), (r[1] = l), (r[2] = 1);\r\n break;\r\n case 4:\r\n (r[0] = s), (r[1] = 0), (r[2] = 1);\r\n break;\r\n default:\r\n (r[0] = 1), (r[1] = 0), (r[2] = l);\r\n }\r\n return (\r\n (a = (1 - n) * i),\r\n [255 * (n * r[0] + a), 255 * (n * r[1] + a), 255 * (n * r[2] + a)]\r\n );\r\n }),\r\n (a.hcg.hsv = function (t) {\r\n var e = t[1] / 100,\r\n n = e + (t[2] / 100) * (1 - e),\r\n i = 0;\r\n return n > 0 && (i = e / n), [t[0], 100 * i, 100 * n];\r\n }),\r\n (a.hcg.hsl = function (t) {\r\n var e = t[1] / 100,\r\n n = (t[2] / 100) * (1 - e) + 0.5 * e,\r\n i = 0;\r\n return (\r\n n > 0 && n < 0.5\r\n ? (i = e / (2 * n))\r\n : n >= 0.5 && n < 1 && (i = e / (2 * (1 - n))),\r\n [t[0], 100 * i, 100 * n]\r\n );\r\n }),\r\n (a.hcg.hwb = function (t) {\r\n var e = t[1] / 100,\r\n n = e + (t[2] / 100) * (1 - e);\r\n return [t[0], 100 * (n - e), 100 * (1 - n)];\r\n }),\r\n (a.hwb.hcg = function (t) {\r\n var e = t[1] / 100,\r\n n = 1 - t[2] / 100,\r\n i = n - e,\r\n a = 0;\r\n return i < 1 && (a = (n - i) / (1 - i)), [t[0], 100 * i, 100 * a];\r\n }),\r\n (a.apple.rgb = function (t) {\r\n return [\r\n (t[0] / 65535) * 255,\r\n (t[1] / 65535) * 255,\r\n (t[2] / 65535) * 255,\r\n ];\r\n }),\r\n (a.rgb.apple = function (t) {\r\n return [\r\n (t[0] / 255) * 65535,\r\n (t[1] / 255) * 65535,\r\n (t[2] / 255) * 65535,\r\n ];\r\n }),\r\n (a.gray.rgb = function (t) {\r\n return [(t[0] / 100) * 255, (t[0] / 100) * 255, (t[0] / 100) * 255];\r\n }),\r\n (a.gray.hsl = a.gray.hsv =\r\n function (t) {\r\n return [0, 0, t[0]];\r\n }),\r\n (a.gray.hwb = function (t) {\r\n return [0, 100, t[0]];\r\n }),\r\n (a.gray.cmyk = function (t) {\r\n return [0, 0, 0, t[0]];\r\n }),\r\n (a.gray.lab = function (t) {\r\n return [t[0], 0, 0];\r\n }),\r\n (a.gray.hex = function (t) {\r\n var e = 255 & Math.round((t[0] / 100) * 255),\r\n n = ((e << 16) + (e << 8) + e).toString(16).toUpperCase();\r\n return \"000000\".substring(n.length) + n;\r\n }),\r\n (a.rgb.gray = function (t) {\r\n return [((t[0] + t[1] + t[2]) / 3 / 255) * 100];\r\n });\r\n });\r\n i.rgb,\r\n i.hsl,\r\n i.hsv,\r\n i.hwb,\r\n i.cmyk,\r\n i.xyz,\r\n i.lab,\r\n i.lch,\r\n i.hex,\r\n i.keyword,\r\n i.ansi16,\r\n i.ansi256,\r\n i.hcg,\r\n i.apple,\r\n i.gray;\r\n function a(t) {\r\n var e = (function () {\r\n for (var t = {}, e = Object.keys(i), n = e.length, a = 0; a < n; a++)\r\n t[e[a]] = { distance: -1, parent: null };\r\n return t;\r\n })(),\r\n n = [t];\r\n for (e[t].distance = 0; n.length; )\r\n for (\r\n var a = n.pop(), r = Object.keys(i[a]), o = r.length, s = 0;\r\n s < o;\r\n s++\r\n ) {\r\n var l = r[s],\r\n u = e[l];\r\n -1 === u.distance &&\r\n ((u.distance = e[a].distance + 1), (u.parent = a), n.unshift(l));\r\n }\r\n return e;\r\n }\r\n function r(t, e) {\r\n return function (n) {\r\n return e(t(n));\r\n };\r\n }\r\n function o(t, e) {\r\n for (\r\n var n = [e[t].parent, t], a = i[e[t].parent][t], o = e[t].parent;\r\n e[o].parent;\r\n\r\n )\r\n n.unshift(e[o].parent), (a = r(i[e[o].parent][o], a)), (o = e[o].parent);\r\n return (a.conversion = n), a;\r\n }\r\n var s = {};\r\n Object.keys(i).forEach(function (t) {\r\n (s[t] = {}),\r\n Object.defineProperty(s[t], \"channels\", { value: i[t].channels }),\r\n Object.defineProperty(s[t], \"labels\", { value: i[t].labels });\r\n var e = (function (t) {\r\n for (\r\n var e = a(t), n = {}, i = Object.keys(e), r = i.length, s = 0;\r\n s < r;\r\n s++\r\n ) {\r\n var l = i[s];\r\n null !== e[l].parent && (n[l] = o(l, e));\r\n }\r\n return n;\r\n })(t);\r\n Object.keys(e).forEach(function (n) {\r\n var i = e[n];\r\n (s[t][n] = (function (t) {\r\n var e = function (e) {\r\n if (null == e) return e;\r\n arguments.length > 1 && (e = Array.prototype.slice.call(arguments));\r\n var n = t(e);\r\n if (\"object\" == typeof n)\r\n for (var i = n.length, a = 0; a < i; a++) n[a] = Math.round(n[a]);\r\n return n;\r\n };\r\n return \"conversion\" in t && (e.conversion = t.conversion), e;\r\n })(i)),\r\n (s[t][n].raw = (function (t) {\r\n var e = function (e) {\r\n return null == e\r\n ? e\r\n : (arguments.length > 1 &&\r\n (e = Array.prototype.slice.call(arguments)),\r\n t(e));\r\n };\r\n return \"conversion\" in t && (e.conversion = t.conversion), e;\r\n })(i));\r\n });\r\n });\r\n var l = s,\r\n u = {\r\n aliceblue: [240, 248, 255],\r\n antiquewhite: [250, 235, 215],\r\n aqua: [0, 255, 255],\r\n aquamarine: [127, 255, 212],\r\n azure: [240, 255, 255],\r\n beige: [245, 245, 220],\r\n bisque: [255, 228, 196],\r\n black: [0, 0, 0],\r\n blanchedalmond: [255, 235, 205],\r\n blue: [0, 0, 255],\r\n blueviolet: [138, 43, 226],\r\n brown: [165, 42, 42],\r\n burlywood: [222, 184, 135],\r\n cadetblue: [95, 158, 160],\r\n chartreuse: [127, 255, 0],\r\n chocolate: [210, 105, 30],\r\n coral: [255, 127, 80],\r\n cornflowerblue: [100, 149, 237],\r\n cornsilk: [255, 248, 220],\r\n crimson: [220, 20, 60],\r\n cyan: [0, 255, 255],\r\n darkblue: [0, 0, 139],\r\n darkcyan: [0, 139, 139],\r\n darkgoldenrod: [184, 134, 11],\r\n darkgray: [169, 169, 169],\r\n darkgreen: [0, 100, 0],\r\n darkgrey: [169, 169, 169],\r\n darkkhaki: [189, 183, 107],\r\n darkmagenta: [139, 0, 139],\r\n darkolivegreen: [85, 107, 47],\r\n darkorange: [255, 140, 0],\r\n darkorchid: [153, 50, 204],\r\n darkred: [139, 0, 0],\r\n darksalmon: [233, 150, 122],\r\n darkseagreen: [143, 188, 143],\r\n darkslateblue: [72, 61, 139],\r\n darkslategray: [47, 79, 79],\r\n darkslategrey: [47, 79, 79],\r\n darkturquoise: [0, 206, 209],\r\n darkviolet: [148, 0, 211],\r\n deeppink: [255, 20, 147],\r\n deepskyblue: [0, 191, 255],\r\n dimgray: [105, 105, 105],\r\n dimgrey: [105, 105, 105],\r\n dodgerblue: [30, 144, 255],\r\n firebrick: [178, 34, 34],\r\n floralwhite: [255, 250, 240],\r\n forestgreen: [34, 139, 34],\r\n fuchsia: [255, 0, 255],\r\n gainsboro: [220, 220, 220],\r\n ghostwhite: [248, 248, 255],\r\n gold: [255, 215, 0],\r\n goldenrod: [218, 165, 32],\r\n gray: [128, 128, 128],\r\n green: [0, 128, 0],\r\n greenyellow: [173, 255, 47],\r\n grey: [128, 128, 128],\r\n honeydew: [240, 255, 240],\r\n hotpink: [255, 105, 180],\r\n indianred: [205, 92, 92],\r\n indigo: [75, 0, 130],\r\n ivory: [255, 255, 240],\r\n khaki: [240, 230, 140],\r\n lavender: [230, 230, 250],\r\n lavenderblush: [255, 240, 245],\r\n lawngreen: [124, 252, 0],\r\n lemonchiffon: [255, 250, 205],\r\n lightblue: [173, 216, 230],\r\n lightcoral: [240, 128, 128],\r\n lightcyan: [224, 255, 255],\r\n lightgoldenrodyellow: [250, 250, 210],\r\n lightgray: [211, 211, 211],\r\n lightgreen: [144, 238, 144],\r\n lightgrey: [211, 211, 211],\r\n lightpink: [255, 182, 193],\r\n lightsalmon: [255, 160, 122],\r\n lightseagreen: [32, 178, 170],\r\n lightskyblue: [135, 206, 250],\r\n lightslategray: [119, 136, 153],\r\n lightslategrey: [119, 136, 153],\r\n lightsteelblue: [176, 196, 222],\r\n lightyellow: [255, 255, 224],\r\n lime: [0, 255, 0],\r\n limegreen: [50, 205, 50],\r\n linen: [250, 240, 230],\r\n magenta: [255, 0, 255],\r\n maroon: [128, 0, 0],\r\n mediumaquamarine: [102, 205, 170],\r\n mediumblue: [0, 0, 205],\r\n mediumorchid: [186, 85, 211],\r\n mediumpurple: [147, 112, 219],\r\n mediumseagreen: [60, 179, 113],\r\n mediumslateblue: [123, 104, 238],\r\n mediumspringgreen: [0, 250, 154],\r\n mediumturquoise: [72, 209, 204],\r\n mediumvioletred: [199, 21, 133],\r\n midnightblue: [25, 25, 112],\r\n mintcream: [245, 255, 250],\r\n mistyrose: [255, 228, 225],\r\n moccasin: [255, 228, 181],\r\n navajowhite: [255, 222, 173],\r\n navy: [0, 0, 128],\r\n oldlace: [253, 245, 230],\r\n olive: [128, 128, 0],\r\n olivedrab: [107, 142, 35],\r\n orange: [255, 165, 0],\r\n orangered: [255, 69, 0],\r\n orchid: [218, 112, 214],\r\n palegoldenrod: [238, 232, 170],\r\n palegreen: [152, 251, 152],\r\n paleturquoise: [175, 238, 238],\r\n palevioletred: [219, 112, 147],\r\n papayawhip: [255, 239, 213],\r\n peachpuff: [255, 218, 185],\r\n peru: [205, 133, 63],\r\n pink: [255, 192, 203],\r\n plum: [221, 160, 221],\r\n powderblue: [176, 224, 230],\r\n purple: [128, 0, 128],\r\n rebeccapurple: [102, 51, 153],\r\n red: [255, 0, 0],\r\n rosybrown: [188, 143, 143],\r\n royalblue: [65, 105, 225],\r\n saddlebrown: [139, 69, 19],\r\n salmon: [250, 128, 114],\r\n sandybrown: [244, 164, 96],\r\n seagreen: [46, 139, 87],\r\n seashell: [255, 245, 238],\r\n sienna: [160, 82, 45],\r\n silver: [192, 192, 192],\r\n skyblue: [135, 206, 235],\r\n slateblue: [106, 90, 205],\r\n slategray: [112, 128, 144],\r\n slategrey: [112, 128, 144],\r\n snow: [255, 250, 250],\r\n springgreen: [0, 255, 127],\r\n steelblue: [70, 130, 180],\r\n tan: [210, 180, 140],\r\n teal: [0, 128, 128],\r\n thistle: [216, 191, 216],\r\n tomato: [255, 99, 71],\r\n turquoise: [64, 224, 208],\r\n violet: [238, 130, 238],\r\n wheat: [245, 222, 179],\r\n white: [255, 255, 255],\r\n whitesmoke: [245, 245, 245],\r\n yellow: [255, 255, 0],\r\n yellowgreen: [154, 205, 50],\r\n },\r\n d = {\r\n getRgba: h,\r\n getHsla: c,\r\n getRgb: function (t) {\r\n var e = h(t);\r\n return e && e.slice(0, 3);\r\n },\r\n getHsl: function (t) {\r\n var e = c(t);\r\n return e && e.slice(0, 3);\r\n },\r\n getHwb: f,\r\n getAlpha: function (t) {\r\n var e = h(t);\r\n if (e) return e[3];\r\n if ((e = c(t))) return e[3];\r\n if ((e = f(t))) return e[3];\r\n },\r\n hexString: function (t, e) {\r\n e = void 0 !== e && 3 === t.length ? e : t[3];\r\n return (\r\n \"#\" +\r\n b(t[0]) +\r\n b(t[1]) +\r\n b(t[2]) +\r\n (e >= 0 && e < 1 ? b(Math.round(255 * e)) : \"\")\r\n );\r\n },\r\n rgbString: function (t, e) {\r\n if (e < 1 || (t[3] && t[3] < 1)) return g(t, e);\r\n return \"rgb(\" + t[0] + \", \" + t[1] + \", \" + t[2] + \")\";\r\n },\r\n rgbaString: g,\r\n percentString: function (t, e) {\r\n if (e < 1 || (t[3] && t[3] < 1)) return m(t, e);\r\n var n = Math.round((t[0] / 255) * 100),\r\n i = Math.round((t[1] / 255) * 100),\r\n a = Math.round((t[2] / 255) * 100);\r\n return \"rgb(\" + n + \"%, \" + i + \"%, \" + a + \"%)\";\r\n },\r\n percentaString: m,\r\n hslString: function (t, e) {\r\n if (e < 1 || (t[3] && t[3] < 1)) return p(t, e);\r\n return \"hsl(\" + t[0] + \", \" + t[1] + \"%, \" + t[2] + \"%)\";\r\n },\r\n hslaString: p,\r\n hwbString: function (t, e) {\r\n void 0 === e && (e = void 0 !== t[3] ? t[3] : 1);\r\n return (\r\n \"hwb(\" +\r\n t[0] +\r\n \", \" +\r\n t[1] +\r\n \"%, \" +\r\n t[2] +\r\n \"%\" +\r\n (void 0 !== e && 1 !== e ? \", \" + e : \"\") +\r\n \")\"\r\n );\r\n },\r\n keyword: function (t) {\r\n return y[t.slice(0, 3)];\r\n },\r\n };\r\n function h(t) {\r\n if (t) {\r\n var e = [0, 0, 0],\r\n n = 1,\r\n i = t.match(/^#([a-fA-F0-9]{3,4})$/i),\r\n a = \"\";\r\n if (i) {\r\n a = (i = i[1])[3];\r\n for (var r = 0; r < e.length; r++) e[r] = parseInt(i[r] + i[r], 16);\r\n a && (n = Math.round((parseInt(a + a, 16) / 255) * 100) / 100);\r\n } else if ((i = t.match(/^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i))) {\r\n (a = i[2]), (i = i[1]);\r\n for (r = 0; r < e.length; r++)\r\n e[r] = parseInt(i.slice(2 * r, 2 * r + 2), 16);\r\n a && (n = Math.round((parseInt(a, 16) / 255) * 100) / 100);\r\n } else if (\r\n (i = t.match(\r\n /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i\r\n ))\r\n ) {\r\n for (r = 0; r < e.length; r++) e[r] = parseInt(i[r + 1]);\r\n n = parseFloat(i[4]);\r\n } else if (\r\n (i = t.match(\r\n /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i\r\n ))\r\n ) {\r\n for (r = 0; r < e.length; r++)\r\n e[r] = Math.round(2.55 * parseFloat(i[r + 1]));\r\n n = parseFloat(i[4]);\r\n } else if ((i = t.match(/(\\w+)/))) {\r\n if (\"transparent\" == i[1]) return [0, 0, 0, 0];\r\n if (!(e = u[i[1]])) return;\r\n }\r\n for (r = 0; r < e.length; r++) e[r] = v(e[r], 0, 255);\r\n return (n = n || 0 == n ? v(n, 0, 1) : 1), (e[3] = n), e;\r\n }\r\n }\r\n function c(t) {\r\n if (t) {\r\n var e = t.match(\r\n /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/\r\n );\r\n if (e) {\r\n var n = parseFloat(e[4]);\r\n return [\r\n v(parseInt(e[1]), 0, 360),\r\n v(parseFloat(e[2]), 0, 100),\r\n v(parseFloat(e[3]), 0, 100),\r\n v(isNaN(n) ? 1 : n, 0, 1),\r\n ];\r\n }\r\n }\r\n }\r\n function f(t) {\r\n if (t) {\r\n var e = t.match(\r\n /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/\r\n );\r\n if (e) {\r\n var n = parseFloat(e[4]);\r\n return [\r\n v(parseInt(e[1]), 0, 360),\r\n v(parseFloat(e[2]), 0, 100),\r\n v(parseFloat(e[3]), 0, 100),\r\n v(isNaN(n) ? 1 : n, 0, 1),\r\n ];\r\n }\r\n }\r\n }\r\n function g(t, e) {\r\n return (\r\n void 0 === e && (e = void 0 !== t[3] ? t[3] : 1),\r\n \"rgba(\" + t[0] + \", \" + t[1] + \", \" + t[2] + \", \" + e + \")\"\r\n );\r\n }\r\n function m(t, e) {\r\n return (\r\n \"rgba(\" +\r\n Math.round((t[0] / 255) * 100) +\r\n \"%, \" +\r\n Math.round((t[1] / 255) * 100) +\r\n \"%, \" +\r\n Math.round((t[2] / 255) * 100) +\r\n \"%, \" +\r\n (e || t[3] || 1) +\r\n \")\"\r\n );\r\n }\r\n function p(t, e) {\r\n return (\r\n void 0 === e && (e = void 0 !== t[3] ? t[3] : 1),\r\n \"hsla(\" + t[0] + \", \" + t[1] + \"%, \" + t[2] + \"%, \" + e + \")\"\r\n );\r\n }\r\n function v(t, e, n) {\r\n return Math.min(Math.max(e, t), n);\r\n }\r\n function b(t) {\r\n var e = t.toString(16).toUpperCase();\r\n return e.length < 2 ? \"0\" + e : e;\r\n }\r\n var y = {};\r\n for (var x in u) y[u[x]] = x;\r\n var _ = function (t) {\r\n return t instanceof _\r\n ? t\r\n : this instanceof _\r\n ? ((this.valid = !1),\r\n (this.values = {\r\n rgb: [0, 0, 0],\r\n hsl: [0, 0, 0],\r\n hsv: [0, 0, 0],\r\n hwb: [0, 0, 0],\r\n cmyk: [0, 0, 0, 0],\r\n alpha: 1,\r\n }),\r\n void (\"string\" == typeof t\r\n ? (e = d.getRgba(t))\r\n ? this.setValues(\"rgb\", e)\r\n : (e = d.getHsla(t))\r\n ? this.setValues(\"hsl\", e)\r\n : (e = d.getHwb(t)) && this.setValues(\"hwb\", e)\r\n : \"object\" == typeof t &&\r\n (void 0 !== (e = t).r || void 0 !== e.red\r\n ? this.setValues(\"rgb\", e)\r\n : void 0 !== e.l || void 0 !== e.lightness\r\n ? this.setValues(\"hsl\", e)\r\n : void 0 !== e.v || void 0 !== e.value\r\n ? this.setValues(\"hsv\", e)\r\n : void 0 !== e.w || void 0 !== e.whiteness\r\n ? this.setValues(\"hwb\", e)\r\n : (void 0 === e.c && void 0 === e.cyan) ||\r\n this.setValues(\"cmyk\", e))))\r\n : new _(t);\r\n var e;\r\n };\r\n (_.prototype = {\r\n isValid: function () {\r\n return this.valid;\r\n },\r\n rgb: function () {\r\n return this.setSpace(\"rgb\", arguments);\r\n },\r\n hsl: function () {\r\n return this.setSpace(\"hsl\", arguments);\r\n },\r\n hsv: function () {\r\n return this.setSpace(\"hsv\", arguments);\r\n },\r\n hwb: function () {\r\n return this.setSpace(\"hwb\", arguments);\r\n },\r\n cmyk: function () {\r\n return this.setSpace(\"cmyk\", arguments);\r\n },\r\n rgbArray: function () {\r\n return this.values.rgb;\r\n },\r\n hslArray: function () {\r\n return this.values.hsl;\r\n },\r\n hsvArray: function () {\r\n return this.values.hsv;\r\n },\r\n hwbArray: function () {\r\n var t = this.values;\r\n return 1 !== t.alpha ? t.hwb.concat([t.alpha]) : t.hwb;\r\n },\r\n cmykArray: function () {\r\n return this.values.cmyk;\r\n },\r\n rgbaArray: function () {\r\n var t = this.values;\r\n return t.rgb.concat([t.alpha]);\r\n },\r\n hslaArray: function () {\r\n var t = this.values;\r\n return t.hsl.concat([t.alpha]);\r\n },\r\n alpha: function (t) {\r\n return void 0 === t\r\n ? this.values.alpha\r\n : (this.setValues(\"alpha\", t), this);\r\n },\r\n red: function (t) {\r\n return this.setChannel(\"rgb\", 0, t);\r\n },\r\n green: function (t) {\r\n return this.setChannel(\"rgb\", 1, t);\r\n },\r\n blue: function (t) {\r\n return this.setChannel(\"rgb\", 2, t);\r\n },\r\n hue: function (t) {\r\n return (\r\n t && (t = (t %= 360) < 0 ? 360 + t : t), this.setChannel(\"hsl\", 0, t)\r\n );\r\n },\r\n saturation: function (t) {\r\n return this.setChannel(\"hsl\", 1, t);\r\n },\r\n lightness: function (t) {\r\n return this.setChannel(\"hsl\", 2, t);\r\n },\r\n saturationv: function (t) {\r\n return this.setChannel(\"hsv\", 1, t);\r\n },\r\n whiteness: function (t) {\r\n return this.setChannel(\"hwb\", 1, t);\r\n },\r\n blackness: function (t) {\r\n return this.setChannel(\"hwb\", 2, t);\r\n },\r\n value: function (t) {\r\n return this.setChannel(\"hsv\", 2, t);\r\n },\r\n cyan: function (t) {\r\n return this.setChannel(\"cmyk\", 0, t);\r\n },\r\n magenta: function (t) {\r\n return this.setChannel(\"cmyk\", 1, t);\r\n },\r\n yellow: function (t) {\r\n return this.setChannel(\"cmyk\", 2, t);\r\n },\r\n black: function (t) {\r\n return this.setChannel(\"cmyk\", 3, t);\r\n },\r\n hexString: function () {\r\n return d.hexString(this.values.rgb);\r\n },\r\n rgbString: function () {\r\n return d.rgbString(this.values.rgb, this.values.alpha);\r\n },\r\n rgbaString: function () {\r\n return d.rgbaString(this.values.rgb, this.values.alpha);\r\n },\r\n percentString: function () {\r\n return d.percentString(this.values.rgb, this.values.alpha);\r\n },\r\n hslString: function () {\r\n return d.hslString(this.values.hsl, this.values.alpha);\r\n },\r\n hslaString: function () {\r\n return d.hslaString(this.values.hsl, this.values.alpha);\r\n },\r\n hwbString: function () {\r\n return d.hwbString(this.values.hwb, this.values.alpha);\r\n },\r\n keyword: function () {\r\n return d.keyword(this.values.rgb, this.values.alpha);\r\n },\r\n rgbNumber: function () {\r\n var t = this.values.rgb;\r\n return (t[0] << 16) | (t[1] << 8) | t[2];\r\n },\r\n luminosity: function () {\r\n for (var t = this.values.rgb, e = [], n = 0; n < t.length; n++) {\r\n var i = t[n] / 255;\r\n e[n] = i <= 0.03928 ? i / 12.92 : Math.pow((i + 0.055) / 1.055, 2.4);\r\n }\r\n return 0.2126 * e[0] + 0.7152 * e[1] + 0.0722 * e[2];\r\n },\r\n contrast: function (t) {\r\n var e = this.luminosity(),\r\n n = t.luminosity();\r\n return e > n ? (e + 0.05) / (n + 0.05) : (n + 0.05) / (e + 0.05);\r\n },\r\n level: function (t) {\r\n var e = this.contrast(t);\r\n return e >= 7.1 ? \"AAA\" : e >= 4.5 ? \"AA\" : \"\";\r\n },\r\n dark: function () {\r\n var t = this.values.rgb;\r\n return (299 * t[0] + 587 * t[1] + 114 * t[2]) / 1e3 < 128;\r\n },\r\n light: function () {\r\n return !this.dark();\r\n },\r\n negate: function () {\r\n for (var t = [], e = 0; e < 3; e++) t[e] = 255 - this.values.rgb[e];\r\n return this.setValues(\"rgb\", t), this;\r\n },\r\n lighten: function (t) {\r\n var e = this.values.hsl;\r\n return (e[2] += e[2] * t), this.setValues(\"hsl\", e), this;\r\n },\r\n darken: function (t) {\r\n var e = this.values.hsl;\r\n return (e[2] -= e[2] * t), this.setValues(\"hsl\", e), this;\r\n },\r\n saturate: function (t) {\r\n var e = this.values.hsl;\r\n return (e[1] += e[1] * t), this.setValues(\"hsl\", e), this;\r\n },\r\n desaturate: function (t) {\r\n var e = this.values.hsl;\r\n return (e[1] -= e[1] * t), this.setValues(\"hsl\", e), this;\r\n },\r\n whiten: function (t) {\r\n var e = this.values.hwb;\r\n return (e[1] += e[1] * t), this.setValues(\"hwb\", e), this;\r\n },\r\n blacken: function (t) {\r\n var e = this.values.hwb;\r\n return (e[2] += e[2] * t), this.setValues(\"hwb\", e), this;\r\n },\r\n greyscale: function () {\r\n var t = this.values.rgb,\r\n e = 0.3 * t[0] + 0.59 * t[1] + 0.11 * t[2];\r\n return this.setValues(\"rgb\", [e, e, e]), this;\r\n },\r\n clearer: function (t) {\r\n var e = this.values.alpha;\r\n return this.setValues(\"alpha\", e - e * t), this;\r\n },\r\n opaquer: function (t) {\r\n var e = this.values.alpha;\r\n return this.setValues(\"alpha\", e + e * t), this;\r\n },\r\n rotate: function (t) {\r\n var e = this.values.hsl,\r\n n = (e[0] + t) % 360;\r\n return (e[0] = n < 0 ? 360 + n : n), this.setValues(\"hsl\", e), this;\r\n },\r\n mix: function (t, e) {\r\n var n = t,\r\n i = void 0 === e ? 0.5 : e,\r\n a = 2 * i - 1,\r\n r = this.alpha() - n.alpha(),\r\n o = ((a * r == -1 ? a : (a + r) / (1 + a * r)) + 1) / 2,\r\n s = 1 - o;\r\n return this.rgb(\r\n o * this.red() + s * n.red(),\r\n o * this.green() + s * n.green(),\r\n o * this.blue() + s * n.blue()\r\n ).alpha(this.alpha() * i + n.alpha() * (1 - i));\r\n },\r\n toJSON: function () {\r\n return this.rgb();\r\n },\r\n clone: function () {\r\n var t,\r\n e,\r\n n = new _(),\r\n i = this.values,\r\n a = n.values;\r\n for (var r in i)\r\n i.hasOwnProperty(r) &&\r\n ((t = i[r]),\r\n \"[object Array]\" === (e = {}.toString.call(t))\r\n ? (a[r] = t.slice(0))\r\n : \"[object Number]\" === e\r\n ? (a[r] = t)\r\n : console.error(\"unexpected color value:\", t));\r\n return n;\r\n },\r\n }),\r\n (_.prototype.spaces = {\r\n rgb: [\"red\", \"green\", \"blue\"],\r\n hsl: [\"hue\", \"saturation\", \"lightness\"],\r\n hsv: [\"hue\", \"saturation\", \"value\"],\r\n hwb: [\"hue\", \"whiteness\", \"blackness\"],\r\n cmyk: [\"cyan\", \"magenta\", \"yellow\", \"black\"],\r\n }),\r\n (_.prototype.maxes = {\r\n rgb: [255, 255, 255],\r\n hsl: [360, 100, 100],\r\n hsv: [360, 100, 100],\r\n hwb: [360, 100, 100],\r\n cmyk: [100, 100, 100, 100],\r\n }),\r\n (_.prototype.getValues = function (t) {\r\n for (var e = this.values, n = {}, i = 0; i < t.length; i++)\r\n n[t.charAt(i)] = e[t][i];\r\n return 1 !== e.alpha && (n.a = e.alpha), n;\r\n }),\r\n (_.prototype.setValues = function (t, e) {\r\n var n,\r\n i,\r\n a = this.values,\r\n r = this.spaces,\r\n o = this.maxes,\r\n s = 1;\r\n if (((this.valid = !0), \"alpha\" === t)) s = e;\r\n else if (e.length) (a[t] = e.slice(0, t.length)), (s = e[t.length]);\r\n else if (void 0 !== e[t.charAt(0)]) {\r\n for (n = 0; n < t.length; n++) a[t][n] = e[t.charAt(n)];\r\n s = e.a;\r\n } else if (void 0 !== e[r[t][0]]) {\r\n var u = r[t];\r\n for (n = 0; n < t.length; n++) a[t][n] = e[u[n]];\r\n s = e.alpha;\r\n }\r\n if (\r\n ((a.alpha = Math.max(0, Math.min(1, void 0 === s ? a.alpha : s))),\r\n \"alpha\" === t)\r\n )\r\n return !1;\r\n for (n = 0; n < t.length; n++)\r\n (i = Math.max(0, Math.min(o[t][n], a[t][n]))),\r\n (a[t][n] = Math.round(i));\r\n for (var d in r) d !== t && (a[d] = l[t][d](a[t]));\r\n return !0;\r\n }),\r\n (_.prototype.setSpace = function (t, e) {\r\n var n = e[0];\r\n return void 0 === n\r\n ? this.getValues(t)\r\n : (\"number\" == typeof n && (n = Array.prototype.slice.call(e)),\r\n this.setValues(t, n),\r\n this);\r\n }),\r\n (_.prototype.setChannel = function (t, e, n) {\r\n var i = this.values[t];\r\n return void 0 === n\r\n ? i[e]\r\n : n === i[e]\r\n ? this\r\n : ((i[e] = n), this.setValues(t, i), this);\r\n }),\r\n \"undefined\" != typeof window && (window.Color = _);\r\n var w,\r\n k = _,\r\n M = {\r\n noop: function () {},\r\n uid:\r\n ((w = 0),\r\n function () {\r\n return w++;\r\n }),\r\n isNullOrUndef: function (t) {\r\n return null == t;\r\n },\r\n isArray: function (t) {\r\n if (Array.isArray && Array.isArray(t)) return !0;\r\n var e = Object.prototype.toString.call(t);\r\n return \"[object\" === e.substr(0, 7) && \"Array]\" === e.substr(-6);\r\n },\r\n isObject: function (t) {\r\n return (\r\n null !== t && \"[object Object]\" === Object.prototype.toString.call(t)\r\n );\r\n },\r\n isFinite: function (t) {\r\n return (\"number\" == typeof t || t instanceof Number) && isFinite(t);\r\n },\r\n valueOrDefault: function (t, e) {\r\n return void 0 === t ? e : t;\r\n },\r\n valueAtIndexOrDefault: function (t, e, n) {\r\n return M.valueOrDefault(M.isArray(t) ? t[e] : t, n);\r\n },\r\n callback: function (t, e, n) {\r\n if (t && \"function\" == typeof t.call) return t.apply(n, e);\r\n },\r\n each: function (t, e, n, i) {\r\n var a, r, o;\r\n if (M.isArray(t))\r\n if (((r = t.length), i))\r\n for (a = r - 1; a >= 0; a--) e.call(n, t[a], a);\r\n else for (a = 0; a < r; a++) e.call(n, t[a], a);\r\n else if (M.isObject(t))\r\n for (r = (o = Object.keys(t)).length, a = 0; a < r; a++)\r\n e.call(n, t[o[a]], o[a]);\r\n },\r\n arrayEquals: function (t, e) {\r\n var n, i, a, r;\r\n if (!t || !e || t.length !== e.length) return !1;\r\n for (n = 0, i = t.length; n < i; ++n)\r\n if (\r\n ((a = t[n]), (r = e[n]), a instanceof Array && r instanceof Array)\r\n ) {\r\n if (!M.arrayEquals(a, r)) return !1;\r\n } else if (a !== r) return !1;\r\n return !0;\r\n },\r\n clone: function (t) {\r\n if (M.isArray(t)) return t.map(M.clone);\r\n if (M.isObject(t)) {\r\n for (var e = {}, n = Object.keys(t), i = n.length, a = 0; a < i; ++a)\r\n e[n[a]] = M.clone(t[n[a]]);\r\n return e;\r\n }\r\n return t;\r\n },\r\n _merger: function (t, e, n, i) {\r\n var a = e[t],\r\n r = n[t];\r\n M.isObject(a) && M.isObject(r) ? M.merge(a, r, i) : (e[t] = M.clone(r));\r\n },\r\n _mergerIf: function (t, e, n) {\r\n var i = e[t],\r\n a = n[t];\r\n M.isObject(i) && M.isObject(a)\r\n ? M.mergeIf(i, a)\r\n : e.hasOwnProperty(t) || (e[t] = M.clone(a));\r\n },\r\n merge: function (t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l = M.isArray(e) ? e : [e],\r\n u = l.length;\r\n if (!M.isObject(t)) return t;\r\n for (i = (n = n || {}).merger || M._merger, a = 0; a < u; ++a)\r\n if (((e = l[a]), M.isObject(e)))\r\n for (s = 0, o = (r = Object.keys(e)).length; s < o; ++s)\r\n i(r[s], t, e, n);\r\n return t;\r\n },\r\n mergeIf: function (t, e) {\r\n return M.merge(t, e, { merger: M._mergerIf });\r\n },\r\n extend:\r\n Object.assign ||\r\n function (t) {\r\n return M.merge(t, [].slice.call(arguments, 1), {\r\n merger: function (t, e, n) {\r\n e[t] = n[t];\r\n },\r\n });\r\n },\r\n inherits: function (t) {\r\n var e = this,\r\n n =\r\n t && t.hasOwnProperty(\"constructor\")\r\n ? t.constructor\r\n : function () {\r\n return e.apply(this, arguments);\r\n },\r\n i = function () {\r\n this.constructor = n;\r\n };\r\n return (\r\n (i.prototype = e.prototype),\r\n (n.prototype = new i()),\r\n (n.extend = M.inherits),\r\n t && M.extend(n.prototype, t),\r\n (n.__super__ = e.prototype),\r\n n\r\n );\r\n },\r\n _deprecated: function (t, e, n, i) {\r\n void 0 !== e &&\r\n console.warn(\r\n t + ': \"' + n + '\" is deprecated. Please use \"' + i + '\" instead'\r\n );\r\n },\r\n },\r\n S = M;\r\n (M.callCallback = M.callback),\r\n (M.indexOf = function (t, e, n) {\r\n return Array.prototype.indexOf.call(t, e, n);\r\n }),\r\n (M.getValueOrDefault = M.valueOrDefault),\r\n (M.getValueAtIndexOrDefault = M.valueAtIndexOrDefault);\r\n var D = {\r\n linear: function (t) {\r\n return t;\r\n },\r\n easeInQuad: function (t) {\r\n return t * t;\r\n },\r\n easeOutQuad: function (t) {\r\n return -t * (t - 2);\r\n },\r\n easeInOutQuad: function (t) {\r\n return (t /= 0.5) < 1 ? 0.5 * t * t : -0.5 * (--t * (t - 2) - 1);\r\n },\r\n easeInCubic: function (t) {\r\n return t * t * t;\r\n },\r\n easeOutCubic: function (t) {\r\n return (t -= 1) * t * t + 1;\r\n },\r\n easeInOutCubic: function (t) {\r\n return (t /= 0.5) < 1 ? 0.5 * t * t * t : 0.5 * ((t -= 2) * t * t + 2);\r\n },\r\n easeInQuart: function (t) {\r\n return t * t * t * t;\r\n },\r\n easeOutQuart: function (t) {\r\n return -((t -= 1) * t * t * t - 1);\r\n },\r\n easeInOutQuart: function (t) {\r\n return (t /= 0.5) < 1\r\n ? 0.5 * t * t * t * t\r\n : -0.5 * ((t -= 2) * t * t * t - 2);\r\n },\r\n easeInQuint: function (t) {\r\n return t * t * t * t * t;\r\n },\r\n easeOutQuint: function (t) {\r\n return (t -= 1) * t * t * t * t + 1;\r\n },\r\n easeInOutQuint: function (t) {\r\n return (t /= 0.5) < 1\r\n ? 0.5 * t * t * t * t * t\r\n : 0.5 * ((t -= 2) * t * t * t * t + 2);\r\n },\r\n easeInSine: function (t) {\r\n return 1 - Math.cos(t * (Math.PI / 2));\r\n },\r\n easeOutSine: function (t) {\r\n return Math.sin(t * (Math.PI / 2));\r\n },\r\n easeInOutSine: function (t) {\r\n return -0.5 * (Math.cos(Math.PI * t) - 1);\r\n },\r\n easeInExpo: function (t) {\r\n return 0 === t ? 0 : Math.pow(2, 10 * (t - 1));\r\n },\r\n easeOutExpo: function (t) {\r\n return 1 === t ? 1 : 1 - Math.pow(2, -10 * t);\r\n },\r\n easeInOutExpo: function (t) {\r\n return 0 === t\r\n ? 0\r\n : 1 === t\r\n ? 1\r\n : (t /= 0.5) < 1\r\n ? 0.5 * Math.pow(2, 10 * (t - 1))\r\n : 0.5 * (2 - Math.pow(2, -10 * --t));\r\n },\r\n easeInCirc: function (t) {\r\n return t >= 1 ? t : -(Math.sqrt(1 - t * t) - 1);\r\n },\r\n easeOutCirc: function (t) {\r\n return Math.sqrt(1 - (t -= 1) * t);\r\n },\r\n easeInOutCirc: function (t) {\r\n return (t /= 0.5) < 1\r\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\r\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\r\n },\r\n easeInElastic: function (t) {\r\n var e = 1.70158,\r\n n = 0,\r\n i = 1;\r\n return 0 === t\r\n ? 0\r\n : 1 === t\r\n ? 1\r\n : (n || (n = 0.3),\r\n i < 1\r\n ? ((i = 1), (e = n / 4))\r\n : (e = (n / (2 * Math.PI)) * Math.asin(1 / i)),\r\n -i *\r\n Math.pow(2, 10 * (t -= 1)) *\r\n Math.sin(((t - e) * (2 * Math.PI)) / n));\r\n },\r\n easeOutElastic: function (t) {\r\n var e = 1.70158,\r\n n = 0,\r\n i = 1;\r\n return 0 === t\r\n ? 0\r\n : 1 === t\r\n ? 1\r\n : (n || (n = 0.3),\r\n i < 1\r\n ? ((i = 1), (e = n / 4))\r\n : (e = (n / (2 * Math.PI)) * Math.asin(1 / i)),\r\n i * Math.pow(2, -10 * t) * Math.sin(((t - e) * (2 * Math.PI)) / n) +\r\n 1);\r\n },\r\n easeInOutElastic: function (t) {\r\n var e = 1.70158,\r\n n = 0,\r\n i = 1;\r\n return 0 === t\r\n ? 0\r\n : 2 == (t /= 0.5)\r\n ? 1\r\n : (n || (n = 0.45),\r\n i < 1\r\n ? ((i = 1), (e = n / 4))\r\n : (e = (n / (2 * Math.PI)) * Math.asin(1 / i)),\r\n t < 1\r\n ? i *\r\n Math.pow(2, 10 * (t -= 1)) *\r\n Math.sin(((t - e) * (2 * Math.PI)) / n) *\r\n -0.5\r\n : i *\r\n Math.pow(2, -10 * (t -= 1)) *\r\n Math.sin(((t - e) * (2 * Math.PI)) / n) *\r\n 0.5 +\r\n 1);\r\n },\r\n easeInBack: function (t) {\r\n var e = 1.70158;\r\n return t * t * ((e + 1) * t - e);\r\n },\r\n easeOutBack: function (t) {\r\n var e = 1.70158;\r\n return (t -= 1) * t * ((e + 1) * t + e) + 1;\r\n },\r\n easeInOutBack: function (t) {\r\n var e = 1.70158;\r\n return (t /= 0.5) < 1\r\n ? t * t * ((1 + (e *= 1.525)) * t - e) * 0.5\r\n : 0.5 * ((t -= 2) * t * ((1 + (e *= 1.525)) * t + e) + 2);\r\n },\r\n easeInBounce: function (t) {\r\n return 1 - D.easeOutBounce(1 - t);\r\n },\r\n easeOutBounce: function (t) {\r\n return t < 1 / 2.75\r\n ? 7.5625 * t * t\r\n : t < 2 / 2.75\r\n ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75\r\n : t < 2.5 / 2.75\r\n ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375\r\n : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375;\r\n },\r\n easeInOutBounce: function (t) {\r\n return t < 0.5\r\n ? 0.5 * D.easeInBounce(2 * t)\r\n : 0.5 * D.easeOutBounce(2 * t - 1) + 0.5;\r\n },\r\n },\r\n C = { effects: D };\r\n S.easingEffects = D;\r\n var P = Math.PI,\r\n T = P / 180,\r\n O = 2 * P,\r\n A = P / 2,\r\n F = P / 4,\r\n I = (2 * P) / 3,\r\n L = {\r\n clear: function (t) {\r\n t.ctx.clearRect(0, 0, t.width, t.height);\r\n },\r\n roundedRect: function (t, e, n, i, a, r) {\r\n if (r) {\r\n var o = Math.min(r, a / 2, i / 2),\r\n s = e + o,\r\n l = n + o,\r\n u = e + i - o,\r\n d = n + a - o;\r\n t.moveTo(e, l),\r\n s < u && l < d\r\n ? (t.arc(s, l, o, -P, -A),\r\n t.arc(u, l, o, -A, 0),\r\n t.arc(u, d, o, 0, A),\r\n t.arc(s, d, o, A, P))\r\n : s < u\r\n ? (t.moveTo(s, n),\r\n t.arc(u, l, o, -A, A),\r\n t.arc(s, l, o, A, P + A))\r\n : l < d\r\n ? (t.arc(s, l, o, -P, 0), t.arc(s, d, o, 0, P))\r\n : t.arc(s, l, o, -P, P),\r\n t.closePath(),\r\n t.moveTo(e, n);\r\n } else t.rect(e, n, i, a);\r\n },\r\n drawPoint: function (t, e, n, i, a, r) {\r\n var o,\r\n s,\r\n l,\r\n u,\r\n d,\r\n h = (r || 0) * T;\r\n if (\r\n e &&\r\n \"object\" == typeof e &&\r\n (\"[object HTMLImageElement]\" === (o = e.toString()) ||\r\n \"[object HTMLCanvasElement]\" === o)\r\n )\r\n return (\r\n t.save(),\r\n t.translate(i, a),\r\n t.rotate(h),\r\n t.drawImage(e, -e.width / 2, -e.height / 2, e.width, e.height),\r\n void t.restore()\r\n );\r\n if (!(isNaN(n) || n <= 0)) {\r\n switch ((t.beginPath(), e)) {\r\n default:\r\n t.arc(i, a, n, 0, O), t.closePath();\r\n break;\r\n case \"triangle\":\r\n t.moveTo(i + Math.sin(h) * n, a - Math.cos(h) * n),\r\n (h += I),\r\n t.lineTo(i + Math.sin(h) * n, a - Math.cos(h) * n),\r\n (h += I),\r\n t.lineTo(i + Math.sin(h) * n, a - Math.cos(h) * n),\r\n t.closePath();\r\n break;\r\n case \"rectRounded\":\r\n (u = n - (d = 0.516 * n)),\r\n (s = Math.cos(h + F) * u),\r\n (l = Math.sin(h + F) * u),\r\n t.arc(i - s, a - l, d, h - P, h - A),\r\n t.arc(i + l, a - s, d, h - A, h),\r\n t.arc(i + s, a + l, d, h, h + A),\r\n t.arc(i - l, a + s, d, h + A, h + P),\r\n t.closePath();\r\n break;\r\n case \"rect\":\r\n if (!r) {\r\n (u = Math.SQRT1_2 * n), t.rect(i - u, a - u, 2 * u, 2 * u);\r\n break;\r\n }\r\n h += F;\r\n case \"rectRot\":\r\n (s = Math.cos(h) * n),\r\n (l = Math.sin(h) * n),\r\n t.moveTo(i - s, a - l),\r\n t.lineTo(i + l, a - s),\r\n t.lineTo(i + s, a + l),\r\n t.lineTo(i - l, a + s),\r\n t.closePath();\r\n break;\r\n case \"crossRot\":\r\n h += F;\r\n case \"cross\":\r\n (s = Math.cos(h) * n),\r\n (l = Math.sin(h) * n),\r\n t.moveTo(i - s, a - l),\r\n t.lineTo(i + s, a + l),\r\n t.moveTo(i + l, a - s),\r\n t.lineTo(i - l, a + s);\r\n break;\r\n case \"star\":\r\n (s = Math.cos(h) * n),\r\n (l = Math.sin(h) * n),\r\n t.moveTo(i - s, a - l),\r\n t.lineTo(i + s, a + l),\r\n t.moveTo(i + l, a - s),\r\n t.lineTo(i - l, a + s),\r\n (h += F),\r\n (s = Math.cos(h) * n),\r\n (l = Math.sin(h) * n),\r\n t.moveTo(i - s, a - l),\r\n t.lineTo(i + s, a + l),\r\n t.moveTo(i + l, a - s),\r\n t.lineTo(i - l, a + s);\r\n break;\r\n case \"line\":\r\n (s = Math.cos(h) * n),\r\n (l = Math.sin(h) * n),\r\n t.moveTo(i - s, a - l),\r\n t.lineTo(i + s, a + l);\r\n break;\r\n case \"dash\":\r\n t.moveTo(i, a),\r\n t.lineTo(i + Math.cos(h) * n, a + Math.sin(h) * n);\r\n }\r\n t.fill(), t.stroke();\r\n }\r\n },\r\n _isPointInArea: function (t, e) {\r\n return (\r\n t.x > e.left - 1e-6 &&\r\n t.x < e.right + 1e-6 &&\r\n t.y > e.top - 1e-6 &&\r\n t.y < e.bottom + 1e-6\r\n );\r\n },\r\n clipArea: function (t, e) {\r\n t.save(),\r\n t.beginPath(),\r\n t.rect(e.left, e.top, e.right - e.left, e.bottom - e.top),\r\n t.clip();\r\n },\r\n unclipArea: function (t) {\r\n t.restore();\r\n },\r\n lineTo: function (t, e, n, i) {\r\n var a = n.steppedLine;\r\n if (a) {\r\n if (\"middle\" === a) {\r\n var r = (e.x + n.x) / 2;\r\n t.lineTo(r, i ? n.y : e.y), t.lineTo(r, i ? e.y : n.y);\r\n } else\r\n (\"after\" === a && !i) || (\"after\" !== a && i)\r\n ? t.lineTo(e.x, n.y)\r\n : t.lineTo(n.x, e.y);\r\n t.lineTo(n.x, n.y);\r\n } else\r\n n.tension\r\n ? t.bezierCurveTo(\r\n i ? e.controlPointPreviousX : e.controlPointNextX,\r\n i ? e.controlPointPreviousY : e.controlPointNextY,\r\n i ? n.controlPointNextX : n.controlPointPreviousX,\r\n i ? n.controlPointNextY : n.controlPointPreviousY,\r\n n.x,\r\n n.y\r\n )\r\n : t.lineTo(n.x, n.y);\r\n },\r\n },\r\n R = L;\r\n (S.clear = L.clear),\r\n (S.drawRoundedRectangle = function (t) {\r\n t.beginPath(), L.roundedRect.apply(L, arguments);\r\n });\r\n var N = {\r\n _set: function (t, e) {\r\n return S.merge(this[t] || (this[t] = {}), e);\r\n },\r\n };\r\n N._set(\"global\", {\r\n defaultColor: \"rgba(0,0,0,0.1)\",\r\n defaultFontColor: \"#666\",\r\n defaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\r\n defaultFontSize: 12,\r\n defaultFontStyle: \"normal\",\r\n defaultLineHeight: 1.2,\r\n showLines: !0,\r\n });\r\n var W = N,\r\n Y = S.valueOrDefault;\r\n var z = {\r\n toLineHeight: function (t, e) {\r\n var n = (\"\" + t).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\r\n if (!n || \"normal\" === n[1]) return 1.2 * e;\r\n switch (((t = +n[2]), n[3])) {\r\n case \"px\":\r\n return t;\r\n case \"%\":\r\n t /= 100;\r\n }\r\n return e * t;\r\n },\r\n toPadding: function (t) {\r\n var e, n, i, a;\r\n return (\r\n S.isObject(t)\r\n ? ((e = +t.top || 0),\r\n (n = +t.right || 0),\r\n (i = +t.bottom || 0),\r\n (a = +t.left || 0))\r\n : (e = n = i = a = +t || 0),\r\n { top: e, right: n, bottom: i, left: a, height: e + i, width: a + n }\r\n );\r\n },\r\n _parseFont: function (t) {\r\n var e = W.global,\r\n n = Y(t.fontSize, e.defaultFontSize),\r\n i = {\r\n family: Y(t.fontFamily, e.defaultFontFamily),\r\n lineHeight: S.options.toLineHeight(\r\n Y(t.lineHeight, e.defaultLineHeight),\r\n n\r\n ),\r\n size: n,\r\n style: Y(t.fontStyle, e.defaultFontStyle),\r\n weight: null,\r\n string: \"\",\r\n };\r\n return (\r\n (i.string = (function (t) {\r\n return !t || S.isNullOrUndef(t.size) || S.isNullOrUndef(t.family)\r\n ? null\r\n : (t.style ? t.style + \" \" : \"\") +\r\n (t.weight ? t.weight + \" \" : \"\") +\r\n t.size +\r\n \"px \" +\r\n t.family;\r\n })(i)),\r\n i\r\n );\r\n },\r\n resolve: function (t, e, n, i) {\r\n var a,\r\n r,\r\n o,\r\n s = !0;\r\n for (a = 0, r = t.length; a < r; ++a)\r\n if (\r\n void 0 !== (o = t[a]) &&\r\n (void 0 !== e && \"function\" == typeof o && ((o = o(e)), (s = !1)),\r\n void 0 !== n && S.isArray(o) && ((o = o[n]), (s = !1)),\r\n void 0 !== o)\r\n )\r\n return i && !s && (i.cacheable = !1), o;\r\n },\r\n },\r\n E = {\r\n _factorize: function (t) {\r\n var e,\r\n n = [],\r\n i = Math.sqrt(t);\r\n for (e = 1; e < i; e++) t % e == 0 && (n.push(e), n.push(t / e));\r\n return (\r\n i === (0 | i) && n.push(i),\r\n n\r\n .sort(function (t, e) {\r\n return t - e;\r\n })\r\n .pop(),\r\n n\r\n );\r\n },\r\n log10:\r\n Math.log10 ||\r\n function (t) {\r\n var e = Math.log(t) * Math.LOG10E,\r\n n = Math.round(e);\r\n return t === Math.pow(10, n) ? n : e;\r\n },\r\n },\r\n V = E;\r\n S.log10 = E.log10;\r\n var H = S,\r\n B = C,\r\n j = R,\r\n U = z,\r\n G = V,\r\n q = {\r\n getRtlAdapter: function (t, e, n) {\r\n return t\r\n ? (function (t, e) {\r\n return {\r\n x: function (n) {\r\n return t + t + e - n;\r\n },\r\n setWidth: function (t) {\r\n e = t;\r\n },\r\n textAlign: function (t) {\r\n return \"center\" === t ? t : \"right\" === t ? \"left\" : \"right\";\r\n },\r\n xPlus: function (t, e) {\r\n return t - e;\r\n },\r\n leftForLtr: function (t, e) {\r\n return t - e;\r\n },\r\n };\r\n })(e, n)\r\n : {\r\n x: function (t) {\r\n return t;\r\n },\r\n setWidth: function (t) {},\r\n textAlign: function (t) {\r\n return t;\r\n },\r\n xPlus: function (t, e) {\r\n return t + e;\r\n },\r\n leftForLtr: function (t, e) {\r\n return t;\r\n },\r\n };\r\n },\r\n overrideTextDirection: function (t, e) {\r\n var n, i;\r\n (\"ltr\" !== e && \"rtl\" !== e) ||\r\n ((i = [\r\n (n = t.canvas.style).getPropertyValue(\"direction\"),\r\n n.getPropertyPriority(\"direction\"),\r\n ]),\r\n n.setProperty(\"direction\", e, \"important\"),\r\n (t.prevTextDirection = i));\r\n },\r\n restoreTextDirection: function (t) {\r\n var e = t.prevTextDirection;\r\n void 0 !== e &&\r\n (delete t.prevTextDirection,\r\n t.canvas.style.setProperty(\"direction\", e[0], e[1]));\r\n },\r\n };\r\n (H.easing = B), (H.canvas = j), (H.options = U), (H.math = G), (H.rtl = q);\r\n var Z = function (t) {\r\n H.extend(this, t), this.initialize.apply(this, arguments);\r\n };\r\n H.extend(Z.prototype, {\r\n _type: void 0,\r\n initialize: function () {\r\n this.hidden = !1;\r\n },\r\n pivot: function () {\r\n var t = this;\r\n return t._view || (t._view = H.extend({}, t._model)), (t._start = {}), t;\r\n },\r\n transition: function (t) {\r\n var e = this,\r\n n = e._model,\r\n i = e._start,\r\n a = e._view;\r\n return n && 1 !== t\r\n ? (a || (a = e._view = {}),\r\n i || (i = e._start = {}),\r\n (function (t, e, n, i) {\r\n var a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u,\r\n d,\r\n h,\r\n c,\r\n f = Object.keys(n);\r\n for (a = 0, r = f.length; a < r; ++a)\r\n if (\r\n ((u = n[(o = f[a])]),\r\n e.hasOwnProperty(o) || (e[o] = u),\r\n (s = e[o]) !== u && \"_\" !== o[0])\r\n ) {\r\n if (\r\n (t.hasOwnProperty(o) || (t[o] = s),\r\n (d = typeof u) === typeof (l = t[o]))\r\n )\r\n if (\"string\" === d) {\r\n if ((h = k(l)).valid && (c = k(u)).valid) {\r\n e[o] = c.mix(h, i).rgbString();\r\n continue;\r\n }\r\n } else if (H.isFinite(l) && H.isFinite(u)) {\r\n e[o] = l + (u - l) * i;\r\n continue;\r\n }\r\n e[o] = u;\r\n }\r\n })(i, a, n, t),\r\n e)\r\n : ((e._view = H.extend({}, n)), (e._start = null), e);\r\n },\r\n tooltipPosition: function () {\r\n return { x: this._model.x, y: this._model.y };\r\n },\r\n hasValue: function () {\r\n return H.isNumber(this._model.x) && H.isNumber(this._model.y);\r\n },\r\n }),\r\n (Z.extend = H.inherits);\r\n var $ = Z,\r\n X = $.extend({\r\n chart: null,\r\n currentStep: 0,\r\n numSteps: 60,\r\n easing: \"\",\r\n render: null,\r\n onAnimationProgress: null,\r\n onAnimationComplete: null,\r\n }),\r\n K = X;\r\n Object.defineProperty(X.prototype, \"animationObject\", {\r\n get: function () {\r\n return this;\r\n },\r\n }),\r\n Object.defineProperty(X.prototype, \"chartInstance\", {\r\n get: function () {\r\n return this.chart;\r\n },\r\n set: function (t) {\r\n this.chart = t;\r\n },\r\n }),\r\n W._set(\"global\", {\r\n animation: {\r\n duration: 1e3,\r\n easing: \"easeOutQuart\",\r\n onProgress: H.noop,\r\n onComplete: H.noop,\r\n },\r\n });\r\n var J = {\r\n animations: [],\r\n request: null,\r\n addAnimation: function (t, e, n, i) {\r\n var a,\r\n r,\r\n o = this.animations;\r\n for (\r\n e.chart = t,\r\n e.startTime = Date.now(),\r\n e.duration = n,\r\n i || (t.animating = !0),\r\n a = 0,\r\n r = o.length;\r\n a < r;\r\n ++a\r\n )\r\n if (o[a].chart === t) return void (o[a] = e);\r\n o.push(e), 1 === o.length && this.requestAnimationFrame();\r\n },\r\n cancelAnimation: function (t) {\r\n var e = H.findIndex(this.animations, function (e) {\r\n return e.chart === t;\r\n });\r\n -1 !== e && (this.animations.splice(e, 1), (t.animating = !1));\r\n },\r\n requestAnimationFrame: function () {\r\n var t = this;\r\n null === t.request &&\r\n (t.request = H.requestAnimFrame.call(window, function () {\r\n (t.request = null), t.startDigest();\r\n }));\r\n },\r\n startDigest: function () {\r\n this.advance(),\r\n this.animations.length > 0 && this.requestAnimationFrame();\r\n },\r\n advance: function () {\r\n for (var t, e, n, i, a = this.animations, r = 0; r < a.length; )\r\n (e = (t = a[r]).chart),\r\n (n = t.numSteps),\r\n (i = Math.floor(((Date.now() - t.startTime) / t.duration) * n) + 1),\r\n (t.currentStep = Math.min(i, n)),\r\n H.callback(t.render, [e, t], e),\r\n H.callback(t.onAnimationProgress, [t], e),\r\n t.currentStep >= n\r\n ? (H.callback(t.onAnimationComplete, [t], e),\r\n (e.animating = !1),\r\n a.splice(r, 1))\r\n : ++r;\r\n },\r\n },\r\n Q = H.options.resolve,\r\n tt = [\"push\", \"pop\", \"shift\", \"splice\", \"unshift\"];\r\n function et(t, e) {\r\n var n = t._chartjs;\r\n if (n) {\r\n var i = n.listeners,\r\n a = i.indexOf(e);\r\n -1 !== a && i.splice(a, 1),\r\n i.length > 0 ||\r\n (tt.forEach(function (e) {\r\n delete t[e];\r\n }),\r\n delete t._chartjs);\r\n }\r\n }\r\n var nt = function (t, e) {\r\n this.initialize(t, e);\r\n };\r\n H.extend(nt.prototype, {\r\n datasetElementType: null,\r\n dataElementType: null,\r\n _datasetElementOptions: [\r\n \"backgroundColor\",\r\n \"borderCapStyle\",\r\n \"borderColor\",\r\n \"borderDash\",\r\n \"borderDashOffset\",\r\n \"borderJoinStyle\",\r\n \"borderWidth\",\r\n ],\r\n _dataElementOptions: [\r\n \"backgroundColor\",\r\n \"borderColor\",\r\n \"borderWidth\",\r\n \"pointStyle\",\r\n ],\r\n initialize: function (t, e) {\r\n var n = this;\r\n (n.chart = t),\r\n (n.index = e),\r\n n.linkScales(),\r\n n.addElements(),\r\n (n._type = n.getMeta().type);\r\n },\r\n updateIndex: function (t) {\r\n this.index = t;\r\n },\r\n linkScales: function () {\r\n var t = this.getMeta(),\r\n e = this.chart,\r\n n = e.scales,\r\n i = this.getDataset(),\r\n a = e.options.scales;\r\n (null !== t.xAxisID && t.xAxisID in n && !i.xAxisID) ||\r\n (t.xAxisID = i.xAxisID || a.xAxes[0].id),\r\n (null !== t.yAxisID && t.yAxisID in n && !i.yAxisID) ||\r\n (t.yAxisID = i.yAxisID || a.yAxes[0].id);\r\n },\r\n getDataset: function () {\r\n return this.chart.data.datasets[this.index];\r\n },\r\n getMeta: function () {\r\n return this.chart.getDatasetMeta(this.index);\r\n },\r\n getScaleForId: function (t) {\r\n return this.chart.scales[t];\r\n },\r\n _getValueScaleId: function () {\r\n return this.getMeta().yAxisID;\r\n },\r\n _getIndexScaleId: function () {\r\n return this.getMeta().xAxisID;\r\n },\r\n _getValueScale: function () {\r\n return this.getScaleForId(this._getValueScaleId());\r\n },\r\n _getIndexScale: function () {\r\n return this.getScaleForId(this._getIndexScaleId());\r\n },\r\n reset: function () {\r\n this._update(!0);\r\n },\r\n destroy: function () {\r\n this._data && et(this._data, this);\r\n },\r\n createMetaDataset: function () {\r\n var t = this.datasetElementType;\r\n return t && new t({ _chart: this.chart, _datasetIndex: this.index });\r\n },\r\n createMetaData: function (t) {\r\n var e = this.dataElementType;\r\n return (\r\n e && new e({ _chart: this.chart, _datasetIndex: this.index, _index: t })\r\n );\r\n },\r\n addElements: function () {\r\n var t,\r\n e,\r\n n = this.getMeta(),\r\n i = this.getDataset().data || [],\r\n a = n.data;\r\n for (t = 0, e = i.length; t < e; ++t)\r\n a[t] = a[t] || this.createMetaData(t);\r\n n.dataset = n.dataset || this.createMetaDataset();\r\n },\r\n addElementAndReset: function (t) {\r\n var e = this.createMetaData(t);\r\n this.getMeta().data.splice(t, 0, e), this.updateElement(e, t, !0);\r\n },\r\n buildOrUpdateElements: function () {\r\n var t,\r\n e,\r\n n = this,\r\n i = n.getDataset(),\r\n a = i.data || (i.data = []);\r\n n._data !== a &&\r\n (n._data && et(n._data, n),\r\n a &&\r\n Object.isExtensible(a) &&\r\n ((e = n),\r\n (t = a)._chartjs\r\n ? t._chartjs.listeners.push(e)\r\n : (Object.defineProperty(t, \"_chartjs\", {\r\n configurable: !0,\r\n enumerable: !1,\r\n value: { listeners: [e] },\r\n }),\r\n tt.forEach(function (e) {\r\n var n = \"onData\" + e.charAt(0).toUpperCase() + e.slice(1),\r\n i = t[e];\r\n Object.defineProperty(t, e, {\r\n configurable: !0,\r\n enumerable: !1,\r\n value: function () {\r\n var e = Array.prototype.slice.call(arguments),\r\n a = i.apply(this, e);\r\n return (\r\n H.each(t._chartjs.listeners, function (t) {\r\n \"function\" == typeof t[n] && t[n].apply(t, e);\r\n }),\r\n a\r\n );\r\n },\r\n });\r\n }))),\r\n (n._data = a)),\r\n n.resyncElements();\r\n },\r\n _configure: function () {\r\n this._config = H.merge(\r\n {},\r\n [this.chart.options.datasets[this._type], this.getDataset()],\r\n {\r\n merger: function (t, e, n) {\r\n \"_meta\" !== t && \"data\" !== t && H._merger(t, e, n);\r\n },\r\n }\r\n );\r\n },\r\n _update: function (t) {\r\n this._configure(), (this._cachedDataOpts = null), this.update(t);\r\n },\r\n update: H.noop,\r\n transition: function (t) {\r\n for (\r\n var e = this.getMeta(), n = e.data || [], i = n.length, a = 0;\r\n a < i;\r\n ++a\r\n )\r\n n[a].transition(t);\r\n e.dataset && e.dataset.transition(t);\r\n },\r\n draw: function () {\r\n var t = this.getMeta(),\r\n e = t.data || [],\r\n n = e.length,\r\n i = 0;\r\n for (t.dataset && t.dataset.draw(); i < n; ++i) e[i].draw();\r\n },\r\n getStyle: function (t) {\r\n var e,\r\n n = this.getMeta(),\r\n i = n.dataset;\r\n return (\r\n this._configure(),\r\n i && void 0 === t\r\n ? (e = this._resolveDatasetElementOptions(i || {}))\r\n : ((t = t || 0),\r\n (e = this._resolveDataElementOptions(n.data[t] || {}, t))),\r\n (!1 !== e.fill && null !== e.fill) ||\r\n (e.backgroundColor = e.borderColor),\r\n e\r\n );\r\n },\r\n _resolveDatasetElementOptions: function (t, e) {\r\n var n,\r\n i,\r\n a,\r\n r,\r\n o = this,\r\n s = o.chart,\r\n l = o._config,\r\n u = t.custom || {},\r\n d = s.options.elements[o.datasetElementType.prototype._type] || {},\r\n h = o._datasetElementOptions,\r\n c = {},\r\n f = {\r\n chart: s,\r\n dataset: o.getDataset(),\r\n datasetIndex: o.index,\r\n hover: e,\r\n };\r\n for (n = 0, i = h.length; n < i; ++n)\r\n (a = h[n]),\r\n (r = e ? \"hover\" + a.charAt(0).toUpperCase() + a.slice(1) : a),\r\n (c[a] = Q([u[r], l[r], d[r]], f));\r\n return c;\r\n },\r\n _resolveDataElementOptions: function (t, e) {\r\n var n = this,\r\n i = t && t.custom,\r\n a = n._cachedDataOpts;\r\n if (a && !i) return a;\r\n var r,\r\n o,\r\n s,\r\n l,\r\n u = n.chart,\r\n d = n._config,\r\n h = u.options.elements[n.dataElementType.prototype._type] || {},\r\n c = n._dataElementOptions,\r\n f = {},\r\n g = {\r\n chart: u,\r\n dataIndex: e,\r\n dataset: n.getDataset(),\r\n datasetIndex: n.index,\r\n },\r\n m = { cacheable: !i };\r\n if (((i = i || {}), H.isArray(c)))\r\n for (o = 0, s = c.length; o < s; ++o)\r\n f[(l = c[o])] = Q([i[l], d[l], h[l]], g, e, m);\r\n else\r\n for (o = 0, s = (r = Object.keys(c)).length; o < s; ++o)\r\n f[(l = r[o])] = Q([i[l], d[c[l]], d[l], h[l]], g, e, m);\r\n return m.cacheable && (n._cachedDataOpts = Object.freeze(f)), f;\r\n },\r\n removeHoverStyle: function (t) {\r\n H.merge(t._model, t.$previousStyle || {}), delete t.$previousStyle;\r\n },\r\n setHoverStyle: function (t) {\r\n var e = this.chart.data.datasets[t._datasetIndex],\r\n n = t._index,\r\n i = t.custom || {},\r\n a = t._model,\r\n r = H.getHoverColor;\r\n (t.$previousStyle = {\r\n backgroundColor: a.backgroundColor,\r\n borderColor: a.borderColor,\r\n borderWidth: a.borderWidth,\r\n }),\r\n (a.backgroundColor = Q(\r\n [\r\n i.hoverBackgroundColor,\r\n e.hoverBackgroundColor,\r\n r(a.backgroundColor),\r\n ],\r\n void 0,\r\n n\r\n )),\r\n (a.borderColor = Q(\r\n [i.hoverBorderColor, e.hoverBorderColor, r(a.borderColor)],\r\n void 0,\r\n n\r\n )),\r\n (a.borderWidth = Q(\r\n [i.hoverBorderWidth, e.hoverBorderWidth, a.borderWidth],\r\n void 0,\r\n n\r\n ));\r\n },\r\n _removeDatasetHoverStyle: function () {\r\n var t = this.getMeta().dataset;\r\n t && this.removeHoverStyle(t);\r\n },\r\n _setDatasetHoverStyle: function () {\r\n var t,\r\n e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o = this.getMeta().dataset,\r\n s = {};\r\n if (o) {\r\n for (\r\n r = o._model,\r\n a = this._resolveDatasetElementOptions(o, !0),\r\n t = 0,\r\n e = (i = Object.keys(a)).length;\r\n t < e;\r\n ++t\r\n )\r\n (s[(n = i[t])] = r[n]), (r[n] = a[n]);\r\n o.$previousStyle = s;\r\n }\r\n },\r\n resyncElements: function () {\r\n var t = this.getMeta(),\r\n e = this.getDataset().data,\r\n n = t.data.length,\r\n i = e.length;\r\n i < n ? t.data.splice(i, n - i) : i > n && this.insertElements(n, i - n);\r\n },\r\n insertElements: function (t, e) {\r\n for (var n = 0; n < e; ++n) this.addElementAndReset(t + n);\r\n },\r\n onDataPush: function () {\r\n var t = arguments.length;\r\n this.insertElements(this.getDataset().data.length - t, t);\r\n },\r\n onDataPop: function () {\r\n this.getMeta().data.pop();\r\n },\r\n onDataShift: function () {\r\n this.getMeta().data.shift();\r\n },\r\n onDataSplice: function (t, e) {\r\n this.getMeta().data.splice(t, e),\r\n this.insertElements(t, arguments.length - 2);\r\n },\r\n onDataUnshift: function () {\r\n this.insertElements(0, arguments.length);\r\n },\r\n }),\r\n (nt.extend = H.inherits);\r\n var it = nt,\r\n at = 2 * Math.PI;\r\n function rt(t, e) {\r\n var n = e.startAngle,\r\n i = e.endAngle,\r\n a = e.pixelMargin,\r\n r = a / e.outerRadius,\r\n o = e.x,\r\n s = e.y;\r\n t.beginPath(),\r\n t.arc(o, s, e.outerRadius, n - r, i + r),\r\n e.innerRadius > a\r\n ? ((r = a / e.innerRadius),\r\n t.arc(o, s, e.innerRadius - a, i + r, n - r, !0))\r\n : t.arc(o, s, a, i + Math.PI / 2, n - Math.PI / 2),\r\n t.closePath(),\r\n t.clip();\r\n }\r\n function ot(t, e, n) {\r\n var i = \"inner\" === e.borderAlign;\r\n i\r\n ? ((t.lineWidth = 2 * e.borderWidth), (t.lineJoin = \"round\"))\r\n : ((t.lineWidth = e.borderWidth), (t.lineJoin = \"bevel\")),\r\n n.fullCircles &&\r\n (function (t, e, n, i) {\r\n var a,\r\n r = n.endAngle;\r\n for (\r\n i &&\r\n ((n.endAngle = n.startAngle + at),\r\n rt(t, n),\r\n (n.endAngle = r),\r\n n.endAngle === n.startAngle &&\r\n n.fullCircles &&\r\n ((n.endAngle += at), n.fullCircles--)),\r\n t.beginPath(),\r\n t.arc(\r\n n.x,\r\n n.y,\r\n n.innerRadius,\r\n n.startAngle + at,\r\n n.startAngle,\r\n !0\r\n ),\r\n a = 0;\r\n a < n.fullCircles;\r\n ++a\r\n )\r\n t.stroke();\r\n for (\r\n t.beginPath(),\r\n t.arc(n.x, n.y, e.outerRadius, n.startAngle, n.startAngle + at),\r\n a = 0;\r\n a < n.fullCircles;\r\n ++a\r\n )\r\n t.stroke();\r\n })(t, e, n, i),\r\n i && rt(t, n),\r\n t.beginPath(),\r\n t.arc(n.x, n.y, e.outerRadius, n.startAngle, n.endAngle),\r\n t.arc(n.x, n.y, n.innerRadius, n.endAngle, n.startAngle, !0),\r\n t.closePath(),\r\n t.stroke();\r\n }\r\n W._set(\"global\", {\r\n elements: {\r\n arc: {\r\n backgroundColor: W.global.defaultColor,\r\n borderColor: \"#fff\",\r\n borderWidth: 2,\r\n borderAlign: \"center\",\r\n },\r\n },\r\n });\r\n var st = $.extend({\r\n _type: \"arc\",\r\n inLabelRange: function (t) {\r\n var e = this._view;\r\n return (\r\n !!e && Math.pow(t - e.x, 2) < Math.pow(e.radius + e.hoverRadius, 2)\r\n );\r\n },\r\n inRange: function (t, e) {\r\n var n = this._view;\r\n if (n) {\r\n for (\r\n var i = H.getAngleFromPoint(n, { x: t, y: e }),\r\n a = i.angle,\r\n r = i.distance,\r\n o = n.startAngle,\r\n s = n.endAngle;\r\n s < o;\r\n\r\n )\r\n s += at;\r\n for (; a > s; ) a -= at;\r\n for (; a < o; ) a += at;\r\n var l = a >= o && a <= s,\r\n u = r >= n.innerRadius && r <= n.outerRadius;\r\n return l && u;\r\n }\r\n return !1;\r\n },\r\n getCenterPoint: function () {\r\n var t = this._view,\r\n e = (t.startAngle + t.endAngle) / 2,\r\n n = (t.innerRadius + t.outerRadius) / 2;\r\n return { x: t.x + Math.cos(e) * n, y: t.y + Math.sin(e) * n };\r\n },\r\n getArea: function () {\r\n var t = this._view;\r\n return (\r\n Math.PI *\r\n ((t.endAngle - t.startAngle) / (2 * Math.PI)) *\r\n (Math.pow(t.outerRadius, 2) - Math.pow(t.innerRadius, 2))\r\n );\r\n },\r\n tooltipPosition: function () {\r\n var t = this._view,\r\n e = t.startAngle + (t.endAngle - t.startAngle) / 2,\r\n n = (t.outerRadius - t.innerRadius) / 2 + t.innerRadius;\r\n return { x: t.x + Math.cos(e) * n, y: t.y + Math.sin(e) * n };\r\n },\r\n draw: function () {\r\n var t,\r\n e = this._chart.ctx,\r\n n = this._view,\r\n i = \"inner\" === n.borderAlign ? 0.33 : 0,\r\n a = {\r\n x: n.x,\r\n y: n.y,\r\n innerRadius: n.innerRadius,\r\n outerRadius: Math.max(n.outerRadius - i, 0),\r\n pixelMargin: i,\r\n startAngle: n.startAngle,\r\n endAngle: n.endAngle,\r\n fullCircles: Math.floor(n.circumference / at),\r\n };\r\n if (\r\n (e.save(),\r\n (e.fillStyle = n.backgroundColor),\r\n (e.strokeStyle = n.borderColor),\r\n a.fullCircles)\r\n ) {\r\n for (\r\n a.endAngle = a.startAngle + at,\r\n e.beginPath(),\r\n e.arc(a.x, a.y, a.outerRadius, a.startAngle, a.endAngle),\r\n e.arc(a.x, a.y, a.innerRadius, a.endAngle, a.startAngle, !0),\r\n e.closePath(),\r\n t = 0;\r\n t < a.fullCircles;\r\n ++t\r\n )\r\n e.fill();\r\n a.endAngle = a.startAngle + (n.circumference % at);\r\n }\r\n e.beginPath(),\r\n e.arc(a.x, a.y, a.outerRadius, a.startAngle, a.endAngle),\r\n e.arc(a.x, a.y, a.innerRadius, a.endAngle, a.startAngle, !0),\r\n e.closePath(),\r\n e.fill(),\r\n n.borderWidth && ot(e, n, a),\r\n e.restore();\r\n },\r\n }),\r\n lt = H.valueOrDefault,\r\n ut = W.global.defaultColor;\r\n W._set(\"global\", {\r\n elements: {\r\n line: {\r\n tension: 0.4,\r\n backgroundColor: ut,\r\n borderWidth: 3,\r\n borderColor: ut,\r\n borderCapStyle: \"butt\",\r\n borderDash: [],\r\n borderDashOffset: 0,\r\n borderJoinStyle: \"miter\",\r\n capBezierPoints: !0,\r\n fill: !0,\r\n },\r\n },\r\n });\r\n var dt = $.extend({\r\n _type: \"line\",\r\n draw: function () {\r\n var t,\r\n e,\r\n n,\r\n i = this,\r\n a = i._view,\r\n r = i._chart.ctx,\r\n o = a.spanGaps,\r\n s = i._children.slice(),\r\n l = W.global,\r\n u = l.elements.line,\r\n d = -1,\r\n h = i._loop;\r\n if (s.length) {\r\n if (i._loop) {\r\n for (t = 0; t < s.length; ++t)\r\n if (\r\n ((e = H.previousItem(s, t)), !s[t]._view.skip && e._view.skip)\r\n ) {\r\n (s = s.slice(t).concat(s.slice(0, t))), (h = o);\r\n break;\r\n }\r\n h && s.push(s[0]);\r\n }\r\n for (\r\n r.save(),\r\n r.lineCap = a.borderCapStyle || u.borderCapStyle,\r\n r.setLineDash && r.setLineDash(a.borderDash || u.borderDash),\r\n r.lineDashOffset = lt(a.borderDashOffset, u.borderDashOffset),\r\n r.lineJoin = a.borderJoinStyle || u.borderJoinStyle,\r\n r.lineWidth = lt(a.borderWidth, u.borderWidth),\r\n r.strokeStyle = a.borderColor || l.defaultColor,\r\n r.beginPath(),\r\n (n = s[0]._view).skip || (r.moveTo(n.x, n.y), (d = 0)),\r\n t = 1;\r\n t < s.length;\r\n ++t\r\n )\r\n (n = s[t]._view),\r\n (e = -1 === d ? H.previousItem(s, t) : s[d]),\r\n n.skip ||\r\n ((d !== t - 1 && !o) || -1 === d\r\n ? r.moveTo(n.x, n.y)\r\n : H.canvas.lineTo(r, e._view, n),\r\n (d = t));\r\n h && r.closePath(), r.stroke(), r.restore();\r\n }\r\n },\r\n }),\r\n ht = H.valueOrDefault,\r\n ct = W.global.defaultColor;\r\n function ft(t) {\r\n var e = this._view;\r\n return !!e && Math.abs(t - e.x) < e.radius + e.hitRadius;\r\n }\r\n W._set(\"global\", {\r\n elements: {\r\n point: {\r\n radius: 3,\r\n pointStyle: \"circle\",\r\n backgroundColor: ct,\r\n borderColor: ct,\r\n borderWidth: 1,\r\n hitRadius: 1,\r\n hoverRadius: 4,\r\n hoverBorderWidth: 1,\r\n },\r\n },\r\n });\r\n var gt = $.extend({\r\n _type: \"point\",\r\n inRange: function (t, e) {\r\n var n = this._view;\r\n return (\r\n !!n &&\r\n Math.pow(t - n.x, 2) + Math.pow(e - n.y, 2) <\r\n Math.pow(n.hitRadius + n.radius, 2)\r\n );\r\n },\r\n inLabelRange: ft,\r\n inXRange: ft,\r\n inYRange: function (t) {\r\n var e = this._view;\r\n return !!e && Math.abs(t - e.y) < e.radius + e.hitRadius;\r\n },\r\n getCenterPoint: function () {\r\n var t = this._view;\r\n return { x: t.x, y: t.y };\r\n },\r\n getArea: function () {\r\n return Math.PI * Math.pow(this._view.radius, 2);\r\n },\r\n tooltipPosition: function () {\r\n var t = this._view;\r\n return { x: t.x, y: t.y, padding: t.radius + t.borderWidth };\r\n },\r\n draw: function (t) {\r\n var e = this._view,\r\n n = this._chart.ctx,\r\n i = e.pointStyle,\r\n a = e.rotation,\r\n r = e.radius,\r\n o = e.x,\r\n s = e.y,\r\n l = W.global,\r\n u = l.defaultColor;\r\n e.skip ||\r\n ((void 0 === t || H.canvas._isPointInArea(e, t)) &&\r\n ((n.strokeStyle = e.borderColor || u),\r\n (n.lineWidth = ht(e.borderWidth, l.elements.point.borderWidth)),\r\n (n.fillStyle = e.backgroundColor || u),\r\n H.canvas.drawPoint(n, i, r, o, s, a)));\r\n },\r\n }),\r\n mt = W.global.defaultColor;\r\n function pt(t) {\r\n return t && void 0 !== t.width;\r\n }\r\n function vt(t) {\r\n var e, n, i, a, r;\r\n return (\r\n pt(t)\r\n ? ((r = t.width / 2),\r\n (e = t.x - r),\r\n (n = t.x + r),\r\n (i = Math.min(t.y, t.base)),\r\n (a = Math.max(t.y, t.base)))\r\n : ((r = t.height / 2),\r\n (e = Math.min(t.x, t.base)),\r\n (n = Math.max(t.x, t.base)),\r\n (i = t.y - r),\r\n (a = t.y + r)),\r\n { left: e, top: i, right: n, bottom: a }\r\n );\r\n }\r\n function bt(t, e, n) {\r\n return t === e ? n : t === n ? e : t;\r\n }\r\n function yt(t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o,\r\n s = t.borderWidth,\r\n l = (function (t) {\r\n var e = t.borderSkipped,\r\n n = {};\r\n return e\r\n ? (t.horizontal\r\n ? t.base > t.x && (e = bt(e, \"left\", \"right\"))\r\n : t.base < t.y && (e = bt(e, \"bottom\", \"top\")),\r\n (n[e] = !0),\r\n n)\r\n : n;\r\n })(t);\r\n return (\r\n H.isObject(s)\r\n ? ((i = +s.top || 0),\r\n (a = +s.right || 0),\r\n (r = +s.bottom || 0),\r\n (o = +s.left || 0))\r\n : (i = a = r = o = +s || 0),\r\n {\r\n t: l.top || i < 0 ? 0 : i > n ? n : i,\r\n r: l.right || a < 0 ? 0 : a > e ? e : a,\r\n b: l.bottom || r < 0 ? 0 : r > n ? n : r,\r\n l: l.left || o < 0 ? 0 : o > e ? e : o,\r\n }\r\n );\r\n }\r\n function xt(t, e, n) {\r\n var i = null === e,\r\n a = null === n,\r\n r = !(!t || (i && a)) && vt(t);\r\n return (\r\n r &&\r\n (i || (e >= r.left && e <= r.right)) &&\r\n (a || (n >= r.top && n <= r.bottom))\r\n );\r\n }\r\n W._set(\"global\", {\r\n elements: {\r\n rectangle: {\r\n backgroundColor: mt,\r\n borderColor: mt,\r\n borderSkipped: \"bottom\",\r\n borderWidth: 0,\r\n },\r\n },\r\n });\r\n var _t = $.extend({\r\n _type: \"rectangle\",\r\n draw: function () {\r\n var t = this._chart.ctx,\r\n e = this._view,\r\n n = (function (t) {\r\n var e = vt(t),\r\n n = e.right - e.left,\r\n i = e.bottom - e.top,\r\n a = yt(t, n / 2, i / 2);\r\n return {\r\n outer: { x: e.left, y: e.top, w: n, h: i },\r\n inner: {\r\n x: e.left + a.l,\r\n y: e.top + a.t,\r\n w: n - a.l - a.r,\r\n h: i - a.t - a.b,\r\n },\r\n };\r\n })(e),\r\n i = n.outer,\r\n a = n.inner;\r\n (t.fillStyle = e.backgroundColor),\r\n t.fillRect(i.x, i.y, i.w, i.h),\r\n (i.w === a.w && i.h === a.h) ||\r\n (t.save(),\r\n t.beginPath(),\r\n t.rect(i.x, i.y, i.w, i.h),\r\n t.clip(),\r\n (t.fillStyle = e.borderColor),\r\n t.rect(a.x, a.y, a.w, a.h),\r\n t.fill(\"evenodd\"),\r\n t.restore());\r\n },\r\n height: function () {\r\n var t = this._view;\r\n return t.base - t.y;\r\n },\r\n inRange: function (t, e) {\r\n return xt(this._view, t, e);\r\n },\r\n inLabelRange: function (t, e) {\r\n var n = this._view;\r\n return pt(n) ? xt(n, t, null) : xt(n, null, e);\r\n },\r\n inXRange: function (t) {\r\n return xt(this._view, t, null);\r\n },\r\n inYRange: function (t) {\r\n return xt(this._view, null, t);\r\n },\r\n getCenterPoint: function () {\r\n var t,\r\n e,\r\n n = this._view;\r\n return (\r\n pt(n)\r\n ? ((t = n.x), (e = (n.y + n.base) / 2))\r\n : ((t = (n.x + n.base) / 2), (e = n.y)),\r\n { x: t, y: e }\r\n );\r\n },\r\n getArea: function () {\r\n var t = this._view;\r\n return pt(t)\r\n ? t.width * Math.abs(t.y - t.base)\r\n : t.height * Math.abs(t.x - t.base);\r\n },\r\n tooltipPosition: function () {\r\n var t = this._view;\r\n return { x: t.x, y: t.y };\r\n },\r\n }),\r\n wt = {},\r\n kt = st,\r\n Mt = dt,\r\n St = gt,\r\n Dt = _t;\r\n (wt.Arc = kt), (wt.Line = Mt), (wt.Point = St), (wt.Rectangle = Dt);\r\n var Ct = H._deprecated,\r\n Pt = H.valueOrDefault;\r\n function Tt(t, e, n) {\r\n var i,\r\n a,\r\n r = n.barThickness,\r\n o = e.stackCount,\r\n s = e.pixels[t],\r\n l = H.isNullOrUndef(r)\r\n ? (function (t, e) {\r\n var n,\r\n i,\r\n a,\r\n r,\r\n o = t._length;\r\n for (a = 1, r = e.length; a < r; ++a)\r\n o = Math.min(o, Math.abs(e[a] - e[a - 1]));\r\n for (a = 0, r = t.getTicks().length; a < r; ++a)\r\n (i = t.getPixelForTick(a)),\r\n (o = a > 0 ? Math.min(o, Math.abs(i - n)) : o),\r\n (n = i);\r\n return o;\r\n })(e.scale, e.pixels)\r\n : -1;\r\n return (\r\n H.isNullOrUndef(r)\r\n ? ((i = l * n.categoryPercentage), (a = n.barPercentage))\r\n : ((i = r * o), (a = 1)),\r\n { chunk: i / o, ratio: a, start: s - i / 2 }\r\n );\r\n }\r\n W._set(\"bar\", {\r\n hover: { mode: \"label\" },\r\n scales: {\r\n xAxes: [\r\n { type: \"category\", offset: !0, gridLines: { offsetGridLines: !0 } },\r\n ],\r\n yAxes: [{ type: \"linear\" }],\r\n },\r\n }),\r\n W._set(\"global\", {\r\n datasets: { bar: { categoryPercentage: 0.8, barPercentage: 0.9 } },\r\n });\r\n var Ot = it.extend({\r\n dataElementType: wt.Rectangle,\r\n _dataElementOptions: [\r\n \"backgroundColor\",\r\n \"borderColor\",\r\n \"borderSkipped\",\r\n \"borderWidth\",\r\n \"barPercentage\",\r\n \"barThickness\",\r\n \"categoryPercentage\",\r\n \"maxBarThickness\",\r\n \"minBarLength\",\r\n ],\r\n initialize: function () {\r\n var t,\r\n e,\r\n n = this;\r\n it.prototype.initialize.apply(n, arguments),\r\n ((t = n.getMeta()).stack = n.getDataset().stack),\r\n (t.bar = !0),\r\n (e = n._getIndexScale().options),\r\n Ct(\r\n \"bar chart\",\r\n e.barPercentage,\r\n \"scales.[x/y]Axes.barPercentage\",\r\n \"dataset.barPercentage\"\r\n ),\r\n Ct(\r\n \"bar chart\",\r\n e.barThickness,\r\n \"scales.[x/y]Axes.barThickness\",\r\n \"dataset.barThickness\"\r\n ),\r\n Ct(\r\n \"bar chart\",\r\n e.categoryPercentage,\r\n \"scales.[x/y]Axes.categoryPercentage\",\r\n \"dataset.categoryPercentage\"\r\n ),\r\n Ct(\r\n \"bar chart\",\r\n n._getValueScale().options.minBarLength,\r\n \"scales.[x/y]Axes.minBarLength\",\r\n \"dataset.minBarLength\"\r\n ),\r\n Ct(\r\n \"bar chart\",\r\n e.maxBarThickness,\r\n \"scales.[x/y]Axes.maxBarThickness\",\r\n \"dataset.maxBarThickness\"\r\n );\r\n },\r\n update: function (t) {\r\n var e,\r\n n,\r\n i = this.getMeta().data;\r\n for (this._ruler = this.getRuler(), e = 0, n = i.length; e < n; ++e)\r\n this.updateElement(i[e], e, t);\r\n },\r\n updateElement: function (t, e, n) {\r\n var i = this,\r\n a = i.getMeta(),\r\n r = i.getDataset(),\r\n o = i._resolveDataElementOptions(t, e);\r\n (t._xScale = i.getScaleForId(a.xAxisID)),\r\n (t._yScale = i.getScaleForId(a.yAxisID)),\r\n (t._datasetIndex = i.index),\r\n (t._index = e),\r\n (t._model = {\r\n backgroundColor: o.backgroundColor,\r\n borderColor: o.borderColor,\r\n borderSkipped: o.borderSkipped,\r\n borderWidth: o.borderWidth,\r\n datasetLabel: r.label,\r\n label: i.chart.data.labels[e],\r\n }),\r\n H.isArray(r.data[e]) && (t._model.borderSkipped = null),\r\n i._updateElementGeometry(t, e, n, o),\r\n t.pivot();\r\n },\r\n _updateElementGeometry: function (t, e, n, i) {\r\n var a = this,\r\n r = t._model,\r\n o = a._getValueScale(),\r\n s = o.getBasePixel(),\r\n l = o.isHorizontal(),\r\n u = a._ruler || a.getRuler(),\r\n d = a.calculateBarValuePixels(a.index, e, i),\r\n h = a.calculateBarIndexPixels(a.index, e, u, i);\r\n (r.horizontal = l),\r\n (r.base = n ? s : d.base),\r\n (r.x = l ? (n ? s : d.head) : h.center),\r\n (r.y = l ? h.center : n ? s : d.head),\r\n (r.height = l ? h.size : void 0),\r\n (r.width = l ? void 0 : h.size);\r\n },\r\n _getStacks: function (t) {\r\n var e,\r\n n,\r\n i = this._getIndexScale(),\r\n a = i._getMatchingVisibleMetas(this._type),\r\n r = i.options.stacked,\r\n o = a.length,\r\n s = [];\r\n for (\r\n e = 0;\r\n e < o &&\r\n ((n = a[e]),\r\n (!1 === r ||\r\n -1 === s.indexOf(n.stack) ||\r\n (void 0 === r && void 0 === n.stack)) &&\r\n s.push(n.stack),\r\n n.index !== t);\r\n ++e\r\n );\r\n return s;\r\n },\r\n getStackCount: function () {\r\n return this._getStacks().length;\r\n },\r\n getStackIndex: function (t, e) {\r\n var n = this._getStacks(t),\r\n i = void 0 !== e ? n.indexOf(e) : -1;\r\n return -1 === i ? n.length - 1 : i;\r\n },\r\n getRuler: function () {\r\n var t,\r\n e,\r\n n = this._getIndexScale(),\r\n i = [];\r\n for (t = 0, e = this.getMeta().data.length; t < e; ++t)\r\n i.push(n.getPixelForValue(null, t, this.index));\r\n return {\r\n pixels: i,\r\n start: n._startPixel,\r\n end: n._endPixel,\r\n stackCount: this.getStackCount(),\r\n scale: n,\r\n };\r\n },\r\n calculateBarValuePixels: function (t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u,\r\n d = this.chart,\r\n h = this._getValueScale(),\r\n c = h.isHorizontal(),\r\n f = d.data.datasets,\r\n g = h._getMatchingVisibleMetas(this._type),\r\n m = h._parseValue(f[t].data[e]),\r\n p = n.minBarLength,\r\n v = h.options.stacked,\r\n b = this.getMeta().stack,\r\n y = void 0 === m.start ? 0 : m.max >= 0 && m.min >= 0 ? m.min : m.max,\r\n x =\r\n void 0 === m.start\r\n ? m.end\r\n : m.max >= 0 && m.min >= 0\r\n ? m.max - m.min\r\n : m.min - m.max,\r\n _ = g.length;\r\n if (v || (void 0 === v && void 0 !== b))\r\n for (i = 0; i < _ && (a = g[i]).index !== t; ++i)\r\n a.stack === b &&\r\n ((r =\r\n void 0 === (u = h._parseValue(f[a.index].data[e])).start\r\n ? u.end\r\n : u.min >= 0 && u.max >= 0\r\n ? u.max\r\n : u.min),\r\n ((m.min < 0 && r < 0) || (m.max >= 0 && r > 0)) && (y += r));\r\n return (\r\n (o = h.getPixelForValue(y)),\r\n (l = (s = h.getPixelForValue(y + x)) - o),\r\n void 0 !== p &&\r\n Math.abs(l) < p &&\r\n ((l = p), (s = (x >= 0 && !c) || (x < 0 && c) ? o - p : o + p)),\r\n { size: l, base: o, head: s, center: s + l / 2 }\r\n );\r\n },\r\n calculateBarIndexPixels: function (t, e, n, i) {\r\n var a =\r\n \"flex\" === i.barThickness\r\n ? (function (t, e, n) {\r\n var i,\r\n a = e.pixels,\r\n r = a[t],\r\n o = t > 0 ? a[t - 1] : null,\r\n s = t < a.length - 1 ? a[t + 1] : null,\r\n l = n.categoryPercentage;\r\n return (\r\n null === o &&\r\n (o = r - (null === s ? e.end - e.start : s - r)),\r\n null === s && (s = r + r - o),\r\n (i = r - ((r - Math.min(o, s)) / 2) * l),\r\n {\r\n chunk: ((Math.abs(s - o) / 2) * l) / e.stackCount,\r\n ratio: n.barPercentage,\r\n start: i,\r\n }\r\n );\r\n })(e, n, i)\r\n : Tt(e, n, i),\r\n r = this.getStackIndex(t, this.getMeta().stack),\r\n o = a.start + a.chunk * r + a.chunk / 2,\r\n s = Math.min(Pt(i.maxBarThickness, 1 / 0), a.chunk * a.ratio);\r\n return { base: o - s / 2, head: o + s / 2, center: o, size: s };\r\n },\r\n draw: function () {\r\n var t = this.chart,\r\n e = this._getValueScale(),\r\n n = this.getMeta().data,\r\n i = this.getDataset(),\r\n a = n.length,\r\n r = 0;\r\n for (H.canvas.clipArea(t.ctx, t.chartArea); r < a; ++r) {\r\n var o = e._parseValue(i.data[r]);\r\n isNaN(o.min) || isNaN(o.max) || n[r].draw();\r\n }\r\n H.canvas.unclipArea(t.ctx);\r\n },\r\n _resolveDataElementOptions: function () {\r\n var t = this,\r\n e = H.extend(\r\n {},\r\n it.prototype._resolveDataElementOptions.apply(t, arguments)\r\n ),\r\n n = t._getIndexScale().options,\r\n i = t._getValueScale().options;\r\n return (\r\n (e.barPercentage = Pt(n.barPercentage, e.barPercentage)),\r\n (e.barThickness = Pt(n.barThickness, e.barThickness)),\r\n (e.categoryPercentage = Pt(\r\n n.categoryPercentage,\r\n e.categoryPercentage\r\n )),\r\n (e.maxBarThickness = Pt(n.maxBarThickness, e.maxBarThickness)),\r\n (e.minBarLength = Pt(i.minBarLength, e.minBarLength)),\r\n e\r\n );\r\n },\r\n }),\r\n At = H.valueOrDefault,\r\n Ft = H.options.resolve;\r\n W._set(\"bubble\", {\r\n hover: { mode: \"single\" },\r\n scales: {\r\n xAxes: [{ type: \"linear\", position: \"bottom\", id: \"x-axis-0\" }],\r\n yAxes: [{ type: \"linear\", position: \"left\", id: \"y-axis-0\" }],\r\n },\r\n tooltips: {\r\n callbacks: {\r\n title: function () {\r\n return \"\";\r\n },\r\n label: function (t, e) {\r\n var n = e.datasets[t.datasetIndex].label || \"\",\r\n i = e.datasets[t.datasetIndex].data[t.index];\r\n return n + \": (\" + t.xLabel + \", \" + t.yLabel + \", \" + i.r + \")\";\r\n },\r\n },\r\n },\r\n });\r\n var It = it.extend({\r\n dataElementType: wt.Point,\r\n _dataElementOptions: [\r\n \"backgroundColor\",\r\n \"borderColor\",\r\n \"borderWidth\",\r\n \"hoverBackgroundColor\",\r\n \"hoverBorderColor\",\r\n \"hoverBorderWidth\",\r\n \"hoverRadius\",\r\n \"hitRadius\",\r\n \"pointStyle\",\r\n \"rotation\",\r\n ],\r\n update: function (t) {\r\n var e = this,\r\n n = e.getMeta().data;\r\n H.each(n, function (n, i) {\r\n e.updateElement(n, i, t);\r\n });\r\n },\r\n updateElement: function (t, e, n) {\r\n var i = this,\r\n a = i.getMeta(),\r\n r = t.custom || {},\r\n o = i.getScaleForId(a.xAxisID),\r\n s = i.getScaleForId(a.yAxisID),\r\n l = i._resolveDataElementOptions(t, e),\r\n u = i.getDataset().data[e],\r\n d = i.index,\r\n h = n\r\n ? o.getPixelForDecimal(0.5)\r\n : o.getPixelForValue(\"object\" == typeof u ? u : NaN, e, d),\r\n c = n ? s.getBasePixel() : s.getPixelForValue(u, e, d);\r\n (t._xScale = o),\r\n (t._yScale = s),\r\n (t._options = l),\r\n (t._datasetIndex = d),\r\n (t._index = e),\r\n (t._model = {\r\n backgroundColor: l.backgroundColor,\r\n borderColor: l.borderColor,\r\n borderWidth: l.borderWidth,\r\n hitRadius: l.hitRadius,\r\n pointStyle: l.pointStyle,\r\n rotation: l.rotation,\r\n radius: n ? 0 : l.radius,\r\n skip: r.skip || isNaN(h) || isNaN(c),\r\n x: h,\r\n y: c,\r\n }),\r\n t.pivot();\r\n },\r\n setHoverStyle: function (t) {\r\n var e = t._model,\r\n n = t._options,\r\n i = H.getHoverColor;\r\n (t.$previousStyle = {\r\n backgroundColor: e.backgroundColor,\r\n borderColor: e.borderColor,\r\n borderWidth: e.borderWidth,\r\n radius: e.radius,\r\n }),\r\n (e.backgroundColor = At(\r\n n.hoverBackgroundColor,\r\n i(n.backgroundColor)\r\n )),\r\n (e.borderColor = At(n.hoverBorderColor, i(n.borderColor))),\r\n (e.borderWidth = At(n.hoverBorderWidth, n.borderWidth)),\r\n (e.radius = n.radius + n.hoverRadius);\r\n },\r\n _resolveDataElementOptions: function (t, e) {\r\n var n = this,\r\n i = n.chart,\r\n a = n.getDataset(),\r\n r = t.custom || {},\r\n o = a.data[e] || {},\r\n s = it.prototype._resolveDataElementOptions.apply(n, arguments),\r\n l = { chart: i, dataIndex: e, dataset: a, datasetIndex: n.index };\r\n return (\r\n n._cachedDataOpts === s && (s = H.extend({}, s)),\r\n (s.radius = Ft(\r\n [r.radius, o.r, n._config.radius, i.options.elements.point.radius],\r\n l,\r\n e\r\n )),\r\n s\r\n );\r\n },\r\n }),\r\n Lt = H.valueOrDefault,\r\n Rt = Math.PI,\r\n Nt = 2 * Rt,\r\n Wt = Rt / 2;\r\n W._set(\"doughnut\", {\r\n animation: { animateRotate: !0, animateScale: !1 },\r\n hover: { mode: \"single\" },\r\n legendCallback: function (t) {\r\n var e,\r\n n,\r\n i,\r\n a = document.createElement(\"ul\"),\r\n r = t.data,\r\n o = r.datasets,\r\n s = r.labels;\r\n if ((a.setAttribute(\"class\", t.id + \"-legend\"), o.length))\r\n for (e = 0, n = o[0].data.length; e < n; ++e)\r\n ((i = a.appendChild(document.createElement(\"li\"))).appendChild(\r\n document.createElement(\"span\")\r\n ).style.backgroundColor = o[0].backgroundColor[e]),\r\n s[e] && i.appendChild(document.createTextNode(s[e]));\r\n return a.outerHTML;\r\n },\r\n legend: {\r\n labels: {\r\n generateLabels: function (t) {\r\n var e = t.data;\r\n return e.labels.length && e.datasets.length\r\n ? e.labels.map(function (n, i) {\r\n var a = t.getDatasetMeta(0),\r\n r = a.controller.getStyle(i);\r\n return {\r\n text: n,\r\n fillStyle: r.backgroundColor,\r\n strokeStyle: r.borderColor,\r\n lineWidth: r.borderWidth,\r\n hidden: isNaN(e.datasets[0].data[i]) || a.data[i].hidden,\r\n index: i,\r\n };\r\n })\r\n : [];\r\n },\r\n },\r\n onClick: function (t, e) {\r\n var n,\r\n i,\r\n a,\r\n r = e.index,\r\n o = this.chart;\r\n for (n = 0, i = (o.data.datasets || []).length; n < i; ++n)\r\n (a = o.getDatasetMeta(n)).data[r] &&\r\n (a.data[r].hidden = !a.data[r].hidden);\r\n o.update();\r\n },\r\n },\r\n cutoutPercentage: 50,\r\n rotation: -Wt,\r\n circumference: Nt,\r\n tooltips: {\r\n callbacks: {\r\n title: function () {\r\n return \"\";\r\n },\r\n label: function (t, e) {\r\n var n = e.labels[t.index],\r\n i = \": \" + e.datasets[t.datasetIndex].data[t.index];\r\n return H.isArray(n) ? ((n = n.slice())[0] += i) : (n += i), n;\r\n },\r\n },\r\n },\r\n });\r\n var Yt = it.extend({\r\n dataElementType: wt.Arc,\r\n linkScales: H.noop,\r\n _dataElementOptions: [\r\n \"backgroundColor\",\r\n \"borderColor\",\r\n \"borderWidth\",\r\n \"borderAlign\",\r\n \"hoverBackgroundColor\",\r\n \"hoverBorderColor\",\r\n \"hoverBorderWidth\",\r\n ],\r\n getRingIndex: function (t) {\r\n for (var e = 0, n = 0; n < t; ++n) this.chart.isDatasetVisible(n) && ++e;\r\n return e;\r\n },\r\n update: function (t) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r = this,\r\n o = r.chart,\r\n s = o.chartArea,\r\n l = o.options,\r\n u = 1,\r\n d = 1,\r\n h = 0,\r\n c = 0,\r\n f = r.getMeta(),\r\n g = f.data,\r\n m = l.cutoutPercentage / 100 || 0,\r\n p = l.circumference,\r\n v = r._getRingWeight(r.index);\r\n if (p < Nt) {\r\n var b = l.rotation % Nt,\r\n y = (b += b >= Rt ? -Nt : b < -Rt ? Nt : 0) + p,\r\n x = Math.cos(b),\r\n _ = Math.sin(b),\r\n w = Math.cos(y),\r\n k = Math.sin(y),\r\n M = (b <= 0 && y >= 0) || y >= Nt,\r\n S = (b <= Wt && y >= Wt) || y >= Nt + Wt,\r\n D = (b <= -Wt && y >= -Wt) || y >= Rt + Wt,\r\n C = b === -Rt || y >= Rt ? -1 : Math.min(x, x * m, w, w * m),\r\n P = D ? -1 : Math.min(_, _ * m, k, k * m),\r\n T = M ? 1 : Math.max(x, x * m, w, w * m),\r\n O = S ? 1 : Math.max(_, _ * m, k, k * m);\r\n (u = (T - C) / 2),\r\n (d = (O - P) / 2),\r\n (h = -(T + C) / 2),\r\n (c = -(O + P) / 2);\r\n }\r\n for (i = 0, a = g.length; i < a; ++i)\r\n g[i]._options = r._resolveDataElementOptions(g[i], i);\r\n for (\r\n o.borderWidth = r.getMaxBorderWidth(),\r\n e = (s.right - s.left - o.borderWidth) / u,\r\n n = (s.bottom - s.top - o.borderWidth) / d,\r\n o.outerRadius = Math.max(Math.min(e, n) / 2, 0),\r\n o.innerRadius = Math.max(o.outerRadius * m, 0),\r\n o.radiusLength =\r\n (o.outerRadius - o.innerRadius) /\r\n (r._getVisibleDatasetWeightTotal() || 1),\r\n o.offsetX = h * o.outerRadius,\r\n o.offsetY = c * o.outerRadius,\r\n f.total = r.calculateTotal(),\r\n r.outerRadius =\r\n o.outerRadius - o.radiusLength * r._getRingWeightOffset(r.index),\r\n r.innerRadius = Math.max(r.outerRadius - o.radiusLength * v, 0),\r\n i = 0,\r\n a = g.length;\r\n i < a;\r\n ++i\r\n )\r\n r.updateElement(g[i], i, t);\r\n },\r\n updateElement: function (t, e, n) {\r\n var i = this,\r\n a = i.chart,\r\n r = a.chartArea,\r\n o = a.options,\r\n s = o.animation,\r\n l = (r.left + r.right) / 2,\r\n u = (r.top + r.bottom) / 2,\r\n d = o.rotation,\r\n h = o.rotation,\r\n c = i.getDataset(),\r\n f =\r\n n && s.animateRotate\r\n ? 0\r\n : t.hidden\r\n ? 0\r\n : i.calculateCircumference(c.data[e]) * (o.circumference / Nt),\r\n g = n && s.animateScale ? 0 : i.innerRadius,\r\n m = n && s.animateScale ? 0 : i.outerRadius,\r\n p = t._options || {};\r\n H.extend(t, {\r\n _datasetIndex: i.index,\r\n _index: e,\r\n _model: {\r\n backgroundColor: p.backgroundColor,\r\n borderColor: p.borderColor,\r\n borderWidth: p.borderWidth,\r\n borderAlign: p.borderAlign,\r\n x: l + a.offsetX,\r\n y: u + a.offsetY,\r\n startAngle: d,\r\n endAngle: h,\r\n circumference: f,\r\n outerRadius: m,\r\n innerRadius: g,\r\n label: H.valueAtIndexOrDefault(c.label, e, a.data.labels[e]),\r\n },\r\n });\r\n var v = t._model;\r\n (n && s.animateRotate) ||\r\n ((v.startAngle =\r\n 0 === e ? o.rotation : i.getMeta().data[e - 1]._model.endAngle),\r\n (v.endAngle = v.startAngle + v.circumference)),\r\n t.pivot();\r\n },\r\n calculateTotal: function () {\r\n var t,\r\n e = this.getDataset(),\r\n n = this.getMeta(),\r\n i = 0;\r\n return (\r\n H.each(n.data, function (n, a) {\r\n (t = e.data[a]), isNaN(t) || n.hidden || (i += Math.abs(t));\r\n }),\r\n i\r\n );\r\n },\r\n calculateCircumference: function (t) {\r\n var e = this.getMeta().total;\r\n return e > 0 && !isNaN(t) ? Nt * (Math.abs(t) / e) : 0;\r\n },\r\n getMaxBorderWidth: function (t) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u = 0,\r\n d = this.chart;\r\n if (!t)\r\n for (e = 0, n = d.data.datasets.length; e < n; ++e)\r\n if (d.isDatasetVisible(e)) {\r\n (t = (i = d.getDatasetMeta(e)).data),\r\n e !== this.index && (r = i.controller);\r\n break;\r\n }\r\n if (!t) return 0;\r\n for (e = 0, n = t.length; e < n; ++e)\r\n (a = t[e]),\r\n r\r\n ? (r._configure(), (o = r._resolveDataElementOptions(a, e)))\r\n : (o = a._options),\r\n \"inner\" !== o.borderAlign &&\r\n ((s = o.borderWidth),\r\n (u = (l = o.hoverBorderWidth) > (u = s > u ? s : u) ? l : u));\r\n return u;\r\n },\r\n setHoverStyle: function (t) {\r\n var e = t._model,\r\n n = t._options,\r\n i = H.getHoverColor;\r\n (t.$previousStyle = {\r\n backgroundColor: e.backgroundColor,\r\n borderColor: e.borderColor,\r\n borderWidth: e.borderWidth,\r\n }),\r\n (e.backgroundColor = Lt(n.hoverBackgroundColor, i(n.backgroundColor))),\r\n (e.borderColor = Lt(n.hoverBorderColor, i(n.borderColor))),\r\n (e.borderWidth = Lt(n.hoverBorderWidth, n.borderWidth));\r\n },\r\n _getRingWeightOffset: function (t) {\r\n for (var e = 0, n = 0; n < t; ++n)\r\n this.chart.isDatasetVisible(n) && (e += this._getRingWeight(n));\r\n return e;\r\n },\r\n _getRingWeight: function (t) {\r\n return Math.max(Lt(this.chart.data.datasets[t].weight, 1), 0);\r\n },\r\n _getVisibleDatasetWeightTotal: function () {\r\n return this._getRingWeightOffset(this.chart.data.datasets.length);\r\n },\r\n });\r\n W._set(\"horizontalBar\", {\r\n hover: { mode: \"index\", axis: \"y\" },\r\n scales: {\r\n xAxes: [{ type: \"linear\", position: \"bottom\" }],\r\n yAxes: [\r\n {\r\n type: \"category\",\r\n position: \"left\",\r\n offset: !0,\r\n gridLines: { offsetGridLines: !0 },\r\n },\r\n ],\r\n },\r\n elements: { rectangle: { borderSkipped: \"left\" } },\r\n tooltips: { mode: \"index\", axis: \"y\" },\r\n }),\r\n W._set(\"global\", {\r\n datasets: {\r\n horizontalBar: { categoryPercentage: 0.8, barPercentage: 0.9 },\r\n },\r\n });\r\n var zt = Ot.extend({\r\n _getValueScaleId: function () {\r\n return this.getMeta().xAxisID;\r\n },\r\n _getIndexScaleId: function () {\r\n return this.getMeta().yAxisID;\r\n },\r\n }),\r\n Et = H.valueOrDefault,\r\n Vt = H.options.resolve,\r\n Ht = H.canvas._isPointInArea;\r\n function Bt(t, e) {\r\n var n = (t && t.options.ticks) || {},\r\n i = n.reverse,\r\n a = void 0 === n.min ? e : 0,\r\n r = void 0 === n.max ? e : 0;\r\n return { start: i ? r : a, end: i ? a : r };\r\n }\r\n function jt(t, e, n) {\r\n var i = n / 2,\r\n a = Bt(t, i),\r\n r = Bt(e, i);\r\n return { top: r.end, right: a.end, bottom: r.start, left: a.start };\r\n }\r\n function Ut(t) {\r\n var e, n, i, a;\r\n return (\r\n H.isObject(t)\r\n ? ((e = t.top), (n = t.right), (i = t.bottom), (a = t.left))\r\n : (e = n = i = a = t),\r\n { top: e, right: n, bottom: i, left: a }\r\n );\r\n }\r\n W._set(\"line\", {\r\n showLines: !0,\r\n spanGaps: !1,\r\n hover: { mode: \"label\" },\r\n scales: {\r\n xAxes: [{ type: \"category\", id: \"x-axis-0\" }],\r\n yAxes: [{ type: \"linear\", id: \"y-axis-0\" }],\r\n },\r\n });\r\n var Gt = it.extend({\r\n datasetElementType: wt.Line,\r\n dataElementType: wt.Point,\r\n _datasetElementOptions: [\r\n \"backgroundColor\",\r\n \"borderCapStyle\",\r\n \"borderColor\",\r\n \"borderDash\",\r\n \"borderDashOffset\",\r\n \"borderJoinStyle\",\r\n \"borderWidth\",\r\n \"cubicInterpolationMode\",\r\n \"fill\",\r\n ],\r\n _dataElementOptions: {\r\n backgroundColor: \"pointBackgroundColor\",\r\n borderColor: \"pointBorderColor\",\r\n borderWidth: \"pointBorderWidth\",\r\n hitRadius: \"pointHitRadius\",\r\n hoverBackgroundColor: \"pointHoverBackgroundColor\",\r\n hoverBorderColor: \"pointHoverBorderColor\",\r\n hoverBorderWidth: \"pointHoverBorderWidth\",\r\n hoverRadius: \"pointHoverRadius\",\r\n pointStyle: \"pointStyle\",\r\n radius: \"pointRadius\",\r\n rotation: \"pointRotation\",\r\n },\r\n update: function (t) {\r\n var e,\r\n n,\r\n i = this,\r\n a = i.getMeta(),\r\n r = a.dataset,\r\n o = a.data || [],\r\n s = i.chart.options,\r\n l = i._config,\r\n u = (i._showLine = Et(l.showLine, s.showLines));\r\n for (\r\n i._xScale = i.getScaleForId(a.xAxisID),\r\n i._yScale = i.getScaleForId(a.yAxisID),\r\n u &&\r\n (void 0 !== l.tension &&\r\n void 0 === l.lineTension &&\r\n (l.lineTension = l.tension),\r\n (r._scale = i._yScale),\r\n (r._datasetIndex = i.index),\r\n (r._children = o),\r\n (r._model = i._resolveDatasetElementOptions(r)),\r\n r.pivot()),\r\n e = 0,\r\n n = o.length;\r\n e < n;\r\n ++e\r\n )\r\n i.updateElement(o[e], e, t);\r\n for (\r\n u && 0 !== r._model.tension && i.updateBezierControlPoints(),\r\n e = 0,\r\n n = o.length;\r\n e < n;\r\n ++e\r\n )\r\n o[e].pivot();\r\n },\r\n updateElement: function (t, e, n) {\r\n var i,\r\n a,\r\n r = this,\r\n o = r.getMeta(),\r\n s = t.custom || {},\r\n l = r.getDataset(),\r\n u = r.index,\r\n d = l.data[e],\r\n h = r._xScale,\r\n c = r._yScale,\r\n f = o.dataset._model,\r\n g = r._resolveDataElementOptions(t, e);\r\n (i = h.getPixelForValue(\"object\" == typeof d ? d : NaN, e, u)),\r\n (a = n ? c.getBasePixel() : r.calculatePointY(d, e, u)),\r\n (t._xScale = h),\r\n (t._yScale = c),\r\n (t._options = g),\r\n (t._datasetIndex = u),\r\n (t._index = e),\r\n (t._model = {\r\n x: i,\r\n y: a,\r\n skip: s.skip || isNaN(i) || isNaN(a),\r\n radius: g.radius,\r\n pointStyle: g.pointStyle,\r\n rotation: g.rotation,\r\n backgroundColor: g.backgroundColor,\r\n borderColor: g.borderColor,\r\n borderWidth: g.borderWidth,\r\n tension: Et(s.tension, f ? f.tension : 0),\r\n steppedLine: !!f && f.steppedLine,\r\n hitRadius: g.hitRadius,\r\n });\r\n },\r\n _resolveDatasetElementOptions: function (t) {\r\n var e = this,\r\n n = e._config,\r\n i = t.custom || {},\r\n a = e.chart.options,\r\n r = a.elements.line,\r\n o = it.prototype._resolveDatasetElementOptions.apply(e, arguments);\r\n return (\r\n (o.spanGaps = Et(n.spanGaps, a.spanGaps)),\r\n (o.tension = Et(n.lineTension, r.tension)),\r\n (o.steppedLine = Vt([i.steppedLine, n.steppedLine, r.stepped])),\r\n (o.clip = Ut(Et(n.clip, jt(e._xScale, e._yScale, o.borderWidth)))),\r\n o\r\n );\r\n },\r\n calculatePointY: function (t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u,\r\n d = this.chart,\r\n h = this._yScale,\r\n c = 0,\r\n f = 0;\r\n if (h.options.stacked) {\r\n for (\r\n s = +h.getRightValue(t),\r\n u = (l = d._getSortedVisibleDatasetMetas()).length,\r\n i = 0;\r\n i < u && (r = l[i]).index !== n;\r\n ++i\r\n )\r\n (a = d.data.datasets[r.index]),\r\n \"line\" === r.type &&\r\n r.yAxisID === h.id &&\r\n ((o = +h.getRightValue(a.data[e])) < 0\r\n ? (f += o || 0)\r\n : (c += o || 0));\r\n return s < 0 ? h.getPixelForValue(f + s) : h.getPixelForValue(c + s);\r\n }\r\n return h.getPixelForValue(t);\r\n },\r\n updateBezierControlPoints: function () {\r\n var t,\r\n e,\r\n n,\r\n i,\r\n a = this.chart,\r\n r = this.getMeta(),\r\n o = r.dataset._model,\r\n s = a.chartArea,\r\n l = r.data || [];\r\n function u(t, e, n) {\r\n return Math.max(Math.min(t, n), e);\r\n }\r\n if (\r\n (o.spanGaps &&\r\n (l = l.filter(function (t) {\r\n return !t._model.skip;\r\n })),\r\n \"monotone\" === o.cubicInterpolationMode)\r\n )\r\n H.splineCurveMonotone(l);\r\n else\r\n for (t = 0, e = l.length; t < e; ++t)\r\n (n = l[t]._model),\r\n (i = H.splineCurve(\r\n H.previousItem(l, t)._model,\r\n n,\r\n H.nextItem(l, t)._model,\r\n o.tension\r\n )),\r\n (n.controlPointPreviousX = i.previous.x),\r\n (n.controlPointPreviousY = i.previous.y),\r\n (n.controlPointNextX = i.next.x),\r\n (n.controlPointNextY = i.next.y);\r\n if (a.options.elements.line.capBezierPoints)\r\n for (t = 0, e = l.length; t < e; ++t)\r\n (n = l[t]._model),\r\n Ht(n, s) &&\r\n (t > 0 &&\r\n Ht(l[t - 1]._model, s) &&\r\n ((n.controlPointPreviousX = u(\r\n n.controlPointPreviousX,\r\n s.left,\r\n s.right\r\n )),\r\n (n.controlPointPreviousY = u(\r\n n.controlPointPreviousY,\r\n s.top,\r\n s.bottom\r\n ))),\r\n t < l.length - 1 &&\r\n Ht(l[t + 1]._model, s) &&\r\n ((n.controlPointNextX = u(\r\n n.controlPointNextX,\r\n s.left,\r\n s.right\r\n )),\r\n (n.controlPointNextY = u(\r\n n.controlPointNextY,\r\n s.top,\r\n s.bottom\r\n ))));\r\n },\r\n draw: function () {\r\n var t,\r\n e = this.chart,\r\n n = this.getMeta(),\r\n i = n.data || [],\r\n a = e.chartArea,\r\n r = e.canvas,\r\n o = 0,\r\n s = i.length;\r\n for (\r\n this._showLine &&\r\n ((t = n.dataset._model.clip),\r\n H.canvas.clipArea(e.ctx, {\r\n left: !1 === t.left ? 0 : a.left - t.left,\r\n right: !1 === t.right ? r.width : a.right + t.right,\r\n top: !1 === t.top ? 0 : a.top - t.top,\r\n bottom: !1 === t.bottom ? r.height : a.bottom + t.bottom,\r\n }),\r\n n.dataset.draw(),\r\n H.canvas.unclipArea(e.ctx));\r\n o < s;\r\n ++o\r\n )\r\n i[o].draw(a);\r\n },\r\n setHoverStyle: function (t) {\r\n var e = t._model,\r\n n = t._options,\r\n i = H.getHoverColor;\r\n (t.$previousStyle = {\r\n backgroundColor: e.backgroundColor,\r\n borderColor: e.borderColor,\r\n borderWidth: e.borderWidth,\r\n radius: e.radius,\r\n }),\r\n (e.backgroundColor = Et(\r\n n.hoverBackgroundColor,\r\n i(n.backgroundColor)\r\n )),\r\n (e.borderColor = Et(n.hoverBorderColor, i(n.borderColor))),\r\n (e.borderWidth = Et(n.hoverBorderWidth, n.borderWidth)),\r\n (e.radius = Et(n.hoverRadius, n.radius));\r\n },\r\n }),\r\n qt = H.options.resolve;\r\n W._set(\"polarArea\", {\r\n scale: {\r\n type: \"radialLinear\",\r\n angleLines: { display: !1 },\r\n gridLines: { circular: !0 },\r\n pointLabels: { display: !1 },\r\n ticks: { beginAtZero: !0 },\r\n },\r\n animation: { animateRotate: !0, animateScale: !0 },\r\n startAngle: -0.5 * Math.PI,\r\n legendCallback: function (t) {\r\n var e,\r\n n,\r\n i,\r\n a = document.createElement(\"ul\"),\r\n r = t.data,\r\n o = r.datasets,\r\n s = r.labels;\r\n if ((a.setAttribute(\"class\", t.id + \"-legend\"), o.length))\r\n for (e = 0, n = o[0].data.length; e < n; ++e)\r\n ((i = a.appendChild(document.createElement(\"li\"))).appendChild(\r\n document.createElement(\"span\")\r\n ).style.backgroundColor = o[0].backgroundColor[e]),\r\n s[e] && i.appendChild(document.createTextNode(s[e]));\r\n return a.outerHTML;\r\n },\r\n legend: {\r\n labels: {\r\n generateLabels: function (t) {\r\n var e = t.data;\r\n return e.labels.length && e.datasets.length\r\n ? e.labels.map(function (n, i) {\r\n var a = t.getDatasetMeta(0),\r\n r = a.controller.getStyle(i);\r\n return {\r\n text: n,\r\n fillStyle: r.backgroundColor,\r\n strokeStyle: r.borderColor,\r\n lineWidth: r.borderWidth,\r\n hidden: isNaN(e.datasets[0].data[i]) || a.data[i].hidden,\r\n index: i,\r\n };\r\n })\r\n : [];\r\n },\r\n },\r\n onClick: function (t, e) {\r\n var n,\r\n i,\r\n a,\r\n r = e.index,\r\n o = this.chart;\r\n for (n = 0, i = (o.data.datasets || []).length; n < i; ++n)\r\n (a = o.getDatasetMeta(n)).data[r].hidden = !a.data[r].hidden;\r\n o.update();\r\n },\r\n },\r\n tooltips: {\r\n callbacks: {\r\n title: function () {\r\n return \"\";\r\n },\r\n label: function (t, e) {\r\n return e.labels[t.index] + \": \" + t.yLabel;\r\n },\r\n },\r\n },\r\n });\r\n var Zt = it.extend({\r\n dataElementType: wt.Arc,\r\n linkScales: H.noop,\r\n _dataElementOptions: [\r\n \"backgroundColor\",\r\n \"borderColor\",\r\n \"borderWidth\",\r\n \"borderAlign\",\r\n \"hoverBackgroundColor\",\r\n \"hoverBorderColor\",\r\n \"hoverBorderWidth\",\r\n ],\r\n _getIndexScaleId: function () {\r\n return this.chart.scale.id;\r\n },\r\n _getValueScaleId: function () {\r\n return this.chart.scale.id;\r\n },\r\n update: function (t) {\r\n var e,\r\n n,\r\n i,\r\n a = this,\r\n r = a.getDataset(),\r\n o = a.getMeta(),\r\n s = a.chart.options.startAngle || 0,\r\n l = (a._starts = []),\r\n u = (a._angles = []),\r\n d = o.data;\r\n for (\r\n a._updateRadius(),\r\n o.count = a.countVisibleElements(),\r\n e = 0,\r\n n = r.data.length;\r\n e < n;\r\n e++\r\n )\r\n (l[e] = s), (i = a._computeAngle(e)), (u[e] = i), (s += i);\r\n for (e = 0, n = d.length; e < n; ++e)\r\n (d[e]._options = a._resolveDataElementOptions(d[e], e)),\r\n a.updateElement(d[e], e, t);\r\n },\r\n _updateRadius: function () {\r\n var t = this,\r\n e = t.chart,\r\n n = e.chartArea,\r\n i = e.options,\r\n a = Math.min(n.right - n.left, n.bottom - n.top);\r\n (e.outerRadius = Math.max(a / 2, 0)),\r\n (e.innerRadius = Math.max(\r\n i.cutoutPercentage ? (e.outerRadius / 100) * i.cutoutPercentage : 1,\r\n 0\r\n )),\r\n (e.radiusLength =\r\n (e.outerRadius - e.innerRadius) / e.getVisibleDatasetCount()),\r\n (t.outerRadius = e.outerRadius - e.radiusLength * t.index),\r\n (t.innerRadius = t.outerRadius - e.radiusLength);\r\n },\r\n updateElement: function (t, e, n) {\r\n var i = this,\r\n a = i.chart,\r\n r = i.getDataset(),\r\n o = a.options,\r\n s = o.animation,\r\n l = a.scale,\r\n u = a.data.labels,\r\n d = l.xCenter,\r\n h = l.yCenter,\r\n c = o.startAngle,\r\n f = t.hidden ? 0 : l.getDistanceFromCenterForValue(r.data[e]),\r\n g = i._starts[e],\r\n m = g + (t.hidden ? 0 : i._angles[e]),\r\n p = s.animateScale ? 0 : l.getDistanceFromCenterForValue(r.data[e]),\r\n v = t._options || {};\r\n H.extend(t, {\r\n _datasetIndex: i.index,\r\n _index: e,\r\n _scale: l,\r\n _model: {\r\n backgroundColor: v.backgroundColor,\r\n borderColor: v.borderColor,\r\n borderWidth: v.borderWidth,\r\n borderAlign: v.borderAlign,\r\n x: d,\r\n y: h,\r\n innerRadius: 0,\r\n outerRadius: n ? p : f,\r\n startAngle: n && s.animateRotate ? c : g,\r\n endAngle: n && s.animateRotate ? c : m,\r\n label: H.valueAtIndexOrDefault(u, e, u[e]),\r\n },\r\n }),\r\n t.pivot();\r\n },\r\n countVisibleElements: function () {\r\n var t = this.getDataset(),\r\n e = this.getMeta(),\r\n n = 0;\r\n return (\r\n H.each(e.data, function (e, i) {\r\n isNaN(t.data[i]) || e.hidden || n++;\r\n }),\r\n n\r\n );\r\n },\r\n setHoverStyle: function (t) {\r\n var e = t._model,\r\n n = t._options,\r\n i = H.getHoverColor,\r\n a = H.valueOrDefault;\r\n (t.$previousStyle = {\r\n backgroundColor: e.backgroundColor,\r\n borderColor: e.borderColor,\r\n borderWidth: e.borderWidth,\r\n }),\r\n (e.backgroundColor = a(n.hoverBackgroundColor, i(n.backgroundColor))),\r\n (e.borderColor = a(n.hoverBorderColor, i(n.borderColor))),\r\n (e.borderWidth = a(n.hoverBorderWidth, n.borderWidth));\r\n },\r\n _computeAngle: function (t) {\r\n var e = this,\r\n n = this.getMeta().count,\r\n i = e.getDataset(),\r\n a = e.getMeta();\r\n if (isNaN(i.data[t]) || a.data[t].hidden) return 0;\r\n var r = {\r\n chart: e.chart,\r\n dataIndex: t,\r\n dataset: i,\r\n datasetIndex: e.index,\r\n };\r\n return qt([e.chart.options.elements.arc.angle, (2 * Math.PI) / n], r, t);\r\n },\r\n });\r\n W._set(\"pie\", H.clone(W.doughnut)), W._set(\"pie\", { cutoutPercentage: 0 });\r\n var $t = Yt,\r\n Xt = H.valueOrDefault;\r\n W._set(\"radar\", {\r\n spanGaps: !1,\r\n scale: { type: \"radialLinear\" },\r\n elements: { line: { fill: \"start\", tension: 0 } },\r\n });\r\n var Kt = it.extend({\r\n datasetElementType: wt.Line,\r\n dataElementType: wt.Point,\r\n linkScales: H.noop,\r\n _datasetElementOptions: [\r\n \"backgroundColor\",\r\n \"borderWidth\",\r\n \"borderColor\",\r\n \"borderCapStyle\",\r\n \"borderDash\",\r\n \"borderDashOffset\",\r\n \"borderJoinStyle\",\r\n \"fill\",\r\n ],\r\n _dataElementOptions: {\r\n backgroundColor: \"pointBackgroundColor\",\r\n borderColor: \"pointBorderColor\",\r\n borderWidth: \"pointBorderWidth\",\r\n hitRadius: \"pointHitRadius\",\r\n hoverBackgroundColor: \"pointHoverBackgroundColor\",\r\n hoverBorderColor: \"pointHoverBorderColor\",\r\n hoverBorderWidth: \"pointHoverBorderWidth\",\r\n hoverRadius: \"pointHoverRadius\",\r\n pointStyle: \"pointStyle\",\r\n radius: \"pointRadius\",\r\n rotation: \"pointRotation\",\r\n },\r\n _getIndexScaleId: function () {\r\n return this.chart.scale.id;\r\n },\r\n _getValueScaleId: function () {\r\n return this.chart.scale.id;\r\n },\r\n update: function (t) {\r\n var e,\r\n n,\r\n i = this,\r\n a = i.getMeta(),\r\n r = a.dataset,\r\n o = a.data || [],\r\n s = i.chart.scale,\r\n l = i._config;\r\n for (\r\n void 0 !== l.tension &&\r\n void 0 === l.lineTension &&\r\n (l.lineTension = l.tension),\r\n r._scale = s,\r\n r._datasetIndex = i.index,\r\n r._children = o,\r\n r._loop = !0,\r\n r._model = i._resolveDatasetElementOptions(r),\r\n r.pivot(),\r\n e = 0,\r\n n = o.length;\r\n e < n;\r\n ++e\r\n )\r\n i.updateElement(o[e], e, t);\r\n for (i.updateBezierControlPoints(), e = 0, n = o.length; e < n; ++e)\r\n o[e].pivot();\r\n },\r\n updateElement: function (t, e, n) {\r\n var i = this,\r\n a = t.custom || {},\r\n r = i.getDataset(),\r\n o = i.chart.scale,\r\n s = o.getPointPositionForValue(e, r.data[e]),\r\n l = i._resolveDataElementOptions(t, e),\r\n u = i.getMeta().dataset._model,\r\n d = n ? o.xCenter : s.x,\r\n h = n ? o.yCenter : s.y;\r\n (t._scale = o),\r\n (t._options = l),\r\n (t._datasetIndex = i.index),\r\n (t._index = e),\r\n (t._model = {\r\n x: d,\r\n y: h,\r\n skip: a.skip || isNaN(d) || isNaN(h),\r\n radius: l.radius,\r\n pointStyle: l.pointStyle,\r\n rotation: l.rotation,\r\n backgroundColor: l.backgroundColor,\r\n borderColor: l.borderColor,\r\n borderWidth: l.borderWidth,\r\n tension: Xt(a.tension, u ? u.tension : 0),\r\n hitRadius: l.hitRadius,\r\n });\r\n },\r\n _resolveDatasetElementOptions: function () {\r\n var t = this,\r\n e = t._config,\r\n n = t.chart.options,\r\n i = it.prototype._resolveDatasetElementOptions.apply(t, arguments);\r\n return (\r\n (i.spanGaps = Xt(e.spanGaps, n.spanGaps)),\r\n (i.tension = Xt(e.lineTension, n.elements.line.tension)),\r\n i\r\n );\r\n },\r\n updateBezierControlPoints: function () {\r\n var t,\r\n e,\r\n n,\r\n i,\r\n a = this.getMeta(),\r\n r = this.chart.chartArea,\r\n o = a.data || [];\r\n function s(t, e, n) {\r\n return Math.max(Math.min(t, n), e);\r\n }\r\n for (\r\n a.dataset._model.spanGaps &&\r\n (o = o.filter(function (t) {\r\n return !t._model.skip;\r\n })),\r\n t = 0,\r\n e = o.length;\r\n t < e;\r\n ++t\r\n )\r\n (n = o[t]._model),\r\n (i = H.splineCurve(\r\n H.previousItem(o, t, !0)._model,\r\n n,\r\n H.nextItem(o, t, !0)._model,\r\n n.tension\r\n )),\r\n (n.controlPointPreviousX = s(i.previous.x, r.left, r.right)),\r\n (n.controlPointPreviousY = s(i.previous.y, r.top, r.bottom)),\r\n (n.controlPointNextX = s(i.next.x, r.left, r.right)),\r\n (n.controlPointNextY = s(i.next.y, r.top, r.bottom));\r\n },\r\n setHoverStyle: function (t) {\r\n var e = t._model,\r\n n = t._options,\r\n i = H.getHoverColor;\r\n (t.$previousStyle = {\r\n backgroundColor: e.backgroundColor,\r\n borderColor: e.borderColor,\r\n borderWidth: e.borderWidth,\r\n radius: e.radius,\r\n }),\r\n (e.backgroundColor = Xt(n.hoverBackgroundColor, i(n.backgroundColor))),\r\n (e.borderColor = Xt(n.hoverBorderColor, i(n.borderColor))),\r\n (e.borderWidth = Xt(n.hoverBorderWidth, n.borderWidth)),\r\n (e.radius = Xt(n.hoverRadius, n.radius));\r\n },\r\n });\r\n W._set(\"scatter\", {\r\n hover: { mode: \"single\" },\r\n scales: {\r\n xAxes: [{ id: \"x-axis-1\", type: \"linear\", position: \"bottom\" }],\r\n yAxes: [{ id: \"y-axis-1\", type: \"linear\", position: \"left\" }],\r\n },\r\n tooltips: {\r\n callbacks: {\r\n title: function () {\r\n return \"\";\r\n },\r\n label: function (t) {\r\n return \"(\" + t.xLabel + \", \" + t.yLabel + \")\";\r\n },\r\n },\r\n },\r\n }),\r\n W._set(\"global\", { datasets: { scatter: { showLine: !1 } } });\r\n var Jt = {\r\n bar: Ot,\r\n bubble: It,\r\n doughnut: Yt,\r\n horizontalBar: zt,\r\n line: Gt,\r\n polarArea: Zt,\r\n pie: $t,\r\n radar: Kt,\r\n scatter: Gt,\r\n };\r\n function Qt(t, e) {\r\n return t.native ? { x: t.x, y: t.y } : H.getRelativePosition(t, e);\r\n }\r\n function te(t, e) {\r\n var n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l = t._getSortedVisibleDatasetMetas();\r\n for (i = 0, r = l.length; i < r; ++i)\r\n for (a = 0, o = (n = l[i].data).length; a < o; ++a)\r\n (s = n[a])._view.skip || e(s);\r\n }\r\n function ee(t, e) {\r\n var n = [];\r\n return (\r\n te(t, function (t) {\r\n t.inRange(e.x, e.y) && n.push(t);\r\n }),\r\n n\r\n );\r\n }\r\n function ne(t, e, n, i) {\r\n var a = Number.POSITIVE_INFINITY,\r\n r = [];\r\n return (\r\n te(t, function (t) {\r\n if (!n || t.inRange(e.x, e.y)) {\r\n var o = t.getCenterPoint(),\r\n s = i(e, o);\r\n s < a ? ((r = [t]), (a = s)) : s === a && r.push(t);\r\n }\r\n }),\r\n r\r\n );\r\n }\r\n function ie(t) {\r\n var e = -1 !== t.indexOf(\"x\"),\r\n n = -1 !== t.indexOf(\"y\");\r\n return function (t, i) {\r\n var a = e ? Math.abs(t.x - i.x) : 0,\r\n r = n ? Math.abs(t.y - i.y) : 0;\r\n return Math.sqrt(Math.pow(a, 2) + Math.pow(r, 2));\r\n };\r\n }\r\n function ae(t, e, n) {\r\n var i = Qt(e, t);\r\n n.axis = n.axis || \"x\";\r\n var a = ie(n.axis),\r\n r = n.intersect ? ee(t, i) : ne(t, i, !1, a),\r\n o = [];\r\n return r.length\r\n ? (t._getSortedVisibleDatasetMetas().forEach(function (t) {\r\n var e = t.data[r[0]._index];\r\n e && !e._view.skip && o.push(e);\r\n }),\r\n o)\r\n : [];\r\n }\r\n var re = {\r\n modes: {\r\n single: function (t, e) {\r\n var n = Qt(e, t),\r\n i = [];\r\n return (\r\n te(t, function (t) {\r\n if (t.inRange(n.x, n.y)) return i.push(t), i;\r\n }),\r\n i.slice(0, 1)\r\n );\r\n },\r\n label: ae,\r\n index: ae,\r\n dataset: function (t, e, n) {\r\n var i = Qt(e, t);\r\n n.axis = n.axis || \"xy\";\r\n var a = ie(n.axis),\r\n r = n.intersect ? ee(t, i) : ne(t, i, !1, a);\r\n return (\r\n r.length > 0 && (r = t.getDatasetMeta(r[0]._datasetIndex).data), r\r\n );\r\n },\r\n \"x-axis\": function (t, e) {\r\n return ae(t, e, { intersect: !1 });\r\n },\r\n point: function (t, e) {\r\n return ee(t, Qt(e, t));\r\n },\r\n nearest: function (t, e, n) {\r\n var i = Qt(e, t);\r\n n.axis = n.axis || \"xy\";\r\n var a = ie(n.axis);\r\n return ne(t, i, n.intersect, a);\r\n },\r\n x: function (t, e, n) {\r\n var i = Qt(e, t),\r\n a = [],\r\n r = !1;\r\n return (\r\n te(t, function (t) {\r\n t.inXRange(i.x) && a.push(t), t.inRange(i.x, i.y) && (r = !0);\r\n }),\r\n n.intersect && !r && (a = []),\r\n a\r\n );\r\n },\r\n y: function (t, e, n) {\r\n var i = Qt(e, t),\r\n a = [],\r\n r = !1;\r\n return (\r\n te(t, function (t) {\r\n t.inYRange(i.y) && a.push(t), t.inRange(i.x, i.y) && (r = !0);\r\n }),\r\n n.intersect && !r && (a = []),\r\n a\r\n );\r\n },\r\n },\r\n },\r\n oe = H.extend;\r\n function se(t, e) {\r\n return H.where(t, function (t) {\r\n return t.pos === e;\r\n });\r\n }\r\n function le(t, e) {\r\n return t.sort(function (t, n) {\r\n var i = e ? n : t,\r\n a = e ? t : n;\r\n return i.weight === a.weight ? i.index - a.index : i.weight - a.weight;\r\n });\r\n }\r\n function ue(t, e, n, i) {\r\n return Math.max(t[n], e[n]) + Math.max(t[i], e[i]);\r\n }\r\n function de(t, e, n) {\r\n var i,\r\n a,\r\n r = n.box,\r\n o = t.maxPadding;\r\n if (\r\n (n.size && (t[n.pos] -= n.size),\r\n (n.size = n.horizontal ? r.height : r.width),\r\n (t[n.pos] += n.size),\r\n r.getPadding)\r\n ) {\r\n var s = r.getPadding();\r\n (o.top = Math.max(o.top, s.top)),\r\n (o.left = Math.max(o.left, s.left)),\r\n (o.bottom = Math.max(o.bottom, s.bottom)),\r\n (o.right = Math.max(o.right, s.right));\r\n }\r\n if (\r\n ((i = e.outerWidth - ue(o, t, \"left\", \"right\")),\r\n (a = e.outerHeight - ue(o, t, \"top\", \"bottom\")),\r\n i !== t.w || a !== t.h)\r\n )\r\n return (t.w = i), (t.h = a), n.horizontal ? i !== t.w : a !== t.h;\r\n }\r\n function he(t, e) {\r\n var n = e.maxPadding;\r\n function i(t) {\r\n var i = { left: 0, top: 0, right: 0, bottom: 0 };\r\n return (\r\n t.forEach(function (t) {\r\n i[t] = Math.max(e[t], n[t]);\r\n }),\r\n i\r\n );\r\n }\r\n return i(t ? [\"left\", \"right\"] : [\"top\", \"bottom\"]);\r\n }\r\n function ce(t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u = [];\r\n for (i = 0, a = t.length; i < a; ++i)\r\n (o = (r = t[i]).box).update(\r\n r.width || e.w,\r\n r.height || e.h,\r\n he(r.horizontal, e)\r\n ),\r\n de(e, n, r) && ((l = !0), u.length && (s = !0)),\r\n o.fullWidth || u.push(r);\r\n return (s && ce(u, e, n)) || l;\r\n }\r\n function fe(t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o,\r\n s = n.padding,\r\n l = e.x,\r\n u = e.y;\r\n for (i = 0, a = t.length; i < a; ++i)\r\n (o = (r = t[i]).box),\r\n r.horizontal\r\n ? ((o.left = o.fullWidth ? s.left : e.left),\r\n (o.right = o.fullWidth ? n.outerWidth - s.right : e.left + e.w),\r\n (o.top = u),\r\n (o.bottom = u + o.height),\r\n (o.width = o.right - o.left),\r\n (u = o.bottom))\r\n : ((o.left = l),\r\n (o.right = l + o.width),\r\n (o.top = e.top),\r\n (o.bottom = e.top + e.h),\r\n (o.height = o.bottom - o.top),\r\n (l = o.right));\r\n (e.x = l), (e.y = u);\r\n }\r\n W._set(\"global\", {\r\n layout: { padding: { top: 0, right: 0, bottom: 0, left: 0 } },\r\n });\r\n var ge,\r\n me = {\r\n defaults: {},\r\n addBox: function (t, e) {\r\n t.boxes || (t.boxes = []),\r\n (e.fullWidth = e.fullWidth || !1),\r\n (e.position = e.position || \"top\"),\r\n (e.weight = e.weight || 0),\r\n (e._layers =\r\n e._layers ||\r\n function () {\r\n return [\r\n {\r\n z: 0,\r\n draw: function () {\r\n e.draw.apply(e, arguments);\r\n },\r\n },\r\n ];\r\n }),\r\n t.boxes.push(e);\r\n },\r\n removeBox: function (t, e) {\r\n var n = t.boxes ? t.boxes.indexOf(e) : -1;\r\n -1 !== n && t.boxes.splice(n, 1);\r\n },\r\n configure: function (t, e, n) {\r\n for (\r\n var i, a = [\"fullWidth\", \"position\", \"weight\"], r = a.length, o = 0;\r\n o < r;\r\n ++o\r\n )\r\n (i = a[o]), n.hasOwnProperty(i) && (e[i] = n[i]);\r\n },\r\n update: function (t, e, n) {\r\n if (t) {\r\n var i = t.options.layout || {},\r\n a = H.options.toPadding(i.padding),\r\n r = e - a.width,\r\n o = n - a.height,\r\n s = (function (t) {\r\n var e = (function (t) {\r\n var e,\r\n n,\r\n i,\r\n a = [];\r\n for (e = 0, n = (t || []).length; e < n; ++e)\r\n (i = t[e]),\r\n a.push({\r\n index: e,\r\n box: i,\r\n pos: i.position,\r\n horizontal: i.isHorizontal(),\r\n weight: i.weight,\r\n });\r\n return a;\r\n })(t),\r\n n = le(se(e, \"left\"), !0),\r\n i = le(se(e, \"right\")),\r\n a = le(se(e, \"top\"), !0),\r\n r = le(se(e, \"bottom\"));\r\n return {\r\n leftAndTop: n.concat(a),\r\n rightAndBottom: i.concat(r),\r\n chartArea: se(e, \"chartArea\"),\r\n vertical: n.concat(i),\r\n horizontal: a.concat(r),\r\n };\r\n })(t.boxes),\r\n l = s.vertical,\r\n u = s.horizontal,\r\n d = Object.freeze({\r\n outerWidth: e,\r\n outerHeight: n,\r\n padding: a,\r\n availableWidth: r,\r\n vBoxMaxWidth: r / 2 / l.length,\r\n hBoxMaxHeight: o / 2,\r\n }),\r\n h = oe(\r\n { maxPadding: oe({}, a), w: r, h: o, x: a.left, y: a.top },\r\n a\r\n );\r\n !(function (t, e) {\r\n var n, i, a;\r\n for (n = 0, i = t.length; n < i; ++n)\r\n ((a = t[n]).width = a.horizontal\r\n ? a.box.fullWidth && e.availableWidth\r\n : e.vBoxMaxWidth),\r\n (a.height = a.horizontal && e.hBoxMaxHeight);\r\n })(l.concat(u), d),\r\n ce(l, h, d),\r\n ce(u, h, d) && ce(l, h, d),\r\n (function (t) {\r\n var e = t.maxPadding;\r\n function n(n) {\r\n var i = Math.max(e[n] - t[n], 0);\r\n return (t[n] += i), i;\r\n }\r\n (t.y += n(\"top\")), (t.x += n(\"left\")), n(\"right\"), n(\"bottom\");\r\n })(h),\r\n fe(s.leftAndTop, h, d),\r\n (h.x += h.w),\r\n (h.y += h.h),\r\n fe(s.rightAndBottom, h, d),\r\n (t.chartArea = {\r\n left: h.left,\r\n top: h.top,\r\n right: h.left + h.w,\r\n bottom: h.top + h.h,\r\n }),\r\n H.each(s.chartArea, function (e) {\r\n var n = e.box;\r\n oe(n, t.chartArea), n.update(h.w, h.h);\r\n });\r\n }\r\n },\r\n },\r\n pe =\r\n ((ge = Object.freeze({\r\n __proto__: null,\r\n default:\r\n \"@keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}\",\r\n })) &&\r\n ge.default) ||\r\n ge,\r\n ve = \"$chartjs\",\r\n be = \"chartjs-size-monitor\",\r\n ye = \"chartjs-render-monitor\",\r\n xe = \"chartjs-render-animation\",\r\n _e = [\"animationstart\", \"webkitAnimationStart\"],\r\n we = {\r\n touchstart: \"mousedown\",\r\n touchmove: \"mousemove\",\r\n touchend: \"mouseup\",\r\n pointerenter: \"mouseenter\",\r\n pointerdown: \"mousedown\",\r\n pointermove: \"mousemove\",\r\n pointerup: \"mouseup\",\r\n pointerleave: \"mouseout\",\r\n pointerout: \"mouseout\",\r\n };\r\n function ke(t, e) {\r\n var n = H.getStyle(t, e),\r\n i = n && n.match(/^(\\d+)(\\.\\d+)?px$/);\r\n return i ? Number(i[1]) : void 0;\r\n }\r\n var Me = !!(function () {\r\n var t = !1;\r\n try {\r\n var e = Object.defineProperty({}, \"passive\", {\r\n get: function () {\r\n t = !0;\r\n },\r\n });\r\n window.addEventListener(\"e\", null, e);\r\n } catch (t) {}\r\n return t;\r\n })() && { passive: !0 };\r\n function Se(t, e, n) {\r\n t.addEventListener(e, n, Me);\r\n }\r\n function De(t, e, n) {\r\n t.removeEventListener(e, n, Me);\r\n }\r\n function Ce(t, e, n, i, a) {\r\n return {\r\n type: t,\r\n chart: e,\r\n native: a || null,\r\n x: void 0 !== n ? n : null,\r\n y: void 0 !== i ? i : null,\r\n };\r\n }\r\n function Pe(t) {\r\n var e = document.createElement(\"div\");\r\n return (e.className = t || \"\"), e;\r\n }\r\n function Te(t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o,\r\n s = t[ve] || (t[ve] = {}),\r\n l = (s.resizer = (function (t) {\r\n var e = Pe(be),\r\n n = Pe(be + \"-expand\"),\r\n i = Pe(be + \"-shrink\");\r\n n.appendChild(Pe()),\r\n i.appendChild(Pe()),\r\n e.appendChild(n),\r\n e.appendChild(i),\r\n (e._reset = function () {\r\n (n.scrollLeft = 1e6),\r\n (n.scrollTop = 1e6),\r\n (i.scrollLeft = 1e6),\r\n (i.scrollTop = 1e6);\r\n });\r\n var a = function () {\r\n e._reset(), t();\r\n };\r\n return (\r\n Se(n, \"scroll\", a.bind(n, \"expand\")),\r\n Se(i, \"scroll\", a.bind(i, \"shrink\")),\r\n e\r\n );\r\n })(\r\n ((i = function () {\r\n if (s.resizer) {\r\n var i = n.options.maintainAspectRatio && t.parentNode,\r\n a = i ? i.clientWidth : 0;\r\n e(Ce(\"resize\", n)),\r\n i && i.clientWidth < a && n.canvas && e(Ce(\"resize\", n));\r\n }\r\n }),\r\n (r = !1),\r\n (o = []),\r\n function () {\r\n (o = Array.prototype.slice.call(arguments)),\r\n (a = a || this),\r\n r ||\r\n ((r = !0),\r\n H.requestAnimFrame.call(window, function () {\r\n (r = !1), i.apply(a, o);\r\n }));\r\n })\r\n ));\r\n !(function (t, e) {\r\n var n = t[ve] || (t[ve] = {}),\r\n i = (n.renderProxy = function (t) {\r\n t.animationName === xe && e();\r\n });\r\n H.each(_e, function (e) {\r\n Se(t, e, i);\r\n }),\r\n (n.reflow = !!t.offsetParent),\r\n t.classList.add(ye);\r\n })(t, function () {\r\n if (s.resizer) {\r\n var e = t.parentNode;\r\n e && e !== l.parentNode && e.insertBefore(l, e.firstChild), l._reset();\r\n }\r\n });\r\n }\r\n function Oe(t) {\r\n var e = t[ve] || {},\r\n n = e.resizer;\r\n delete e.resizer,\r\n (function (t) {\r\n var e = t[ve] || {},\r\n n = e.renderProxy;\r\n n &&\r\n (H.each(_e, function (e) {\r\n De(t, e, n);\r\n }),\r\n delete e.renderProxy),\r\n t.classList.remove(ye);\r\n })(t),\r\n n && n.parentNode && n.parentNode.removeChild(n);\r\n }\r\n var Ae = {\r\n disableCSSInjection: !1,\r\n _enabled: \"undefined\" != typeof window && \"undefined\" != typeof document,\r\n _ensureLoaded: function (t) {\r\n if (!this.disableCSSInjection) {\r\n var e = t.getRootNode ? t.getRootNode() : document;\r\n !(function (t, e) {\r\n var n = t[ve] || (t[ve] = {});\r\n if (!n.containsStyles) {\r\n (n.containsStyles = !0), (e = \"/* Chart.js */\\n\" + e);\r\n var i = document.createElement(\"style\");\r\n i.setAttribute(\"type\", \"text/css\"),\r\n i.appendChild(document.createTextNode(e)),\r\n t.appendChild(i);\r\n }\r\n })(e.host ? e : document.head, pe);\r\n }\r\n },\r\n acquireContext: function (t, e) {\r\n \"string\" == typeof t\r\n ? (t = document.getElementById(t))\r\n : t.length && (t = t[0]),\r\n t && t.canvas && (t = t.canvas);\r\n var n = t && t.getContext && t.getContext(\"2d\");\r\n return n && n.canvas === t\r\n ? (this._ensureLoaded(t),\r\n (function (t, e) {\r\n var n = t.style,\r\n i = t.getAttribute(\"height\"),\r\n a = t.getAttribute(\"width\");\r\n if (\r\n ((t[ve] = {\r\n initial: {\r\n height: i,\r\n width: a,\r\n style: {\r\n display: n.display,\r\n height: n.height,\r\n width: n.width,\r\n },\r\n },\r\n }),\r\n (n.display = n.display || \"block\"),\r\n null === a || \"\" === a)\r\n ) {\r\n var r = ke(t, \"width\");\r\n void 0 !== r && (t.width = r);\r\n }\r\n if (null === i || \"\" === i)\r\n if (\"\" === t.style.height)\r\n t.height = t.width / (e.options.aspectRatio || 2);\r\n else {\r\n var o = ke(t, \"height\");\r\n void 0 !== r && (t.height = o);\r\n }\r\n })(t, e),\r\n n)\r\n : null;\r\n },\r\n releaseContext: function (t) {\r\n var e = t.canvas;\r\n if (e[ve]) {\r\n var n = e[ve].initial;\r\n [\"height\", \"width\"].forEach(function (t) {\r\n var i = n[t];\r\n H.isNullOrUndef(i) ? e.removeAttribute(t) : e.setAttribute(t, i);\r\n }),\r\n H.each(n.style || {}, function (t, n) {\r\n e.style[n] = t;\r\n }),\r\n (e.width = e.width),\r\n delete e[ve];\r\n }\r\n },\r\n addEventListener: function (t, e, n) {\r\n var i = t.canvas;\r\n if (\"resize\" !== e) {\r\n var a = n[ve] || (n[ve] = {});\r\n Se(\r\n i,\r\n e,\r\n ((a.proxies || (a.proxies = {}))[t.id + \"_\" + e] = function (e) {\r\n n(\r\n (function (t, e) {\r\n var n = we[t.type] || t.type,\r\n i = H.getRelativePosition(t, e);\r\n return Ce(n, e, i.x, i.y, t);\r\n })(e, t)\r\n );\r\n })\r\n );\r\n } else Te(i, n, t);\r\n },\r\n removeEventListener: function (t, e, n) {\r\n var i = t.canvas;\r\n if (\"resize\" !== e) {\r\n var a = ((n[ve] || {}).proxies || {})[t.id + \"_\" + e];\r\n a && De(i, e, a);\r\n } else Oe(i);\r\n },\r\n };\r\n (H.addEvent = Se), (H.removeEvent = De);\r\n var Fe = Ae._enabled\r\n ? Ae\r\n : {\r\n acquireContext: function (t) {\r\n return (\r\n t && t.canvas && (t = t.canvas), (t && t.getContext(\"2d\")) || null\r\n );\r\n },\r\n },\r\n Ie = H.extend(\r\n {\r\n initialize: function () {},\r\n acquireContext: function () {},\r\n releaseContext: function () {},\r\n addEventListener: function () {},\r\n removeEventListener: function () {},\r\n },\r\n Fe\r\n );\r\n W._set(\"global\", { plugins: {} });\r\n var Le = {\r\n _plugins: [],\r\n _cacheId: 0,\r\n register: function (t) {\r\n var e = this._plugins;\r\n [].concat(t).forEach(function (t) {\r\n -1 === e.indexOf(t) && e.push(t);\r\n }),\r\n this._cacheId++;\r\n },\r\n unregister: function (t) {\r\n var e = this._plugins;\r\n [].concat(t).forEach(function (t) {\r\n var n = e.indexOf(t);\r\n -1 !== n && e.splice(n, 1);\r\n }),\r\n this._cacheId++;\r\n },\r\n clear: function () {\r\n (this._plugins = []), this._cacheId++;\r\n },\r\n count: function () {\r\n return this._plugins.length;\r\n },\r\n getAll: function () {\r\n return this._plugins;\r\n },\r\n notify: function (t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l = this.descriptors(t),\r\n u = l.length;\r\n for (i = 0; i < u; ++i)\r\n if (\r\n \"function\" == typeof (s = (r = (a = l[i]).plugin)[e]) &&\r\n ((o = [t].concat(n || [])).push(a.options), !1 === s.apply(r, o))\r\n )\r\n return !1;\r\n return !0;\r\n },\r\n descriptors: function (t) {\r\n var e = t.$plugins || (t.$plugins = {});\r\n if (e.id === this._cacheId) return e.descriptors;\r\n var n = [],\r\n i = [],\r\n a = (t && t.config) || {},\r\n r = (a.options && a.options.plugins) || {};\r\n return (\r\n this._plugins.concat(a.plugins || []).forEach(function (t) {\r\n if (-1 === n.indexOf(t)) {\r\n var e = t.id,\r\n a = r[e];\r\n !1 !== a &&\r\n (!0 === a && (a = H.clone(W.global.plugins[e])),\r\n n.push(t),\r\n i.push({ plugin: t, options: a || {} }));\r\n }\r\n }),\r\n (e.descriptors = i),\r\n (e.id = this._cacheId),\r\n i\r\n );\r\n },\r\n _invalidate: function (t) {\r\n delete t.$plugins;\r\n },\r\n },\r\n Re = {\r\n constructors: {},\r\n defaults: {},\r\n registerScaleType: function (t, e, n) {\r\n (this.constructors[t] = e), (this.defaults[t] = H.clone(n));\r\n },\r\n getScaleConstructor: function (t) {\r\n return this.constructors.hasOwnProperty(t)\r\n ? this.constructors[t]\r\n : void 0;\r\n },\r\n getScaleDefaults: function (t) {\r\n return this.defaults.hasOwnProperty(t)\r\n ? H.merge({}, [W.scale, this.defaults[t]])\r\n : {};\r\n },\r\n updateScaleDefaults: function (t, e) {\r\n this.defaults.hasOwnProperty(t) &&\r\n (this.defaults[t] = H.extend(this.defaults[t], e));\r\n },\r\n addScalesToLayout: function (t) {\r\n H.each(t.scales, function (e) {\r\n (e.fullWidth = e.options.fullWidth),\r\n (e.position = e.options.position),\r\n (e.weight = e.options.weight),\r\n me.addBox(t, e);\r\n });\r\n },\r\n },\r\n Ne = H.valueOrDefault,\r\n We = H.rtl.getRtlAdapter;\r\n W._set(\"global\", {\r\n tooltips: {\r\n enabled: !0,\r\n custom: null,\r\n mode: \"nearest\",\r\n position: \"average\",\r\n intersect: !0,\r\n backgroundColor: \"rgba(0,0,0,0.8)\",\r\n titleFontStyle: \"bold\",\r\n titleSpacing: 2,\r\n titleMarginBottom: 6,\r\n titleFontColor: \"#fff\",\r\n titleAlign: \"left\",\r\n bodySpacing: 2,\r\n bodyFontColor: \"#fff\",\r\n bodyAlign: \"left\",\r\n footerFontStyle: \"bold\",\r\n footerSpacing: 2,\r\n footerMarginTop: 6,\r\n footerFontColor: \"#fff\",\r\n footerAlign: \"left\",\r\n yPadding: 6,\r\n xPadding: 6,\r\n caretPadding: 2,\r\n caretSize: 5,\r\n cornerRadius: 6,\r\n multiKeyBackground: \"#fff\",\r\n displayColors: !0,\r\n borderColor: \"rgba(0,0,0,0)\",\r\n borderWidth: 0,\r\n callbacks: {\r\n beforeTitle: H.noop,\r\n title: function (t, e) {\r\n var n = \"\",\r\n i = e.labels,\r\n a = i ? i.length : 0;\r\n if (t.length > 0) {\r\n var r = t[0];\r\n r.label\r\n ? (n = r.label)\r\n : r.xLabel\r\n ? (n = r.xLabel)\r\n : a > 0 && r.index < a && (n = i[r.index]);\r\n }\r\n return n;\r\n },\r\n afterTitle: H.noop,\r\n beforeBody: H.noop,\r\n beforeLabel: H.noop,\r\n label: function (t, e) {\r\n var n = e.datasets[t.datasetIndex].label || \"\";\r\n return (\r\n n && (n += \": \"),\r\n H.isNullOrUndef(t.value) ? (n += t.yLabel) : (n += t.value),\r\n n\r\n );\r\n },\r\n labelColor: function (t, e) {\r\n var n = e.getDatasetMeta(t.datasetIndex).data[t.index]._view;\r\n return {\r\n borderColor: n.borderColor,\r\n backgroundColor: n.backgroundColor,\r\n };\r\n },\r\n labelTextColor: function () {\r\n return this._options.bodyFontColor;\r\n },\r\n afterLabel: H.noop,\r\n afterBody: H.noop,\r\n beforeFooter: H.noop,\r\n footer: H.noop,\r\n afterFooter: H.noop,\r\n },\r\n },\r\n });\r\n var Ye = {\r\n average: function (t) {\r\n if (!t.length) return !1;\r\n var e,\r\n n,\r\n i = 0,\r\n a = 0,\r\n r = 0;\r\n for (e = 0, n = t.length; e < n; ++e) {\r\n var o = t[e];\r\n if (o && o.hasValue()) {\r\n var s = o.tooltipPosition();\r\n (i += s.x), (a += s.y), ++r;\r\n }\r\n }\r\n return { x: i / r, y: a / r };\r\n },\r\n nearest: function (t, e) {\r\n var n,\r\n i,\r\n a,\r\n r = e.x,\r\n o = e.y,\r\n s = Number.POSITIVE_INFINITY;\r\n for (n = 0, i = t.length; n < i; ++n) {\r\n var l = t[n];\r\n if (l && l.hasValue()) {\r\n var u = l.getCenterPoint(),\r\n d = H.distanceBetweenPoints(e, u);\r\n d < s && ((s = d), (a = l));\r\n }\r\n }\r\n if (a) {\r\n var h = a.tooltipPosition();\r\n (r = h.x), (o = h.y);\r\n }\r\n return { x: r, y: o };\r\n },\r\n };\r\n function ze(t, e) {\r\n return (\r\n e && (H.isArray(e) ? Array.prototype.push.apply(t, e) : t.push(e)), t\r\n );\r\n }\r\n function Ee(t) {\r\n return (\"string\" == typeof t || t instanceof String) && t.indexOf(\"\\n\") > -1\r\n ? t.split(\"\\n\")\r\n : t;\r\n }\r\n function Ve(t) {\r\n var e = W.global;\r\n return {\r\n xPadding: t.xPadding,\r\n yPadding: t.yPadding,\r\n xAlign: t.xAlign,\r\n yAlign: t.yAlign,\r\n rtl: t.rtl,\r\n textDirection: t.textDirection,\r\n bodyFontColor: t.bodyFontColor,\r\n _bodyFontFamily: Ne(t.bodyFontFamily, e.defaultFontFamily),\r\n _bodyFontStyle: Ne(t.bodyFontStyle, e.defaultFontStyle),\r\n _bodyAlign: t.bodyAlign,\r\n bodyFontSize: Ne(t.bodyFontSize, e.defaultFontSize),\r\n bodySpacing: t.bodySpacing,\r\n titleFontColor: t.titleFontColor,\r\n _titleFontFamily: Ne(t.titleFontFamily, e.defaultFontFamily),\r\n _titleFontStyle: Ne(t.titleFontStyle, e.defaultFontStyle),\r\n titleFontSize: Ne(t.titleFontSize, e.defaultFontSize),\r\n _titleAlign: t.titleAlign,\r\n titleSpacing: t.titleSpacing,\r\n titleMarginBottom: t.titleMarginBottom,\r\n footerFontColor: t.footerFontColor,\r\n _footerFontFamily: Ne(t.footerFontFamily, e.defaultFontFamily),\r\n _footerFontStyle: Ne(t.footerFontStyle, e.defaultFontStyle),\r\n footerFontSize: Ne(t.footerFontSize, e.defaultFontSize),\r\n _footerAlign: t.footerAlign,\r\n footerSpacing: t.footerSpacing,\r\n footerMarginTop: t.footerMarginTop,\r\n caretSize: t.caretSize,\r\n cornerRadius: t.cornerRadius,\r\n backgroundColor: t.backgroundColor,\r\n opacity: 0,\r\n legendColorBackground: t.multiKeyBackground,\r\n displayColors: t.displayColors,\r\n borderColor: t.borderColor,\r\n borderWidth: t.borderWidth,\r\n };\r\n }\r\n function He(t, e) {\r\n return \"center\" === e\r\n ? t.x + t.width / 2\r\n : \"right\" === e\r\n ? t.x + t.width - t.xPadding\r\n : t.x + t.xPadding;\r\n }\r\n function Be(t) {\r\n return ze([], Ee(t));\r\n }\r\n var je = $.extend({\r\n initialize: function () {\r\n (this._model = Ve(this._options)), (this._lastActive = []);\r\n },\r\n getTitle: function () {\r\n var t = this,\r\n e = t._options,\r\n n = e.callbacks,\r\n i = n.beforeTitle.apply(t, arguments),\r\n a = n.title.apply(t, arguments),\r\n r = n.afterTitle.apply(t, arguments),\r\n o = [];\r\n return (o = ze(o, Ee(i))), (o = ze(o, Ee(a))), (o = ze(o, Ee(r)));\r\n },\r\n getBeforeBody: function () {\r\n return Be(this._options.callbacks.beforeBody.apply(this, arguments));\r\n },\r\n getBody: function (t, e) {\r\n var n = this,\r\n i = n._options.callbacks,\r\n a = [];\r\n return (\r\n H.each(t, function (t) {\r\n var r = { before: [], lines: [], after: [] };\r\n ze(r.before, Ee(i.beforeLabel.call(n, t, e))),\r\n ze(r.lines, i.label.call(n, t, e)),\r\n ze(r.after, Ee(i.afterLabel.call(n, t, e))),\r\n a.push(r);\r\n }),\r\n a\r\n );\r\n },\r\n getAfterBody: function () {\r\n return Be(this._options.callbacks.afterBody.apply(this, arguments));\r\n },\r\n getFooter: function () {\r\n var t = this,\r\n e = t._options.callbacks,\r\n n = e.beforeFooter.apply(t, arguments),\r\n i = e.footer.apply(t, arguments),\r\n a = e.afterFooter.apply(t, arguments),\r\n r = [];\r\n return (r = ze(r, Ee(n))), (r = ze(r, Ee(i))), (r = ze(r, Ee(a)));\r\n },\r\n update: function (t) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u,\r\n d,\r\n h = this,\r\n c = h._options,\r\n f = h._model,\r\n g = (h._model = Ve(c)),\r\n m = h._active,\r\n p = h._data,\r\n v = { xAlign: f.xAlign, yAlign: f.yAlign },\r\n b = { x: f.x, y: f.y },\r\n y = { width: f.width, height: f.height },\r\n x = { x: f.caretX, y: f.caretY };\r\n if (m.length) {\r\n g.opacity = 1;\r\n var _ = [],\r\n w = [];\r\n x = Ye[c.position].call(h, m, h._eventPosition);\r\n var k = [];\r\n for (e = 0, n = m.length; e < n; ++e)\r\n k.push(\r\n ((i = m[e]),\r\n (a = void 0),\r\n (r = void 0),\r\n (o = void 0),\r\n (s = void 0),\r\n (l = void 0),\r\n (u = void 0),\r\n (d = void 0),\r\n (a = i._xScale),\r\n (r = i._yScale || i._scale),\r\n (o = i._index),\r\n (s = i._datasetIndex),\r\n (l = i._chart.getDatasetMeta(s).controller),\r\n (u = l._getIndexScale()),\r\n (d = l._getValueScale()),\r\n {\r\n xLabel: a ? a.getLabelForIndex(o, s) : \"\",\r\n yLabel: r ? r.getLabelForIndex(o, s) : \"\",\r\n label: u ? \"\" + u.getLabelForIndex(o, s) : \"\",\r\n value: d ? \"\" + d.getLabelForIndex(o, s) : \"\",\r\n index: o,\r\n datasetIndex: s,\r\n x: i._model.x,\r\n y: i._model.y,\r\n })\r\n );\r\n c.filter &&\r\n (k = k.filter(function (t) {\r\n return c.filter(t, p);\r\n })),\r\n c.itemSort &&\r\n (k = k.sort(function (t, e) {\r\n return c.itemSort(t, e, p);\r\n })),\r\n H.each(k, function (t) {\r\n _.push(c.callbacks.labelColor.call(h, t, h._chart)),\r\n w.push(c.callbacks.labelTextColor.call(h, t, h._chart));\r\n }),\r\n (g.title = h.getTitle(k, p)),\r\n (g.beforeBody = h.getBeforeBody(k, p)),\r\n (g.body = h.getBody(k, p)),\r\n (g.afterBody = h.getAfterBody(k, p)),\r\n (g.footer = h.getFooter(k, p)),\r\n (g.x = x.x),\r\n (g.y = x.y),\r\n (g.caretPadding = c.caretPadding),\r\n (g.labelColors = _),\r\n (g.labelTextColors = w),\r\n (g.dataPoints = k),\r\n (y = (function (t, e) {\r\n var n = t._chart.ctx,\r\n i = 2 * e.yPadding,\r\n a = 0,\r\n r = e.body,\r\n o = r.reduce(function (t, e) {\r\n return t + e.before.length + e.lines.length + e.after.length;\r\n }, 0);\r\n o += e.beforeBody.length + e.afterBody.length;\r\n var s = e.title.length,\r\n l = e.footer.length,\r\n u = e.titleFontSize,\r\n d = e.bodyFontSize,\r\n h = e.footerFontSize;\r\n (i += s * u),\r\n (i += s ? (s - 1) * e.titleSpacing : 0),\r\n (i += s ? e.titleMarginBottom : 0),\r\n (i += o * d),\r\n (i += o ? (o - 1) * e.bodySpacing : 0),\r\n (i += l ? e.footerMarginTop : 0),\r\n (i += l * h),\r\n (i += l ? (l - 1) * e.footerSpacing : 0);\r\n var c = 0,\r\n f = function (t) {\r\n a = Math.max(a, n.measureText(t).width + c);\r\n };\r\n return (\r\n (n.font = H.fontString(\r\n u,\r\n e._titleFontStyle,\r\n e._titleFontFamily\r\n )),\r\n H.each(e.title, f),\r\n (n.font = H.fontString(d, e._bodyFontStyle, e._bodyFontFamily)),\r\n H.each(e.beforeBody.concat(e.afterBody), f),\r\n (c = e.displayColors ? d + 2 : 0),\r\n H.each(r, function (t) {\r\n H.each(t.before, f), H.each(t.lines, f), H.each(t.after, f);\r\n }),\r\n (c = 0),\r\n (n.font = H.fontString(\r\n h,\r\n e._footerFontStyle,\r\n e._footerFontFamily\r\n )),\r\n H.each(e.footer, f),\r\n { width: (a += 2 * e.xPadding), height: i }\r\n );\r\n })(this, g)),\r\n (b = (function (t, e, n, i) {\r\n var a = t.x,\r\n r = t.y,\r\n o = t.caretSize,\r\n s = t.caretPadding,\r\n l = t.cornerRadius,\r\n u = n.xAlign,\r\n d = n.yAlign,\r\n h = o + s,\r\n c = l + s;\r\n return (\r\n \"right\" === u\r\n ? (a -= e.width)\r\n : \"center\" === u &&\r\n ((a -= e.width / 2) + e.width > i.width &&\r\n (a = i.width - e.width),\r\n a < 0 && (a = 0)),\r\n \"top\" === d\r\n ? (r += h)\r\n : (r -= \"bottom\" === d ? e.height + h : e.height / 2),\r\n \"center\" === d\r\n ? \"left\" === u\r\n ? (a += h)\r\n : \"right\" === u && (a -= h)\r\n : \"left\" === u\r\n ? (a -= c)\r\n : \"right\" === u && (a += c),\r\n { x: a, y: r }\r\n );\r\n })(\r\n g,\r\n y,\r\n (v = (function (t, e) {\r\n var n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s = t._model,\r\n l = t._chart,\r\n u = t._chart.chartArea,\r\n d = \"center\",\r\n h = \"center\";\r\n s.y < e.height\r\n ? (h = \"top\")\r\n : s.y > l.height - e.height && (h = \"bottom\");\r\n var c = (u.left + u.right) / 2,\r\n f = (u.top + u.bottom) / 2;\r\n \"center\" === h\r\n ? ((n = function (t) {\r\n return t <= c;\r\n }),\r\n (i = function (t) {\r\n return t > c;\r\n }))\r\n : ((n = function (t) {\r\n return t <= e.width / 2;\r\n }),\r\n (i = function (t) {\r\n return t >= l.width - e.width / 2;\r\n })),\r\n (a = function (t) {\r\n return t + e.width + s.caretSize + s.caretPadding > l.width;\r\n }),\r\n (r = function (t) {\r\n return t - e.width - s.caretSize - s.caretPadding < 0;\r\n }),\r\n (o = function (t) {\r\n return t <= f ? \"top\" : \"bottom\";\r\n }),\r\n n(s.x)\r\n ? ((d = \"left\"), a(s.x) && ((d = \"center\"), (h = o(s.y))))\r\n : i(s.x) &&\r\n ((d = \"right\"), r(s.x) && ((d = \"center\"), (h = o(s.y))));\r\n var g = t._options;\r\n return {\r\n xAlign: g.xAlign ? g.xAlign : d,\r\n yAlign: g.yAlign ? g.yAlign : h,\r\n };\r\n })(this, y)),\r\n h._chart\r\n ));\r\n } else g.opacity = 0;\r\n return (\r\n (g.xAlign = v.xAlign),\r\n (g.yAlign = v.yAlign),\r\n (g.x = b.x),\r\n (g.y = b.y),\r\n (g.width = y.width),\r\n (g.height = y.height),\r\n (g.caretX = x.x),\r\n (g.caretY = x.y),\r\n (h._model = g),\r\n t && c.custom && c.custom.call(h, g),\r\n h\r\n );\r\n },\r\n drawCaret: function (t, e) {\r\n var n = this._chart.ctx,\r\n i = this._view,\r\n a = this.getCaretPosition(t, e, i);\r\n n.lineTo(a.x1, a.y1), n.lineTo(a.x2, a.y2), n.lineTo(a.x3, a.y3);\r\n },\r\n getCaretPosition: function (t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u = n.caretSize,\r\n d = n.cornerRadius,\r\n h = n.xAlign,\r\n c = n.yAlign,\r\n f = t.x,\r\n g = t.y,\r\n m = e.width,\r\n p = e.height;\r\n if (\"center\" === c)\r\n (s = g + p / 2),\r\n \"left\" === h\r\n ? ((a = (i = f) - u), (r = i), (o = s + u), (l = s - u))\r\n : ((a = (i = f + m) + u), (r = i), (o = s - u), (l = s + u));\r\n else if (\r\n (\"left\" === h\r\n ? ((i = (a = f + d + u) - u), (r = a + u))\r\n : \"right\" === h\r\n ? ((i = (a = f + m - d - u) - u), (r = a + u))\r\n : ((i = (a = n.caretX) - u), (r = a + u)),\r\n \"top\" === c)\r\n )\r\n (s = (o = g) - u), (l = o);\r\n else {\r\n (s = (o = g + p) + u), (l = o);\r\n var v = r;\r\n (r = i), (i = v);\r\n }\r\n return { x1: i, x2: a, x3: r, y1: o, y2: s, y3: l };\r\n },\r\n drawTitle: function (t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o = e.title,\r\n s = o.length;\r\n if (s) {\r\n var l = We(e.rtl, e.x, e.width);\r\n for (\r\n t.x = He(e, e._titleAlign),\r\n n.textAlign = l.textAlign(e._titleAlign),\r\n n.textBaseline = \"middle\",\r\n i = e.titleFontSize,\r\n a = e.titleSpacing,\r\n n.fillStyle = e.titleFontColor,\r\n n.font = H.fontString(i, e._titleFontStyle, e._titleFontFamily),\r\n r = 0;\r\n r < s;\r\n ++r\r\n )\r\n n.fillText(o[r], l.x(t.x), t.y + i / 2),\r\n (t.y += i + a),\r\n r + 1 === s && (t.y += e.titleMarginBottom - a);\r\n }\r\n },\r\n drawBody: function (t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u,\r\n d,\r\n h = e.bodyFontSize,\r\n c = e.bodySpacing,\r\n f = e._bodyAlign,\r\n g = e.body,\r\n m = e.displayColors,\r\n p = 0,\r\n v = m ? He(e, \"left\") : 0,\r\n b = We(e.rtl, e.x, e.width),\r\n y = function (e) {\r\n n.fillText(e, b.x(t.x + p), t.y + h / 2), (t.y += h + c);\r\n },\r\n x = b.textAlign(f);\r\n for (\r\n n.textAlign = f,\r\n n.textBaseline = \"middle\",\r\n n.font = H.fontString(h, e._bodyFontStyle, e._bodyFontFamily),\r\n t.x = He(e, x),\r\n n.fillStyle = e.bodyFontColor,\r\n H.each(e.beforeBody, y),\r\n p = m && \"right\" !== x ? (\"center\" === f ? h / 2 + 1 : h + 2) : 0,\r\n s = 0,\r\n u = g.length;\r\n s < u;\r\n ++s\r\n ) {\r\n for (\r\n i = g[s],\r\n a = e.labelTextColors[s],\r\n r = e.labelColors[s],\r\n n.fillStyle = a,\r\n H.each(i.before, y),\r\n l = 0,\r\n d = (o = i.lines).length;\r\n l < d;\r\n ++l\r\n ) {\r\n if (m) {\r\n var _ = b.x(v);\r\n (n.fillStyle = e.legendColorBackground),\r\n n.fillRect(b.leftForLtr(_, h), t.y, h, h),\r\n (n.lineWidth = 1),\r\n (n.strokeStyle = r.borderColor),\r\n n.strokeRect(b.leftForLtr(_, h), t.y, h, h),\r\n (n.fillStyle = r.backgroundColor),\r\n n.fillRect(\r\n b.leftForLtr(b.xPlus(_, 1), h - 2),\r\n t.y + 1,\r\n h - 2,\r\n h - 2\r\n ),\r\n (n.fillStyle = a);\r\n }\r\n y(o[l]);\r\n }\r\n H.each(i.after, y);\r\n }\r\n (p = 0), H.each(e.afterBody, y), (t.y -= c);\r\n },\r\n drawFooter: function (t, e, n) {\r\n var i,\r\n a,\r\n r = e.footer,\r\n o = r.length;\r\n if (o) {\r\n var s = We(e.rtl, e.x, e.width);\r\n for (\r\n t.x = He(e, e._footerAlign),\r\n t.y += e.footerMarginTop,\r\n n.textAlign = s.textAlign(e._footerAlign),\r\n n.textBaseline = \"middle\",\r\n i = e.footerFontSize,\r\n n.fillStyle = e.footerFontColor,\r\n n.font = H.fontString(i, e._footerFontStyle, e._footerFontFamily),\r\n a = 0;\r\n a < o;\r\n ++a\r\n )\r\n n.fillText(r[a], s.x(t.x), t.y + i / 2),\r\n (t.y += i + e.footerSpacing);\r\n }\r\n },\r\n drawBackground: function (t, e, n, i) {\r\n (n.fillStyle = e.backgroundColor),\r\n (n.strokeStyle = e.borderColor),\r\n (n.lineWidth = e.borderWidth);\r\n var a = e.xAlign,\r\n r = e.yAlign,\r\n o = t.x,\r\n s = t.y,\r\n l = i.width,\r\n u = i.height,\r\n d = e.cornerRadius;\r\n n.beginPath(),\r\n n.moveTo(o + d, s),\r\n \"top\" === r && this.drawCaret(t, i),\r\n n.lineTo(o + l - d, s),\r\n n.quadraticCurveTo(o + l, s, o + l, s + d),\r\n \"center\" === r && \"right\" === a && this.drawCaret(t, i),\r\n n.lineTo(o + l, s + u - d),\r\n n.quadraticCurveTo(o + l, s + u, o + l - d, s + u),\r\n \"bottom\" === r && this.drawCaret(t, i),\r\n n.lineTo(o + d, s + u),\r\n n.quadraticCurveTo(o, s + u, o, s + u - d),\r\n \"center\" === r && \"left\" === a && this.drawCaret(t, i),\r\n n.lineTo(o, s + d),\r\n n.quadraticCurveTo(o, s, o + d, s),\r\n n.closePath(),\r\n n.fill(),\r\n e.borderWidth > 0 && n.stroke();\r\n },\r\n draw: function () {\r\n var t = this._chart.ctx,\r\n e = this._view;\r\n if (0 !== e.opacity) {\r\n var n = { width: e.width, height: e.height },\r\n i = { x: e.x, y: e.y },\r\n a = Math.abs(e.opacity < 0.001) ? 0 : e.opacity,\r\n r =\r\n e.title.length ||\r\n e.beforeBody.length ||\r\n e.body.length ||\r\n e.afterBody.length ||\r\n e.footer.length;\r\n this._options.enabled &&\r\n r &&\r\n (t.save(),\r\n (t.globalAlpha = a),\r\n this.drawBackground(i, e, t, n),\r\n (i.y += e.yPadding),\r\n H.rtl.overrideTextDirection(t, e.textDirection),\r\n this.drawTitle(i, e, t),\r\n this.drawBody(i, e, t),\r\n this.drawFooter(i, e, t),\r\n H.rtl.restoreTextDirection(t, e.textDirection),\r\n t.restore());\r\n }\r\n },\r\n handleEvent: function (t) {\r\n var e,\r\n n = this,\r\n i = n._options;\r\n return (\r\n (n._lastActive = n._lastActive || []),\r\n \"mouseout\" === t.type\r\n ? (n._active = [])\r\n : ((n._active = n._chart.getElementsAtEventForMode(t, i.mode, i)),\r\n i.reverse && n._active.reverse()),\r\n (e = !H.arrayEquals(n._active, n._lastActive)) &&\r\n ((n._lastActive = n._active),\r\n (i.enabled || i.custom) &&\r\n ((n._eventPosition = { x: t.x, y: t.y }),\r\n n.update(!0),\r\n n.pivot())),\r\n e\r\n );\r\n },\r\n }),\r\n Ue = Ye,\r\n Ge = je;\r\n Ge.positioners = Ue;\r\n var qe = H.valueOrDefault;\r\n function Ze() {\r\n return H.merge({}, [].slice.call(arguments), {\r\n merger: function (t, e, n, i) {\r\n if (\"xAxes\" === t || \"yAxes\" === t) {\r\n var a,\r\n r,\r\n o,\r\n s = n[t].length;\r\n for (e[t] || (e[t] = []), a = 0; a < s; ++a)\r\n (o = n[t][a]),\r\n (r = qe(o.type, \"xAxes\" === t ? \"category\" : \"linear\")),\r\n a >= e[t].length && e[t].push({}),\r\n !e[t][a].type || (o.type && o.type !== e[t][a].type)\r\n ? H.merge(e[t][a], [Re.getScaleDefaults(r), o])\r\n : H.merge(e[t][a], o);\r\n } else H._merger(t, e, n, i);\r\n },\r\n });\r\n }\r\n function $e() {\r\n return H.merge({}, [].slice.call(arguments), {\r\n merger: function (t, e, n, i) {\r\n var a = e[t] || {},\r\n r = n[t];\r\n \"scales\" === t\r\n ? (e[t] = Ze(a, r))\r\n : \"scale\" === t\r\n ? (e[t] = H.merge(a, [Re.getScaleDefaults(r.type), r]))\r\n : H._merger(t, e, n, i);\r\n },\r\n });\r\n }\r\n function Xe(t) {\r\n var e = t.options;\r\n H.each(t.scales, function (e) {\r\n me.removeBox(t, e);\r\n }),\r\n (e = $e(W.global, W[t.config.type], e)),\r\n (t.options = t.config.options = e),\r\n t.ensureScalesHaveIDs(),\r\n t.buildOrUpdateScales(),\r\n (t.tooltip._options = e.tooltips),\r\n t.tooltip.initialize();\r\n }\r\n function Ke(t, e, n) {\r\n var i,\r\n a = function (t) {\r\n return t.id === i;\r\n };\r\n do {\r\n i = e + n++;\r\n } while (H.findIndex(t, a) >= 0);\r\n return i;\r\n }\r\n function Je(t) {\r\n return \"top\" === t || \"bottom\" === t;\r\n }\r\n function Qe(t, e) {\r\n return function (n, i) {\r\n return n[t] === i[t] ? n[e] - i[e] : n[t] - i[t];\r\n };\r\n }\r\n W._set(\"global\", {\r\n elements: {},\r\n events: [\"mousemove\", \"mouseout\", \"click\", \"touchstart\", \"touchmove\"],\r\n hover: {\r\n onHover: null,\r\n mode: \"nearest\",\r\n intersect: !0,\r\n animationDuration: 400,\r\n },\r\n onClick: null,\r\n maintainAspectRatio: !0,\r\n responsive: !0,\r\n responsiveAnimationDuration: 0,\r\n });\r\n var tn = function (t, e) {\r\n return this.construct(t, e), this;\r\n };\r\n H.extend(tn.prototype, {\r\n construct: function (t, e) {\r\n var n = this;\r\n e = (function (t) {\r\n var e = ((t = t || {}).data = t.data || {});\r\n return (\r\n (e.datasets = e.datasets || []),\r\n (e.labels = e.labels || []),\r\n (t.options = $e(W.global, W[t.type], t.options || {})),\r\n t\r\n );\r\n })(e);\r\n var i = Ie.acquireContext(t, e),\r\n a = i && i.canvas,\r\n r = a && a.height,\r\n o = a && a.width;\r\n (n.id = H.uid()),\r\n (n.ctx = i),\r\n (n.canvas = a),\r\n (n.config = e),\r\n (n.width = o),\r\n (n.height = r),\r\n (n.aspectRatio = r ? o / r : null),\r\n (n.options = e.options),\r\n (n._bufferedRender = !1),\r\n (n._layers = []),\r\n (n.chart = n),\r\n (n.controller = n),\r\n (tn.instances[n.id] = n),\r\n Object.defineProperty(n, \"data\", {\r\n get: function () {\r\n return n.config.data;\r\n },\r\n set: function (t) {\r\n n.config.data = t;\r\n },\r\n }),\r\n i && a\r\n ? (n.initialize(), n.update())\r\n : console.error(\r\n \"Failed to create chart: can't acquire context from the given item\"\r\n );\r\n },\r\n initialize: function () {\r\n var t = this;\r\n return (\r\n Le.notify(t, \"beforeInit\"),\r\n H.retinaScale(t, t.options.devicePixelRatio),\r\n t.bindEvents(),\r\n t.options.responsive && t.resize(!0),\r\n t.initToolTip(),\r\n Le.notify(t, \"afterInit\"),\r\n t\r\n );\r\n },\r\n clear: function () {\r\n return H.canvas.clear(this), this;\r\n },\r\n stop: function () {\r\n return J.cancelAnimation(this), this;\r\n },\r\n resize: function (t) {\r\n var e = this,\r\n n = e.options,\r\n i = e.canvas,\r\n a = (n.maintainAspectRatio && e.aspectRatio) || null,\r\n r = Math.max(0, Math.floor(H.getMaximumWidth(i))),\r\n o = Math.max(0, Math.floor(a ? r / a : H.getMaximumHeight(i)));\r\n if (\r\n (e.width !== r || e.height !== o) &&\r\n ((i.width = e.width = r),\r\n (i.height = e.height = o),\r\n (i.style.width = r + \"px\"),\r\n (i.style.height = o + \"px\"),\r\n H.retinaScale(e, n.devicePixelRatio),\r\n !t)\r\n ) {\r\n var s = { width: r, height: o };\r\n Le.notify(e, \"resize\", [s]),\r\n n.onResize && n.onResize(e, s),\r\n e.stop(),\r\n e.update({ duration: n.responsiveAnimationDuration });\r\n }\r\n },\r\n ensureScalesHaveIDs: function () {\r\n var t = this.options,\r\n e = t.scales || {},\r\n n = t.scale;\r\n H.each(e.xAxes, function (t, n) {\r\n t.id || (t.id = Ke(e.xAxes, \"x-axis-\", n));\r\n }),\r\n H.each(e.yAxes, function (t, n) {\r\n t.id || (t.id = Ke(e.yAxes, \"y-axis-\", n));\r\n }),\r\n n && (n.id = n.id || \"scale\");\r\n },\r\n buildOrUpdateScales: function () {\r\n var t = this,\r\n e = t.options,\r\n n = t.scales || {},\r\n i = [],\r\n a = Object.keys(n).reduce(function (t, e) {\r\n return (t[e] = !1), t;\r\n }, {});\r\n e.scales &&\r\n (i = i.concat(\r\n (e.scales.xAxes || []).map(function (t) {\r\n return { options: t, dtype: \"category\", dposition: \"bottom\" };\r\n }),\r\n (e.scales.yAxes || []).map(function (t) {\r\n return { options: t, dtype: \"linear\", dposition: \"left\" };\r\n })\r\n )),\r\n e.scale &&\r\n i.push({\r\n options: e.scale,\r\n dtype: \"radialLinear\",\r\n isDefault: !0,\r\n dposition: \"chartArea\",\r\n }),\r\n H.each(i, function (e) {\r\n var i = e.options,\r\n r = i.id,\r\n o = qe(i.type, e.dtype);\r\n Je(i.position) !== Je(e.dposition) && (i.position = e.dposition),\r\n (a[r] = !0);\r\n var s = null;\r\n if (r in n && n[r].type === o)\r\n ((s = n[r]).options = i), (s.ctx = t.ctx), (s.chart = t);\r\n else {\r\n var l = Re.getScaleConstructor(o);\r\n if (!l) return;\r\n (s = new l({ id: r, type: o, options: i, ctx: t.ctx, chart: t })),\r\n (n[s.id] = s);\r\n }\r\n s.mergeTicksOptions(), e.isDefault && (t.scale = s);\r\n }),\r\n H.each(a, function (t, e) {\r\n t || delete n[e];\r\n }),\r\n (t.scales = n),\r\n Re.addScalesToLayout(this);\r\n },\r\n buildOrUpdateControllers: function () {\r\n var t,\r\n e,\r\n n = this,\r\n i = [],\r\n a = n.data.datasets;\r\n for (t = 0, e = a.length; t < e; t++) {\r\n var r = a[t],\r\n o = n.getDatasetMeta(t),\r\n s = r.type || n.config.type;\r\n if (\r\n (o.type &&\r\n o.type !== s &&\r\n (n.destroyDatasetMeta(t), (o = n.getDatasetMeta(t))),\r\n (o.type = s),\r\n (o.order = r.order || 0),\r\n (o.index = t),\r\n o.controller)\r\n )\r\n o.controller.updateIndex(t), o.controller.linkScales();\r\n else {\r\n var l = Jt[o.type];\r\n if (void 0 === l)\r\n throw new Error('\"' + o.type + '\" is not a chart type.');\r\n (o.controller = new l(n, t)), i.push(o.controller);\r\n }\r\n }\r\n return i;\r\n },\r\n resetElements: function () {\r\n var t = this;\r\n H.each(\r\n t.data.datasets,\r\n function (e, n) {\r\n t.getDatasetMeta(n).controller.reset();\r\n },\r\n t\r\n );\r\n },\r\n reset: function () {\r\n this.resetElements(), this.tooltip.initialize();\r\n },\r\n update: function (t) {\r\n var e,\r\n n,\r\n i = this;\r\n if (\r\n ((t && \"object\" == typeof t) ||\r\n (t = { duration: t, lazy: arguments[1] }),\r\n Xe(i),\r\n Le._invalidate(i),\r\n !1 !== Le.notify(i, \"beforeUpdate\"))\r\n ) {\r\n i.tooltip._data = i.data;\r\n var a = i.buildOrUpdateControllers();\r\n for (e = 0, n = i.data.datasets.length; e < n; e++)\r\n i.getDatasetMeta(e).controller.buildOrUpdateElements();\r\n i.updateLayout(),\r\n i.options.animation &&\r\n i.options.animation.duration &&\r\n H.each(a, function (t) {\r\n t.reset();\r\n }),\r\n i.updateDatasets(),\r\n i.tooltip.initialize(),\r\n (i.lastActive = []),\r\n Le.notify(i, \"afterUpdate\"),\r\n i._layers.sort(Qe(\"z\", \"_idx\")),\r\n i._bufferedRender\r\n ? (i._bufferedRequest = {\r\n duration: t.duration,\r\n easing: t.easing,\r\n lazy: t.lazy,\r\n })\r\n : i.render(t);\r\n }\r\n },\r\n updateLayout: function () {\r\n var t = this;\r\n !1 !== Le.notify(t, \"beforeLayout\") &&\r\n (me.update(this, this.width, this.height),\r\n (t._layers = []),\r\n H.each(\r\n t.boxes,\r\n function (e) {\r\n e._configure && e._configure(),\r\n t._layers.push.apply(t._layers, e._layers());\r\n },\r\n t\r\n ),\r\n t._layers.forEach(function (t, e) {\r\n t._idx = e;\r\n }),\r\n Le.notify(t, \"afterScaleUpdate\"),\r\n Le.notify(t, \"afterLayout\"));\r\n },\r\n updateDatasets: function () {\r\n if (!1 !== Le.notify(this, \"beforeDatasetsUpdate\")) {\r\n for (var t = 0, e = this.data.datasets.length; t < e; ++t)\r\n this.updateDataset(t);\r\n Le.notify(this, \"afterDatasetsUpdate\");\r\n }\r\n },\r\n updateDataset: function (t) {\r\n var e = this.getDatasetMeta(t),\r\n n = { meta: e, index: t };\r\n !1 !== Le.notify(this, \"beforeDatasetUpdate\", [n]) &&\r\n (e.controller._update(), Le.notify(this, \"afterDatasetUpdate\", [n]));\r\n },\r\n render: function (t) {\r\n var e = this;\r\n (t && \"object\" == typeof t) || (t = { duration: t, lazy: arguments[1] });\r\n var n = e.options.animation,\r\n i = qe(t.duration, n && n.duration),\r\n a = t.lazy;\r\n if (!1 !== Le.notify(e, \"beforeRender\")) {\r\n var r = function (t) {\r\n Le.notify(e, \"afterRender\"), H.callback(n && n.onComplete, [t], e);\r\n };\r\n if (n && i) {\r\n var o = new K({\r\n numSteps: i / 16.66,\r\n easing: t.easing || n.easing,\r\n render: function (t, e) {\r\n var n = H.easing.effects[e.easing],\r\n i = e.currentStep,\r\n a = i / e.numSteps;\r\n t.draw(n(a), a, i);\r\n },\r\n onAnimationProgress: n.onProgress,\r\n onAnimationComplete: r,\r\n });\r\n J.addAnimation(e, o, i, a);\r\n } else e.draw(), r(new K({ numSteps: 0, chart: e }));\r\n return e;\r\n }\r\n },\r\n draw: function (t) {\r\n var e,\r\n n,\r\n i = this;\r\n if (\r\n (i.clear(),\r\n H.isNullOrUndef(t) && (t = 1),\r\n i.transition(t),\r\n !(i.width <= 0 || i.height <= 0) &&\r\n !1 !== Le.notify(i, \"beforeDraw\", [t]))\r\n ) {\r\n for (n = i._layers, e = 0; e < n.length && n[e].z <= 0; ++e)\r\n n[e].draw(i.chartArea);\r\n for (i.drawDatasets(t); e < n.length; ++e) n[e].draw(i.chartArea);\r\n i._drawTooltip(t), Le.notify(i, \"afterDraw\", [t]);\r\n }\r\n },\r\n transition: function (t) {\r\n for (var e = 0, n = (this.data.datasets || []).length; e < n; ++e)\r\n this.isDatasetVisible(e) &&\r\n this.getDatasetMeta(e).controller.transition(t);\r\n this.tooltip.transition(t);\r\n },\r\n _getSortedDatasetMetas: function (t) {\r\n var e,\r\n n,\r\n i = [];\r\n for (e = 0, n = (this.data.datasets || []).length; e < n; ++e)\r\n (t && !this.isDatasetVisible(e)) || i.push(this.getDatasetMeta(e));\r\n return i.sort(Qe(\"order\", \"index\")), i;\r\n },\r\n _getSortedVisibleDatasetMetas: function () {\r\n return this._getSortedDatasetMetas(!0);\r\n },\r\n drawDatasets: function (t) {\r\n var e, n;\r\n if (!1 !== Le.notify(this, \"beforeDatasetsDraw\", [t])) {\r\n for (\r\n n = (e = this._getSortedVisibleDatasetMetas()).length - 1;\r\n n >= 0;\r\n --n\r\n )\r\n this.drawDataset(e[n], t);\r\n Le.notify(this, \"afterDatasetsDraw\", [t]);\r\n }\r\n },\r\n drawDataset: function (t, e) {\r\n var n = { meta: t, index: t.index, easingValue: e };\r\n !1 !== Le.notify(this, \"beforeDatasetDraw\", [n]) &&\r\n (t.controller.draw(e), Le.notify(this, \"afterDatasetDraw\", [n]));\r\n },\r\n _drawTooltip: function (t) {\r\n var e = this.tooltip,\r\n n = { tooltip: e, easingValue: t };\r\n !1 !== Le.notify(this, \"beforeTooltipDraw\", [n]) &&\r\n (e.draw(), Le.notify(this, \"afterTooltipDraw\", [n]));\r\n },\r\n getElementAtEvent: function (t) {\r\n return re.modes.single(this, t);\r\n },\r\n getElementsAtEvent: function (t) {\r\n return re.modes.label(this, t, { intersect: !0 });\r\n },\r\n getElementsAtXAxis: function (t) {\r\n return re.modes[\"x-axis\"](this, t, { intersect: !0 });\r\n },\r\n getElementsAtEventForMode: function (t, e, n) {\r\n var i = re.modes[e];\r\n return \"function\" == typeof i ? i(this, t, n) : [];\r\n },\r\n getDatasetAtEvent: function (t) {\r\n return re.modes.dataset(this, t, { intersect: !0 });\r\n },\r\n getDatasetMeta: function (t) {\r\n var e = this.data.datasets[t];\r\n e._meta || (e._meta = {});\r\n var n = e._meta[this.id];\r\n return (\r\n n ||\r\n (n = e._meta[this.id] =\r\n {\r\n type: null,\r\n data: [],\r\n dataset: null,\r\n controller: null,\r\n hidden: null,\r\n xAxisID: null,\r\n yAxisID: null,\r\n order: e.order || 0,\r\n index: t,\r\n }),\r\n n\r\n );\r\n },\r\n getVisibleDatasetCount: function () {\r\n for (var t = 0, e = 0, n = this.data.datasets.length; e < n; ++e)\r\n this.isDatasetVisible(e) && t++;\r\n return t;\r\n },\r\n isDatasetVisible: function (t) {\r\n var e = this.getDatasetMeta(t);\r\n return \"boolean\" == typeof e.hidden\r\n ? !e.hidden\r\n : !this.data.datasets[t].hidden;\r\n },\r\n generateLegend: function () {\r\n return this.options.legendCallback(this);\r\n },\r\n destroyDatasetMeta: function (t) {\r\n var e = this.id,\r\n n = this.data.datasets[t],\r\n i = n._meta && n._meta[e];\r\n i && (i.controller.destroy(), delete n._meta[e]);\r\n },\r\n destroy: function () {\r\n var t,\r\n e,\r\n n = this,\r\n i = n.canvas;\r\n for (n.stop(), t = 0, e = n.data.datasets.length; t < e; ++t)\r\n n.destroyDatasetMeta(t);\r\n i &&\r\n (n.unbindEvents(),\r\n H.canvas.clear(n),\r\n Ie.releaseContext(n.ctx),\r\n (n.canvas = null),\r\n (n.ctx = null)),\r\n Le.notify(n, \"destroy\"),\r\n delete tn.instances[n.id];\r\n },\r\n toBase64Image: function () {\r\n return this.canvas.toDataURL.apply(this.canvas, arguments);\r\n },\r\n initToolTip: function () {\r\n var t = this;\r\n t.tooltip = new Ge(\r\n {\r\n _chart: t,\r\n _chartInstance: t,\r\n _data: t.data,\r\n _options: t.options.tooltips,\r\n },\r\n t\r\n );\r\n },\r\n bindEvents: function () {\r\n var t = this,\r\n e = (t._listeners = {}),\r\n n = function () {\r\n t.eventHandler.apply(t, arguments);\r\n };\r\n H.each(t.options.events, function (i) {\r\n Ie.addEventListener(t, i, n), (e[i] = n);\r\n }),\r\n t.options.responsive &&\r\n ((n = function () {\r\n t.resize();\r\n }),\r\n Ie.addEventListener(t, \"resize\", n),\r\n (e.resize = n));\r\n },\r\n unbindEvents: function () {\r\n var t = this,\r\n e = t._listeners;\r\n e &&\r\n (delete t._listeners,\r\n H.each(e, function (e, n) {\r\n Ie.removeEventListener(t, n, e);\r\n }));\r\n },\r\n updateHoverStyle: function (t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o = n ? \"set\" : \"remove\";\r\n for (a = 0, r = t.length; a < r; ++a)\r\n (i = t[a]) &&\r\n this.getDatasetMeta(i._datasetIndex).controller[o + \"HoverStyle\"](i);\r\n \"dataset\" === e &&\r\n this.getDatasetMeta(t[0]._datasetIndex).controller[\r\n \"_\" + o + \"DatasetHoverStyle\"\r\n ]();\r\n },\r\n eventHandler: function (t) {\r\n var e = this,\r\n n = e.tooltip;\r\n if (!1 !== Le.notify(e, \"beforeEvent\", [t])) {\r\n (e._bufferedRender = !0), (e._bufferedRequest = null);\r\n var i = e.handleEvent(t);\r\n n && (i = n._start ? n.handleEvent(t) : i | n.handleEvent(t)),\r\n Le.notify(e, \"afterEvent\", [t]);\r\n var a = e._bufferedRequest;\r\n return (\r\n a\r\n ? e.render(a)\r\n : i &&\r\n !e.animating &&\r\n (e.stop(),\r\n e.render({\r\n duration: e.options.hover.animationDuration,\r\n lazy: !0,\r\n })),\r\n (e._bufferedRender = !1),\r\n (e._bufferedRequest = null),\r\n e\r\n );\r\n }\r\n },\r\n handleEvent: function (t) {\r\n var e,\r\n n = this,\r\n i = n.options || {},\r\n a = i.hover;\r\n return (\r\n (n.lastActive = n.lastActive || []),\r\n \"mouseout\" === t.type\r\n ? (n.active = [])\r\n : (n.active = n.getElementsAtEventForMode(t, a.mode, a)),\r\n H.callback(i.onHover || i.hover.onHover, [t.native, n.active], n),\r\n (\"mouseup\" !== t.type && \"click\" !== t.type) ||\r\n (i.onClick && i.onClick.call(n, t.native, n.active)),\r\n n.lastActive.length && n.updateHoverStyle(n.lastActive, a.mode, !1),\r\n n.active.length && a.mode && n.updateHoverStyle(n.active, a.mode, !0),\r\n (e = !H.arrayEquals(n.active, n.lastActive)),\r\n (n.lastActive = n.active),\r\n e\r\n );\r\n },\r\n }),\r\n (tn.instances = {});\r\n var en = tn;\r\n (tn.Controller = tn),\r\n (tn.types = {}),\r\n (H.configMerge = $e),\r\n (H.scaleMerge = Ze);\r\n function nn() {\r\n throw new Error(\r\n \"This method is not implemented: either no adapter can be found or an incomplete integration was provided.\"\r\n );\r\n }\r\n function an(t) {\r\n this.options = t || {};\r\n }\r\n H.extend(an.prototype, {\r\n formats: nn,\r\n parse: nn,\r\n format: nn,\r\n add: nn,\r\n diff: nn,\r\n startOf: nn,\r\n endOf: nn,\r\n _create: function (t) {\r\n return t;\r\n },\r\n }),\r\n (an.override = function (t) {\r\n H.extend(an.prototype, t);\r\n });\r\n var rn = { _date: an },\r\n on = {\r\n formatters: {\r\n values: function (t) {\r\n return H.isArray(t) ? t : \"\" + t;\r\n },\r\n linear: function (t, e, n) {\r\n var i = n.length > 3 ? n[2] - n[1] : n[1] - n[0];\r\n Math.abs(i) > 1 && t !== Math.floor(t) && (i = t - Math.floor(t));\r\n var a = H.log10(Math.abs(i)),\r\n r = \"\";\r\n if (0 !== t)\r\n if (Math.max(Math.abs(n[0]), Math.abs(n[n.length - 1])) < 1e-4) {\r\n var o = H.log10(Math.abs(t)),\r\n s = Math.floor(o) - Math.floor(a);\r\n (s = Math.max(Math.min(s, 20), 0)), (r = t.toExponential(s));\r\n } else {\r\n var l = -1 * Math.floor(a);\r\n (l = Math.max(Math.min(l, 20), 0)), (r = t.toFixed(l));\r\n }\r\n else r = \"0\";\r\n return r;\r\n },\r\n logarithmic: function (t, e, n) {\r\n var i = t / Math.pow(10, Math.floor(H.log10(t)));\r\n return 0 === t\r\n ? \"0\"\r\n : 1 === i || 2 === i || 5 === i || 0 === e || e === n.length - 1\r\n ? t.toExponential()\r\n : \"\";\r\n },\r\n },\r\n },\r\n sn = H.isArray,\r\n ln = H.isNullOrUndef,\r\n un = H.valueOrDefault,\r\n dn = H.valueAtIndexOrDefault;\r\n function hn(t, e, n) {\r\n var i,\r\n a = t.getTicks().length,\r\n r = Math.min(e, a - 1),\r\n o = t.getPixelForTick(r),\r\n s = t._startPixel,\r\n l = t._endPixel;\r\n if (\r\n !(\r\n n &&\r\n ((i =\r\n 1 === a\r\n ? Math.max(o - s, l - o)\r\n : 0 === e\r\n ? (t.getPixelForTick(1) - o) / 2\r\n : (o - t.getPixelForTick(r - 1)) / 2),\r\n (o += r < e ? i : -i) < s - 1e-6 || o > l + 1e-6)\r\n )\r\n )\r\n return o;\r\n }\r\n function cn(t, e, n, i) {\r\n var a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u,\r\n d,\r\n h,\r\n c,\r\n f,\r\n g,\r\n m,\r\n p,\r\n v = n.length,\r\n b = [],\r\n y = [],\r\n x = [];\r\n for (a = 0; a < v; ++a) {\r\n if (\r\n ((s = n[a].label),\r\n (l = n[a].major ? e.major : e.minor),\r\n (t.font = u = l.string),\r\n (d = i[u] = i[u] || { data: {}, gc: [] }),\r\n (h = l.lineHeight),\r\n (c = f = 0),\r\n ln(s) || sn(s))\r\n ) {\r\n if (sn(s))\r\n for (r = 0, o = s.length; r < o; ++r)\r\n (g = s[r]),\r\n ln(g) ||\r\n sn(g) ||\r\n ((c = H.measureText(t, d.data, d.gc, c, g)), (f += h));\r\n } else (c = H.measureText(t, d.data, d.gc, c, s)), (f = h);\r\n b.push(c), y.push(f), x.push(h / 2);\r\n }\r\n function _(t) {\r\n return { width: b[t] || 0, height: y[t] || 0, offset: x[t] || 0 };\r\n }\r\n return (\r\n (function (t, e) {\r\n H.each(t, function (t) {\r\n var n,\r\n i = t.gc,\r\n a = i.length / 2;\r\n if (a > e) {\r\n for (n = 0; n < a; ++n) delete t.data[i[n]];\r\n i.splice(0, a);\r\n }\r\n });\r\n })(i, v),\r\n (m = b.indexOf(Math.max.apply(null, b))),\r\n (p = y.indexOf(Math.max.apply(null, y))),\r\n { first: _(0), last: _(v - 1), widest: _(m), highest: _(p) }\r\n );\r\n }\r\n function fn(t) {\r\n return t.drawTicks ? t.tickMarkLength : 0;\r\n }\r\n function gn(t) {\r\n var e, n;\r\n return t.display\r\n ? ((e = H.options._parseFont(t)),\r\n (n = H.options.toPadding(t.padding)),\r\n e.lineHeight + n.height)\r\n : 0;\r\n }\r\n function mn(t, e) {\r\n return H.extend(\r\n H.options._parseFont({\r\n fontFamily: un(e.fontFamily, t.fontFamily),\r\n fontSize: un(e.fontSize, t.fontSize),\r\n fontStyle: un(e.fontStyle, t.fontStyle),\r\n lineHeight: un(e.lineHeight, t.lineHeight),\r\n }),\r\n {\r\n color: H.options.resolve([\r\n e.fontColor,\r\n t.fontColor,\r\n W.global.defaultFontColor,\r\n ]),\r\n }\r\n );\r\n }\r\n function pn(t) {\r\n var e = mn(t, t.minor);\r\n return { minor: e, major: t.major.enabled ? mn(t, t.major) : e };\r\n }\r\n function vn(t) {\r\n var e,\r\n n,\r\n i,\r\n a = [];\r\n for (n = 0, i = t.length; n < i; ++n)\r\n void 0 !== (e = t[n])._index && a.push(e);\r\n return a;\r\n }\r\n function bn(t, e, n, i) {\r\n var a,\r\n r,\r\n o,\r\n s,\r\n l = un(n, 0),\r\n u = Math.min(un(i, t.length), t.length),\r\n d = 0;\r\n for (\r\n e = Math.ceil(e), i && (e = (a = i - n) / Math.floor(a / e)), s = l;\r\n s < 0;\r\n\r\n )\r\n d++, (s = Math.round(l + d * e));\r\n for (r = Math.max(l, 0); r < u; r++)\r\n (o = t[r]),\r\n r === s\r\n ? ((o._index = r), d++, (s = Math.round(l + d * e)))\r\n : delete o.label;\r\n }\r\n W._set(\"scale\", {\r\n display: !0,\r\n position: \"left\",\r\n offset: !1,\r\n gridLines: {\r\n display: !0,\r\n color: \"rgba(0,0,0,0.1)\",\r\n lineWidth: 1,\r\n drawBorder: !0,\r\n drawOnChartArea: !0,\r\n drawTicks: !0,\r\n tickMarkLength: 10,\r\n zeroLineWidth: 1,\r\n zeroLineColor: \"rgba(0,0,0,0.25)\",\r\n zeroLineBorderDash: [],\r\n zeroLineBorderDashOffset: 0,\r\n offsetGridLines: !1,\r\n borderDash: [],\r\n borderDashOffset: 0,\r\n },\r\n scaleLabel: {\r\n display: !1,\r\n labelString: \"\",\r\n padding: { top: 4, bottom: 4 },\r\n },\r\n ticks: {\r\n beginAtZero: !1,\r\n minRotation: 0,\r\n maxRotation: 50,\r\n mirror: !1,\r\n padding: 0,\r\n reverse: !1,\r\n display: !0,\r\n autoSkip: !0,\r\n autoSkipPadding: 0,\r\n labelOffset: 0,\r\n callback: on.formatters.values,\r\n minor: {},\r\n major: {},\r\n },\r\n });\r\n var yn = $.extend({\r\n zeroLineIndex: 0,\r\n getPadding: function () {\r\n return {\r\n left: this.paddingLeft || 0,\r\n top: this.paddingTop || 0,\r\n right: this.paddingRight || 0,\r\n bottom: this.paddingBottom || 0,\r\n };\r\n },\r\n getTicks: function () {\r\n return this._ticks;\r\n },\r\n _getLabels: function () {\r\n var t = this.chart.data;\r\n return (\r\n this.options.labels ||\r\n (this.isHorizontal() ? t.xLabels : t.yLabels) ||\r\n t.labels ||\r\n []\r\n );\r\n },\r\n mergeTicksOptions: function () {},\r\n beforeUpdate: function () {\r\n H.callback(this.options.beforeUpdate, [this]);\r\n },\r\n update: function (t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l = this,\r\n u = l.options.ticks,\r\n d = u.sampleSize;\r\n if (\r\n (l.beforeUpdate(),\r\n (l.maxWidth = t),\r\n (l.maxHeight = e),\r\n (l.margins = H.extend({ left: 0, right: 0, top: 0, bottom: 0 }, n)),\r\n (l._ticks = null),\r\n (l.ticks = null),\r\n (l._labelSizes = null),\r\n (l._maxLabelLines = 0),\r\n (l.longestLabelWidth = 0),\r\n (l.longestTextCache = l.longestTextCache || {}),\r\n (l._gridLineItems = null),\r\n (l._labelItems = null),\r\n l.beforeSetDimensions(),\r\n l.setDimensions(),\r\n l.afterSetDimensions(),\r\n l.beforeDataLimits(),\r\n l.determineDataLimits(),\r\n l.afterDataLimits(),\r\n l.beforeBuildTicks(),\r\n (o = l.buildTicks() || []),\r\n (!(o = l.afterBuildTicks(o) || o) || !o.length) && l.ticks)\r\n )\r\n for (o = [], i = 0, a = l.ticks.length; i < a; ++i)\r\n o.push({ value: l.ticks[i], major: !1 });\r\n return (\r\n (l._ticks = o),\r\n (s = d < o.length),\r\n (r = l._convertTicksToLabels(\r\n s\r\n ? (function (t, e) {\r\n for (\r\n var n = [], i = t.length / e, a = 0, r = t.length;\r\n a < r;\r\n a += i\r\n )\r\n n.push(t[Math.floor(a)]);\r\n return n;\r\n })(o, d)\r\n : o\r\n )),\r\n l._configure(),\r\n l.beforeCalculateTickRotation(),\r\n l.calculateTickRotation(),\r\n l.afterCalculateTickRotation(),\r\n l.beforeFit(),\r\n l.fit(),\r\n l.afterFit(),\r\n (l._ticksToDraw =\r\n u.display && (u.autoSkip || \"auto\" === u.source)\r\n ? l._autoSkip(o)\r\n : o),\r\n s && (r = l._convertTicksToLabels(l._ticksToDraw)),\r\n (l.ticks = r),\r\n l.afterUpdate(),\r\n l.minSize\r\n );\r\n },\r\n _configure: function () {\r\n var t,\r\n e,\r\n n = this,\r\n i = n.options.ticks.reverse;\r\n n.isHorizontal()\r\n ? ((t = n.left), (e = n.right))\r\n : ((t = n.top), (e = n.bottom), (i = !i)),\r\n (n._startPixel = t),\r\n (n._endPixel = e),\r\n (n._reversePixels = i),\r\n (n._length = e - t);\r\n },\r\n afterUpdate: function () {\r\n H.callback(this.options.afterUpdate, [this]);\r\n },\r\n beforeSetDimensions: function () {\r\n H.callback(this.options.beforeSetDimensions, [this]);\r\n },\r\n setDimensions: function () {\r\n var t = this;\r\n t.isHorizontal()\r\n ? ((t.width = t.maxWidth), (t.left = 0), (t.right = t.width))\r\n : ((t.height = t.maxHeight), (t.top = 0), (t.bottom = t.height)),\r\n (t.paddingLeft = 0),\r\n (t.paddingTop = 0),\r\n (t.paddingRight = 0),\r\n (t.paddingBottom = 0);\r\n },\r\n afterSetDimensions: function () {\r\n H.callback(this.options.afterSetDimensions, [this]);\r\n },\r\n beforeDataLimits: function () {\r\n H.callback(this.options.beforeDataLimits, [this]);\r\n },\r\n determineDataLimits: H.noop,\r\n afterDataLimits: function () {\r\n H.callback(this.options.afterDataLimits, [this]);\r\n },\r\n beforeBuildTicks: function () {\r\n H.callback(this.options.beforeBuildTicks, [this]);\r\n },\r\n buildTicks: H.noop,\r\n afterBuildTicks: function (t) {\r\n var e = this;\r\n return sn(t) && t.length\r\n ? H.callback(e.options.afterBuildTicks, [e, t])\r\n : ((e.ticks =\r\n H.callback(e.options.afterBuildTicks, [e, e.ticks]) || e.ticks),\r\n t);\r\n },\r\n beforeTickToLabelConversion: function () {\r\n H.callback(this.options.beforeTickToLabelConversion, [this]);\r\n },\r\n convertTicksToLabels: function () {\r\n var t = this.options.ticks;\r\n this.ticks = this.ticks.map(t.userCallback || t.callback, this);\r\n },\r\n afterTickToLabelConversion: function () {\r\n H.callback(this.options.afterTickToLabelConversion, [this]);\r\n },\r\n beforeCalculateTickRotation: function () {\r\n H.callback(this.options.beforeCalculateTickRotation, [this]);\r\n },\r\n calculateTickRotation: function () {\r\n var t,\r\n e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s = this,\r\n l = s.options,\r\n u = l.ticks,\r\n d = s.getTicks().length,\r\n h = u.minRotation || 0,\r\n c = u.maxRotation,\r\n f = h;\r\n !s._isVisible() || !u.display || h >= c || d <= 1 || !s.isHorizontal()\r\n ? (s.labelRotation = h)\r\n : ((e = (t = s._getLabelSizes()).widest.width),\r\n (n = t.highest.height - t.highest.offset),\r\n (i = Math.min(s.maxWidth, s.chart.width - e)),\r\n e + 6 > (a = l.offset ? s.maxWidth / d : i / (d - 1)) &&\r\n ((a = i / (d - (l.offset ? 0.5 : 1))),\r\n (r = s.maxHeight - fn(l.gridLines) - u.padding - gn(l.scaleLabel)),\r\n (o = Math.sqrt(e * e + n * n)),\r\n (f = H.toDegrees(\r\n Math.min(\r\n Math.asin(Math.min((t.highest.height + 6) / a, 1)),\r\n Math.asin(Math.min(r / o, 1)) - Math.asin(n / o)\r\n )\r\n )),\r\n (f = Math.max(h, Math.min(c, f)))),\r\n (s.labelRotation = f));\r\n },\r\n afterCalculateTickRotation: function () {\r\n H.callback(this.options.afterCalculateTickRotation, [this]);\r\n },\r\n beforeFit: function () {\r\n H.callback(this.options.beforeFit, [this]);\r\n },\r\n fit: function () {\r\n var t = this,\r\n e = (t.minSize = { width: 0, height: 0 }),\r\n n = t.chart,\r\n i = t.options,\r\n a = i.ticks,\r\n r = i.scaleLabel,\r\n o = i.gridLines,\r\n s = t._isVisible(),\r\n l = \"bottom\" === i.position,\r\n u = t.isHorizontal();\r\n if (\r\n (u ? (e.width = t.maxWidth) : s && (e.width = fn(o) + gn(r)),\r\n u ? s && (e.height = fn(o) + gn(r)) : (e.height = t.maxHeight),\r\n a.display && s)\r\n ) {\r\n var d = pn(a),\r\n h = t._getLabelSizes(),\r\n c = h.first,\r\n f = h.last,\r\n g = h.widest,\r\n m = h.highest,\r\n p = 0.4 * d.minor.lineHeight,\r\n v = a.padding;\r\n if (u) {\r\n var b = 0 !== t.labelRotation,\r\n y = H.toRadians(t.labelRotation),\r\n x = Math.cos(y),\r\n _ = Math.sin(y),\r\n w = _ * g.width + x * (m.height - (b ? m.offset : 0)) + (b ? 0 : p);\r\n e.height = Math.min(t.maxHeight, e.height + w + v);\r\n var k,\r\n M,\r\n S = t.getPixelForTick(0) - t.left,\r\n D = t.right - t.getPixelForTick(t.getTicks().length - 1);\r\n b\r\n ? ((k = l ? x * c.width + _ * c.offset : _ * (c.height - c.offset)),\r\n (M = l ? _ * (f.height - f.offset) : x * f.width + _ * f.offset))\r\n : ((k = c.width / 2), (M = f.width / 2)),\r\n (t.paddingLeft =\r\n Math.max(((k - S) * t.width) / (t.width - S), 0) + 3),\r\n (t.paddingRight =\r\n Math.max(((M - D) * t.width) / (t.width - D), 0) + 3);\r\n } else {\r\n var C = a.mirror ? 0 : g.width + v + p;\r\n (e.width = Math.min(t.maxWidth, e.width + C)),\r\n (t.paddingTop = c.height / 2),\r\n (t.paddingBottom = f.height / 2);\r\n }\r\n }\r\n t.handleMargins(),\r\n u\r\n ? ((t.width = t._length = n.width - t.margins.left - t.margins.right),\r\n (t.height = e.height))\r\n : ((t.width = e.width),\r\n (t.height = t._length =\r\n n.height - t.margins.top - t.margins.bottom));\r\n },\r\n handleMargins: function () {\r\n var t = this;\r\n t.margins &&\r\n ((t.margins.left = Math.max(t.paddingLeft, t.margins.left)),\r\n (t.margins.top = Math.max(t.paddingTop, t.margins.top)),\r\n (t.margins.right = Math.max(t.paddingRight, t.margins.right)),\r\n (t.margins.bottom = Math.max(t.paddingBottom, t.margins.bottom)));\r\n },\r\n afterFit: function () {\r\n H.callback(this.options.afterFit, [this]);\r\n },\r\n isHorizontal: function () {\r\n var t = this.options.position;\r\n return \"top\" === t || \"bottom\" === t;\r\n },\r\n isFullWidth: function () {\r\n return this.options.fullWidth;\r\n },\r\n getRightValue: function (t) {\r\n if (ln(t)) return NaN;\r\n if ((\"number\" == typeof t || t instanceof Number) && !isFinite(t))\r\n return NaN;\r\n if (t)\r\n if (this.isHorizontal()) {\r\n if (void 0 !== t.x) return this.getRightValue(t.x);\r\n } else if (void 0 !== t.y) return this.getRightValue(t.y);\r\n return t;\r\n },\r\n _convertTicksToLabels: function (t) {\r\n var e,\r\n n,\r\n i,\r\n a = this;\r\n for (\r\n a.ticks = t.map(function (t) {\r\n return t.value;\r\n }),\r\n a.beforeTickToLabelConversion(),\r\n e = a.convertTicksToLabels(t) || a.ticks,\r\n a.afterTickToLabelConversion(),\r\n n = 0,\r\n i = t.length;\r\n n < i;\r\n ++n\r\n )\r\n t[n].label = e[n];\r\n return e;\r\n },\r\n _getLabelSizes: function () {\r\n var t = this,\r\n e = t._labelSizes;\r\n return (\r\n e ||\r\n ((t._labelSizes = e =\r\n cn(t.ctx, pn(t.options.ticks), t.getTicks(), t.longestTextCache)),\r\n (t.longestLabelWidth = e.widest.width)),\r\n e\r\n );\r\n },\r\n _parseValue: function (t) {\r\n var e, n, i, a;\r\n return (\r\n sn(t)\r\n ? ((e = +this.getRightValue(t[0])),\r\n (n = +this.getRightValue(t[1])),\r\n (i = Math.min(e, n)),\r\n (a = Math.max(e, n)))\r\n : ((e = void 0), (n = t = +this.getRightValue(t)), (i = t), (a = t)),\r\n { min: i, max: a, start: e, end: n }\r\n );\r\n },\r\n _getScaleLabel: function (t) {\r\n var e = this._parseValue(t);\r\n return void 0 !== e.start\r\n ? \"[\" + e.start + \", \" + e.end + \"]\"\r\n : +this.getRightValue(t);\r\n },\r\n getLabelForIndex: H.noop,\r\n getPixelForValue: H.noop,\r\n getValueForPixel: H.noop,\r\n getPixelForTick: function (t) {\r\n var e = this.options.offset,\r\n n = this._ticks.length,\r\n i = 1 / Math.max(n - (e ? 0 : 1), 1);\r\n return t < 0 || t > n - 1\r\n ? null\r\n : this.getPixelForDecimal(t * i + (e ? i / 2 : 0));\r\n },\r\n getPixelForDecimal: function (t) {\r\n return (\r\n this._reversePixels && (t = 1 - t), this._startPixel + t * this._length\r\n );\r\n },\r\n getDecimalForPixel: function (t) {\r\n var e = (t - this._startPixel) / this._length;\r\n return this._reversePixels ? 1 - e : e;\r\n },\r\n getBasePixel: function () {\r\n return this.getPixelForValue(this.getBaseValue());\r\n },\r\n getBaseValue: function () {\r\n var t = this.min,\r\n e = this.max;\r\n return this.beginAtZero ? 0 : t < 0 && e < 0 ? e : t > 0 && e > 0 ? t : 0;\r\n },\r\n _autoSkip: function (t) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r = this.options.ticks,\r\n o = this._length,\r\n s = r.maxTicksLimit || o / this._tickSize() + 1,\r\n l = r.major.enabled\r\n ? (function (t) {\r\n var e,\r\n n,\r\n i = [];\r\n for (e = 0, n = t.length; e < n; e++) t[e].major && i.push(e);\r\n return i;\r\n })(t)\r\n : [],\r\n u = l.length,\r\n d = l[0],\r\n h = l[u - 1];\r\n if (u > s)\r\n return (\r\n (function (t, e, n) {\r\n var i,\r\n a,\r\n r = 0,\r\n o = e[0];\r\n for (n = Math.ceil(n), i = 0; i < t.length; i++)\r\n (a = t[i]),\r\n i === o ? ((a._index = i), (o = e[++r * n])) : delete a.label;\r\n })(t, l, u / s),\r\n vn(t)\r\n );\r\n if (\r\n ((i = (function (t, e, n, i) {\r\n var a,\r\n r,\r\n o,\r\n s,\r\n l = (function (t) {\r\n var e,\r\n n,\r\n i = t.length;\r\n if (i < 2) return !1;\r\n for (n = t[0], e = 1; e < i; ++e)\r\n if (t[e] - t[e - 1] !== n) return !1;\r\n return n;\r\n })(t),\r\n u = (e.length - 1) / i;\r\n if (!l) return Math.max(u, 1);\r\n for (o = 0, s = (a = H.math._factorize(l)).length - 1; o < s; o++)\r\n if ((r = a[o]) > u) return r;\r\n return Math.max(u, 1);\r\n })(l, t, 0, s)),\r\n u > 0)\r\n ) {\r\n for (e = 0, n = u - 1; e < n; e++) bn(t, i, l[e], l[e + 1]);\r\n return (\r\n (a = u > 1 ? (h - d) / (u - 1) : null),\r\n bn(t, i, H.isNullOrUndef(a) ? 0 : d - a, d),\r\n bn(t, i, h, H.isNullOrUndef(a) ? t.length : h + a),\r\n vn(t)\r\n );\r\n }\r\n return bn(t, i), vn(t);\r\n },\r\n _tickSize: function () {\r\n var t = this.options.ticks,\r\n e = H.toRadians(this.labelRotation),\r\n n = Math.abs(Math.cos(e)),\r\n i = Math.abs(Math.sin(e)),\r\n a = this._getLabelSizes(),\r\n r = t.autoSkipPadding || 0,\r\n o = a ? a.widest.width + r : 0,\r\n s = a ? a.highest.height + r : 0;\r\n return this.isHorizontal()\r\n ? s * n > o * i\r\n ? o / n\r\n : s / i\r\n : s * i < o * n\r\n ? s / n\r\n : o / i;\r\n },\r\n _isVisible: function () {\r\n var t,\r\n e,\r\n n,\r\n i = this.chart,\r\n a = this.options.display;\r\n if (\"auto\" !== a) return !!a;\r\n for (t = 0, e = i.data.datasets.length; t < e; ++t)\r\n if (\r\n i.isDatasetVisible(t) &&\r\n ((n = i.getDatasetMeta(t)).xAxisID === this.id ||\r\n n.yAxisID === this.id)\r\n )\r\n return !0;\r\n return !1;\r\n },\r\n _computeGridLineItems: function (t) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u,\r\n d,\r\n h,\r\n c,\r\n f,\r\n g,\r\n m,\r\n p,\r\n v,\r\n b = this,\r\n y = b.chart,\r\n x = b.options,\r\n _ = x.gridLines,\r\n w = x.position,\r\n k = _.offsetGridLines,\r\n M = b.isHorizontal(),\r\n S = b._ticksToDraw,\r\n D = S.length + (k ? 1 : 0),\r\n C = fn(_),\r\n P = [],\r\n T = _.drawBorder ? dn(_.lineWidth, 0, 0) : 0,\r\n O = T / 2,\r\n A = H._alignPixel,\r\n F = function (t) {\r\n return A(y, t, T);\r\n };\r\n for (\r\n \"top\" === w\r\n ? ((e = F(b.bottom)),\r\n (s = b.bottom - C),\r\n (u = e - O),\r\n (h = F(t.top) + O),\r\n (f = t.bottom))\r\n : \"bottom\" === w\r\n ? ((e = F(b.top)),\r\n (h = t.top),\r\n (f = F(t.bottom) - O),\r\n (s = e + O),\r\n (u = b.top + C))\r\n : \"left\" === w\r\n ? ((e = F(b.right)),\r\n (o = b.right - C),\r\n (l = e - O),\r\n (d = F(t.left) + O),\r\n (c = t.right))\r\n : ((e = F(b.left)),\r\n (d = t.left),\r\n (c = F(t.right) - O),\r\n (o = e + O),\r\n (l = b.left + C)),\r\n n = 0;\r\n n < D;\r\n ++n\r\n )\r\n (i = S[n] || {}),\r\n (ln(i.label) && n < S.length) ||\r\n (n === b.zeroLineIndex && x.offset === k\r\n ? ((g = _.zeroLineWidth),\r\n (m = _.zeroLineColor),\r\n (p = _.zeroLineBorderDash || []),\r\n (v = _.zeroLineBorderDashOffset || 0))\r\n : ((g = dn(_.lineWidth, n, 1)),\r\n (m = dn(_.color, n, \"rgba(0,0,0,0.1)\")),\r\n (p = _.borderDash || []),\r\n (v = _.borderDashOffset || 0)),\r\n void 0 !== (a = hn(b, i._index || n, k)) &&\r\n ((r = A(y, a, g)),\r\n M ? (o = l = d = c = r) : (s = u = h = f = r),\r\n P.push({\r\n tx1: o,\r\n ty1: s,\r\n tx2: l,\r\n ty2: u,\r\n x1: d,\r\n y1: h,\r\n x2: c,\r\n y2: f,\r\n width: g,\r\n color: m,\r\n borderDash: p,\r\n borderDashOffset: v,\r\n })));\r\n return (P.ticksLength = D), (P.borderValue = e), P;\r\n },\r\n _computeLabelItems: function () {\r\n var t,\r\n e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u,\r\n d,\r\n h,\r\n c = this,\r\n f = c.options,\r\n g = f.ticks,\r\n m = f.position,\r\n p = g.mirror,\r\n v = c.isHorizontal(),\r\n b = c._ticksToDraw,\r\n y = pn(g),\r\n x = g.padding,\r\n _ = fn(f.gridLines),\r\n w = -H.toRadians(c.labelRotation),\r\n k = [];\r\n for (\r\n \"top\" === m\r\n ? ((r = c.bottom - _ - x), (o = w ? \"left\" : \"center\"))\r\n : \"bottom\" === m\r\n ? ((r = c.top + _ + x), (o = w ? \"right\" : \"center\"))\r\n : \"left\" === m\r\n ? ((a = c.right - (p ? 0 : _) - x), (o = p ? \"left\" : \"right\"))\r\n : ((a = c.left + (p ? 0 : _) + x), (o = p ? \"right\" : \"left\")),\r\n t = 0,\r\n e = b.length;\r\n t < e;\r\n ++t\r\n )\r\n (i = (n = b[t]).label),\r\n ln(i) ||\r\n ((s = c.getPixelForTick(n._index || t) + g.labelOffset),\r\n (u = (l = n.major ? y.major : y.minor).lineHeight),\r\n (d = sn(i) ? i.length : 1),\r\n v\r\n ? ((a = s),\r\n (h = \"top\" === m ? ((w ? 1 : 0.5) - d) * u : (w ? 0 : 0.5) * u))\r\n : ((r = s), (h = ((1 - d) * u) / 2)),\r\n k.push({\r\n x: a,\r\n y: r,\r\n rotation: w,\r\n label: i,\r\n font: l,\r\n textOffset: h,\r\n textAlign: o,\r\n }));\r\n return k;\r\n },\r\n _drawGrid: function (t) {\r\n var e = this,\r\n n = e.options.gridLines;\r\n if (n.display) {\r\n var i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l = e.ctx,\r\n u = e.chart,\r\n d = H._alignPixel,\r\n h = n.drawBorder ? dn(n.lineWidth, 0, 0) : 0,\r\n c =\r\n e._gridLineItems || (e._gridLineItems = e._computeGridLineItems(t));\r\n for (r = 0, o = c.length; r < o; ++r)\r\n (i = (s = c[r]).width),\r\n (a = s.color),\r\n i &&\r\n a &&\r\n (l.save(),\r\n (l.lineWidth = i),\r\n (l.strokeStyle = a),\r\n l.setLineDash &&\r\n (l.setLineDash(s.borderDash),\r\n (l.lineDashOffset = s.borderDashOffset)),\r\n l.beginPath(),\r\n n.drawTicks && (l.moveTo(s.tx1, s.ty1), l.lineTo(s.tx2, s.ty2)),\r\n n.drawOnChartArea && (l.moveTo(s.x1, s.y1), l.lineTo(s.x2, s.y2)),\r\n l.stroke(),\r\n l.restore());\r\n if (h) {\r\n var f,\r\n g,\r\n m,\r\n p,\r\n v = h,\r\n b = dn(n.lineWidth, c.ticksLength - 1, 1),\r\n y = c.borderValue;\r\n e.isHorizontal()\r\n ? ((f = d(u, e.left, v) - v / 2),\r\n (g = d(u, e.right, b) + b / 2),\r\n (m = p = y))\r\n : ((m = d(u, e.top, v) - v / 2),\r\n (p = d(u, e.bottom, b) + b / 2),\r\n (f = g = y)),\r\n (l.lineWidth = h),\r\n (l.strokeStyle = dn(n.color, 0)),\r\n l.beginPath(),\r\n l.moveTo(f, m),\r\n l.lineTo(g, p),\r\n l.stroke();\r\n }\r\n }\r\n },\r\n _drawLabels: function () {\r\n var t = this;\r\n if (t.options.ticks.display) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u = t.ctx,\r\n d = t._labelItems || (t._labelItems = t._computeLabelItems());\r\n for (e = 0, i = d.length; e < i; ++e) {\r\n if (\r\n ((o = (r = d[e]).font),\r\n u.save(),\r\n u.translate(r.x, r.y),\r\n u.rotate(r.rotation),\r\n (u.font = o.string),\r\n (u.fillStyle = o.color),\r\n (u.textBaseline = \"middle\"),\r\n (u.textAlign = r.textAlign),\r\n (s = r.label),\r\n (l = r.textOffset),\r\n sn(s))\r\n )\r\n for (n = 0, a = s.length; n < a; ++n)\r\n u.fillText(\"\" + s[n], 0, l), (l += o.lineHeight);\r\n else u.fillText(s, 0, l);\r\n u.restore();\r\n }\r\n }\r\n },\r\n _drawTitle: function () {\r\n var t = this,\r\n e = t.ctx,\r\n n = t.options,\r\n i = n.scaleLabel;\r\n if (i.display) {\r\n var a,\r\n r,\r\n o = un(i.fontColor, W.global.defaultFontColor),\r\n s = H.options._parseFont(i),\r\n l = H.options.toPadding(i.padding),\r\n u = s.lineHeight / 2,\r\n d = n.position,\r\n h = 0;\r\n if (t.isHorizontal())\r\n (a = t.left + t.width / 2),\r\n (r = \"bottom\" === d ? t.bottom - u - l.bottom : t.top + u + l.top);\r\n else {\r\n var c = \"left\" === d;\r\n (a = c ? t.left + u + l.top : t.right - u - l.top),\r\n (r = t.top + t.height / 2),\r\n (h = c ? -0.5 * Math.PI : 0.5 * Math.PI);\r\n }\r\n e.save(),\r\n e.translate(a, r),\r\n e.rotate(h),\r\n (e.textAlign = \"center\"),\r\n (e.textBaseline = \"middle\"),\r\n (e.fillStyle = o),\r\n (e.font = s.string),\r\n e.fillText(i.labelString, 0, 0),\r\n e.restore();\r\n }\r\n },\r\n draw: function (t) {\r\n this._isVisible() &&\r\n (this._drawGrid(t), this._drawTitle(), this._drawLabels());\r\n },\r\n _layers: function () {\r\n var t = this,\r\n e = t.options,\r\n n = (e.ticks && e.ticks.z) || 0,\r\n i = (e.gridLines && e.gridLines.z) || 0;\r\n return t._isVisible() && n !== i && t.draw === t._draw\r\n ? [\r\n {\r\n z: i,\r\n draw: function () {\r\n t._drawGrid.apply(t, arguments),\r\n t._drawTitle.apply(t, arguments);\r\n },\r\n },\r\n {\r\n z: n,\r\n draw: function () {\r\n t._drawLabels.apply(t, arguments);\r\n },\r\n },\r\n ]\r\n : [\r\n {\r\n z: n,\r\n draw: function () {\r\n t.draw.apply(t, arguments);\r\n },\r\n },\r\n ];\r\n },\r\n _getMatchingVisibleMetas: function (t) {\r\n var e = this,\r\n n = e.isHorizontal();\r\n return e.chart._getSortedVisibleDatasetMetas().filter(function (i) {\r\n return (\r\n (!t || i.type === t) && (n ? i.xAxisID === e.id : i.yAxisID === e.id)\r\n );\r\n });\r\n },\r\n });\r\n yn.prototype._draw = yn.prototype.draw;\r\n var xn = yn,\r\n _n = H.isNullOrUndef,\r\n wn = xn.extend({\r\n determineDataLimits: function () {\r\n var t,\r\n e = this,\r\n n = e._getLabels(),\r\n i = e.options.ticks,\r\n a = i.min,\r\n r = i.max,\r\n o = 0,\r\n s = n.length - 1;\r\n void 0 !== a && (t = n.indexOf(a)) >= 0 && (o = t),\r\n void 0 !== r && (t = n.indexOf(r)) >= 0 && (s = t),\r\n (e.minIndex = o),\r\n (e.maxIndex = s),\r\n (e.min = n[o]),\r\n (e.max = n[s]);\r\n },\r\n buildTicks: function () {\r\n var t = this._getLabels(),\r\n e = this.minIndex,\r\n n = this.maxIndex;\r\n this.ticks = 0 === e && n === t.length - 1 ? t : t.slice(e, n + 1);\r\n },\r\n getLabelForIndex: function (t, e) {\r\n var n = this.chart;\r\n return n.getDatasetMeta(e).controller._getValueScaleId() === this.id\r\n ? this.getRightValue(n.data.datasets[e].data[t])\r\n : this._getLabels()[t];\r\n },\r\n _configure: function () {\r\n var t = this,\r\n e = t.options.offset,\r\n n = t.ticks;\r\n xn.prototype._configure.call(t),\r\n t.isHorizontal() || (t._reversePixels = !t._reversePixels),\r\n n &&\r\n ((t._startValue = t.minIndex - (e ? 0.5 : 0)),\r\n (t._valueRange = Math.max(n.length - (e ? 0 : 1), 1)));\r\n },\r\n getPixelForValue: function (t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o = this;\r\n return (\r\n _n(e) || _n(n) || (t = o.chart.data.datasets[n].data[e]),\r\n _n(t) || (i = o.isHorizontal() ? t.x : t.y),\r\n (void 0 !== i || (void 0 !== t && isNaN(e))) &&\r\n ((a = o._getLabels()),\r\n (t = H.valueOrDefault(i, t)),\r\n (e = -1 !== (r = a.indexOf(t)) ? r : e),\r\n isNaN(e) && (e = t)),\r\n o.getPixelForDecimal((e - o._startValue) / o._valueRange)\r\n );\r\n },\r\n getPixelForTick: function (t) {\r\n var e = this.ticks;\r\n return t < 0 || t > e.length - 1\r\n ? null\r\n : this.getPixelForValue(e[t], t + this.minIndex);\r\n },\r\n getValueForPixel: function (t) {\r\n var e = Math.round(\r\n this._startValue + this.getDecimalForPixel(t) * this._valueRange\r\n );\r\n return Math.min(Math.max(e, 0), this.ticks.length - 1);\r\n },\r\n getBasePixel: function () {\r\n return this.bottom;\r\n },\r\n }),\r\n kn = { position: \"bottom\" };\r\n wn._defaults = kn;\r\n var Mn = H.noop,\r\n Sn = H.isNullOrUndef;\r\n var Dn = xn.extend({\r\n getRightValue: function (t) {\r\n return \"string\" == typeof t\r\n ? +t\r\n : xn.prototype.getRightValue.call(this, t);\r\n },\r\n handleTickRangeOptions: function () {\r\n var t = this,\r\n e = t.options.ticks;\r\n if (e.beginAtZero) {\r\n var n = H.sign(t.min),\r\n i = H.sign(t.max);\r\n n < 0 && i < 0 ? (t.max = 0) : n > 0 && i > 0 && (t.min = 0);\r\n }\r\n var a = void 0 !== e.min || void 0 !== e.suggestedMin,\r\n r = void 0 !== e.max || void 0 !== e.suggestedMax;\r\n void 0 !== e.min\r\n ? (t.min = e.min)\r\n : void 0 !== e.suggestedMin &&\r\n (null === t.min\r\n ? (t.min = e.suggestedMin)\r\n : (t.min = Math.min(t.min, e.suggestedMin))),\r\n void 0 !== e.max\r\n ? (t.max = e.max)\r\n : void 0 !== e.suggestedMax &&\r\n (null === t.max\r\n ? (t.max = e.suggestedMax)\r\n : (t.max = Math.max(t.max, e.suggestedMax))),\r\n a !== r &&\r\n t.min >= t.max &&\r\n (a ? (t.max = t.min + 1) : (t.min = t.max - 1)),\r\n t.min === t.max && (t.max++, e.beginAtZero || t.min--);\r\n },\r\n getTickLimit: function () {\r\n var t,\r\n e = this.options.ticks,\r\n n = e.stepSize,\r\n i = e.maxTicksLimit;\r\n return (\r\n n\r\n ? (t = Math.ceil(this.max / n) - Math.floor(this.min / n) + 1)\r\n : ((t = this._computeTickLimit()), (i = i || 11)),\r\n i && (t = Math.min(i, t)),\r\n t\r\n );\r\n },\r\n _computeTickLimit: function () {\r\n return Number.POSITIVE_INFINITY;\r\n },\r\n handleDirectionalChanges: Mn,\r\n buildTicks: function () {\r\n var t = this,\r\n e = t.options.ticks,\r\n n = t.getTickLimit(),\r\n i = {\r\n maxTicks: (n = Math.max(2, n)),\r\n min: e.min,\r\n max: e.max,\r\n precision: e.precision,\r\n stepSize: H.valueOrDefault(e.fixedStepSize, e.stepSize),\r\n },\r\n a = (t.ticks = (function (t, e) {\r\n var n,\r\n i,\r\n a,\r\n r,\r\n o = [],\r\n s = t.stepSize,\r\n l = s || 1,\r\n u = t.maxTicks - 1,\r\n d = t.min,\r\n h = t.max,\r\n c = t.precision,\r\n f = e.min,\r\n g = e.max,\r\n m = H.niceNum((g - f) / u / l) * l;\r\n if (m < 1e-14 && Sn(d) && Sn(h)) return [f, g];\r\n (r = Math.ceil(g / m) - Math.floor(f / m)) > u &&\r\n (m = H.niceNum((r * m) / u / l) * l),\r\n s || Sn(c)\r\n ? (n = Math.pow(10, H._decimalPlaces(m)))\r\n : ((n = Math.pow(10, c)), (m = Math.ceil(m * n) / n)),\r\n (i = Math.floor(f / m) * m),\r\n (a = Math.ceil(g / m) * m),\r\n s &&\r\n (!Sn(d) && H.almostWhole(d / m, m / 1e3) && (i = d),\r\n !Sn(h) && H.almostWhole(h / m, m / 1e3) && (a = h)),\r\n (r = (a - i) / m),\r\n (r = H.almostEquals(r, Math.round(r), m / 1e3)\r\n ? Math.round(r)\r\n : Math.ceil(r)),\r\n (i = Math.round(i * n) / n),\r\n (a = Math.round(a * n) / n),\r\n o.push(Sn(d) ? i : d);\r\n for (var p = 1; p < r; ++p) o.push(Math.round((i + p * m) * n) / n);\r\n return o.push(Sn(h) ? a : h), o;\r\n })(i, t));\r\n t.handleDirectionalChanges(),\r\n (t.max = H.max(a)),\r\n (t.min = H.min(a)),\r\n e.reverse\r\n ? (a.reverse(), (t.start = t.max), (t.end = t.min))\r\n : ((t.start = t.min), (t.end = t.max));\r\n },\r\n convertTicksToLabels: function () {\r\n var t = this;\r\n (t.ticksAsNumbers = t.ticks.slice()),\r\n (t.zeroLineIndex = t.ticks.indexOf(0)),\r\n xn.prototype.convertTicksToLabels.call(t);\r\n },\r\n _configure: function () {\r\n var t,\r\n e = this,\r\n n = e.getTicks(),\r\n i = e.min,\r\n a = e.max;\r\n xn.prototype._configure.call(e),\r\n e.options.offset &&\r\n n.length &&\r\n ((i -= t = (a - i) / Math.max(n.length - 1, 1) / 2), (a += t)),\r\n (e._startValue = i),\r\n (e._endValue = a),\r\n (e._valueRange = a - i);\r\n },\r\n }),\r\n Cn = { position: \"left\", ticks: { callback: on.formatters.linear } };\r\n function Pn(t, e, n, i) {\r\n var a,\r\n r,\r\n o = t.options,\r\n s = (function (t, e, n) {\r\n var i = [\r\n n.type,\r\n void 0 === e && void 0 === n.stack ? n.index : \"\",\r\n n.stack,\r\n ].join(\".\");\r\n return void 0 === t[i] && (t[i] = { pos: [], neg: [] }), t[i];\r\n })(e, o.stacked, n),\r\n l = s.pos,\r\n u = s.neg,\r\n d = i.length;\r\n for (a = 0; a < d; ++a)\r\n (r = t._parseValue(i[a])),\r\n isNaN(r.min) ||\r\n isNaN(r.max) ||\r\n n.data[a].hidden ||\r\n ((l[a] = l[a] || 0),\r\n (u[a] = u[a] || 0),\r\n o.relativePoints\r\n ? (l[a] = 100)\r\n : r.min < 0 || r.max < 0\r\n ? (u[a] += r.min)\r\n : (l[a] += r.max));\r\n }\r\n function Tn(t, e, n) {\r\n var i,\r\n a,\r\n r = n.length;\r\n for (i = 0; i < r; ++i)\r\n (a = t._parseValue(n[i])),\r\n isNaN(a.min) ||\r\n isNaN(a.max) ||\r\n e.data[i].hidden ||\r\n ((t.min = Math.min(t.min, a.min)), (t.max = Math.max(t.max, a.max)));\r\n }\r\n var On = Dn.extend({\r\n determineDataLimits: function () {\r\n var t,\r\n e,\r\n n,\r\n i,\r\n a = this,\r\n r = a.options,\r\n o = a.chart.data.datasets,\r\n s = a._getMatchingVisibleMetas(),\r\n l = r.stacked,\r\n u = {},\r\n d = s.length;\r\n if (\r\n ((a.min = Number.POSITIVE_INFINITY),\r\n (a.max = Number.NEGATIVE_INFINITY),\r\n void 0 === l)\r\n )\r\n for (t = 0; !l && t < d; ++t) l = void 0 !== (e = s[t]).stack;\r\n for (t = 0; t < d; ++t)\r\n (n = o[(e = s[t]).index].data), l ? Pn(a, u, e, n) : Tn(a, e, n);\r\n H.each(u, function (t) {\r\n (i = t.pos.concat(t.neg)),\r\n (a.min = Math.min(a.min, H.min(i))),\r\n (a.max = Math.max(a.max, H.max(i)));\r\n }),\r\n (a.min = H.isFinite(a.min) && !isNaN(a.min) ? a.min : 0),\r\n (a.max = H.isFinite(a.max) && !isNaN(a.max) ? a.max : 1),\r\n a.handleTickRangeOptions();\r\n },\r\n _computeTickLimit: function () {\r\n var t;\r\n return this.isHorizontal()\r\n ? Math.ceil(this.width / 40)\r\n : ((t = H.options._parseFont(this.options.ticks)),\r\n Math.ceil(this.height / t.lineHeight));\r\n },\r\n handleDirectionalChanges: function () {\r\n this.isHorizontal() || this.ticks.reverse();\r\n },\r\n getLabelForIndex: function (t, e) {\r\n return this._getScaleLabel(this.chart.data.datasets[e].data[t]);\r\n },\r\n getPixelForValue: function (t) {\r\n return this.getPixelForDecimal(\r\n (+this.getRightValue(t) - this._startValue) / this._valueRange\r\n );\r\n },\r\n getValueForPixel: function (t) {\r\n return this._startValue + this.getDecimalForPixel(t) * this._valueRange;\r\n },\r\n getPixelForTick: function (t) {\r\n var e = this.ticksAsNumbers;\r\n return t < 0 || t > e.length - 1 ? null : this.getPixelForValue(e[t]);\r\n },\r\n }),\r\n An = Cn;\r\n On._defaults = An;\r\n var Fn = H.valueOrDefault,\r\n In = H.math.log10;\r\n var Ln = { position: \"left\", ticks: { callback: on.formatters.logarithmic } };\r\n function Rn(t, e) {\r\n return H.isFinite(t) && t >= 0 ? t : e;\r\n }\r\n var Nn = xn.extend({\r\n determineDataLimits: function () {\r\n var t,\r\n e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o = this,\r\n s = o.options,\r\n l = o.chart,\r\n u = l.data.datasets,\r\n d = o.isHorizontal();\r\n function h(t) {\r\n return d ? t.xAxisID === o.id : t.yAxisID === o.id;\r\n }\r\n (o.min = Number.POSITIVE_INFINITY),\r\n (o.max = Number.NEGATIVE_INFINITY),\r\n (o.minNotZero = Number.POSITIVE_INFINITY);\r\n var c = s.stacked;\r\n if (void 0 === c)\r\n for (t = 0; t < u.length; t++)\r\n if (\r\n ((e = l.getDatasetMeta(t)),\r\n l.isDatasetVisible(t) && h(e) && void 0 !== e.stack)\r\n ) {\r\n c = !0;\r\n break;\r\n }\r\n if (s.stacked || c) {\r\n var f = {};\r\n for (t = 0; t < u.length; t++) {\r\n var g = [\r\n (e = l.getDatasetMeta(t)).type,\r\n void 0 === s.stacked && void 0 === e.stack ? t : \"\",\r\n e.stack,\r\n ].join(\".\");\r\n if (l.isDatasetVisible(t) && h(e))\r\n for (\r\n void 0 === f[g] && (f[g] = []),\r\n a = 0,\r\n r = (i = u[t].data).length;\r\n a < r;\r\n a++\r\n ) {\r\n var m = f[g];\r\n (n = o._parseValue(i[a])),\r\n isNaN(n.min) ||\r\n isNaN(n.max) ||\r\n e.data[a].hidden ||\r\n n.min < 0 ||\r\n n.max < 0 ||\r\n ((m[a] = m[a] || 0), (m[a] += n.max));\r\n }\r\n }\r\n H.each(f, function (t) {\r\n if (t.length > 0) {\r\n var e = H.min(t),\r\n n = H.max(t);\r\n (o.min = Math.min(o.min, e)), (o.max = Math.max(o.max, n));\r\n }\r\n });\r\n } else\r\n for (t = 0; t < u.length; t++)\r\n if (((e = l.getDatasetMeta(t)), l.isDatasetVisible(t) && h(e)))\r\n for (a = 0, r = (i = u[t].data).length; a < r; a++)\r\n (n = o._parseValue(i[a])),\r\n isNaN(n.min) ||\r\n isNaN(n.max) ||\r\n e.data[a].hidden ||\r\n n.min < 0 ||\r\n n.max < 0 ||\r\n ((o.min = Math.min(n.min, o.min)),\r\n (o.max = Math.max(n.max, o.max)),\r\n 0 !== n.min &&\r\n (o.minNotZero = Math.min(n.min, o.minNotZero)));\r\n (o.min = H.isFinite(o.min) ? o.min : null),\r\n (o.max = H.isFinite(o.max) ? o.max : null),\r\n (o.minNotZero = H.isFinite(o.minNotZero) ? o.minNotZero : null),\r\n this.handleTickRangeOptions();\r\n },\r\n handleTickRangeOptions: function () {\r\n var t = this,\r\n e = t.options.ticks;\r\n (t.min = Rn(e.min, t.min)),\r\n (t.max = Rn(e.max, t.max)),\r\n t.min === t.max &&\r\n (0 !== t.min && null !== t.min\r\n ? ((t.min = Math.pow(10, Math.floor(In(t.min)) - 1)),\r\n (t.max = Math.pow(10, Math.floor(In(t.max)) + 1)))\r\n : ((t.min = 1), (t.max = 10))),\r\n null === t.min && (t.min = Math.pow(10, Math.floor(In(t.max)) - 1)),\r\n null === t.max &&\r\n (t.max =\r\n 0 !== t.min ? Math.pow(10, Math.floor(In(t.min)) + 1) : 10),\r\n null === t.minNotZero &&\r\n (t.min > 0\r\n ? (t.minNotZero = t.min)\r\n : t.max < 1\r\n ? (t.minNotZero = Math.pow(10, Math.floor(In(t.max))))\r\n : (t.minNotZero = 1));\r\n },\r\n buildTicks: function () {\r\n var t = this,\r\n e = t.options.ticks,\r\n n = !t.isHorizontal(),\r\n i = { min: Rn(e.min), max: Rn(e.max) },\r\n a = (t.ticks = (function (t, e) {\r\n var n,\r\n i,\r\n a = [],\r\n r = Fn(t.min, Math.pow(10, Math.floor(In(e.min)))),\r\n o = Math.floor(In(e.max)),\r\n s = Math.ceil(e.max / Math.pow(10, o));\r\n 0 === r\r\n ? ((n = Math.floor(In(e.minNotZero))),\r\n (i = Math.floor(e.minNotZero / Math.pow(10, n))),\r\n a.push(r),\r\n (r = i * Math.pow(10, n)))\r\n : ((n = Math.floor(In(r))),\r\n (i = Math.floor(r / Math.pow(10, n))));\r\n var l = n < 0 ? Math.pow(10, Math.abs(n)) : 1;\r\n do {\r\n a.push(r),\r\n 10 === ++i && ((i = 1), (l = ++n >= 0 ? 1 : l)),\r\n (r = Math.round(i * Math.pow(10, n) * l) / l);\r\n } while (n < o || (n === o && i < s));\r\n var u = Fn(t.max, r);\r\n return a.push(u), a;\r\n })(i, t));\r\n (t.max = H.max(a)),\r\n (t.min = H.min(a)),\r\n e.reverse\r\n ? ((n = !n), (t.start = t.max), (t.end = t.min))\r\n : ((t.start = t.min), (t.end = t.max)),\r\n n && a.reverse();\r\n },\r\n convertTicksToLabels: function () {\r\n (this.tickValues = this.ticks.slice()),\r\n xn.prototype.convertTicksToLabels.call(this);\r\n },\r\n getLabelForIndex: function (t, e) {\r\n return this._getScaleLabel(this.chart.data.datasets[e].data[t]);\r\n },\r\n getPixelForTick: function (t) {\r\n var e = this.tickValues;\r\n return t < 0 || t > e.length - 1 ? null : this.getPixelForValue(e[t]);\r\n },\r\n _getFirstTickValue: function (t) {\r\n var e = Math.floor(In(t));\r\n return Math.floor(t / Math.pow(10, e)) * Math.pow(10, e);\r\n },\r\n _configure: function () {\r\n var t = this,\r\n e = t.min,\r\n n = 0;\r\n xn.prototype._configure.call(t),\r\n 0 === e &&\r\n ((e = t._getFirstTickValue(t.minNotZero)),\r\n (n =\r\n Fn(t.options.ticks.fontSize, W.global.defaultFontSize) /\r\n t._length)),\r\n (t._startValue = In(e)),\r\n (t._valueOffset = n),\r\n (t._valueRange = (In(t.max) - In(e)) / (1 - n));\r\n },\r\n getPixelForValue: function (t) {\r\n var e = this,\r\n n = 0;\r\n return (\r\n (t = +e.getRightValue(t)) > e.min &&\r\n t > 0 &&\r\n (n = (In(t) - e._startValue) / e._valueRange + e._valueOffset),\r\n e.getPixelForDecimal(n)\r\n );\r\n },\r\n getValueForPixel: function (t) {\r\n var e = this,\r\n n = e.getDecimalForPixel(t);\r\n return 0 === n && 0 === e.min\r\n ? 0\r\n : Math.pow(10, e._startValue + (n - e._valueOffset) * e._valueRange);\r\n },\r\n }),\r\n Wn = Ln;\r\n Nn._defaults = Wn;\r\n var Yn = H.valueOrDefault,\r\n zn = H.valueAtIndexOrDefault,\r\n En = H.options.resolve,\r\n Vn = {\r\n display: !0,\r\n animate: !0,\r\n position: \"chartArea\",\r\n angleLines: {\r\n display: !0,\r\n color: \"rgba(0,0,0,0.1)\",\r\n lineWidth: 1,\r\n borderDash: [],\r\n borderDashOffset: 0,\r\n },\r\n gridLines: { circular: !1 },\r\n ticks: {\r\n showLabelBackdrop: !0,\r\n backdropColor: \"rgba(255,255,255,0.75)\",\r\n backdropPaddingY: 2,\r\n backdropPaddingX: 2,\r\n callback: on.formatters.linear,\r\n },\r\n pointLabels: {\r\n display: !0,\r\n fontSize: 10,\r\n callback: function (t) {\r\n return t;\r\n },\r\n },\r\n };\r\n function Hn(t) {\r\n var e = t.ticks;\r\n return e.display && t.display\r\n ? Yn(e.fontSize, W.global.defaultFontSize) + 2 * e.backdropPaddingY\r\n : 0;\r\n }\r\n function Bn(t, e, n, i, a) {\r\n return t === i || t === a\r\n ? { start: e - n / 2, end: e + n / 2 }\r\n : t < i || t > a\r\n ? { start: e - n, end: e }\r\n : { start: e, end: e + n };\r\n }\r\n function jn(t) {\r\n return 0 === t || 180 === t ? \"center\" : t < 180 ? \"left\" : \"right\";\r\n }\r\n function Un(t, e, n, i) {\r\n var a,\r\n r,\r\n o = n.y + i / 2;\r\n if (H.isArray(e))\r\n for (a = 0, r = e.length; a < r; ++a) t.fillText(e[a], n.x, o), (o += i);\r\n else t.fillText(e, n.x, o);\r\n }\r\n function Gn(t, e, n) {\r\n 90 === t || 270 === t\r\n ? (n.y -= e.h / 2)\r\n : (t > 270 || t < 90) && (n.y -= e.h);\r\n }\r\n function qn(t) {\r\n return H.isNumber(t) ? t : 0;\r\n }\r\n var Zn = Dn.extend({\r\n setDimensions: function () {\r\n var t = this;\r\n (t.width = t.maxWidth),\r\n (t.height = t.maxHeight),\r\n (t.paddingTop = Hn(t.options) / 2),\r\n (t.xCenter = Math.floor(t.width / 2)),\r\n (t.yCenter = Math.floor((t.height - t.paddingTop) / 2)),\r\n (t.drawingArea = Math.min(t.height - t.paddingTop, t.width) / 2);\r\n },\r\n determineDataLimits: function () {\r\n var t = this,\r\n e = t.chart,\r\n n = Number.POSITIVE_INFINITY,\r\n i = Number.NEGATIVE_INFINITY;\r\n H.each(e.data.datasets, function (a, r) {\r\n if (e.isDatasetVisible(r)) {\r\n var o = e.getDatasetMeta(r);\r\n H.each(a.data, function (e, a) {\r\n var r = +t.getRightValue(e);\r\n isNaN(r) ||\r\n o.data[a].hidden ||\r\n ((n = Math.min(r, n)), (i = Math.max(r, i)));\r\n });\r\n }\r\n }),\r\n (t.min = n === Number.POSITIVE_INFINITY ? 0 : n),\r\n (t.max = i === Number.NEGATIVE_INFINITY ? 0 : i),\r\n t.handleTickRangeOptions();\r\n },\r\n _computeTickLimit: function () {\r\n return Math.ceil(this.drawingArea / Hn(this.options));\r\n },\r\n convertTicksToLabels: function () {\r\n var t = this;\r\n Dn.prototype.convertTicksToLabels.call(t),\r\n (t.pointLabels = t.chart.data.labels.map(function () {\r\n var e = H.callback(t.options.pointLabels.callback, arguments, t);\r\n return e || 0 === e ? e : \"\";\r\n }));\r\n },\r\n getLabelForIndex: function (t, e) {\r\n return +this.getRightValue(this.chart.data.datasets[e].data[t]);\r\n },\r\n fit: function () {\r\n var t = this.options;\r\n t.display && t.pointLabels.display\r\n ? (function (t) {\r\n var e,\r\n n,\r\n i,\r\n a = H.options._parseFont(t.options.pointLabels),\r\n r = { l: 0, r: t.width, t: 0, b: t.height - t.paddingTop },\r\n o = {};\r\n (t.ctx.font = a.string), (t._pointLabelSizes = []);\r\n var s,\r\n l,\r\n u,\r\n d = t.chart.data.labels.length;\r\n for (e = 0; e < d; e++) {\r\n (i = t.getPointPosition(e, t.drawingArea + 5)),\r\n (s = t.ctx),\r\n (l = a.lineHeight),\r\n (u = t.pointLabels[e]),\r\n (n = H.isArray(u)\r\n ? { w: H.longestText(s, s.font, u), h: u.length * l }\r\n : { w: s.measureText(u).width, h: l }),\r\n (t._pointLabelSizes[e] = n);\r\n var h = t.getIndexAngle(e),\r\n c = H.toDegrees(h) % 360,\r\n f = Bn(c, i.x, n.w, 0, 180),\r\n g = Bn(c, i.y, n.h, 90, 270);\r\n f.start < r.l && ((r.l = f.start), (o.l = h)),\r\n f.end > r.r && ((r.r = f.end), (o.r = h)),\r\n g.start < r.t && ((r.t = g.start), (o.t = h)),\r\n g.end > r.b && ((r.b = g.end), (o.b = h));\r\n }\r\n t.setReductions(t.drawingArea, r, o);\r\n })(this)\r\n : this.setCenterPoint(0, 0, 0, 0);\r\n },\r\n setReductions: function (t, e, n) {\r\n var i = this,\r\n a = e.l / Math.sin(n.l),\r\n r = Math.max(e.r - i.width, 0) / Math.sin(n.r),\r\n o = -e.t / Math.cos(n.t),\r\n s = -Math.max(e.b - (i.height - i.paddingTop), 0) / Math.cos(n.b);\r\n (a = qn(a)),\r\n (r = qn(r)),\r\n (o = qn(o)),\r\n (s = qn(s)),\r\n (i.drawingArea = Math.min(\r\n Math.floor(t - (a + r) / 2),\r\n Math.floor(t - (o + s) / 2)\r\n )),\r\n i.setCenterPoint(a, r, o, s);\r\n },\r\n setCenterPoint: function (t, e, n, i) {\r\n var a = this,\r\n r = a.width - e - a.drawingArea,\r\n o = t + a.drawingArea,\r\n s = n + a.drawingArea,\r\n l = a.height - a.paddingTop - i - a.drawingArea;\r\n (a.xCenter = Math.floor((o + r) / 2 + a.left)),\r\n (a.yCenter = Math.floor((s + l) / 2 + a.top + a.paddingTop));\r\n },\r\n getIndexAngle: function (t) {\r\n var e = this.chart,\r\n n =\r\n (t * (360 / e.data.labels.length) +\r\n ((e.options || {}).startAngle || 0)) %\r\n 360;\r\n return ((n < 0 ? n + 360 : n) * Math.PI * 2) / 360;\r\n },\r\n getDistanceFromCenterForValue: function (t) {\r\n var e = this;\r\n if (H.isNullOrUndef(t)) return NaN;\r\n var n = e.drawingArea / (e.max - e.min);\r\n return e.options.ticks.reverse ? (e.max - t) * n : (t - e.min) * n;\r\n },\r\n getPointPosition: function (t, e) {\r\n var n = this.getIndexAngle(t) - Math.PI / 2;\r\n return {\r\n x: Math.cos(n) * e + this.xCenter,\r\n y: Math.sin(n) * e + this.yCenter,\r\n };\r\n },\r\n getPointPositionForValue: function (t, e) {\r\n return this.getPointPosition(t, this.getDistanceFromCenterForValue(e));\r\n },\r\n getBasePosition: function (t) {\r\n var e = this.min,\r\n n = this.max;\r\n return this.getPointPositionForValue(\r\n t || 0,\r\n this.beginAtZero ? 0 : e < 0 && n < 0 ? n : e > 0 && n > 0 ? e : 0\r\n );\r\n },\r\n _drawGrid: function () {\r\n var t,\r\n e,\r\n n,\r\n i = this,\r\n a = i.ctx,\r\n r = i.options,\r\n o = r.gridLines,\r\n s = r.angleLines,\r\n l = Yn(s.lineWidth, o.lineWidth),\r\n u = Yn(s.color, o.color);\r\n if (\r\n (r.pointLabels.display &&\r\n (function (t) {\r\n var e = t.ctx,\r\n n = t.options,\r\n i = n.pointLabels,\r\n a = Hn(n),\r\n r = t.getDistanceFromCenterForValue(\r\n n.ticks.reverse ? t.min : t.max\r\n ),\r\n o = H.options._parseFont(i);\r\n e.save(), (e.font = o.string), (e.textBaseline = \"middle\");\r\n for (var s = t.chart.data.labels.length - 1; s >= 0; s--) {\r\n var l = 0 === s ? a / 2 : 0,\r\n u = t.getPointPosition(s, r + l + 5),\r\n d = zn(i.fontColor, s, W.global.defaultFontColor);\r\n e.fillStyle = d;\r\n var h = t.getIndexAngle(s),\r\n c = H.toDegrees(h);\r\n (e.textAlign = jn(c)),\r\n Gn(c, t._pointLabelSizes[s], u),\r\n Un(e, t.pointLabels[s], u, o.lineHeight);\r\n }\r\n e.restore();\r\n })(i),\r\n o.display &&\r\n H.each(i.ticks, function (t, n) {\r\n 0 !== n &&\r\n ((e = i.getDistanceFromCenterForValue(i.ticksAsNumbers[n])),\r\n (function (t, e, n, i) {\r\n var a,\r\n r = t.ctx,\r\n o = e.circular,\r\n s = t.chart.data.labels.length,\r\n l = zn(e.color, i - 1),\r\n u = zn(e.lineWidth, i - 1);\r\n if ((o || s) && l && u) {\r\n if (\r\n (r.save(),\r\n (r.strokeStyle = l),\r\n (r.lineWidth = u),\r\n r.setLineDash &&\r\n (r.setLineDash(e.borderDash || []),\r\n (r.lineDashOffset = e.borderDashOffset || 0)),\r\n r.beginPath(),\r\n o)\r\n )\r\n r.arc(t.xCenter, t.yCenter, n, 0, 2 * Math.PI);\r\n else {\r\n (a = t.getPointPosition(0, n)), r.moveTo(a.x, a.y);\r\n for (var d = 1; d < s; d++)\r\n (a = t.getPointPosition(d, n)), r.lineTo(a.x, a.y);\r\n }\r\n r.closePath(), r.stroke(), r.restore();\r\n }\r\n })(i, o, e, n));\r\n }),\r\n s.display && l && u)\r\n ) {\r\n for (\r\n a.save(),\r\n a.lineWidth = l,\r\n a.strokeStyle = u,\r\n a.setLineDash &&\r\n (a.setLineDash(En([s.borderDash, o.borderDash, []])),\r\n (a.lineDashOffset = En([\r\n s.borderDashOffset,\r\n o.borderDashOffset,\r\n 0,\r\n ]))),\r\n t = i.chart.data.labels.length - 1;\r\n t >= 0;\r\n t--\r\n )\r\n (e = i.getDistanceFromCenterForValue(\r\n r.ticks.reverse ? i.min : i.max\r\n )),\r\n (n = i.getPointPosition(t, e)),\r\n a.beginPath(),\r\n a.moveTo(i.xCenter, i.yCenter),\r\n a.lineTo(n.x, n.y),\r\n a.stroke();\r\n a.restore();\r\n }\r\n },\r\n _drawLabels: function () {\r\n var t = this,\r\n e = t.ctx,\r\n n = t.options.ticks;\r\n if (n.display) {\r\n var i,\r\n a,\r\n r = t.getIndexAngle(0),\r\n o = H.options._parseFont(n),\r\n s = Yn(n.fontColor, W.global.defaultFontColor);\r\n e.save(),\r\n (e.font = o.string),\r\n e.translate(t.xCenter, t.yCenter),\r\n e.rotate(r),\r\n (e.textAlign = \"center\"),\r\n (e.textBaseline = \"middle\"),\r\n H.each(t.ticks, function (r, l) {\r\n (0 !== l || n.reverse) &&\r\n ((i = t.getDistanceFromCenterForValue(t.ticksAsNumbers[l])),\r\n n.showLabelBackdrop &&\r\n ((a = e.measureText(r).width),\r\n (e.fillStyle = n.backdropColor),\r\n e.fillRect(\r\n -a / 2 - n.backdropPaddingX,\r\n -i - o.size / 2 - n.backdropPaddingY,\r\n a + 2 * n.backdropPaddingX,\r\n o.size + 2 * n.backdropPaddingY\r\n )),\r\n (e.fillStyle = s),\r\n e.fillText(r, 0, -i));\r\n }),\r\n e.restore();\r\n }\r\n },\r\n _drawTitle: H.noop,\r\n }),\r\n $n = Vn;\r\n Zn._defaults = $n;\r\n var Xn = H._deprecated,\r\n Kn = H.options.resolve,\r\n Jn = H.valueOrDefault,\r\n Qn = Number.MIN_SAFE_INTEGER || -9007199254740991,\r\n ti = Number.MAX_SAFE_INTEGER || 9007199254740991,\r\n ei = {\r\n millisecond: { common: !0, size: 1, steps: 1e3 },\r\n second: { common: !0, size: 1e3, steps: 60 },\r\n minute: { common: !0, size: 6e4, steps: 60 },\r\n hour: { common: !0, size: 36e5, steps: 24 },\r\n day: { common: !0, size: 864e5, steps: 30 },\r\n week: { common: !1, size: 6048e5, steps: 4 },\r\n month: { common: !0, size: 2628e6, steps: 12 },\r\n quarter: { common: !1, size: 7884e6, steps: 4 },\r\n year: { common: !0, size: 3154e7 },\r\n },\r\n ni = Object.keys(ei);\r\n function ii(t, e) {\r\n return t - e;\r\n }\r\n function ai(t) {\r\n return H.valueOrDefault(t.time.min, t.ticks.min);\r\n }\r\n function ri(t) {\r\n return H.valueOrDefault(t.time.max, t.ticks.max);\r\n }\r\n function oi(t, e, n, i) {\r\n var a = (function (t, e, n) {\r\n for (var i, a, r, o = 0, s = t.length - 1; o >= 0 && o <= s; ) {\r\n if (((a = t[(i = (o + s) >> 1) - 1] || null), (r = t[i]), !a))\r\n return { lo: null, hi: r };\r\n if (r[e] < n) o = i + 1;\r\n else {\r\n if (!(a[e] > n)) return { lo: a, hi: r };\r\n s = i - 1;\r\n }\r\n }\r\n return { lo: r, hi: null };\r\n })(t, e, n),\r\n r = a.lo ? (a.hi ? a.lo : t[t.length - 2]) : t[0],\r\n o = a.lo ? (a.hi ? a.hi : t[t.length - 1]) : t[1],\r\n s = o[e] - r[e],\r\n l = s ? (n - r[e]) / s : 0,\r\n u = (o[i] - r[i]) * l;\r\n return r[i] + u;\r\n }\r\n function si(t, e) {\r\n var n = t._adapter,\r\n i = t.options.time,\r\n a = i.parser,\r\n r = a || i.format,\r\n o = e;\r\n return (\r\n \"function\" == typeof a && (o = a(o)),\r\n H.isFinite(o) || (o = \"string\" == typeof r ? n.parse(o, r) : n.parse(o)),\r\n null !== o\r\n ? +o\r\n : (a ||\r\n \"function\" != typeof r ||\r\n ((o = r(e)), H.isFinite(o) || (o = n.parse(o))),\r\n o)\r\n );\r\n }\r\n function li(t, e) {\r\n if (H.isNullOrUndef(e)) return null;\r\n var n = t.options.time,\r\n i = si(t, t.getRightValue(e));\r\n return null === i\r\n ? i\r\n : (n.round && (i = +t._adapter.startOf(i, n.round)), i);\r\n }\r\n function ui(t, e, n, i) {\r\n var a,\r\n r,\r\n o,\r\n s = ni.length;\r\n for (a = ni.indexOf(t); a < s - 1; ++a)\r\n if (\r\n ((o = (r = ei[ni[a]]).steps ? r.steps : ti),\r\n r.common && Math.ceil((n - e) / (o * r.size)) <= i)\r\n )\r\n return ni[a];\r\n return ni[s - 1];\r\n }\r\n function di(t, e, n) {\r\n var i,\r\n a,\r\n r = [],\r\n o = {},\r\n s = e.length;\r\n for (i = 0; i < s; ++i)\r\n (o[(a = e[i])] = i), r.push({ value: a, major: !1 });\r\n return 0 !== s && n\r\n ? (function (t, e, n, i) {\r\n var a,\r\n r,\r\n o = t._adapter,\r\n s = +o.startOf(e[0].value, i),\r\n l = e[e.length - 1].value;\r\n for (a = s; a <= l; a = +o.add(a, 1, i))\r\n (r = n[a]) >= 0 && (e[r].major = !0);\r\n return e;\r\n })(t, r, o, n)\r\n : r;\r\n }\r\n var hi = xn.extend({\r\n initialize: function () {\r\n this.mergeTicksOptions(), xn.prototype.initialize.call(this);\r\n },\r\n update: function () {\r\n var t = this,\r\n e = t.options,\r\n n = e.time || (e.time = {}),\r\n i = (t._adapter = new rn._date(e.adapters.date));\r\n return (\r\n Xn(\"time scale\", n.format, \"time.format\", \"time.parser\"),\r\n Xn(\"time scale\", n.min, \"time.min\", \"ticks.min\"),\r\n Xn(\"time scale\", n.max, \"time.max\", \"ticks.max\"),\r\n H.mergeIf(n.displayFormats, i.formats()),\r\n xn.prototype.update.apply(t, arguments)\r\n );\r\n },\r\n getRightValue: function (t) {\r\n return (\r\n t && void 0 !== t.t && (t = t.t),\r\n xn.prototype.getRightValue.call(this, t)\r\n );\r\n },\r\n determineDataLimits: function () {\r\n var t,\r\n e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s = this,\r\n l = s.chart,\r\n u = s._adapter,\r\n d = s.options,\r\n h = d.time.unit || \"day\",\r\n c = ti,\r\n f = Qn,\r\n g = [],\r\n m = [],\r\n p = [],\r\n v = s._getLabels();\r\n for (t = 0, n = v.length; t < n; ++t) p.push(li(s, v[t]));\r\n for (t = 0, n = (l.data.datasets || []).length; t < n; ++t)\r\n if (l.isDatasetVisible(t))\r\n if (((a = l.data.datasets[t].data), H.isObject(a[0])))\r\n for (m[t] = [], e = 0, i = a.length; e < i; ++e)\r\n (r = li(s, a[e])), g.push(r), (m[t][e] = r);\r\n else (m[t] = p.slice(0)), o || ((g = g.concat(p)), (o = !0));\r\n else m[t] = [];\r\n p.length &&\r\n ((c = Math.min(c, p[0])), (f = Math.max(f, p[p.length - 1]))),\r\n g.length &&\r\n ((g =\r\n n > 1\r\n ? (function (t) {\r\n var e,\r\n n,\r\n i,\r\n a = {},\r\n r = [];\r\n for (e = 0, n = t.length; e < n; ++e)\r\n a[(i = t[e])] || ((a[i] = !0), r.push(i));\r\n return r;\r\n })(g).sort(ii)\r\n : g.sort(ii)),\r\n (c = Math.min(c, g[0])),\r\n (f = Math.max(f, g[g.length - 1]))),\r\n (c = li(s, ai(d)) || c),\r\n (f = li(s, ri(d)) || f),\r\n (c = c === ti ? +u.startOf(Date.now(), h) : c),\r\n (f = f === Qn ? +u.endOf(Date.now(), h) + 1 : f),\r\n (s.min = Math.min(c, f)),\r\n (s.max = Math.max(c + 1, f)),\r\n (s._table = []),\r\n (s._timestamps = { data: g, datasets: m, labels: p });\r\n },\r\n buildTicks: function () {\r\n var t,\r\n e,\r\n n,\r\n i = this,\r\n a = i.min,\r\n r = i.max,\r\n o = i.options,\r\n s = o.ticks,\r\n l = o.time,\r\n u = i._timestamps,\r\n d = [],\r\n h = i.getLabelCapacity(a),\r\n c = s.source,\r\n f = o.distribution;\r\n for (\r\n u =\r\n \"data\" === c || (\"auto\" === c && \"series\" === f)\r\n ? u.data\r\n : \"labels\" === c\r\n ? u.labels\r\n : (function (t, e, n, i) {\r\n var a,\r\n r = t._adapter,\r\n o = t.options,\r\n s = o.time,\r\n l = s.unit || ui(s.minUnit, e, n, i),\r\n u = Kn([s.stepSize, s.unitStepSize, 1]),\r\n d = \"week\" === l && s.isoWeekday,\r\n h = e,\r\n c = [];\r\n if (\r\n (d && (h = +r.startOf(h, \"isoWeek\", d)),\r\n (h = +r.startOf(h, d ? \"day\" : l)),\r\n r.diff(n, e, l) > 1e5 * u)\r\n )\r\n throw (\r\n e +\r\n \" and \" +\r\n n +\r\n \" are too far apart with stepSize of \" +\r\n u +\r\n \" \" +\r\n l\r\n );\r\n for (a = h; a < n; a = +r.add(a, u, l)) c.push(a);\r\n return (a !== n && \"ticks\" !== o.bounds) || c.push(a), c;\r\n })(i, a, r, h),\r\n \"ticks\" === o.bounds &&\r\n u.length &&\r\n ((a = u[0]), (r = u[u.length - 1])),\r\n a = li(i, ai(o)) || a,\r\n r = li(i, ri(o)) || r,\r\n t = 0,\r\n e = u.length;\r\n t < e;\r\n ++t\r\n )\r\n (n = u[t]) >= a && n <= r && d.push(n);\r\n return (\r\n (i.min = a),\r\n (i.max = r),\r\n (i._unit =\r\n l.unit ||\r\n (s.autoSkip\r\n ? ui(l.minUnit, i.min, i.max, h)\r\n : (function (t, e, n, i, a) {\r\n var r, o;\r\n for (r = ni.length - 1; r >= ni.indexOf(n); r--)\r\n if (\r\n ((o = ni[r]),\r\n ei[o].common && t._adapter.diff(a, i, o) >= e - 1)\r\n )\r\n return o;\r\n return ni[n ? ni.indexOf(n) : 0];\r\n })(i, d.length, l.minUnit, i.min, i.max))),\r\n (i._majorUnit =\r\n s.major.enabled && \"year\" !== i._unit\r\n ? (function (t) {\r\n for (var e = ni.indexOf(t) + 1, n = ni.length; e < n; ++e)\r\n if (ei[ni[e]].common) return ni[e];\r\n })(i._unit)\r\n : void 0),\r\n (i._table = (function (t, e, n, i) {\r\n if (\"linear\" === i || !t.length)\r\n return [\r\n { time: e, pos: 0 },\r\n { time: n, pos: 1 },\r\n ];\r\n var a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u = [],\r\n d = [e];\r\n for (a = 0, r = t.length; a < r; ++a)\r\n (s = t[a]) > e && s < n && d.push(s);\r\n for (d.push(n), a = 0, r = d.length; a < r; ++a)\r\n (l = d[a + 1]),\r\n (o = d[a - 1]),\r\n (s = d[a]),\r\n (void 0 !== o &&\r\n void 0 !== l &&\r\n Math.round((l + o) / 2) === s) ||\r\n u.push({ time: s, pos: a / (r - 1) });\r\n return u;\r\n })(i._timestamps.data, a, r, f)),\r\n (i._offsets = (function (t, e, n, i, a) {\r\n var r,\r\n o,\r\n s = 0,\r\n l = 0;\r\n return (\r\n a.offset &&\r\n e.length &&\r\n ((r = oi(t, \"time\", e[0], \"pos\")),\r\n (s =\r\n 1 === e.length\r\n ? 1 - r\r\n : (oi(t, \"time\", e[1], \"pos\") - r) / 2),\r\n (o = oi(t, \"time\", e[e.length - 1], \"pos\")),\r\n (l =\r\n 1 === e.length\r\n ? o\r\n : (o - oi(t, \"time\", e[e.length - 2], \"pos\")) / 2)),\r\n { start: s, end: l, factor: 1 / (s + 1 + l) }\r\n );\r\n })(i._table, d, 0, 0, o)),\r\n s.reverse && d.reverse(),\r\n di(i, d, i._majorUnit)\r\n );\r\n },\r\n getLabelForIndex: function (t, e) {\r\n var n = this,\r\n i = n._adapter,\r\n a = n.chart.data,\r\n r = n.options.time,\r\n o = a.labels && t < a.labels.length ? a.labels[t] : \"\",\r\n s = a.datasets[e].data[t];\r\n return (\r\n H.isObject(s) && (o = n.getRightValue(s)),\r\n r.tooltipFormat\r\n ? i.format(si(n, o), r.tooltipFormat)\r\n : \"string\" == typeof o\r\n ? o\r\n : i.format(si(n, o), r.displayFormats.datetime)\r\n );\r\n },\r\n tickFormatFunction: function (t, e, n, i) {\r\n var a = this._adapter,\r\n r = this.options,\r\n o = r.time.displayFormats,\r\n s = o[this._unit],\r\n l = this._majorUnit,\r\n u = o[l],\r\n d = n[e],\r\n h = r.ticks,\r\n c = l && u && d && d.major,\r\n f = a.format(t, i || (c ? u : s)),\r\n g = c ? h.major : h.minor,\r\n m = Kn([g.callback, g.userCallback, h.callback, h.userCallback]);\r\n return m ? m(f, e, n) : f;\r\n },\r\n convertTicksToLabels: function (t) {\r\n var e,\r\n n,\r\n i = [];\r\n for (e = 0, n = t.length; e < n; ++e)\r\n i.push(this.tickFormatFunction(t[e].value, e, t));\r\n return i;\r\n },\r\n getPixelForOffset: function (t) {\r\n var e = this._offsets,\r\n n = oi(this._table, \"time\", t, \"pos\");\r\n return this.getPixelForDecimal((e.start + n) * e.factor);\r\n },\r\n getPixelForValue: function (t, e, n) {\r\n var i = null;\r\n if (\r\n (void 0 !== e &&\r\n void 0 !== n &&\r\n (i = this._timestamps.datasets[n][e]),\r\n null === i && (i = li(this, t)),\r\n null !== i)\r\n )\r\n return this.getPixelForOffset(i);\r\n },\r\n getPixelForTick: function (t) {\r\n var e = this.getTicks();\r\n return t >= 0 && t < e.length\r\n ? this.getPixelForOffset(e[t].value)\r\n : null;\r\n },\r\n getValueForPixel: function (t) {\r\n var e = this._offsets,\r\n n = this.getDecimalForPixel(t) / e.factor - e.end,\r\n i = oi(this._table, \"pos\", n, \"time\");\r\n return this._adapter._create(i);\r\n },\r\n _getLabelSize: function (t) {\r\n var e = this.options.ticks,\r\n n = this.ctx.measureText(t).width,\r\n i = H.toRadians(this.isHorizontal() ? e.maxRotation : e.minRotation),\r\n a = Math.cos(i),\r\n r = Math.sin(i),\r\n o = Jn(e.fontSize, W.global.defaultFontSize);\r\n return { w: n * a + o * r, h: n * r + o * a };\r\n },\r\n getLabelWidth: function (t) {\r\n return this._getLabelSize(t).w;\r\n },\r\n getLabelCapacity: function (t) {\r\n var e = this,\r\n n = e.options.time,\r\n i = n.displayFormats,\r\n a = i[n.unit] || i.millisecond,\r\n r = e.tickFormatFunction(t, 0, di(e, [t], e._majorUnit), a),\r\n o = e._getLabelSize(r),\r\n s = Math.floor(e.isHorizontal() ? e.width / o.w : e.height / o.h);\r\n return e.options.offset && s--, s > 0 ? s : 1;\r\n },\r\n }),\r\n ci = {\r\n position: \"bottom\",\r\n distribution: \"linear\",\r\n bounds: \"data\",\r\n adapters: {},\r\n time: {\r\n parser: !1,\r\n unit: !1,\r\n round: !1,\r\n displayFormat: !1,\r\n isoWeekday: !1,\r\n minUnit: \"millisecond\",\r\n displayFormats: {},\r\n },\r\n ticks: { autoSkip: !1, source: \"auto\", major: { enabled: !1 } },\r\n };\r\n hi._defaults = ci;\r\n var fi = {\r\n category: wn,\r\n linear: On,\r\n logarithmic: Nn,\r\n radialLinear: Zn,\r\n time: hi,\r\n },\r\n gi = e(function (e, n) {\r\n e.exports = (function () {\r\n var n, i;\r\n function a() {\r\n return n.apply(null, arguments);\r\n }\r\n function r(t) {\r\n return (\r\n t instanceof Array ||\r\n \"[object Array]\" === Object.prototype.toString.call(t)\r\n );\r\n }\r\n function o(t) {\r\n return (\r\n null != t && \"[object Object]\" === Object.prototype.toString.call(t)\r\n );\r\n }\r\n function s(t) {\r\n return void 0 === t;\r\n }\r\n function l(t) {\r\n return (\r\n \"number\" == typeof t ||\r\n \"[object Number]\" === Object.prototype.toString.call(t)\r\n );\r\n }\r\n function u(t) {\r\n return (\r\n t instanceof Date ||\r\n \"[object Date]\" === Object.prototype.toString.call(t)\r\n );\r\n }\r\n function d(t, e) {\r\n var n,\r\n i = [];\r\n for (n = 0; n < t.length; ++n) i.push(e(t[n], n));\r\n return i;\r\n }\r\n function h(t, e) {\r\n return Object.prototype.hasOwnProperty.call(t, e);\r\n }\r\n function c(t, e) {\r\n for (var n in e) h(e, n) && (t[n] = e[n]);\r\n return (\r\n h(e, \"toString\") && (t.toString = e.toString),\r\n h(e, \"valueOf\") && (t.valueOf = e.valueOf),\r\n t\r\n );\r\n }\r\n function f(t, e, n, i) {\r\n return Ie(t, e, n, i, !0).utc();\r\n }\r\n function g(t) {\r\n return (\r\n null == t._pf &&\r\n (t._pf = {\r\n empty: !1,\r\n unusedTokens: [],\r\n unusedInput: [],\r\n overflow: -2,\r\n charsLeftOver: 0,\r\n nullInput: !1,\r\n invalidMonth: null,\r\n invalidFormat: !1,\r\n userInvalidated: !1,\r\n iso: !1,\r\n parsedDateParts: [],\r\n meridiem: null,\r\n rfc2822: !1,\r\n weekdayMismatch: !1,\r\n }),\r\n t._pf\r\n );\r\n }\r\n function m(t) {\r\n if (null == t._isValid) {\r\n var e = g(t),\r\n n = i.call(e.parsedDateParts, function (t) {\r\n return null != t;\r\n }),\r\n a =\r\n !isNaN(t._d.getTime()) &&\r\n e.overflow < 0 &&\r\n !e.empty &&\r\n !e.invalidMonth &&\r\n !e.invalidWeekday &&\r\n !e.weekdayMismatch &&\r\n !e.nullInput &&\r\n !e.invalidFormat &&\r\n !e.userInvalidated &&\r\n (!e.meridiem || (e.meridiem && n));\r\n if (\r\n (t._strict &&\r\n (a =\r\n a &&\r\n 0 === e.charsLeftOver &&\r\n 0 === e.unusedTokens.length &&\r\n void 0 === e.bigHour),\r\n null != Object.isFrozen && Object.isFrozen(t))\r\n )\r\n return a;\r\n t._isValid = a;\r\n }\r\n return t._isValid;\r\n }\r\n function p(t) {\r\n var e = f(NaN);\r\n return null != t ? c(g(e), t) : (g(e).userInvalidated = !0), e;\r\n }\r\n i = Array.prototype.some\r\n ? Array.prototype.some\r\n : function (t) {\r\n for (var e = Object(this), n = e.length >>> 0, i = 0; i < n; i++)\r\n if (i in e && t.call(this, e[i], i, e)) return !0;\r\n return !1;\r\n };\r\n var v = (a.momentProperties = []);\r\n function b(t, e) {\r\n var n, i, a;\r\n if (\r\n (s(e._isAMomentObject) || (t._isAMomentObject = e._isAMomentObject),\r\n s(e._i) || (t._i = e._i),\r\n s(e._f) || (t._f = e._f),\r\n s(e._l) || (t._l = e._l),\r\n s(e._strict) || (t._strict = e._strict),\r\n s(e._tzm) || (t._tzm = e._tzm),\r\n s(e._isUTC) || (t._isUTC = e._isUTC),\r\n s(e._offset) || (t._offset = e._offset),\r\n s(e._pf) || (t._pf = g(e)),\r\n s(e._locale) || (t._locale = e._locale),\r\n v.length > 0)\r\n )\r\n for (n = 0; n < v.length; n++) s((a = e[(i = v[n])])) || (t[i] = a);\r\n return t;\r\n }\r\n var y = !1;\r\n function x(t) {\r\n b(this, t),\r\n (this._d = new Date(null != t._d ? t._d.getTime() : NaN)),\r\n this.isValid() || (this._d = new Date(NaN)),\r\n !1 === y && ((y = !0), a.updateOffset(this), (y = !1));\r\n }\r\n function _(t) {\r\n return t instanceof x || (null != t && null != t._isAMomentObject);\r\n }\r\n function w(t) {\r\n return t < 0 ? Math.ceil(t) || 0 : Math.floor(t);\r\n }\r\n function k(t) {\r\n var e = +t,\r\n n = 0;\r\n return 0 !== e && isFinite(e) && (n = w(e)), n;\r\n }\r\n function M(t, e, n) {\r\n var i,\r\n a = Math.min(t.length, e.length),\r\n r = Math.abs(t.length - e.length),\r\n o = 0;\r\n for (i = 0; i < a; i++)\r\n ((n && t[i] !== e[i]) || (!n && k(t[i]) !== k(e[i]))) && o++;\r\n return o + r;\r\n }\r\n function S(t) {\r\n !1 === a.suppressDeprecationWarnings &&\r\n \"undefined\" != typeof console &&\r\n console.warn &&\r\n console.warn(\"Deprecation warning: \" + t);\r\n }\r\n function D(t, e) {\r\n var n = !0;\r\n return c(function () {\r\n if (\r\n (null != a.deprecationHandler && a.deprecationHandler(null, t), n)\r\n ) {\r\n for (var i, r = [], o = 0; o < arguments.length; o++) {\r\n if (((i = \"\"), \"object\" == typeof arguments[o])) {\r\n for (var s in ((i += \"\\n[\" + o + \"] \"), arguments[0]))\r\n i += s + \": \" + arguments[0][s] + \", \";\r\n i = i.slice(0, -2);\r\n } else i = arguments[o];\r\n r.push(i);\r\n }\r\n S(\r\n t +\r\n \"\\nArguments: \" +\r\n Array.prototype.slice.call(r).join(\"\") +\r\n \"\\n\" +\r\n new Error().stack\r\n ),\r\n (n = !1);\r\n }\r\n return e.apply(this, arguments);\r\n }, e);\r\n }\r\n var C,\r\n P = {};\r\n function T(t, e) {\r\n null != a.deprecationHandler && a.deprecationHandler(t, e),\r\n P[t] || (S(e), (P[t] = !0));\r\n }\r\n function O(t) {\r\n return (\r\n t instanceof Function ||\r\n \"[object Function]\" === Object.prototype.toString.call(t)\r\n );\r\n }\r\n function A(t, e) {\r\n var n,\r\n i = c({}, t);\r\n for (n in e)\r\n h(e, n) &&\r\n (o(t[n]) && o(e[n])\r\n ? ((i[n] = {}), c(i[n], t[n]), c(i[n], e[n]))\r\n : null != e[n]\r\n ? (i[n] = e[n])\r\n : delete i[n]);\r\n for (n in t) h(t, n) && !h(e, n) && o(t[n]) && (i[n] = c({}, i[n]));\r\n return i;\r\n }\r\n function F(t) {\r\n null != t && this.set(t);\r\n }\r\n (a.suppressDeprecationWarnings = !1),\r\n (a.deprecationHandler = null),\r\n (C = Object.keys\r\n ? Object.keys\r\n : function (t) {\r\n var e,\r\n n = [];\r\n for (e in t) h(t, e) && n.push(e);\r\n return n;\r\n });\r\n var I = {};\r\n function L(t, e) {\r\n var n = t.toLowerCase();\r\n I[n] = I[n + \"s\"] = I[e] = t;\r\n }\r\n function R(t) {\r\n return \"string\" == typeof t ? I[t] || I[t.toLowerCase()] : void 0;\r\n }\r\n function N(t) {\r\n var e,\r\n n,\r\n i = {};\r\n for (n in t) h(t, n) && (e = R(n)) && (i[e] = t[n]);\r\n return i;\r\n }\r\n var W = {};\r\n function Y(t, e) {\r\n W[t] = e;\r\n }\r\n function z(t, e, n) {\r\n var i = \"\" + Math.abs(t),\r\n a = e - i.length;\r\n return (\r\n (t >= 0 ? (n ? \"+\" : \"\") : \"-\") +\r\n Math.pow(10, Math.max(0, a)).toString().substr(1) +\r\n i\r\n );\r\n }\r\n var E =\r\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\r\n V = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\r\n H = {},\r\n B = {};\r\n function j(t, e, n, i) {\r\n var a = i;\r\n \"string\" == typeof i &&\r\n (a = function () {\r\n return this[i]();\r\n }),\r\n t && (B[t] = a),\r\n e &&\r\n (B[e[0]] = function () {\r\n return z(a.apply(this, arguments), e[1], e[2]);\r\n }),\r\n n &&\r\n (B[n] = function () {\r\n return this.localeData().ordinal(a.apply(this, arguments), t);\r\n });\r\n }\r\n function U(t, e) {\r\n return t.isValid()\r\n ? ((e = G(e, t.localeData())),\r\n (H[e] =\r\n H[e] ||\r\n (function (t) {\r\n var e,\r\n n,\r\n i,\r\n a = t.match(E);\r\n for (e = 0, n = a.length; e < n; e++)\r\n B[a[e]]\r\n ? (a[e] = B[a[e]])\r\n : (a[e] = (i = a[e]).match(/\\[[\\s\\S]/)\r\n ? i.replace(/^\\[|\\]$/g, \"\")\r\n : i.replace(/\\\\/g, \"\"));\r\n return function (e) {\r\n var i,\r\n r = \"\";\r\n for (i = 0; i < n; i++)\r\n r += O(a[i]) ? a[i].call(e, t) : a[i];\r\n return r;\r\n };\r\n })(e)),\r\n H[e](t))\r\n : t.localeData().invalidDate();\r\n }\r\n function G(t, e) {\r\n var n = 5;\r\n function i(t) {\r\n return e.longDateFormat(t) || t;\r\n }\r\n for (V.lastIndex = 0; n >= 0 && V.test(t); )\r\n (t = t.replace(V, i)), (V.lastIndex = 0), (n -= 1);\r\n return t;\r\n }\r\n var q = /\\d/,\r\n Z = /\\d\\d/,\r\n $ = /\\d{3}/,\r\n X = /\\d{4}/,\r\n K = /[+-]?\\d{6}/,\r\n J = /\\d\\d?/,\r\n Q = /\\d\\d\\d\\d?/,\r\n tt = /\\d\\d\\d\\d\\d\\d?/,\r\n et = /\\d{1,3}/,\r\n nt = /\\d{1,4}/,\r\n it = /[+-]?\\d{1,6}/,\r\n at = /\\d+/,\r\n rt = /[+-]?\\d+/,\r\n ot = /Z|[+-]\\d\\d:?\\d\\d/gi,\r\n st = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi,\r\n lt =\r\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\r\n ut = {};\r\n function dt(t, e, n) {\r\n ut[t] = O(e)\r\n ? e\r\n : function (t, i) {\r\n return t && n ? n : e;\r\n };\r\n }\r\n function ht(t, e) {\r\n return h(ut, t)\r\n ? ut[t](e._strict, e._locale)\r\n : new RegExp(\r\n ct(\r\n t\r\n .replace(\"\\\\\", \"\")\r\n .replace(\r\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\r\n function (t, e, n, i, a) {\r\n return e || n || i || a;\r\n }\r\n )\r\n )\r\n );\r\n }\r\n function ct(t) {\r\n return t.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\r\n }\r\n var ft = {};\r\n function gt(t, e) {\r\n var n,\r\n i = e;\r\n for (\r\n \"string\" == typeof t && (t = [t]),\r\n l(e) &&\r\n (i = function (t, n) {\r\n n[e] = k(t);\r\n }),\r\n n = 0;\r\n n < t.length;\r\n n++\r\n )\r\n ft[t[n]] = i;\r\n }\r\n function mt(t, e) {\r\n gt(t, function (t, n, i, a) {\r\n (i._w = i._w || {}), e(t, i._w, i, a);\r\n });\r\n }\r\n function pt(t, e, n) {\r\n null != e && h(ft, t) && ft[t](e, n._a, n, t);\r\n }\r\n var vt = 0,\r\n bt = 1,\r\n yt = 2,\r\n xt = 3,\r\n _t = 4,\r\n wt = 5,\r\n kt = 6,\r\n Mt = 7,\r\n St = 8;\r\n function Dt(t) {\r\n return Ct(t) ? 366 : 365;\r\n }\r\n function Ct(t) {\r\n return (t % 4 == 0 && t % 100 != 0) || t % 400 == 0;\r\n }\r\n j(\"Y\", 0, 0, function () {\r\n var t = this.year();\r\n return t <= 9999 ? \"\" + t : \"+\" + t;\r\n }),\r\n j(0, [\"YY\", 2], 0, function () {\r\n return this.year() % 100;\r\n }),\r\n j(0, [\"YYYY\", 4], 0, \"year\"),\r\n j(0, [\"YYYYY\", 5], 0, \"year\"),\r\n j(0, [\"YYYYYY\", 6, !0], 0, \"year\"),\r\n L(\"year\", \"y\"),\r\n Y(\"year\", 1),\r\n dt(\"Y\", rt),\r\n dt(\"YY\", J, Z),\r\n dt(\"YYYY\", nt, X),\r\n dt(\"YYYYY\", it, K),\r\n dt(\"YYYYYY\", it, K),\r\n gt([\"YYYYY\", \"YYYYYY\"], vt),\r\n gt(\"YYYY\", function (t, e) {\r\n e[vt] = 2 === t.length ? a.parseTwoDigitYear(t) : k(t);\r\n }),\r\n gt(\"YY\", function (t, e) {\r\n e[vt] = a.parseTwoDigitYear(t);\r\n }),\r\n gt(\"Y\", function (t, e) {\r\n e[vt] = parseInt(t, 10);\r\n }),\r\n (a.parseTwoDigitYear = function (t) {\r\n return k(t) + (k(t) > 68 ? 1900 : 2e3);\r\n });\r\n var Pt,\r\n Tt = Ot(\"FullYear\", !0);\r\n function Ot(t, e) {\r\n return function (n) {\r\n return null != n\r\n ? (Ft(this, t, n), a.updateOffset(this, e), this)\r\n : At(this, t);\r\n };\r\n }\r\n function At(t, e) {\r\n return t.isValid()\r\n ? t._d[\"get\" + (t._isUTC ? \"UTC\" : \"\") + e]()\r\n : NaN;\r\n }\r\n function Ft(t, e, n) {\r\n t.isValid() &&\r\n !isNaN(n) &&\r\n (\"FullYear\" === e &&\r\n Ct(t.year()) &&\r\n 1 === t.month() &&\r\n 29 === t.date()\r\n ? t._d[\"set\" + (t._isUTC ? \"UTC\" : \"\") + e](\r\n n,\r\n t.month(),\r\n It(n, t.month())\r\n )\r\n : t._d[\"set\" + (t._isUTC ? \"UTC\" : \"\") + e](n));\r\n }\r\n function It(t, e) {\r\n if (isNaN(t) || isNaN(e)) return NaN;\r\n var n = (function (t, e) {\r\n return ((t % e) + e) % e;\r\n })(e, 12);\r\n return (\r\n (t += (e - n) / 12),\r\n 1 === n ? (Ct(t) ? 29 : 28) : 31 - ((n % 7) % 2)\r\n );\r\n }\r\n (Pt = Array.prototype.indexOf\r\n ? Array.prototype.indexOf\r\n : function (t) {\r\n var e;\r\n for (e = 0; e < this.length; ++e) if (this[e] === t) return e;\r\n return -1;\r\n }),\r\n j(\"M\", [\"MM\", 2], \"Mo\", function () {\r\n return this.month() + 1;\r\n }),\r\n j(\"MMM\", 0, 0, function (t) {\r\n return this.localeData().monthsShort(this, t);\r\n }),\r\n j(\"MMMM\", 0, 0, function (t) {\r\n return this.localeData().months(this, t);\r\n }),\r\n L(\"month\", \"M\"),\r\n Y(\"month\", 8),\r\n dt(\"M\", J),\r\n dt(\"MM\", J, Z),\r\n dt(\"MMM\", function (t, e) {\r\n return e.monthsShortRegex(t);\r\n }),\r\n dt(\"MMMM\", function (t, e) {\r\n return e.monthsRegex(t);\r\n }),\r\n gt([\"M\", \"MM\"], function (t, e) {\r\n e[bt] = k(t) - 1;\r\n }),\r\n gt([\"MMM\", \"MMMM\"], function (t, e, n, i) {\r\n var a = n._locale.monthsParse(t, i, n._strict);\r\n null != a ? (e[bt] = a) : (g(n).invalidMonth = t);\r\n });\r\n var Lt = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\r\n Rt =\r\n \"January_February_March_April_May_June_July_August_September_October_November_December\".split(\r\n \"_\"\r\n ),\r\n Nt = \"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\");\r\n function Wt(t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o = t.toLocaleLowerCase();\r\n if (!this._monthsParse)\r\n for (\r\n this._monthsParse = [],\r\n this._longMonthsParse = [],\r\n this._shortMonthsParse = [],\r\n i = 0;\r\n i < 12;\r\n ++i\r\n )\r\n (r = f([2e3, i])),\r\n (this._shortMonthsParse[i] = this.monthsShort(\r\n r,\r\n \"\"\r\n ).toLocaleLowerCase()),\r\n (this._longMonthsParse[i] = this.months(\r\n r,\r\n \"\"\r\n ).toLocaleLowerCase());\r\n return n\r\n ? \"MMM\" === e\r\n ? -1 !== (a = Pt.call(this._shortMonthsParse, o))\r\n ? a\r\n : null\r\n : -1 !== (a = Pt.call(this._longMonthsParse, o))\r\n ? a\r\n : null\r\n : \"MMM\" === e\r\n ? -1 !== (a = Pt.call(this._shortMonthsParse, o))\r\n ? a\r\n : -1 !== (a = Pt.call(this._longMonthsParse, o))\r\n ? a\r\n : null\r\n : -1 !== (a = Pt.call(this._longMonthsParse, o))\r\n ? a\r\n : -1 !== (a = Pt.call(this._shortMonthsParse, o))\r\n ? a\r\n : null;\r\n }\r\n function Yt(t, e) {\r\n var n;\r\n if (!t.isValid()) return t;\r\n if (\"string\" == typeof e)\r\n if (/^\\d+$/.test(e)) e = k(e);\r\n else if (!l((e = t.localeData().monthsParse(e)))) return t;\r\n return (\r\n (n = Math.min(t.date(), It(t.year(), e))),\r\n t._d[\"set\" + (t._isUTC ? \"UTC\" : \"\") + \"Month\"](e, n),\r\n t\r\n );\r\n }\r\n function zt(t) {\r\n return null != t\r\n ? (Yt(this, t), a.updateOffset(this, !0), this)\r\n : At(this, \"Month\");\r\n }\r\n var Et = lt,\r\n Vt = lt;\r\n function Ht() {\r\n function t(t, e) {\r\n return e.length - t.length;\r\n }\r\n var e,\r\n n,\r\n i = [],\r\n a = [],\r\n r = [];\r\n for (e = 0; e < 12; e++)\r\n (n = f([2e3, e])),\r\n i.push(this.monthsShort(n, \"\")),\r\n a.push(this.months(n, \"\")),\r\n r.push(this.months(n, \"\")),\r\n r.push(this.monthsShort(n, \"\"));\r\n for (i.sort(t), a.sort(t), r.sort(t), e = 0; e < 12; e++)\r\n (i[e] = ct(i[e])), (a[e] = ct(a[e]));\r\n for (e = 0; e < 24; e++) r[e] = ct(r[e]);\r\n (this._monthsRegex = new RegExp(\"^(\" + r.join(\"|\") + \")\", \"i\")),\r\n (this._monthsShortRegex = this._monthsRegex),\r\n (this._monthsStrictRegex = new RegExp(\r\n \"^(\" + a.join(\"|\") + \")\",\r\n \"i\"\r\n )),\r\n (this._monthsShortStrictRegex = new RegExp(\r\n \"^(\" + i.join(\"|\") + \")\",\r\n \"i\"\r\n ));\r\n }\r\n function Bt(t, e, n, i, a, r, o) {\r\n var s;\r\n return (\r\n t < 100 && t >= 0\r\n ? ((s = new Date(t + 400, e, n, i, a, r, o)),\r\n isFinite(s.getFullYear()) && s.setFullYear(t))\r\n : (s = new Date(t, e, n, i, a, r, o)),\r\n s\r\n );\r\n }\r\n function jt(t) {\r\n var e;\r\n if (t < 100 && t >= 0) {\r\n var n = Array.prototype.slice.call(arguments);\r\n (n[0] = t + 400),\r\n (e = new Date(Date.UTC.apply(null, n))),\r\n isFinite(e.getUTCFullYear()) && e.setUTCFullYear(t);\r\n } else e = new Date(Date.UTC.apply(null, arguments));\r\n return e;\r\n }\r\n function Ut(t, e, n) {\r\n var i = 7 + e - n;\r\n return (-(7 + jt(t, 0, i).getUTCDay() - e) % 7) + i - 1;\r\n }\r\n function Gt(t, e, n, i, a) {\r\n var r,\r\n o,\r\n s = 1 + 7 * (e - 1) + ((7 + n - i) % 7) + Ut(t, i, a);\r\n return (\r\n s <= 0\r\n ? (o = Dt((r = t - 1)) + s)\r\n : s > Dt(t)\r\n ? ((r = t + 1), (o = s - Dt(t)))\r\n : ((r = t), (o = s)),\r\n { year: r, dayOfYear: o }\r\n );\r\n }\r\n function qt(t, e, n) {\r\n var i,\r\n a,\r\n r = Ut(t.year(), e, n),\r\n o = Math.floor((t.dayOfYear() - r - 1) / 7) + 1;\r\n return (\r\n o < 1\r\n ? (i = o + Zt((a = t.year() - 1), e, n))\r\n : o > Zt(t.year(), e, n)\r\n ? ((i = o - Zt(t.year(), e, n)), (a = t.year() + 1))\r\n : ((a = t.year()), (i = o)),\r\n { week: i, year: a }\r\n );\r\n }\r\n function Zt(t, e, n) {\r\n var i = Ut(t, e, n),\r\n a = Ut(t + 1, e, n);\r\n return (Dt(t) - i + a) / 7;\r\n }\r\n function $t(t, e) {\r\n return t.slice(e, 7).concat(t.slice(0, e));\r\n }\r\n j(\"w\", [\"ww\", 2], \"wo\", \"week\"),\r\n j(\"W\", [\"WW\", 2], \"Wo\", \"isoWeek\"),\r\n L(\"week\", \"w\"),\r\n L(\"isoWeek\", \"W\"),\r\n Y(\"week\", 5),\r\n Y(\"isoWeek\", 5),\r\n dt(\"w\", J),\r\n dt(\"ww\", J, Z),\r\n dt(\"W\", J),\r\n dt(\"WW\", J, Z),\r\n mt([\"w\", \"ww\", \"W\", \"WW\"], function (t, e, n, i) {\r\n e[i.substr(0, 1)] = k(t);\r\n }),\r\n j(\"d\", 0, \"do\", \"day\"),\r\n j(\"dd\", 0, 0, function (t) {\r\n return this.localeData().weekdaysMin(this, t);\r\n }),\r\n j(\"ddd\", 0, 0, function (t) {\r\n return this.localeData().weekdaysShort(this, t);\r\n }),\r\n j(\"dddd\", 0, 0, function (t) {\r\n return this.localeData().weekdays(this, t);\r\n }),\r\n j(\"e\", 0, 0, \"weekday\"),\r\n j(\"E\", 0, 0, \"isoWeekday\"),\r\n L(\"day\", \"d\"),\r\n L(\"weekday\", \"e\"),\r\n L(\"isoWeekday\", \"E\"),\r\n Y(\"day\", 11),\r\n Y(\"weekday\", 11),\r\n Y(\"isoWeekday\", 11),\r\n dt(\"d\", J),\r\n dt(\"e\", J),\r\n dt(\"E\", J),\r\n dt(\"dd\", function (t, e) {\r\n return e.weekdaysMinRegex(t);\r\n }),\r\n dt(\"ddd\", function (t, e) {\r\n return e.weekdaysShortRegex(t);\r\n }),\r\n dt(\"dddd\", function (t, e) {\r\n return e.weekdaysRegex(t);\r\n }),\r\n mt([\"dd\", \"ddd\", \"dddd\"], function (t, e, n, i) {\r\n var a = n._locale.weekdaysParse(t, i, n._strict);\r\n null != a ? (e.d = a) : (g(n).invalidWeekday = t);\r\n }),\r\n mt([\"d\", \"e\", \"E\"], function (t, e, n, i) {\r\n e[i] = k(t);\r\n });\r\n var Xt =\r\n \"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\r\n \"_\"\r\n ),\r\n Kt = \"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),\r\n Jt = \"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\");\r\n function Qt(t, e, n) {\r\n var i,\r\n a,\r\n r,\r\n o = t.toLocaleLowerCase();\r\n if (!this._weekdaysParse)\r\n for (\r\n this._weekdaysParse = [],\r\n this._shortWeekdaysParse = [],\r\n this._minWeekdaysParse = [],\r\n i = 0;\r\n i < 7;\r\n ++i\r\n )\r\n (r = f([2e3, 1]).day(i)),\r\n (this._minWeekdaysParse[i] = this.weekdaysMin(\r\n r,\r\n \"\"\r\n ).toLocaleLowerCase()),\r\n (this._shortWeekdaysParse[i] = this.weekdaysShort(\r\n r,\r\n \"\"\r\n ).toLocaleLowerCase()),\r\n (this._weekdaysParse[i] = this.weekdays(\r\n r,\r\n \"\"\r\n ).toLocaleLowerCase());\r\n return n\r\n ? \"dddd\" === e\r\n ? -1 !== (a = Pt.call(this._weekdaysParse, o))\r\n ? a\r\n : null\r\n : \"ddd\" === e\r\n ? -1 !== (a = Pt.call(this._shortWeekdaysParse, o))\r\n ? a\r\n : null\r\n : -1 !== (a = Pt.call(this._minWeekdaysParse, o))\r\n ? a\r\n : null\r\n : \"dddd\" === e\r\n ? -1 !== (a = Pt.call(this._weekdaysParse, o))\r\n ? a\r\n : -1 !== (a = Pt.call(this._shortWeekdaysParse, o))\r\n ? a\r\n : -1 !== (a = Pt.call(this._minWeekdaysParse, o))\r\n ? a\r\n : null\r\n : \"ddd\" === e\r\n ? -1 !== (a = Pt.call(this._shortWeekdaysParse, o))\r\n ? a\r\n : -1 !== (a = Pt.call(this._weekdaysParse, o))\r\n ? a\r\n : -1 !== (a = Pt.call(this._minWeekdaysParse, o))\r\n ? a\r\n : null\r\n : -1 !== (a = Pt.call(this._minWeekdaysParse, o))\r\n ? a\r\n : -1 !== (a = Pt.call(this._weekdaysParse, o))\r\n ? a\r\n : -1 !== (a = Pt.call(this._shortWeekdaysParse, o))\r\n ? a\r\n : null;\r\n }\r\n var te = lt,\r\n ee = lt,\r\n ne = lt;\r\n function ie() {\r\n function t(t, e) {\r\n return e.length - t.length;\r\n }\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o = [],\r\n s = [],\r\n l = [],\r\n u = [];\r\n for (e = 0; e < 7; e++)\r\n (n = f([2e3, 1]).day(e)),\r\n (i = this.weekdaysMin(n, \"\")),\r\n (a = this.weekdaysShort(n, \"\")),\r\n (r = this.weekdays(n, \"\")),\r\n o.push(i),\r\n s.push(a),\r\n l.push(r),\r\n u.push(i),\r\n u.push(a),\r\n u.push(r);\r\n for (o.sort(t), s.sort(t), l.sort(t), u.sort(t), e = 0; e < 7; e++)\r\n (s[e] = ct(s[e])), (l[e] = ct(l[e])), (u[e] = ct(u[e]));\r\n (this._weekdaysRegex = new RegExp(\"^(\" + u.join(\"|\") + \")\", \"i\")),\r\n (this._weekdaysShortRegex = this._weekdaysRegex),\r\n (this._weekdaysMinRegex = this._weekdaysRegex),\r\n (this._weekdaysStrictRegex = new RegExp(\r\n \"^(\" + l.join(\"|\") + \")\",\r\n \"i\"\r\n )),\r\n (this._weekdaysShortStrictRegex = new RegExp(\r\n \"^(\" + s.join(\"|\") + \")\",\r\n \"i\"\r\n )),\r\n (this._weekdaysMinStrictRegex = new RegExp(\r\n \"^(\" + o.join(\"|\") + \")\",\r\n \"i\"\r\n ));\r\n }\r\n function ae() {\r\n return this.hours() % 12 || 12;\r\n }\r\n function re(t, e) {\r\n j(t, 0, 0, function () {\r\n return this.localeData().meridiem(this.hours(), this.minutes(), e);\r\n });\r\n }\r\n function oe(t, e) {\r\n return e._meridiemParse;\r\n }\r\n j(\"H\", [\"HH\", 2], 0, \"hour\"),\r\n j(\"h\", [\"hh\", 2], 0, ae),\r\n j(\"k\", [\"kk\", 2], 0, function () {\r\n return this.hours() || 24;\r\n }),\r\n j(\"hmm\", 0, 0, function () {\r\n return \"\" + ae.apply(this) + z(this.minutes(), 2);\r\n }),\r\n j(\"hmmss\", 0, 0, function () {\r\n return (\r\n \"\" + ae.apply(this) + z(this.minutes(), 2) + z(this.seconds(), 2)\r\n );\r\n }),\r\n j(\"Hmm\", 0, 0, function () {\r\n return \"\" + this.hours() + z(this.minutes(), 2);\r\n }),\r\n j(\"Hmmss\", 0, 0, function () {\r\n return (\r\n \"\" + this.hours() + z(this.minutes(), 2) + z(this.seconds(), 2)\r\n );\r\n }),\r\n re(\"a\", !0),\r\n re(\"A\", !1),\r\n L(\"hour\", \"h\"),\r\n Y(\"hour\", 13),\r\n dt(\"a\", oe),\r\n dt(\"A\", oe),\r\n dt(\"H\", J),\r\n dt(\"h\", J),\r\n dt(\"k\", J),\r\n dt(\"HH\", J, Z),\r\n dt(\"hh\", J, Z),\r\n dt(\"kk\", J, Z),\r\n dt(\"hmm\", Q),\r\n dt(\"hmmss\", tt),\r\n dt(\"Hmm\", Q),\r\n dt(\"Hmmss\", tt),\r\n gt([\"H\", \"HH\"], xt),\r\n gt([\"k\", \"kk\"], function (t, e, n) {\r\n var i = k(t);\r\n e[xt] = 24 === i ? 0 : i;\r\n }),\r\n gt([\"a\", \"A\"], function (t, e, n) {\r\n (n._isPm = n._locale.isPM(t)), (n._meridiem = t);\r\n }),\r\n gt([\"h\", \"hh\"], function (t, e, n) {\r\n (e[xt] = k(t)), (g(n).bigHour = !0);\r\n }),\r\n gt(\"hmm\", function (t, e, n) {\r\n var i = t.length - 2;\r\n (e[xt] = k(t.substr(0, i))),\r\n (e[_t] = k(t.substr(i))),\r\n (g(n).bigHour = !0);\r\n }),\r\n gt(\"hmmss\", function (t, e, n) {\r\n var i = t.length - 4,\r\n a = t.length - 2;\r\n (e[xt] = k(t.substr(0, i))),\r\n (e[_t] = k(t.substr(i, 2))),\r\n (e[wt] = k(t.substr(a))),\r\n (g(n).bigHour = !0);\r\n }),\r\n gt(\"Hmm\", function (t, e, n) {\r\n var i = t.length - 2;\r\n (e[xt] = k(t.substr(0, i))), (e[_t] = k(t.substr(i)));\r\n }),\r\n gt(\"Hmmss\", function (t, e, n) {\r\n var i = t.length - 4,\r\n a = t.length - 2;\r\n (e[xt] = k(t.substr(0, i))),\r\n (e[_t] = k(t.substr(i, 2))),\r\n (e[wt] = k(t.substr(a)));\r\n });\r\n var se,\r\n le = Ot(\"Hours\", !0),\r\n ue = {\r\n calendar: {\r\n sameDay: \"[Today at] LT\",\r\n nextDay: \"[Tomorrow at] LT\",\r\n nextWeek: \"dddd [at] LT\",\r\n lastDay: \"[Yesterday at] LT\",\r\n lastWeek: \"[Last] dddd [at] LT\",\r\n sameElse: \"L\",\r\n },\r\n longDateFormat: {\r\n LTS: \"h:mm:ss A\",\r\n LT: \"h:mm A\",\r\n L: \"MM/DD/YYYY\",\r\n LL: \"MMMM D, YYYY\",\r\n LLL: \"MMMM D, YYYY h:mm A\",\r\n LLLL: \"dddd, MMMM D, YYYY h:mm A\",\r\n },\r\n invalidDate: \"Invalid date\",\r\n ordinal: \"%d\",\r\n dayOfMonthOrdinalParse: /\\d{1,2}/,\r\n relativeTime: {\r\n future: \"in %s\",\r\n past: \"%s ago\",\r\n s: \"a few seconds\",\r\n ss: \"%d seconds\",\r\n m: \"a minute\",\r\n mm: \"%d minutes\",\r\n h: \"an hour\",\r\n hh: \"%d hours\",\r\n d: \"a day\",\r\n dd: \"%d days\",\r\n M: \"a month\",\r\n MM: \"%d months\",\r\n y: \"a year\",\r\n yy: \"%d years\",\r\n },\r\n months: Rt,\r\n monthsShort: Nt,\r\n week: { dow: 0, doy: 6 },\r\n weekdays: Xt,\r\n weekdaysMin: Jt,\r\n weekdaysShort: Kt,\r\n meridiemParse: /[ap]\\.?m?\\.?/i,\r\n },\r\n de = {},\r\n he = {};\r\n function ce(t) {\r\n return t ? t.toLowerCase().replace(\"_\", \"-\") : t;\r\n }\r\n function fe(n) {\r\n var i = null;\r\n if (!de[n] && e && e.exports)\r\n try {\r\n (i = se._abbr), t(), ge(i);\r\n } catch (t) {}\r\n return de[n];\r\n }\r\n function ge(t, e) {\r\n var n;\r\n return (\r\n t &&\r\n ((n = s(e) ? pe(t) : me(t, e))\r\n ? (se = n)\r\n : \"undefined\" != typeof console &&\r\n console.warn &&\r\n console.warn(\r\n \"Locale \" + t + \" not found. Did you forget to load it?\"\r\n )),\r\n se._abbr\r\n );\r\n }\r\n function me(t, e) {\r\n if (null !== e) {\r\n var n,\r\n i = ue;\r\n if (((e.abbr = t), null != de[t]))\r\n T(\r\n \"defineLocaleOverride\",\r\n \"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\"\r\n ),\r\n (i = de[t]._config);\r\n else if (null != e.parentLocale)\r\n if (null != de[e.parentLocale]) i = de[e.parentLocale]._config;\r\n else {\r\n if (null == (n = fe(e.parentLocale)))\r\n return (\r\n he[e.parentLocale] || (he[e.parentLocale] = []),\r\n he[e.parentLocale].push({ name: t, config: e }),\r\n null\r\n );\r\n i = n._config;\r\n }\r\n return (\r\n (de[t] = new F(A(i, e))),\r\n he[t] &&\r\n he[t].forEach(function (t) {\r\n me(t.name, t.config);\r\n }),\r\n ge(t),\r\n de[t]\r\n );\r\n }\r\n return delete de[t], null;\r\n }\r\n function pe(t) {\r\n var e;\r\n if ((t && t._locale && t._locale._abbr && (t = t._locale._abbr), !t))\r\n return se;\r\n if (!r(t)) {\r\n if ((e = fe(t))) return e;\r\n t = [t];\r\n }\r\n return (function (t) {\r\n for (var e, n, i, a, r = 0; r < t.length; ) {\r\n for (\r\n e = (a = ce(t[r]).split(\"-\")).length,\r\n n = (n = ce(t[r + 1])) ? n.split(\"-\") : null;\r\n e > 0;\r\n\r\n ) {\r\n if ((i = fe(a.slice(0, e).join(\"-\")))) return i;\r\n if (n && n.length >= e && M(a, n, !0) >= e - 1) break;\r\n e--;\r\n }\r\n r++;\r\n }\r\n return se;\r\n })(t);\r\n }\r\n function ve(t) {\r\n var e,\r\n n = t._a;\r\n return (\r\n n &&\r\n -2 === g(t).overflow &&\r\n ((e =\r\n n[bt] < 0 || n[bt] > 11\r\n ? bt\r\n : n[yt] < 1 || n[yt] > It(n[vt], n[bt])\r\n ? yt\r\n : n[xt] < 0 ||\r\n n[xt] > 24 ||\r\n (24 === n[xt] &&\r\n (0 !== n[_t] || 0 !== n[wt] || 0 !== n[kt]))\r\n ? xt\r\n : n[_t] < 0 || n[_t] > 59\r\n ? _t\r\n : n[wt] < 0 || n[wt] > 59\r\n ? wt\r\n : n[kt] < 0 || n[kt] > 999\r\n ? kt\r\n : -1),\r\n g(t)._overflowDayOfYear && (e < vt || e > yt) && (e = yt),\r\n g(t)._overflowWeeks && -1 === e && (e = Mt),\r\n g(t)._overflowWeekday && -1 === e && (e = St),\r\n (g(t).overflow = e)),\r\n t\r\n );\r\n }\r\n function be(t, e, n) {\r\n return null != t ? t : null != e ? e : n;\r\n }\r\n function ye(t) {\r\n var e,\r\n n,\r\n i,\r\n r,\r\n o,\r\n s = [];\r\n if (!t._d) {\r\n for (\r\n i = (function (t) {\r\n var e = new Date(a.now());\r\n return t._useUTC\r\n ? [e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate()]\r\n : [e.getFullYear(), e.getMonth(), e.getDate()];\r\n })(t),\r\n t._w &&\r\n null == t._a[yt] &&\r\n null == t._a[bt] &&\r\n (function (t) {\r\n var e, n, i, a, r, o, s, l;\r\n if (null != (e = t._w).GG || null != e.W || null != e.E)\r\n (r = 1),\r\n (o = 4),\r\n (n = be(e.GG, t._a[vt], qt(Le(), 1, 4).year)),\r\n (i = be(e.W, 1)),\r\n ((a = be(e.E, 1)) < 1 || a > 7) && (l = !0);\r\n else {\r\n (r = t._locale._week.dow), (o = t._locale._week.doy);\r\n var u = qt(Le(), r, o);\r\n (n = be(e.gg, t._a[vt], u.year)),\r\n (i = be(e.w, u.week)),\r\n null != e.d\r\n ? ((a = e.d) < 0 || a > 6) && (l = !0)\r\n : null != e.e\r\n ? ((a = e.e + r), (e.e < 0 || e.e > 6) && (l = !0))\r\n : (a = r);\r\n }\r\n i < 1 || i > Zt(n, r, o)\r\n ? (g(t)._overflowWeeks = !0)\r\n : null != l\r\n ? (g(t)._overflowWeekday = !0)\r\n : ((s = Gt(n, i, a, r, o)),\r\n (t._a[vt] = s.year),\r\n (t._dayOfYear = s.dayOfYear));\r\n })(t),\r\n null != t._dayOfYear &&\r\n ((o = be(t._a[vt], i[vt])),\r\n (t._dayOfYear > Dt(o) || 0 === t._dayOfYear) &&\r\n (g(t)._overflowDayOfYear = !0),\r\n (n = jt(o, 0, t._dayOfYear)),\r\n (t._a[bt] = n.getUTCMonth()),\r\n (t._a[yt] = n.getUTCDate())),\r\n e = 0;\r\n e < 3 && null == t._a[e];\r\n ++e\r\n )\r\n t._a[e] = s[e] = i[e];\r\n for (; e < 7; e++)\r\n t._a[e] = s[e] = null == t._a[e] ? (2 === e ? 1 : 0) : t._a[e];\r\n 24 === t._a[xt] &&\r\n 0 === t._a[_t] &&\r\n 0 === t._a[wt] &&\r\n 0 === t._a[kt] &&\r\n ((t._nextDay = !0), (t._a[xt] = 0)),\r\n (t._d = (t._useUTC ? jt : Bt).apply(null, s)),\r\n (r = t._useUTC ? t._d.getUTCDay() : t._d.getDay()),\r\n null != t._tzm &&\r\n t._d.setUTCMinutes(t._d.getUTCMinutes() - t._tzm),\r\n t._nextDay && (t._a[xt] = 24),\r\n t._w &&\r\n void 0 !== t._w.d &&\r\n t._w.d !== r &&\r\n (g(t).weekdayMismatch = !0);\r\n }\r\n }\r\n var xe =\r\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\r\n _e =\r\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\r\n we = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\r\n ke = [\r\n [\"YYYYYY-MM-DD\", /[+-]\\d{6}-\\d\\d-\\d\\d/],\r\n [\"YYYY-MM-DD\", /\\d{4}-\\d\\d-\\d\\d/],\r\n [\"GGGG-[W]WW-E\", /\\d{4}-W\\d\\d-\\d/],\r\n [\"GGGG-[W]WW\", /\\d{4}-W\\d\\d/, !1],\r\n [\"YYYY-DDD\", /\\d{4}-\\d{3}/],\r\n [\"YYYY-MM\", /\\d{4}-\\d\\d/, !1],\r\n [\"YYYYYYMMDD\", /[+-]\\d{10}/],\r\n [\"YYYYMMDD\", /\\d{8}/],\r\n [\"GGGG[W]WWE\", /\\d{4}W\\d{3}/],\r\n [\"GGGG[W]WW\", /\\d{4}W\\d{2}/, !1],\r\n [\"YYYYDDD\", /\\d{7}/],\r\n ],\r\n Me = [\r\n [\"HH:mm:ss.SSSS\", /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\r\n [\"HH:mm:ss,SSSS\", /\\d\\d:\\d\\d:\\d\\d,\\d+/],\r\n [\"HH:mm:ss\", /\\d\\d:\\d\\d:\\d\\d/],\r\n [\"HH:mm\", /\\d\\d:\\d\\d/],\r\n [\"HHmmss.SSSS\", /\\d\\d\\d\\d\\d\\d\\.\\d+/],\r\n [\"HHmmss,SSSS\", /\\d\\d\\d\\d\\d\\d,\\d+/],\r\n [\"HHmmss\", /\\d\\d\\d\\d\\d\\d/],\r\n [\"HHmm\", /\\d\\d\\d\\d/],\r\n [\"HH\", /\\d\\d/],\r\n ],\r\n Se = /^\\/?Date\\((\\-?\\d+)/i;\r\n function De(t) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s = t._i,\r\n l = xe.exec(s) || _e.exec(s);\r\n if (l) {\r\n for (g(t).iso = !0, e = 0, n = ke.length; e < n; e++)\r\n if (ke[e][1].exec(l[1])) {\r\n (a = ke[e][0]), (i = !1 !== ke[e][2]);\r\n break;\r\n }\r\n if (null == a) return void (t._isValid = !1);\r\n if (l[3]) {\r\n for (e = 0, n = Me.length; e < n; e++)\r\n if (Me[e][1].exec(l[3])) {\r\n r = (l[2] || \" \") + Me[e][0];\r\n break;\r\n }\r\n if (null == r) return void (t._isValid = !1);\r\n }\r\n if (!i && null != r) return void (t._isValid = !1);\r\n if (l[4]) {\r\n if (!we.exec(l[4])) return void (t._isValid = !1);\r\n o = \"Z\";\r\n }\r\n (t._f = a + (r || \"\") + (o || \"\")), Ae(t);\r\n } else t._isValid = !1;\r\n }\r\n var Ce =\r\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\r\n function Pe(t) {\r\n var e = parseInt(t, 10);\r\n return e <= 49 ? 2e3 + e : e <= 999 ? 1900 + e : e;\r\n }\r\n var Te = {\r\n UT: 0,\r\n GMT: 0,\r\n EDT: -240,\r\n EST: -300,\r\n CDT: -300,\r\n CST: -360,\r\n MDT: -360,\r\n MST: -420,\r\n PDT: -420,\r\n PST: -480,\r\n };\r\n function Oe(t) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l = Ce.exec(\r\n t._i\r\n .replace(/\\([^)]*\\)|[\\n\\t]/g, \" \")\r\n .replace(/(\\s\\s+)/g, \" \")\r\n .replace(/^\\s\\s*/, \"\")\r\n .replace(/\\s\\s*$/, \"\")\r\n );\r\n if (l) {\r\n var u =\r\n ((e = l[4]),\r\n (n = l[3]),\r\n (i = l[2]),\r\n (a = l[5]),\r\n (r = l[6]),\r\n (o = l[7]),\r\n (s = [\r\n Pe(e),\r\n Nt.indexOf(n),\r\n parseInt(i, 10),\r\n parseInt(a, 10),\r\n parseInt(r, 10),\r\n ]),\r\n o && s.push(parseInt(o, 10)),\r\n s);\r\n if (\r\n !(function (t, e, n) {\r\n return (\r\n !t ||\r\n Kt.indexOf(t) === new Date(e[0], e[1], e[2]).getDay() ||\r\n ((g(n).weekdayMismatch = !0), (n._isValid = !1), !1)\r\n );\r\n })(l[1], u, t)\r\n )\r\n return;\r\n (t._a = u),\r\n (t._tzm = (function (t, e, n) {\r\n if (t) return Te[t];\r\n if (e) return 0;\r\n var i = parseInt(n, 10),\r\n a = i % 100;\r\n return ((i - a) / 100) * 60 + a;\r\n })(l[8], l[9], l[10])),\r\n (t._d = jt.apply(null, t._a)),\r\n t._d.setUTCMinutes(t._d.getUTCMinutes() - t._tzm),\r\n (g(t).rfc2822 = !0);\r\n } else t._isValid = !1;\r\n }\r\n function Ae(t) {\r\n if (t._f !== a.ISO_8601)\r\n if (t._f !== a.RFC_2822) {\r\n (t._a = []), (g(t).empty = !0);\r\n var e,\r\n n,\r\n i,\r\n r,\r\n o,\r\n s = \"\" + t._i,\r\n l = s.length,\r\n u = 0;\r\n for (\r\n i = G(t._f, t._locale).match(E) || [], e = 0;\r\n e < i.length;\r\n e++\r\n )\r\n (r = i[e]),\r\n (n = (s.match(ht(r, t)) || [])[0]) &&\r\n ((o = s.substr(0, s.indexOf(n))).length > 0 &&\r\n g(t).unusedInput.push(o),\r\n (s = s.slice(s.indexOf(n) + n.length)),\r\n (u += n.length)),\r\n B[r]\r\n ? (n ? (g(t).empty = !1) : g(t).unusedTokens.push(r),\r\n pt(r, n, t))\r\n : t._strict && !n && g(t).unusedTokens.push(r);\r\n (g(t).charsLeftOver = l - u),\r\n s.length > 0 && g(t).unusedInput.push(s),\r\n t._a[xt] <= 12 &&\r\n !0 === g(t).bigHour &&\r\n t._a[xt] > 0 &&\r\n (g(t).bigHour = void 0),\r\n (g(t).parsedDateParts = t._a.slice(0)),\r\n (g(t).meridiem = t._meridiem),\r\n (t._a[xt] = (function (t, e, n) {\r\n var i;\r\n return null == n\r\n ? e\r\n : null != t.meridiemHour\r\n ? t.meridiemHour(e, n)\r\n : null != t.isPM\r\n ? ((i = t.isPM(n)) && e < 12 && (e += 12),\r\n i || 12 !== e || (e = 0),\r\n e)\r\n : e;\r\n })(t._locale, t._a[xt], t._meridiem)),\r\n ye(t),\r\n ve(t);\r\n } else Oe(t);\r\n else De(t);\r\n }\r\n function Fe(t) {\r\n var e = t._i,\r\n n = t._f;\r\n return (\r\n (t._locale = t._locale || pe(t._l)),\r\n null === e || (void 0 === n && \"\" === e)\r\n ? p({ nullInput: !0 })\r\n : (\"string\" == typeof e && (t._i = e = t._locale.preparse(e)),\r\n _(e)\r\n ? new x(ve(e))\r\n : (u(e)\r\n ? (t._d = e)\r\n : r(n)\r\n ? (function (t) {\r\n var e, n, i, a, r;\r\n if (0 === t._f.length)\r\n return (\r\n (g(t).invalidFormat = !0),\r\n void (t._d = new Date(NaN))\r\n );\r\n for (a = 0; a < t._f.length; a++)\r\n (r = 0),\r\n (e = b({}, t)),\r\n null != t._useUTC && (e._useUTC = t._useUTC),\r\n (e._f = t._f[a]),\r\n Ae(e),\r\n m(e) &&\r\n ((r += g(e).charsLeftOver),\r\n (r += 10 * g(e).unusedTokens.length),\r\n (g(e).score = r),\r\n (null == i || r < i) && ((i = r), (n = e)));\r\n c(t, n || e);\r\n })(t)\r\n : n\r\n ? Ae(t)\r\n : (function (t) {\r\n var e = t._i;\r\n s(e)\r\n ? (t._d = new Date(a.now()))\r\n : u(e)\r\n ? (t._d = new Date(e.valueOf()))\r\n : \"string\" == typeof e\r\n ? (function (t) {\r\n var e = Se.exec(t._i);\r\n null === e\r\n ? (De(t),\r\n !1 === t._isValid &&\r\n (delete t._isValid,\r\n Oe(t),\r\n !1 === t._isValid &&\r\n (delete t._isValid,\r\n a.createFromInputFallback(t))))\r\n : (t._d = new Date(+e[1]));\r\n })(t)\r\n : r(e)\r\n ? ((t._a = d(e.slice(0), function (t) {\r\n return parseInt(t, 10);\r\n })),\r\n ye(t))\r\n : o(e)\r\n ? (function (t) {\r\n if (!t._d) {\r\n var e = N(t._i);\r\n (t._a = d(\r\n [\r\n e.year,\r\n e.month,\r\n e.day || e.date,\r\n e.hour,\r\n e.minute,\r\n e.second,\r\n e.millisecond,\r\n ],\r\n function (t) {\r\n return t && parseInt(t, 10);\r\n }\r\n )),\r\n ye(t);\r\n }\r\n })(t)\r\n : l(e)\r\n ? (t._d = new Date(e))\r\n : a.createFromInputFallback(t);\r\n })(t),\r\n m(t) || (t._d = null),\r\n t))\r\n );\r\n }\r\n function Ie(t, e, n, i, a) {\r\n var s,\r\n l = {};\r\n return (\r\n (!0 !== n && !1 !== n) || ((i = n), (n = void 0)),\r\n ((o(t) &&\r\n (function (t) {\r\n if (Object.getOwnPropertyNames)\r\n return 0 === Object.getOwnPropertyNames(t).length;\r\n var e;\r\n for (e in t) if (t.hasOwnProperty(e)) return !1;\r\n return !0;\r\n })(t)) ||\r\n (r(t) && 0 === t.length)) &&\r\n (t = void 0),\r\n (l._isAMomentObject = !0),\r\n (l._useUTC = l._isUTC = a),\r\n (l._l = n),\r\n (l._i = t),\r\n (l._f = e),\r\n (l._strict = i),\r\n (s = new x(ve(Fe(l))))._nextDay &&\r\n (s.add(1, \"d\"), (s._nextDay = void 0)),\r\n s\r\n );\r\n }\r\n function Le(t, e, n, i) {\r\n return Ie(t, e, n, i, !1);\r\n }\r\n (a.createFromInputFallback = D(\r\n \"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\",\r\n function (t) {\r\n t._d = new Date(t._i + (t._useUTC ? \" UTC\" : \"\"));\r\n }\r\n )),\r\n (a.ISO_8601 = function () {}),\r\n (a.RFC_2822 = function () {});\r\n var Re = D(\r\n \"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\",\r\n function () {\r\n var t = Le.apply(null, arguments);\r\n return this.isValid() && t.isValid()\r\n ? t < this\r\n ? this\r\n : t\r\n : p();\r\n }\r\n ),\r\n Ne = D(\r\n \"moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/\",\r\n function () {\r\n var t = Le.apply(null, arguments);\r\n return this.isValid() && t.isValid()\r\n ? t > this\r\n ? this\r\n : t\r\n : p();\r\n }\r\n );\r\n function We(t, e) {\r\n var n, i;\r\n if ((1 === e.length && r(e[0]) && (e = e[0]), !e.length)) return Le();\r\n for (n = e[0], i = 1; i < e.length; ++i)\r\n (e[i].isValid() && !e[i][t](n)) || (n = e[i]);\r\n return n;\r\n }\r\n var Ye = [\r\n \"year\",\r\n \"quarter\",\r\n \"month\",\r\n \"week\",\r\n \"day\",\r\n \"hour\",\r\n \"minute\",\r\n \"second\",\r\n \"millisecond\",\r\n ];\r\n function ze(t) {\r\n var e = N(t),\r\n n = e.year || 0,\r\n i = e.quarter || 0,\r\n a = e.month || 0,\r\n r = e.week || e.isoWeek || 0,\r\n o = e.day || 0,\r\n s = e.hour || 0,\r\n l = e.minute || 0,\r\n u = e.second || 0,\r\n d = e.millisecond || 0;\r\n (this._isValid = (function (t) {\r\n for (var e in t)\r\n if (-1 === Pt.call(Ye, e) || (null != t[e] && isNaN(t[e])))\r\n return !1;\r\n for (var n = !1, i = 0; i < Ye.length; ++i)\r\n if (t[Ye[i]]) {\r\n if (n) return !1;\r\n parseFloat(t[Ye[i]]) !== k(t[Ye[i]]) && (n = !0);\r\n }\r\n return !0;\r\n })(e)),\r\n (this._milliseconds = +d + 1e3 * u + 6e4 * l + 1e3 * s * 60 * 60),\r\n (this._days = +o + 7 * r),\r\n (this._months = +a + 3 * i + 12 * n),\r\n (this._data = {}),\r\n (this._locale = pe()),\r\n this._bubble();\r\n }\r\n function Ee(t) {\r\n return t instanceof ze;\r\n }\r\n function Ve(t) {\r\n return t < 0 ? -1 * Math.round(-1 * t) : Math.round(t);\r\n }\r\n function He(t, e) {\r\n j(t, 0, 0, function () {\r\n var t = this.utcOffset(),\r\n n = \"+\";\r\n return (\r\n t < 0 && ((t = -t), (n = \"-\")),\r\n n + z(~~(t / 60), 2) + e + z(~~t % 60, 2)\r\n );\r\n });\r\n }\r\n He(\"Z\", \":\"),\r\n He(\"ZZ\", \"\"),\r\n dt(\"Z\", st),\r\n dt(\"ZZ\", st),\r\n gt([\"Z\", \"ZZ\"], function (t, e, n) {\r\n (n._useUTC = !0), (n._tzm = je(st, t));\r\n });\r\n var Be = /([\\+\\-]|\\d\\d)/gi;\r\n function je(t, e) {\r\n var n = (e || \"\").match(t);\r\n if (null === n) return null;\r\n var i = ((n[n.length - 1] || []) + \"\").match(Be) || [\"-\", 0, 0],\r\n a = 60 * i[1] + k(i[2]);\r\n return 0 === a ? 0 : \"+\" === i[0] ? a : -a;\r\n }\r\n function Ue(t, e) {\r\n var n, i;\r\n return e._isUTC\r\n ? ((n = e.clone()),\r\n (i =\r\n (_(t) || u(t) ? t.valueOf() : Le(t).valueOf()) - n.valueOf()),\r\n n._d.setTime(n._d.valueOf() + i),\r\n a.updateOffset(n, !1),\r\n n)\r\n : Le(t).local();\r\n }\r\n function Ge(t) {\r\n return 15 * -Math.round(t._d.getTimezoneOffset() / 15);\r\n }\r\n function qe() {\r\n return !!this.isValid() && this._isUTC && 0 === this._offset;\r\n }\r\n a.updateOffset = function () {};\r\n var Ze = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/,\r\n $e =\r\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\r\n function Xe(t, e) {\r\n var n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n u = t,\r\n d = null;\r\n return (\r\n Ee(t)\r\n ? (u = { ms: t._milliseconds, d: t._days, M: t._months })\r\n : l(t)\r\n ? ((u = {}), e ? (u[e] = t) : (u.milliseconds = t))\r\n : (d = Ze.exec(t))\r\n ? ((n = \"-\" === d[1] ? -1 : 1),\r\n (u = {\r\n y: 0,\r\n d: k(d[yt]) * n,\r\n h: k(d[xt]) * n,\r\n m: k(d[_t]) * n,\r\n s: k(d[wt]) * n,\r\n ms: k(Ve(1e3 * d[kt])) * n,\r\n }))\r\n : (d = $e.exec(t))\r\n ? ((n = \"-\" === d[1] ? -1 : 1),\r\n (u = {\r\n y: Ke(d[2], n),\r\n M: Ke(d[3], n),\r\n w: Ke(d[4], n),\r\n d: Ke(d[5], n),\r\n h: Ke(d[6], n),\r\n m: Ke(d[7], n),\r\n s: Ke(d[8], n),\r\n }))\r\n : null == u\r\n ? (u = {})\r\n : \"object\" == typeof u &&\r\n (\"from\" in u || \"to\" in u) &&\r\n ((r = Le(u.from)),\r\n (o = Le(u.to)),\r\n (a =\r\n r.isValid() && o.isValid()\r\n ? ((o = Ue(o, r)),\r\n r.isBefore(o)\r\n ? (s = Je(r, o))\r\n : (((s = Je(o, r)).milliseconds = -s.milliseconds),\r\n (s.months = -s.months)),\r\n s)\r\n : { milliseconds: 0, months: 0 }),\r\n ((u = {}).ms = a.milliseconds),\r\n (u.M = a.months)),\r\n (i = new ze(u)),\r\n Ee(t) && h(t, \"_locale\") && (i._locale = t._locale),\r\n i\r\n );\r\n }\r\n function Ke(t, e) {\r\n var n = t && parseFloat(t.replace(\",\", \".\"));\r\n return (isNaN(n) ? 0 : n) * e;\r\n }\r\n function Je(t, e) {\r\n var n = {};\r\n return (\r\n (n.months = e.month() - t.month() + 12 * (e.year() - t.year())),\r\n t.clone().add(n.months, \"M\").isAfter(e) && --n.months,\r\n (n.milliseconds = +e - +t.clone().add(n.months, \"M\")),\r\n n\r\n );\r\n }\r\n function Qe(t, e) {\r\n return function (n, i) {\r\n var a;\r\n return (\r\n null === i ||\r\n isNaN(+i) ||\r\n (T(\r\n e,\r\n \"moment().\" +\r\n e +\r\n \"(period, number) is deprecated. Please use moment().\" +\r\n e +\r\n \"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\"\r\n ),\r\n (a = n),\r\n (n = i),\r\n (i = a)),\r\n tn(this, Xe((n = \"string\" == typeof n ? +n : n), i), t),\r\n this\r\n );\r\n };\r\n }\r\n function tn(t, e, n, i) {\r\n var r = e._milliseconds,\r\n o = Ve(e._days),\r\n s = Ve(e._months);\r\n t.isValid() &&\r\n ((i = null == i || i),\r\n s && Yt(t, At(t, \"Month\") + s * n),\r\n o && Ft(t, \"Date\", At(t, \"Date\") + o * n),\r\n r && t._d.setTime(t._d.valueOf() + r * n),\r\n i && a.updateOffset(t, o || s));\r\n }\r\n (Xe.fn = ze.prototype),\r\n (Xe.invalid = function () {\r\n return Xe(NaN);\r\n });\r\n var en = Qe(1, \"add\"),\r\n nn = Qe(-1, \"subtract\");\r\n function an(t, e) {\r\n var n = 12 * (e.year() - t.year()) + (e.month() - t.month()),\r\n i = t.clone().add(n, \"months\");\r\n return (\r\n -(\r\n n +\r\n (e - i < 0\r\n ? (e - i) / (i - t.clone().add(n - 1, \"months\"))\r\n : (e - i) / (t.clone().add(n + 1, \"months\") - i))\r\n ) || 0\r\n );\r\n }\r\n function rn(t) {\r\n var e;\r\n return void 0 === t\r\n ? this._locale._abbr\r\n : (null != (e = pe(t)) && (this._locale = e), this);\r\n }\r\n (a.defaultFormat = \"YYYY-MM-DDTHH:mm:ssZ\"),\r\n (a.defaultFormatUtc = \"YYYY-MM-DDTHH:mm:ss[Z]\");\r\n var on = D(\r\n \"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",\r\n function (t) {\r\n return void 0 === t ? this.localeData() : this.locale(t);\r\n }\r\n );\r\n function sn() {\r\n return this._locale;\r\n }\r\n var ln = 1e3,\r\n un = 60 * ln,\r\n dn = 60 * un,\r\n hn = 3506328 * dn;\r\n function cn(t, e) {\r\n return ((t % e) + e) % e;\r\n }\r\n function fn(t, e, n) {\r\n return t < 100 && t >= 0\r\n ? new Date(t + 400, e, n) - hn\r\n : new Date(t, e, n).valueOf();\r\n }\r\n function gn(t, e, n) {\r\n return t < 100 && t >= 0\r\n ? Date.UTC(t + 400, e, n) - hn\r\n : Date.UTC(t, e, n);\r\n }\r\n function mn(t, e) {\r\n j(0, [t, t.length], 0, e);\r\n }\r\n function pn(t, e, n, i, a) {\r\n var r;\r\n return null == t\r\n ? qt(this, i, a).year\r\n : (e > (r = Zt(t, i, a)) && (e = r), vn.call(this, t, e, n, i, a));\r\n }\r\n function vn(t, e, n, i, a) {\r\n var r = Gt(t, e, n, i, a),\r\n o = jt(r.year, 0, r.dayOfYear);\r\n return (\r\n this.year(o.getUTCFullYear()),\r\n this.month(o.getUTCMonth()),\r\n this.date(o.getUTCDate()),\r\n this\r\n );\r\n }\r\n j(0, [\"gg\", 2], 0, function () {\r\n return this.weekYear() % 100;\r\n }),\r\n j(0, [\"GG\", 2], 0, function () {\r\n return this.isoWeekYear() % 100;\r\n }),\r\n mn(\"gggg\", \"weekYear\"),\r\n mn(\"ggggg\", \"weekYear\"),\r\n mn(\"GGGG\", \"isoWeekYear\"),\r\n mn(\"GGGGG\", \"isoWeekYear\"),\r\n L(\"weekYear\", \"gg\"),\r\n L(\"isoWeekYear\", \"GG\"),\r\n Y(\"weekYear\", 1),\r\n Y(\"isoWeekYear\", 1),\r\n dt(\"G\", rt),\r\n dt(\"g\", rt),\r\n dt(\"GG\", J, Z),\r\n dt(\"gg\", J, Z),\r\n dt(\"GGGG\", nt, X),\r\n dt(\"gggg\", nt, X),\r\n dt(\"GGGGG\", it, K),\r\n dt(\"ggggg\", it, K),\r\n mt([\"gggg\", \"ggggg\", \"GGGG\", \"GGGGG\"], function (t, e, n, i) {\r\n e[i.substr(0, 2)] = k(t);\r\n }),\r\n mt([\"gg\", \"GG\"], function (t, e, n, i) {\r\n e[i] = a.parseTwoDigitYear(t);\r\n }),\r\n j(\"Q\", 0, \"Qo\", \"quarter\"),\r\n L(\"quarter\", \"Q\"),\r\n Y(\"quarter\", 7),\r\n dt(\"Q\", q),\r\n gt(\"Q\", function (t, e) {\r\n e[bt] = 3 * (k(t) - 1);\r\n }),\r\n j(\"D\", [\"DD\", 2], \"Do\", \"date\"),\r\n L(\"date\", \"D\"),\r\n Y(\"date\", 9),\r\n dt(\"D\", J),\r\n dt(\"DD\", J, Z),\r\n dt(\"Do\", function (t, e) {\r\n return t\r\n ? e._dayOfMonthOrdinalParse || e._ordinalParse\r\n : e._dayOfMonthOrdinalParseLenient;\r\n }),\r\n gt([\"D\", \"DD\"], yt),\r\n gt(\"Do\", function (t, e) {\r\n e[yt] = k(t.match(J)[0]);\r\n });\r\n var bn = Ot(\"Date\", !0);\r\n j(\"DDD\", [\"DDDD\", 3], \"DDDo\", \"dayOfYear\"),\r\n L(\"dayOfYear\", \"DDD\"),\r\n Y(\"dayOfYear\", 4),\r\n dt(\"DDD\", et),\r\n dt(\"DDDD\", $),\r\n gt([\"DDD\", \"DDDD\"], function (t, e, n) {\r\n n._dayOfYear = k(t);\r\n }),\r\n j(\"m\", [\"mm\", 2], 0, \"minute\"),\r\n L(\"minute\", \"m\"),\r\n Y(\"minute\", 14),\r\n dt(\"m\", J),\r\n dt(\"mm\", J, Z),\r\n gt([\"m\", \"mm\"], _t);\r\n var yn = Ot(\"Minutes\", !1);\r\n j(\"s\", [\"ss\", 2], 0, \"second\"),\r\n L(\"second\", \"s\"),\r\n Y(\"second\", 15),\r\n dt(\"s\", J),\r\n dt(\"ss\", J, Z),\r\n gt([\"s\", \"ss\"], wt);\r\n var xn,\r\n _n = Ot(\"Seconds\", !1);\r\n for (\r\n j(\"S\", 0, 0, function () {\r\n return ~~(this.millisecond() / 100);\r\n }),\r\n j(0, [\"SS\", 2], 0, function () {\r\n return ~~(this.millisecond() / 10);\r\n }),\r\n j(0, [\"SSS\", 3], 0, \"millisecond\"),\r\n j(0, [\"SSSS\", 4], 0, function () {\r\n return 10 * this.millisecond();\r\n }),\r\n j(0, [\"SSSSS\", 5], 0, function () {\r\n return 100 * this.millisecond();\r\n }),\r\n j(0, [\"SSSSSS\", 6], 0, function () {\r\n return 1e3 * this.millisecond();\r\n }),\r\n j(0, [\"SSSSSSS\", 7], 0, function () {\r\n return 1e4 * this.millisecond();\r\n }),\r\n j(0, [\"SSSSSSSS\", 8], 0, function () {\r\n return 1e5 * this.millisecond();\r\n }),\r\n j(0, [\"SSSSSSSSS\", 9], 0, function () {\r\n return 1e6 * this.millisecond();\r\n }),\r\n L(\"millisecond\", \"ms\"),\r\n Y(\"millisecond\", 16),\r\n dt(\"S\", et, q),\r\n dt(\"SS\", et, Z),\r\n dt(\"SSS\", et, $),\r\n xn = \"SSSS\";\r\n xn.length <= 9;\r\n xn += \"S\"\r\n )\r\n dt(xn, at);\r\n function wn(t, e) {\r\n e[kt] = k(1e3 * (\"0.\" + t));\r\n }\r\n for (xn = \"S\"; xn.length <= 9; xn += \"S\") gt(xn, wn);\r\n var kn = Ot(\"Milliseconds\", !1);\r\n j(\"z\", 0, 0, \"zoneAbbr\"), j(\"zz\", 0, 0, \"zoneName\");\r\n var Mn = x.prototype;\r\n function Sn(t) {\r\n return t;\r\n }\r\n (Mn.add = en),\r\n (Mn.calendar = function (t, e) {\r\n var n = t || Le(),\r\n i = Ue(n, this).startOf(\"day\"),\r\n r = a.calendarFormat(this, i) || \"sameElse\",\r\n o = e && (O(e[r]) ? e[r].call(this, n) : e[r]);\r\n return this.format(o || this.localeData().calendar(r, this, Le(n)));\r\n }),\r\n (Mn.clone = function () {\r\n return new x(this);\r\n }),\r\n (Mn.diff = function (t, e, n) {\r\n var i, a, r;\r\n if (!this.isValid()) return NaN;\r\n if (!(i = Ue(t, this)).isValid()) return NaN;\r\n switch (\r\n ((a = 6e4 * (i.utcOffset() - this.utcOffset())), (e = R(e)))\r\n ) {\r\n case \"year\":\r\n r = an(this, i) / 12;\r\n break;\r\n case \"month\":\r\n r = an(this, i);\r\n break;\r\n case \"quarter\":\r\n r = an(this, i) / 3;\r\n break;\r\n case \"second\":\r\n r = (this - i) / 1e3;\r\n break;\r\n case \"minute\":\r\n r = (this - i) / 6e4;\r\n break;\r\n case \"hour\":\r\n r = (this - i) / 36e5;\r\n break;\r\n case \"day\":\r\n r = (this - i - a) / 864e5;\r\n break;\r\n case \"week\":\r\n r = (this - i - a) / 6048e5;\r\n break;\r\n default:\r\n r = this - i;\r\n }\r\n return n ? r : w(r);\r\n }),\r\n (Mn.endOf = function (t) {\r\n var e;\r\n if (void 0 === (t = R(t)) || \"millisecond\" === t || !this.isValid())\r\n return this;\r\n var n = this._isUTC ? gn : fn;\r\n switch (t) {\r\n case \"year\":\r\n e = n(this.year() + 1, 0, 1) - 1;\r\n break;\r\n case \"quarter\":\r\n e =\r\n n(this.year(), this.month() - (this.month() % 3) + 3, 1) - 1;\r\n break;\r\n case \"month\":\r\n e = n(this.year(), this.month() + 1, 1) - 1;\r\n break;\r\n case \"week\":\r\n e =\r\n n(\r\n this.year(),\r\n this.month(),\r\n this.date() - this.weekday() + 7\r\n ) - 1;\r\n break;\r\n case \"isoWeek\":\r\n e =\r\n n(\r\n this.year(),\r\n this.month(),\r\n this.date() - (this.isoWeekday() - 1) + 7\r\n ) - 1;\r\n break;\r\n case \"day\":\r\n case \"date\":\r\n e = n(this.year(), this.month(), this.date() + 1) - 1;\r\n break;\r\n case \"hour\":\r\n (e = this._d.valueOf()),\r\n (e +=\r\n dn -\r\n cn(e + (this._isUTC ? 0 : this.utcOffset() * un), dn) -\r\n 1);\r\n break;\r\n case \"minute\":\r\n (e = this._d.valueOf()), (e += un - cn(e, un) - 1);\r\n break;\r\n case \"second\":\r\n (e = this._d.valueOf()), (e += ln - cn(e, ln) - 1);\r\n }\r\n return this._d.setTime(e), a.updateOffset(this, !0), this;\r\n }),\r\n (Mn.format = function (t) {\r\n t || (t = this.isUtc() ? a.defaultFormatUtc : a.defaultFormat);\r\n var e = U(this, t);\r\n return this.localeData().postformat(e);\r\n }),\r\n (Mn.from = function (t, e) {\r\n return this.isValid() && ((_(t) && t.isValid()) || Le(t).isValid())\r\n ? Xe({ to: this, from: t }).locale(this.locale()).humanize(!e)\r\n : this.localeData().invalidDate();\r\n }),\r\n (Mn.fromNow = function (t) {\r\n return this.from(Le(), t);\r\n }),\r\n (Mn.to = function (t, e) {\r\n return this.isValid() && ((_(t) && t.isValid()) || Le(t).isValid())\r\n ? Xe({ from: this, to: t }).locale(this.locale()).humanize(!e)\r\n : this.localeData().invalidDate();\r\n }),\r\n (Mn.toNow = function (t) {\r\n return this.to(Le(), t);\r\n }),\r\n (Mn.get = function (t) {\r\n return O(this[(t = R(t))]) ? this[t]() : this;\r\n }),\r\n (Mn.invalidAt = function () {\r\n return g(this).overflow;\r\n }),\r\n (Mn.isAfter = function (t, e) {\r\n var n = _(t) ? t : Le(t);\r\n return (\r\n !(!this.isValid() || !n.isValid()) &&\r\n (\"millisecond\" === (e = R(e) || \"millisecond\")\r\n ? this.valueOf() > n.valueOf()\r\n : n.valueOf() < this.clone().startOf(e).valueOf())\r\n );\r\n }),\r\n (Mn.isBefore = function (t, e) {\r\n var n = _(t) ? t : Le(t);\r\n return (\r\n !(!this.isValid() || !n.isValid()) &&\r\n (\"millisecond\" === (e = R(e) || \"millisecond\")\r\n ? this.valueOf() < n.valueOf()\r\n : this.clone().endOf(e).valueOf() < n.valueOf())\r\n );\r\n }),\r\n (Mn.isBetween = function (t, e, n, i) {\r\n var a = _(t) ? t : Le(t),\r\n r = _(e) ? e : Le(e);\r\n return (\r\n !!(this.isValid() && a.isValid() && r.isValid()) &&\r\n (\"(\" === (i = i || \"()\")[0]\r\n ? this.isAfter(a, n)\r\n : !this.isBefore(a, n)) &&\r\n (\")\" === i[1] ? this.isBefore(r, n) : !this.isAfter(r, n))\r\n );\r\n }),\r\n (Mn.isSame = function (t, e) {\r\n var n,\r\n i = _(t) ? t : Le(t);\r\n return (\r\n !(!this.isValid() || !i.isValid()) &&\r\n (\"millisecond\" === (e = R(e) || \"millisecond\")\r\n ? this.valueOf() === i.valueOf()\r\n : ((n = i.valueOf()),\r\n this.clone().startOf(e).valueOf() <= n &&\r\n n <= this.clone().endOf(e).valueOf()))\r\n );\r\n }),\r\n (Mn.isSameOrAfter = function (t, e) {\r\n return this.isSame(t, e) || this.isAfter(t, e);\r\n }),\r\n (Mn.isSameOrBefore = function (t, e) {\r\n return this.isSame(t, e) || this.isBefore(t, e);\r\n }),\r\n (Mn.isValid = function () {\r\n return m(this);\r\n }),\r\n (Mn.lang = on),\r\n (Mn.locale = rn),\r\n (Mn.localeData = sn),\r\n (Mn.max = Ne),\r\n (Mn.min = Re),\r\n (Mn.parsingFlags = function () {\r\n return c({}, g(this));\r\n }),\r\n (Mn.set = function (t, e) {\r\n if (\"object\" == typeof t)\r\n for (\r\n var n = (function (t) {\r\n var e = [];\r\n for (var n in t) e.push({ unit: n, priority: W[n] });\r\n return (\r\n e.sort(function (t, e) {\r\n return t.priority - e.priority;\r\n }),\r\n e\r\n );\r\n })((t = N(t))),\r\n i = 0;\r\n i < n.length;\r\n i++\r\n )\r\n this[n[i].unit](t[n[i].unit]);\r\n else if (O(this[(t = R(t))])) return this[t](e);\r\n return this;\r\n }),\r\n (Mn.startOf = function (t) {\r\n var e;\r\n if (void 0 === (t = R(t)) || \"millisecond\" === t || !this.isValid())\r\n return this;\r\n var n = this._isUTC ? gn : fn;\r\n switch (t) {\r\n case \"year\":\r\n e = n(this.year(), 0, 1);\r\n break;\r\n case \"quarter\":\r\n e = n(this.year(), this.month() - (this.month() % 3), 1);\r\n break;\r\n case \"month\":\r\n e = n(this.year(), this.month(), 1);\r\n break;\r\n case \"week\":\r\n e = n(this.year(), this.month(), this.date() - this.weekday());\r\n break;\r\n case \"isoWeek\":\r\n e = n(\r\n this.year(),\r\n this.month(),\r\n this.date() - (this.isoWeekday() - 1)\r\n );\r\n break;\r\n case \"day\":\r\n case \"date\":\r\n e = n(this.year(), this.month(), this.date());\r\n break;\r\n case \"hour\":\r\n (e = this._d.valueOf()),\r\n (e -= cn(e + (this._isUTC ? 0 : this.utcOffset() * un), dn));\r\n break;\r\n case \"minute\":\r\n (e = this._d.valueOf()), (e -= cn(e, un));\r\n break;\r\n case \"second\":\r\n (e = this._d.valueOf()), (e -= cn(e, ln));\r\n }\r\n return this._d.setTime(e), a.updateOffset(this, !0), this;\r\n }),\r\n (Mn.subtract = nn),\r\n (Mn.toArray = function () {\r\n var t = this;\r\n return [\r\n t.year(),\r\n t.month(),\r\n t.date(),\r\n t.hour(),\r\n t.minute(),\r\n t.second(),\r\n t.millisecond(),\r\n ];\r\n }),\r\n (Mn.toObject = function () {\r\n var t = this;\r\n return {\r\n years: t.year(),\r\n months: t.month(),\r\n date: t.date(),\r\n hours: t.hours(),\r\n minutes: t.minutes(),\r\n seconds: t.seconds(),\r\n milliseconds: t.milliseconds(),\r\n };\r\n }),\r\n (Mn.toDate = function () {\r\n return new Date(this.valueOf());\r\n }),\r\n (Mn.toISOString = function (t) {\r\n if (!this.isValid()) return null;\r\n var e = !0 !== t,\r\n n = e ? this.clone().utc() : this;\r\n return n.year() < 0 || n.year() > 9999\r\n ? U(\r\n n,\r\n e\r\n ? \"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\"\r\n : \"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ\"\r\n )\r\n : O(Date.prototype.toISOString)\r\n ? e\r\n ? this.toDate().toISOString()\r\n : new Date(this.valueOf() + 60 * this.utcOffset() * 1e3)\r\n .toISOString()\r\n .replace(\"Z\", U(n, \"Z\"))\r\n : U(\r\n n,\r\n e\r\n ? \"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\"\r\n : \"YYYY-MM-DD[T]HH:mm:ss.SSSZ\"\r\n );\r\n }),\r\n (Mn.inspect = function () {\r\n if (!this.isValid()) return \"moment.invalid(/* \" + this._i + \" */)\";\r\n var t = \"moment\",\r\n e = \"\";\r\n this.isLocal() ||\r\n ((t = 0 === this.utcOffset() ? \"moment.utc\" : \"moment.parseZone\"),\r\n (e = \"Z\"));\r\n var n = \"[\" + t + '(\"]',\r\n i = 0 <= this.year() && this.year() <= 9999 ? \"YYYY\" : \"YYYYYY\",\r\n a = e + '[\")]';\r\n return this.format(n + i + \"-MM-DD[T]HH:mm:ss.SSS\" + a);\r\n }),\r\n (Mn.toJSON = function () {\r\n return this.isValid() ? this.toISOString() : null;\r\n }),\r\n (Mn.toString = function () {\r\n return this.clone()\r\n .locale(\"en\")\r\n .format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\");\r\n }),\r\n (Mn.unix = function () {\r\n return Math.floor(this.valueOf() / 1e3);\r\n }),\r\n (Mn.valueOf = function () {\r\n return this._d.valueOf() - 6e4 * (this._offset || 0);\r\n }),\r\n (Mn.creationData = function () {\r\n return {\r\n input: this._i,\r\n format: this._f,\r\n locale: this._locale,\r\n isUTC: this._isUTC,\r\n strict: this._strict,\r\n };\r\n }),\r\n (Mn.year = Tt),\r\n (Mn.isLeapYear = function () {\r\n return Ct(this.year());\r\n }),\r\n (Mn.weekYear = function (t) {\r\n return pn.call(\r\n this,\r\n t,\r\n this.week(),\r\n this.weekday(),\r\n this.localeData()._week.dow,\r\n this.localeData()._week.doy\r\n );\r\n }),\r\n (Mn.isoWeekYear = function (t) {\r\n return pn.call(this, t, this.isoWeek(), this.isoWeekday(), 1, 4);\r\n }),\r\n (Mn.quarter = Mn.quarters =\r\n function (t) {\r\n return null == t\r\n ? Math.ceil((this.month() + 1) / 3)\r\n : this.month(3 * (t - 1) + (this.month() % 3));\r\n }),\r\n (Mn.month = zt),\r\n (Mn.daysInMonth = function () {\r\n return It(this.year(), this.month());\r\n }),\r\n (Mn.week = Mn.weeks =\r\n function (t) {\r\n var e = this.localeData().week(this);\r\n return null == t ? e : this.add(7 * (t - e), \"d\");\r\n }),\r\n (Mn.isoWeek = Mn.isoWeeks =\r\n function (t) {\r\n var e = qt(this, 1, 4).week;\r\n return null == t ? e : this.add(7 * (t - e), \"d\");\r\n }),\r\n (Mn.weeksInYear = function () {\r\n var t = this.localeData()._week;\r\n return Zt(this.year(), t.dow, t.doy);\r\n }),\r\n (Mn.isoWeeksInYear = function () {\r\n return Zt(this.year(), 1, 4);\r\n }),\r\n (Mn.date = bn),\r\n (Mn.day = Mn.days =\r\n function (t) {\r\n if (!this.isValid()) return null != t ? this : NaN;\r\n var e = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\r\n return null != t\r\n ? ((t = (function (t, e) {\r\n return \"string\" != typeof t\r\n ? t\r\n : isNaN(t)\r\n ? \"number\" == typeof (t = e.weekdaysParse(t))\r\n ? t\r\n : null\r\n : parseInt(t, 10);\r\n })(t, this.localeData())),\r\n this.add(t - e, \"d\"))\r\n : e;\r\n }),\r\n (Mn.weekday = function (t) {\r\n if (!this.isValid()) return null != t ? this : NaN;\r\n var e = (this.day() + 7 - this.localeData()._week.dow) % 7;\r\n return null == t ? e : this.add(t - e, \"d\");\r\n }),\r\n (Mn.isoWeekday = function (t) {\r\n if (!this.isValid()) return null != t ? this : NaN;\r\n if (null != t) {\r\n var e = (function (t, e) {\r\n return \"string\" == typeof t\r\n ? e.weekdaysParse(t) % 7 || 7\r\n : isNaN(t)\r\n ? null\r\n : t;\r\n })(t, this.localeData());\r\n return this.day(this.day() % 7 ? e : e - 7);\r\n }\r\n return this.day() || 7;\r\n }),\r\n (Mn.dayOfYear = function (t) {\r\n var e =\r\n Math.round(\r\n (this.clone().startOf(\"day\") - this.clone().startOf(\"year\")) /\r\n 864e5\r\n ) + 1;\r\n return null == t ? e : this.add(t - e, \"d\");\r\n }),\r\n (Mn.hour = Mn.hours = le),\r\n (Mn.minute = Mn.minutes = yn),\r\n (Mn.second = Mn.seconds = _n),\r\n (Mn.millisecond = Mn.milliseconds = kn),\r\n (Mn.utcOffset = function (t, e, n) {\r\n var i,\r\n r = this._offset || 0;\r\n if (!this.isValid()) return null != t ? this : NaN;\r\n if (null != t) {\r\n if (\"string\" == typeof t) {\r\n if (null === (t = je(st, t))) return this;\r\n } else Math.abs(t) < 16 && !n && (t *= 60);\r\n return (\r\n !this._isUTC && e && (i = Ge(this)),\r\n (this._offset = t),\r\n (this._isUTC = !0),\r\n null != i && this.add(i, \"m\"),\r\n r !== t &&\r\n (!e || this._changeInProgress\r\n ? tn(this, Xe(t - r, \"m\"), 1, !1)\r\n : this._changeInProgress ||\r\n ((this._changeInProgress = !0),\r\n a.updateOffset(this, !0),\r\n (this._changeInProgress = null))),\r\n this\r\n );\r\n }\r\n return this._isUTC ? r : Ge(this);\r\n }),\r\n (Mn.utc = function (t) {\r\n return this.utcOffset(0, t);\r\n }),\r\n (Mn.local = function (t) {\r\n return (\r\n this._isUTC &&\r\n (this.utcOffset(0, t),\r\n (this._isUTC = !1),\r\n t && this.subtract(Ge(this), \"m\")),\r\n this\r\n );\r\n }),\r\n (Mn.parseZone = function () {\r\n if (null != this._tzm) this.utcOffset(this._tzm, !1, !0);\r\n else if (\"string\" == typeof this._i) {\r\n var t = je(ot, this._i);\r\n null != t ? this.utcOffset(t) : this.utcOffset(0, !0);\r\n }\r\n return this;\r\n }),\r\n (Mn.hasAlignedHourOffset = function (t) {\r\n return (\r\n !!this.isValid() &&\r\n ((t = t ? Le(t).utcOffset() : 0),\r\n (this.utcOffset() - t) % 60 == 0)\r\n );\r\n }),\r\n (Mn.isDST = function () {\r\n return (\r\n this.utcOffset() > this.clone().month(0).utcOffset() ||\r\n this.utcOffset() > this.clone().month(5).utcOffset()\r\n );\r\n }),\r\n (Mn.isLocal = function () {\r\n return !!this.isValid() && !this._isUTC;\r\n }),\r\n (Mn.isUtcOffset = function () {\r\n return !!this.isValid() && this._isUTC;\r\n }),\r\n (Mn.isUtc = qe),\r\n (Mn.isUTC = qe),\r\n (Mn.zoneAbbr = function () {\r\n return this._isUTC ? \"UTC\" : \"\";\r\n }),\r\n (Mn.zoneName = function () {\r\n return this._isUTC ? \"Coordinated Universal Time\" : \"\";\r\n }),\r\n (Mn.dates = D(\"dates accessor is deprecated. Use date instead.\", bn)),\r\n (Mn.months = D(\r\n \"months accessor is deprecated. Use month instead\",\r\n zt\r\n )),\r\n (Mn.years = D(\"years accessor is deprecated. Use year instead\", Tt)),\r\n (Mn.zone = D(\r\n \"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\",\r\n function (t, e) {\r\n return null != t\r\n ? (\"string\" != typeof t && (t = -t), this.utcOffset(t, e), this)\r\n : -this.utcOffset();\r\n }\r\n )),\r\n (Mn.isDSTShifted = D(\r\n \"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\",\r\n function () {\r\n if (!s(this._isDSTShifted)) return this._isDSTShifted;\r\n var t = {};\r\n if ((b(t, this), (t = Fe(t))._a)) {\r\n var e = t._isUTC ? f(t._a) : Le(t._a);\r\n this._isDSTShifted = this.isValid() && M(t._a, e.toArray()) > 0;\r\n } else this._isDSTShifted = !1;\r\n return this._isDSTShifted;\r\n }\r\n ));\r\n var Dn = F.prototype;\r\n function Cn(t, e, n, i) {\r\n var a = pe(),\r\n r = f().set(i, e);\r\n return a[n](r, t);\r\n }\r\n function Pn(t, e, n) {\r\n if ((l(t) && ((e = t), (t = void 0)), (t = t || \"\"), null != e))\r\n return Cn(t, e, n, \"month\");\r\n var i,\r\n a = [];\r\n for (i = 0; i < 12; i++) a[i] = Cn(t, i, n, \"month\");\r\n return a;\r\n }\r\n function Tn(t, e, n, i) {\r\n \"boolean\" == typeof t\r\n ? (l(e) && ((n = e), (e = void 0)), (e = e || \"\"))\r\n : ((n = e = t),\r\n (t = !1),\r\n l(e) && ((n = e), (e = void 0)),\r\n (e = e || \"\"));\r\n var a,\r\n r = pe(),\r\n o = t ? r._week.dow : 0;\r\n if (null != n) return Cn(e, (n + o) % 7, i, \"day\");\r\n var s = [];\r\n for (a = 0; a < 7; a++) s[a] = Cn(e, (a + o) % 7, i, \"day\");\r\n return s;\r\n }\r\n (Dn.calendar = function (t, e, n) {\r\n var i = this._calendar[t] || this._calendar.sameElse;\r\n return O(i) ? i.call(e, n) : i;\r\n }),\r\n (Dn.longDateFormat = function (t) {\r\n var e = this._longDateFormat[t],\r\n n = this._longDateFormat[t.toUpperCase()];\r\n return e || !n\r\n ? e\r\n : ((this._longDateFormat[t] = n.replace(\r\n /MMMM|MM|DD|dddd/g,\r\n function (t) {\r\n return t.slice(1);\r\n }\r\n )),\r\n this._longDateFormat[t]);\r\n }),\r\n (Dn.invalidDate = function () {\r\n return this._invalidDate;\r\n }),\r\n (Dn.ordinal = function (t) {\r\n return this._ordinal.replace(\"%d\", t);\r\n }),\r\n (Dn.preparse = Sn),\r\n (Dn.postformat = Sn),\r\n (Dn.relativeTime = function (t, e, n, i) {\r\n var a = this._relativeTime[n];\r\n return O(a) ? a(t, e, n, i) : a.replace(/%d/i, t);\r\n }),\r\n (Dn.pastFuture = function (t, e) {\r\n var n = this._relativeTime[t > 0 ? \"future\" : \"past\"];\r\n return O(n) ? n(e) : n.replace(/%s/i, e);\r\n }),\r\n (Dn.set = function (t) {\r\n var e, n;\r\n for (n in t) O((e = t[n])) ? (this[n] = e) : (this[\"_\" + n] = e);\r\n (this._config = t),\r\n (this._dayOfMonthOrdinalParseLenient = new RegExp(\r\n (this._dayOfMonthOrdinalParse.source ||\r\n this._ordinalParse.source) +\r\n \"|\" +\r\n /\\d{1,2}/.source\r\n ));\r\n }),\r\n (Dn.months = function (t, e) {\r\n return t\r\n ? r(this._months)\r\n ? this._months[t.month()]\r\n : this._months[\r\n (this._months.isFormat || Lt).test(e)\r\n ? \"format\"\r\n : \"standalone\"\r\n ][t.month()]\r\n : r(this._months)\r\n ? this._months\r\n : this._months.standalone;\r\n }),\r\n (Dn.monthsShort = function (t, e) {\r\n return t\r\n ? r(this._monthsShort)\r\n ? this._monthsShort[t.month()]\r\n : this._monthsShort[Lt.test(e) ? \"format\" : \"standalone\"][\r\n t.month()\r\n ]\r\n : r(this._monthsShort)\r\n ? this._monthsShort\r\n : this._monthsShort.standalone;\r\n }),\r\n (Dn.monthsParse = function (t, e, n) {\r\n var i, a, r;\r\n if (this._monthsParseExact) return Wt.call(this, t, e, n);\r\n for (\r\n this._monthsParse ||\r\n ((this._monthsParse = []),\r\n (this._longMonthsParse = []),\r\n (this._shortMonthsParse = [])),\r\n i = 0;\r\n i < 12;\r\n i++\r\n ) {\r\n if (\r\n ((a = f([2e3, i])),\r\n n &&\r\n !this._longMonthsParse[i] &&\r\n ((this._longMonthsParse[i] = new RegExp(\r\n \"^\" + this.months(a, \"\").replace(\".\", \"\") + \"$\",\r\n \"i\"\r\n )),\r\n (this._shortMonthsParse[i] = new RegExp(\r\n \"^\" + this.monthsShort(a, \"\").replace(\".\", \"\") + \"$\",\r\n \"i\"\r\n ))),\r\n n ||\r\n this._monthsParse[i] ||\r\n ((r =\r\n \"^\" + this.months(a, \"\") + \"|^\" + this.monthsShort(a, \"\")),\r\n (this._monthsParse[i] = new RegExp(r.replace(\".\", \"\"), \"i\"))),\r\n n && \"MMMM\" === e && this._longMonthsParse[i].test(t))\r\n )\r\n return i;\r\n if (n && \"MMM\" === e && this._shortMonthsParse[i].test(t))\r\n return i;\r\n if (!n && this._monthsParse[i].test(t)) return i;\r\n }\r\n }),\r\n (Dn.monthsRegex = function (t) {\r\n return this._monthsParseExact\r\n ? (h(this, \"_monthsRegex\") || Ht.call(this),\r\n t ? this._monthsStrictRegex : this._monthsRegex)\r\n : (h(this, \"_monthsRegex\") || (this._monthsRegex = Vt),\r\n this._monthsStrictRegex && t\r\n ? this._monthsStrictRegex\r\n : this._monthsRegex);\r\n }),\r\n (Dn.monthsShortRegex = function (t) {\r\n return this._monthsParseExact\r\n ? (h(this, \"_monthsRegex\") || Ht.call(this),\r\n t ? this._monthsShortStrictRegex : this._monthsShortRegex)\r\n : (h(this, \"_monthsShortRegex\") || (this._monthsShortRegex = Et),\r\n this._monthsShortStrictRegex && t\r\n ? this._monthsShortStrictRegex\r\n : this._monthsShortRegex);\r\n }),\r\n (Dn.week = function (t) {\r\n return qt(t, this._week.dow, this._week.doy).week;\r\n }),\r\n (Dn.firstDayOfYear = function () {\r\n return this._week.doy;\r\n }),\r\n (Dn.firstDayOfWeek = function () {\r\n return this._week.dow;\r\n }),\r\n (Dn.weekdays = function (t, e) {\r\n var n = r(this._weekdays)\r\n ? this._weekdays\r\n : this._weekdays[\r\n t && !0 !== t && this._weekdays.isFormat.test(e)\r\n ? \"format\"\r\n : \"standalone\"\r\n ];\r\n return !0 === t ? $t(n, this._week.dow) : t ? n[t.day()] : n;\r\n }),\r\n (Dn.weekdaysMin = function (t) {\r\n return !0 === t\r\n ? $t(this._weekdaysMin, this._week.dow)\r\n : t\r\n ? this._weekdaysMin[t.day()]\r\n : this._weekdaysMin;\r\n }),\r\n (Dn.weekdaysShort = function (t) {\r\n return !0 === t\r\n ? $t(this._weekdaysShort, this._week.dow)\r\n : t\r\n ? this._weekdaysShort[t.day()]\r\n : this._weekdaysShort;\r\n }),\r\n (Dn.weekdaysParse = function (t, e, n) {\r\n var i, a, r;\r\n if (this._weekdaysParseExact) return Qt.call(this, t, e, n);\r\n for (\r\n this._weekdaysParse ||\r\n ((this._weekdaysParse = []),\r\n (this._minWeekdaysParse = []),\r\n (this._shortWeekdaysParse = []),\r\n (this._fullWeekdaysParse = [])),\r\n i = 0;\r\n i < 7;\r\n i++\r\n ) {\r\n if (\r\n ((a = f([2e3, 1]).day(i)),\r\n n &&\r\n !this._fullWeekdaysParse[i] &&\r\n ((this._fullWeekdaysParse[i] = new RegExp(\r\n \"^\" + this.weekdays(a, \"\").replace(\".\", \"\\\\.?\") + \"$\",\r\n \"i\"\r\n )),\r\n (this._shortWeekdaysParse[i] = new RegExp(\r\n \"^\" + this.weekdaysShort(a, \"\").replace(\".\", \"\\\\.?\") + \"$\",\r\n \"i\"\r\n )),\r\n (this._minWeekdaysParse[i] = new RegExp(\r\n \"^\" + this.weekdaysMin(a, \"\").replace(\".\", \"\\\\.?\") + \"$\",\r\n \"i\"\r\n ))),\r\n this._weekdaysParse[i] ||\r\n ((r =\r\n \"^\" +\r\n this.weekdays(a, \"\") +\r\n \"|^\" +\r\n this.weekdaysShort(a, \"\") +\r\n \"|^\" +\r\n this.weekdaysMin(a, \"\")),\r\n (this._weekdaysParse[i] = new RegExp(\r\n r.replace(\".\", \"\"),\r\n \"i\"\r\n ))),\r\n n && \"dddd\" === e && this._fullWeekdaysParse[i].test(t))\r\n )\r\n return i;\r\n if (n && \"ddd\" === e && this._shortWeekdaysParse[i].test(t))\r\n return i;\r\n if (n && \"dd\" === e && this._minWeekdaysParse[i].test(t))\r\n return i;\r\n if (!n && this._weekdaysParse[i].test(t)) return i;\r\n }\r\n }),\r\n (Dn.weekdaysRegex = function (t) {\r\n return this._weekdaysParseExact\r\n ? (h(this, \"_weekdaysRegex\") || ie.call(this),\r\n t ? this._weekdaysStrictRegex : this._weekdaysRegex)\r\n : (h(this, \"_weekdaysRegex\") || (this._weekdaysRegex = te),\r\n this._weekdaysStrictRegex && t\r\n ? this._weekdaysStrictRegex\r\n : this._weekdaysRegex);\r\n }),\r\n (Dn.weekdaysShortRegex = function (t) {\r\n return this._weekdaysParseExact\r\n ? (h(this, \"_weekdaysRegex\") || ie.call(this),\r\n t ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex)\r\n : (h(this, \"_weekdaysShortRegex\") ||\r\n (this._weekdaysShortRegex = ee),\r\n this._weekdaysShortStrictRegex && t\r\n ? this._weekdaysShortStrictRegex\r\n : this._weekdaysShortRegex);\r\n }),\r\n (Dn.weekdaysMinRegex = function (t) {\r\n return this._weekdaysParseExact\r\n ? (h(this, \"_weekdaysRegex\") || ie.call(this),\r\n t ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex)\r\n : (h(this, \"_weekdaysMinRegex\") || (this._weekdaysMinRegex = ne),\r\n this._weekdaysMinStrictRegex && t\r\n ? this._weekdaysMinStrictRegex\r\n : this._weekdaysMinRegex);\r\n }),\r\n (Dn.isPM = function (t) {\r\n return \"p\" === (t + \"\").toLowerCase().charAt(0);\r\n }),\r\n (Dn.meridiem = function (t, e, n) {\r\n return t > 11 ? (n ? \"pm\" : \"PM\") : n ? \"am\" : \"AM\";\r\n }),\r\n ge(\"en\", {\r\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\r\n ordinal: function (t) {\r\n var e = t % 10;\r\n return (\r\n t +\r\n (1 === k((t % 100) / 10)\r\n ? \"th\"\r\n : 1 === e\r\n ? \"st\"\r\n : 2 === e\r\n ? \"nd\"\r\n : 3 === e\r\n ? \"rd\"\r\n : \"th\")\r\n );\r\n },\r\n }),\r\n (a.lang = D(\r\n \"moment.lang is deprecated. Use moment.locale instead.\",\r\n ge\r\n )),\r\n (a.langData = D(\r\n \"moment.langData is deprecated. Use moment.localeData instead.\",\r\n pe\r\n ));\r\n var On = Math.abs;\r\n function An(t, e, n, i) {\r\n var a = Xe(e, n);\r\n return (\r\n (t._milliseconds += i * a._milliseconds),\r\n (t._days += i * a._days),\r\n (t._months += i * a._months),\r\n t._bubble()\r\n );\r\n }\r\n function Fn(t) {\r\n return t < 0 ? Math.floor(t) : Math.ceil(t);\r\n }\r\n function In(t) {\r\n return (4800 * t) / 146097;\r\n }\r\n function Ln(t) {\r\n return (146097 * t) / 4800;\r\n }\r\n function Rn(t) {\r\n return function () {\r\n return this.as(t);\r\n };\r\n }\r\n var Nn = Rn(\"ms\"),\r\n Wn = Rn(\"s\"),\r\n Yn = Rn(\"m\"),\r\n zn = Rn(\"h\"),\r\n En = Rn(\"d\"),\r\n Vn = Rn(\"w\"),\r\n Hn = Rn(\"M\"),\r\n Bn = Rn(\"Q\"),\r\n jn = Rn(\"y\");\r\n function Un(t) {\r\n return function () {\r\n return this.isValid() ? this._data[t] : NaN;\r\n };\r\n }\r\n var Gn = Un(\"milliseconds\"),\r\n qn = Un(\"seconds\"),\r\n Zn = Un(\"minutes\"),\r\n $n = Un(\"hours\"),\r\n Xn = Un(\"days\"),\r\n Kn = Un(\"months\"),\r\n Jn = Un(\"years\"),\r\n Qn = Math.round,\r\n ti = { ss: 44, s: 45, m: 45, h: 22, d: 26, M: 11 };\r\n function ei(t, e, n, i, a) {\r\n return a.relativeTime(e || 1, !!n, t, i);\r\n }\r\n var ni = Math.abs;\r\n function ii(t) {\r\n return (t > 0) - (t < 0) || +t;\r\n }\r\n function ai() {\r\n if (!this.isValid()) return this.localeData().invalidDate();\r\n var t,\r\n e,\r\n n = ni(this._milliseconds) / 1e3,\r\n i = ni(this._days),\r\n a = ni(this._months);\r\n (t = w(n / 60)), (e = w(t / 60)), (n %= 60), (t %= 60);\r\n var r = w(a / 12),\r\n o = (a %= 12),\r\n s = i,\r\n l = e,\r\n u = t,\r\n d = n ? n.toFixed(3).replace(/\\.?0+$/, \"\") : \"\",\r\n h = this.asSeconds();\r\n if (!h) return \"P0D\";\r\n var c = h < 0 ? \"-\" : \"\",\r\n f = ii(this._months) !== ii(h) ? \"-\" : \"\",\r\n g = ii(this._days) !== ii(h) ? \"-\" : \"\",\r\n m = ii(this._milliseconds) !== ii(h) ? \"-\" : \"\";\r\n return (\r\n c +\r\n \"P\" +\r\n (r ? f + r + \"Y\" : \"\") +\r\n (o ? f + o + \"M\" : \"\") +\r\n (s ? g + s + \"D\" : \"\") +\r\n (l || u || d ? \"T\" : \"\") +\r\n (l ? m + l + \"H\" : \"\") +\r\n (u ? m + u + \"M\" : \"\") +\r\n (d ? m + d + \"S\" : \"\")\r\n );\r\n }\r\n var ri = ze.prototype;\r\n return (\r\n (ri.isValid = function () {\r\n return this._isValid;\r\n }),\r\n (ri.abs = function () {\r\n var t = this._data;\r\n return (\r\n (this._milliseconds = On(this._milliseconds)),\r\n (this._days = On(this._days)),\r\n (this._months = On(this._months)),\r\n (t.milliseconds = On(t.milliseconds)),\r\n (t.seconds = On(t.seconds)),\r\n (t.minutes = On(t.minutes)),\r\n (t.hours = On(t.hours)),\r\n (t.months = On(t.months)),\r\n (t.years = On(t.years)),\r\n this\r\n );\r\n }),\r\n (ri.add = function (t, e) {\r\n return An(this, t, e, 1);\r\n }),\r\n (ri.subtract = function (t, e) {\r\n return An(this, t, e, -1);\r\n }),\r\n (ri.as = function (t) {\r\n if (!this.isValid()) return NaN;\r\n var e,\r\n n,\r\n i = this._milliseconds;\r\n if (\"month\" === (t = R(t)) || \"quarter\" === t || \"year\" === t)\r\n switch (\r\n ((e = this._days + i / 864e5), (n = this._months + In(e)), t)\r\n ) {\r\n case \"month\":\r\n return n;\r\n case \"quarter\":\r\n return n / 3;\r\n case \"year\":\r\n return n / 12;\r\n }\r\n else\r\n switch (((e = this._days + Math.round(Ln(this._months))), t)) {\r\n case \"week\":\r\n return e / 7 + i / 6048e5;\r\n case \"day\":\r\n return e + i / 864e5;\r\n case \"hour\":\r\n return 24 * e + i / 36e5;\r\n case \"minute\":\r\n return 1440 * e + i / 6e4;\r\n case \"second\":\r\n return 86400 * e + i / 1e3;\r\n case \"millisecond\":\r\n return Math.floor(864e5 * e) + i;\r\n default:\r\n throw new Error(\"Unknown unit \" + t);\r\n }\r\n }),\r\n (ri.asMilliseconds = Nn),\r\n (ri.asSeconds = Wn),\r\n (ri.asMinutes = Yn),\r\n (ri.asHours = zn),\r\n (ri.asDays = En),\r\n (ri.asWeeks = Vn),\r\n (ri.asMonths = Hn),\r\n (ri.asQuarters = Bn),\r\n (ri.asYears = jn),\r\n (ri.valueOf = function () {\r\n return this.isValid()\r\n ? this._milliseconds +\r\n 864e5 * this._days +\r\n (this._months % 12) * 2592e6 +\r\n 31536e6 * k(this._months / 12)\r\n : NaN;\r\n }),\r\n (ri._bubble = function () {\r\n var t,\r\n e,\r\n n,\r\n i,\r\n a,\r\n r = this._milliseconds,\r\n o = this._days,\r\n s = this._months,\r\n l = this._data;\r\n return (\r\n (r >= 0 && o >= 0 && s >= 0) ||\r\n (r <= 0 && o <= 0 && s <= 0) ||\r\n ((r += 864e5 * Fn(Ln(s) + o)), (o = 0), (s = 0)),\r\n (l.milliseconds = r % 1e3),\r\n (t = w(r / 1e3)),\r\n (l.seconds = t % 60),\r\n (e = w(t / 60)),\r\n (l.minutes = e % 60),\r\n (n = w(e / 60)),\r\n (l.hours = n % 24),\r\n (o += w(n / 24)),\r\n (a = w(In(o))),\r\n (s += a),\r\n (o -= Fn(Ln(a))),\r\n (i = w(s / 12)),\r\n (s %= 12),\r\n (l.days = o),\r\n (l.months = s),\r\n (l.years = i),\r\n this\r\n );\r\n }),\r\n (ri.clone = function () {\r\n return Xe(this);\r\n }),\r\n (ri.get = function (t) {\r\n return (t = R(t)), this.isValid() ? this[t + \"s\"]() : NaN;\r\n }),\r\n (ri.milliseconds = Gn),\r\n (ri.seconds = qn),\r\n (ri.minutes = Zn),\r\n (ri.hours = $n),\r\n (ri.days = Xn),\r\n (ri.weeks = function () {\r\n return w(this.days() / 7);\r\n }),\r\n (ri.months = Kn),\r\n (ri.years = Jn),\r\n (ri.humanize = function (t) {\r\n if (!this.isValid()) return this.localeData().invalidDate();\r\n var e = this.localeData(),\r\n n = (function (t, e, n) {\r\n var i = Xe(t).abs(),\r\n a = Qn(i.as(\"s\")),\r\n r = Qn(i.as(\"m\")),\r\n o = Qn(i.as(\"h\")),\r\n s = Qn(i.as(\"d\")),\r\n l = Qn(i.as(\"M\")),\r\n u = Qn(i.as(\"y\")),\r\n d = (a <= ti.ss && [\"s\", a]) ||\r\n (a < ti.s && [\"ss\", a]) ||\r\n (r <= 1 && [\"m\"]) ||\r\n (r < ti.m && [\"mm\", r]) ||\r\n (o <= 1 && [\"h\"]) ||\r\n (o < ti.h && [\"hh\", o]) ||\r\n (s <= 1 && [\"d\"]) ||\r\n (s < ti.d && [\"dd\", s]) ||\r\n (l <= 1 && [\"M\"]) ||\r\n (l < ti.M && [\"MM\", l]) ||\r\n (u <= 1 && [\"y\"]) || [\"yy\", u];\r\n return (\r\n (d[2] = e), (d[3] = +t > 0), (d[4] = n), ei.apply(null, d)\r\n );\r\n })(this, !t, e);\r\n return t && (n = e.pastFuture(+this, n)), e.postformat(n);\r\n }),\r\n (ri.toISOString = ai),\r\n (ri.toString = ai),\r\n (ri.toJSON = ai),\r\n (ri.locale = rn),\r\n (ri.localeData = sn),\r\n (ri.toIsoString = D(\r\n \"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",\r\n ai\r\n )),\r\n (ri.lang = on),\r\n j(\"X\", 0, 0, \"unix\"),\r\n j(\"x\", 0, 0, \"valueOf\"),\r\n dt(\"x\", rt),\r\n dt(\"X\", /[+-]?\\d+(\\.\\d{1,3})?/),\r\n gt(\"X\", function (t, e, n) {\r\n n._d = new Date(1e3 * parseFloat(t, 10));\r\n }),\r\n gt(\"x\", function (t, e, n) {\r\n n._d = new Date(k(t));\r\n }),\r\n (a.version = \"2.24.0\"),\r\n (n = Le),\r\n (a.fn = Mn),\r\n (a.min = function () {\r\n return We(\"isBefore\", [].slice.call(arguments, 0));\r\n }),\r\n (a.max = function () {\r\n return We(\"isAfter\", [].slice.call(arguments, 0));\r\n }),\r\n (a.now = function () {\r\n return Date.now ? Date.now() : +new Date();\r\n }),\r\n (a.utc = f),\r\n (a.unix = function (t) {\r\n return Le(1e3 * t);\r\n }),\r\n (a.months = function (t, e) {\r\n return Pn(t, e, \"months\");\r\n }),\r\n (a.isDate = u),\r\n (a.locale = ge),\r\n (a.invalid = p),\r\n (a.duration = Xe),\r\n (a.isMoment = _),\r\n (a.weekdays = function (t, e, n) {\r\n return Tn(t, e, n, \"weekdays\");\r\n }),\r\n (a.parseZone = function () {\r\n return Le.apply(null, arguments).parseZone();\r\n }),\r\n (a.localeData = pe),\r\n (a.isDuration = Ee),\r\n (a.monthsShort = function (t, e) {\r\n return Pn(t, e, \"monthsShort\");\r\n }),\r\n (a.weekdaysMin = function (t, e, n) {\r\n return Tn(t, e, n, \"weekdaysMin\");\r\n }),\r\n (a.defineLocale = me),\r\n (a.updateLocale = function (t, e) {\r\n if (null != e) {\r\n var n,\r\n i,\r\n a = ue;\r\n null != (i = fe(t)) && (a = i._config),\r\n (e = A(a, e)),\r\n ((n = new F(e)).parentLocale = de[t]),\r\n (de[t] = n),\r\n ge(t);\r\n } else\r\n null != de[t] &&\r\n (null != de[t].parentLocale\r\n ? (de[t] = de[t].parentLocale)\r\n : null != de[t] && delete de[t]);\r\n return de[t];\r\n }),\r\n (a.locales = function () {\r\n return C(de);\r\n }),\r\n (a.weekdaysShort = function (t, e, n) {\r\n return Tn(t, e, n, \"weekdaysShort\");\r\n }),\r\n (a.normalizeUnits = R),\r\n (a.relativeTimeRounding = function (t) {\r\n return void 0 === t ? Qn : \"function\" == typeof t && ((Qn = t), !0);\r\n }),\r\n (a.relativeTimeThreshold = function (t, e) {\r\n return (\r\n void 0 !== ti[t] &&\r\n (void 0 === e\r\n ? ti[t]\r\n : ((ti[t] = e), \"s\" === t && (ti.ss = e - 1), !0))\r\n );\r\n }),\r\n (a.calendarFormat = function (t, e) {\r\n var n = t.diff(e, \"days\", !0);\r\n return n < -6\r\n ? \"sameElse\"\r\n : n < -1\r\n ? \"lastWeek\"\r\n : n < 0\r\n ? \"lastDay\"\r\n : n < 1\r\n ? \"sameDay\"\r\n : n < 2\r\n ? \"nextDay\"\r\n : n < 7\r\n ? \"nextWeek\"\r\n : \"sameElse\";\r\n }),\r\n (a.prototype = Mn),\r\n (a.HTML5_FMT = {\r\n DATETIME_LOCAL: \"YYYY-MM-DDTHH:mm\",\r\n DATETIME_LOCAL_SECONDS: \"YYYY-MM-DDTHH:mm:ss\",\r\n DATETIME_LOCAL_MS: \"YYYY-MM-DDTHH:mm:ss.SSS\",\r\n DATE: \"YYYY-MM-DD\",\r\n TIME: \"HH:mm\",\r\n TIME_SECONDS: \"HH:mm:ss\",\r\n TIME_MS: \"HH:mm:ss.SSS\",\r\n WEEK: \"GGGG-[W]WW\",\r\n MONTH: \"YYYY-MM\",\r\n }),\r\n a\r\n );\r\n })();\r\n }),\r\n mi = {\r\n datetime: \"MMM D, YYYY, h:mm:ss a\",\r\n millisecond: \"h:mm:ss.SSS a\",\r\n second: \"h:mm:ss a\",\r\n minute: \"h:mm a\",\r\n hour: \"hA\",\r\n day: \"MMM D\",\r\n week: \"ll\",\r\n month: \"MMM YYYY\",\r\n quarter: \"[Q]Q - YYYY\",\r\n year: \"YYYY\",\r\n };\r\n rn._date.override(\r\n \"function\" == typeof gi\r\n ? {\r\n _id: \"moment\",\r\n formats: function () {\r\n return mi;\r\n },\r\n parse: function (t, e) {\r\n return (\r\n \"string\" == typeof t && \"string\" == typeof e\r\n ? (t = gi(t, e))\r\n : t instanceof gi || (t = gi(t)),\r\n t.isValid() ? t.valueOf() : null\r\n );\r\n },\r\n format: function (t, e) {\r\n return gi(t).format(e);\r\n },\r\n add: function (t, e, n) {\r\n return gi(t).add(e, n).valueOf();\r\n },\r\n diff: function (t, e, n) {\r\n return gi(t).diff(gi(e), n);\r\n },\r\n startOf: function (t, e, n) {\r\n return (\r\n (t = gi(t)),\r\n \"isoWeek\" === e\r\n ? t.isoWeekday(n).valueOf()\r\n : t.startOf(e).valueOf()\r\n );\r\n },\r\n endOf: function (t, e) {\r\n return gi(t).endOf(e).valueOf();\r\n },\r\n _create: function (t) {\r\n return gi(t);\r\n },\r\n }\r\n : {}\r\n ),\r\n W._set(\"global\", { plugins: { filler: { propagate: !0 } } });\r\n var pi = {\r\n dataset: function (t) {\r\n var e = t.fill,\r\n n = t.chart,\r\n i = n.getDatasetMeta(e),\r\n a = (i && n.isDatasetVisible(e) && i.dataset._children) || [],\r\n r = a.length || 0;\r\n return r\r\n ? function (t, e) {\r\n return (e < r && a[e]._view) || null;\r\n }\r\n : null;\r\n },\r\n boundary: function (t) {\r\n var e = t.boundary,\r\n n = e ? e.x : null,\r\n i = e ? e.y : null;\r\n return H.isArray(e)\r\n ? function (t, n) {\r\n return e[n];\r\n }\r\n : function (t) {\r\n return { x: null === n ? t.x : n, y: null === i ? t.y : i };\r\n };\r\n },\r\n };\r\n function vi(t, e, n) {\r\n var i,\r\n a = t._model || {},\r\n r = a.fill;\r\n if ((void 0 === r && (r = !!a.backgroundColor), !1 === r || null === r))\r\n return !1;\r\n if (!0 === r) return \"origin\";\r\n if (((i = parseFloat(r, 10)), isFinite(i) && Math.floor(i) === i))\r\n return (\r\n (\"-\" !== r[0] && \"+\" !== r[0]) || (i = e + i),\r\n !(i === e || i < 0 || i >= n) && i\r\n );\r\n switch (r) {\r\n case \"bottom\":\r\n return \"start\";\r\n case \"top\":\r\n return \"end\";\r\n case \"zero\":\r\n return \"origin\";\r\n case \"origin\":\r\n case \"start\":\r\n case \"end\":\r\n return r;\r\n default:\r\n return !1;\r\n }\r\n }\r\n function bi(t) {\r\n return (t.el._scale || {}).getPointPositionForValue\r\n ? (function (t) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o = t.el._scale,\r\n s = o.options,\r\n l = o.chart.data.labels.length,\r\n u = t.fill,\r\n d = [];\r\n if (!l) return null;\r\n for (\r\n e = s.ticks.reverse ? o.max : o.min,\r\n n = s.ticks.reverse ? o.min : o.max,\r\n i = o.getPointPositionForValue(0, e),\r\n a = 0;\r\n a < l;\r\n ++a\r\n )\r\n (r =\r\n \"start\" === u || \"end\" === u\r\n ? o.getPointPositionForValue(a, \"start\" === u ? e : n)\r\n : o.getBasePosition(a)),\r\n s.gridLines.circular &&\r\n ((r.cx = i.x),\r\n (r.cy = i.y),\r\n (r.angle = o.getIndexAngle(a) - Math.PI / 2)),\r\n d.push(r);\r\n return d;\r\n })(t)\r\n : (function (t) {\r\n var e,\r\n n = t.el._model || {},\r\n i = t.el._scale || {},\r\n a = t.fill,\r\n r = null;\r\n if (isFinite(a)) return null;\r\n if (\r\n (\"start\" === a\r\n ? (r = void 0 === n.scaleBottom ? i.bottom : n.scaleBottom)\r\n : \"end\" === a\r\n ? (r = void 0 === n.scaleTop ? i.top : n.scaleTop)\r\n : void 0 !== n.scaleZero\r\n ? (r = n.scaleZero)\r\n : i.getBasePixel && (r = i.getBasePixel()),\r\n null != r)\r\n ) {\r\n if (void 0 !== r.x && void 0 !== r.y) return r;\r\n if (H.isFinite(r))\r\n return { x: (e = i.isHorizontal()) ? r : null, y: e ? null : r };\r\n }\r\n return null;\r\n })(t);\r\n }\r\n function yi(t, e, n) {\r\n var i,\r\n a = t[e].fill,\r\n r = [e];\r\n if (!n) return a;\r\n for (; !1 !== a && -1 === r.indexOf(a); ) {\r\n if (!isFinite(a)) return a;\r\n if (!(i = t[a])) return !1;\r\n if (i.visible) return a;\r\n r.push(a), (a = i.fill);\r\n }\r\n return !1;\r\n }\r\n function xi(t) {\r\n var e = t.fill,\r\n n = \"dataset\";\r\n return !1 === e ? null : (isFinite(e) || (n = \"boundary\"), pi[n](t));\r\n }\r\n function _i(t) {\r\n return t && !t.skip;\r\n }\r\n function wi(t, e, n, i, a) {\r\n var r, o, s, l;\r\n if (i && a) {\r\n for (t.moveTo(e[0].x, e[0].y), r = 1; r < i; ++r)\r\n H.canvas.lineTo(t, e[r - 1], e[r]);\r\n if (void 0 === n[0].angle)\r\n for (t.lineTo(n[a - 1].x, n[a - 1].y), r = a - 1; r > 0; --r)\r\n H.canvas.lineTo(t, n[r], n[r - 1], !0);\r\n else\r\n for (\r\n o = n[0].cx,\r\n s = n[0].cy,\r\n l = Math.sqrt(Math.pow(n[0].x - o, 2) + Math.pow(n[0].y - s, 2)),\r\n r = a - 1;\r\n r > 0;\r\n --r\r\n )\r\n t.arc(o, s, l, n[r].angle, n[r - 1].angle, !0);\r\n }\r\n }\r\n function ki(t, e, n, i, a, r) {\r\n var o,\r\n s,\r\n l,\r\n u,\r\n d,\r\n h,\r\n c,\r\n f,\r\n g = e.length,\r\n m = i.spanGaps,\r\n p = [],\r\n v = [],\r\n b = 0,\r\n y = 0;\r\n for (t.beginPath(), o = 0, s = g; o < s; ++o)\r\n (d = n((u = e[(l = o % g)]._view), l, i)),\r\n (h = _i(u)),\r\n (c = _i(d)),\r\n r && void 0 === f && h && (s = g + (f = o + 1)),\r\n h && c\r\n ? ((b = p.push(u)), (y = v.push(d)))\r\n : b &&\r\n y &&\r\n (m\r\n ? (h && p.push(u), c && v.push(d))\r\n : (wi(t, p, v, b, y), (b = y = 0), (p = []), (v = [])));\r\n wi(t, p, v, b, y), t.closePath(), (t.fillStyle = a), t.fill();\r\n }\r\n var Mi = {\r\n id: \"filler\",\r\n afterDatasetsUpdate: function (t, e) {\r\n var n,\r\n i,\r\n a,\r\n r,\r\n o = (t.data.datasets || []).length,\r\n s = e.propagate,\r\n l = [];\r\n for (i = 0; i < o; ++i)\r\n (r = null),\r\n (a = (n = t.getDatasetMeta(i)).dataset) &&\r\n a._model &&\r\n a instanceof wt.Line &&\r\n (r = {\r\n visible: t.isDatasetVisible(i),\r\n fill: vi(a, i, o),\r\n chart: t,\r\n el: a,\r\n }),\r\n (n.$filler = r),\r\n l.push(r);\r\n for (i = 0; i < o; ++i)\r\n (r = l[i]) &&\r\n ((r.fill = yi(l, i, s)), (r.boundary = bi(r)), (r.mapper = xi(r)));\r\n },\r\n beforeDatasetsDraw: function (t) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l = t._getSortedVisibleDatasetMetas(),\r\n u = t.ctx;\r\n for (n = l.length - 1; n >= 0; --n)\r\n (e = l[n].$filler) &&\r\n e.visible &&\r\n ((a = (i = e.el)._view),\r\n (r = i._children || []),\r\n (o = e.mapper),\r\n (s = a.backgroundColor || W.global.defaultColor),\r\n o &&\r\n s &&\r\n r.length &&\r\n (H.canvas.clipArea(u, t.chartArea),\r\n ki(u, r, o, a, s, i._loop),\r\n H.canvas.unclipArea(u)));\r\n },\r\n },\r\n Si = H.rtl.getRtlAdapter,\r\n Di = H.noop,\r\n Ci = H.valueOrDefault;\r\n function Pi(t, e) {\r\n return t.usePointStyle && t.boxWidth > e ? e : t.boxWidth;\r\n }\r\n W._set(\"global\", {\r\n legend: {\r\n display: !0,\r\n position: \"top\",\r\n align: \"center\",\r\n fullWidth: !0,\r\n reverse: !1,\r\n weight: 1e3,\r\n onClick: function (t, e) {\r\n var n = e.datasetIndex,\r\n i = this.chart,\r\n a = i.getDatasetMeta(n);\r\n (a.hidden = null === a.hidden ? !i.data.datasets[n].hidden : null),\r\n i.update();\r\n },\r\n onHover: null,\r\n onLeave: null,\r\n labels: {\r\n boxWidth: 40,\r\n padding: 10,\r\n generateLabels: function (t) {\r\n var e = t.data.datasets,\r\n n = t.options.legend || {},\r\n i = n.labels && n.labels.usePointStyle;\r\n return t._getSortedDatasetMetas().map(function (n) {\r\n var a = n.controller.getStyle(i ? 0 : void 0);\r\n return {\r\n text: e[n.index].label,\r\n fillStyle: a.backgroundColor,\r\n hidden: !t.isDatasetVisible(n.index),\r\n lineCap: a.borderCapStyle,\r\n lineDash: a.borderDash,\r\n lineDashOffset: a.borderDashOffset,\r\n lineJoin: a.borderJoinStyle,\r\n lineWidth: a.borderWidth,\r\n strokeStyle: a.borderColor,\r\n pointStyle: a.pointStyle,\r\n rotation: a.rotation,\r\n datasetIndex: n.index,\r\n };\r\n }, this);\r\n },\r\n },\r\n },\r\n legendCallback: function (t) {\r\n var e,\r\n n,\r\n i,\r\n a = document.createElement(\"ul\"),\r\n r = t.data.datasets;\r\n for (\r\n a.setAttribute(\"class\", t.id + \"-legend\"), e = 0, n = r.length;\r\n e < n;\r\n e++\r\n )\r\n ((i = a.appendChild(document.createElement(\"li\"))).appendChild(\r\n document.createElement(\"span\")\r\n ).style.backgroundColor = r[e].backgroundColor),\r\n r[e].label && i.appendChild(document.createTextNode(r[e].label));\r\n return a.outerHTML;\r\n },\r\n });\r\n var Ti = $.extend({\r\n initialize: function (t) {\r\n H.extend(this, t),\r\n (this.legendHitBoxes = []),\r\n (this._hoveredItem = null),\r\n (this.doughnutMode = !1);\r\n },\r\n beforeUpdate: Di,\r\n update: function (t, e, n) {\r\n var i = this;\r\n return (\r\n i.beforeUpdate(),\r\n (i.maxWidth = t),\r\n (i.maxHeight = e),\r\n (i.margins = n),\r\n i.beforeSetDimensions(),\r\n i.setDimensions(),\r\n i.afterSetDimensions(),\r\n i.beforeBuildLabels(),\r\n i.buildLabels(),\r\n i.afterBuildLabels(),\r\n i.beforeFit(),\r\n i.fit(),\r\n i.afterFit(),\r\n i.afterUpdate(),\r\n i.minSize\r\n );\r\n },\r\n afterUpdate: Di,\r\n beforeSetDimensions: Di,\r\n setDimensions: function () {\r\n var t = this;\r\n t.isHorizontal()\r\n ? ((t.width = t.maxWidth), (t.left = 0), (t.right = t.width))\r\n : ((t.height = t.maxHeight), (t.top = 0), (t.bottom = t.height)),\r\n (t.paddingLeft = 0),\r\n (t.paddingTop = 0),\r\n (t.paddingRight = 0),\r\n (t.paddingBottom = 0),\r\n (t.minSize = { width: 0, height: 0 });\r\n },\r\n afterSetDimensions: Di,\r\n beforeBuildLabels: Di,\r\n buildLabels: function () {\r\n var t = this,\r\n e = t.options.labels || {},\r\n n = H.callback(e.generateLabels, [t.chart], t) || [];\r\n e.filter &&\r\n (n = n.filter(function (n) {\r\n return e.filter(n, t.chart.data);\r\n })),\r\n t.options.reverse && n.reverse(),\r\n (t.legendItems = n);\r\n },\r\n afterBuildLabels: Di,\r\n beforeFit: Di,\r\n fit: function () {\r\n var t = this,\r\n e = t.options,\r\n n = e.labels,\r\n i = e.display,\r\n a = t.ctx,\r\n r = H.options._parseFont(n),\r\n o = r.size,\r\n s = (t.legendHitBoxes = []),\r\n l = t.minSize,\r\n u = t.isHorizontal();\r\n if (\r\n (u\r\n ? ((l.width = t.maxWidth), (l.height = i ? 10 : 0))\r\n : ((l.width = i ? 10 : 0), (l.height = t.maxHeight)),\r\n i)\r\n ) {\r\n if (((a.font = r.string), u)) {\r\n var d = (t.lineWidths = [0]),\r\n h = 0;\r\n (a.textAlign = \"left\"),\r\n (a.textBaseline = \"middle\"),\r\n H.each(t.legendItems, function (t, e) {\r\n var i = Pi(n, o) + o / 2 + a.measureText(t.text).width;\r\n (0 === e || d[d.length - 1] + i + 2 * n.padding > l.width) &&\r\n ((h += o + n.padding), (d[d.length - (e > 0 ? 0 : 1)] = 0)),\r\n (s[e] = { left: 0, top: 0, width: i, height: o }),\r\n (d[d.length - 1] += i + n.padding);\r\n }),\r\n (l.height += h);\r\n } else {\r\n var c = n.padding,\r\n f = (t.columnWidths = []),\r\n g = (t.columnHeights = []),\r\n m = n.padding,\r\n p = 0,\r\n v = 0;\r\n H.each(t.legendItems, function (t, e) {\r\n var i = Pi(n, o) + o / 2 + a.measureText(t.text).width;\r\n e > 0 &&\r\n v + o + 2 * c > l.height &&\r\n ((m += p + n.padding), f.push(p), g.push(v), (p = 0), (v = 0)),\r\n (p = Math.max(p, i)),\r\n (v += o + c),\r\n (s[e] = { left: 0, top: 0, width: i, height: o });\r\n }),\r\n (m += p),\r\n f.push(p),\r\n g.push(v),\r\n (l.width += m);\r\n }\r\n (t.width = l.width), (t.height = l.height);\r\n } else t.width = l.width = t.height = l.height = 0;\r\n },\r\n afterFit: Di,\r\n isHorizontal: function () {\r\n return (\r\n \"top\" === this.options.position || \"bottom\" === this.options.position\r\n );\r\n },\r\n draw: function () {\r\n var t = this,\r\n e = t.options,\r\n n = e.labels,\r\n i = W.global,\r\n a = i.defaultColor,\r\n r = i.elements.line,\r\n o = t.height,\r\n s = t.columnHeights,\r\n l = t.width,\r\n u = t.lineWidths;\r\n if (e.display) {\r\n var d,\r\n h = Si(e.rtl, t.left, t.minSize.width),\r\n c = t.ctx,\r\n f = Ci(n.fontColor, i.defaultFontColor),\r\n g = H.options._parseFont(n),\r\n m = g.size;\r\n (c.textAlign = h.textAlign(\"left\")),\r\n (c.textBaseline = \"middle\"),\r\n (c.lineWidth = 0.5),\r\n (c.strokeStyle = f),\r\n (c.fillStyle = f),\r\n (c.font = g.string);\r\n var p = Pi(n, m),\r\n v = t.legendHitBoxes,\r\n b = function (t, i) {\r\n switch (e.align) {\r\n case \"start\":\r\n return n.padding;\r\n case \"end\":\r\n return t - i;\r\n default:\r\n return (t - i + n.padding) / 2;\r\n }\r\n },\r\n y = t.isHorizontal();\r\n (d = y\r\n ? { x: t.left + b(l, u[0]), y: t.top + n.padding, line: 0 }\r\n : { x: t.left + n.padding, y: t.top + b(o, s[0]), line: 0 }),\r\n H.rtl.overrideTextDirection(t.ctx, e.textDirection);\r\n var x = m + n.padding;\r\n H.each(t.legendItems, function (e, i) {\r\n var f = c.measureText(e.text).width,\r\n g = p + m / 2 + f,\r\n _ = d.x,\r\n w = d.y;\r\n h.setWidth(t.minSize.width),\r\n y\r\n ? i > 0 &&\r\n _ + g + n.padding > t.left + t.minSize.width &&\r\n ((w = d.y += x), d.line++, (_ = d.x = t.left + b(l, u[d.line])))\r\n : i > 0 &&\r\n w + x > t.top + t.minSize.height &&\r\n ((_ = d.x = _ + t.columnWidths[d.line] + n.padding),\r\n d.line++,\r\n (w = d.y = t.top + b(o, s[d.line])));\r\n var k = h.x(_);\r\n !(function (t, e, i) {\r\n if (!(isNaN(p) || p <= 0)) {\r\n c.save();\r\n var o = Ci(i.lineWidth, r.borderWidth);\r\n if (\r\n ((c.fillStyle = Ci(i.fillStyle, a)),\r\n (c.lineCap = Ci(i.lineCap, r.borderCapStyle)),\r\n (c.lineDashOffset = Ci(i.lineDashOffset, r.borderDashOffset)),\r\n (c.lineJoin = Ci(i.lineJoin, r.borderJoinStyle)),\r\n (c.lineWidth = o),\r\n (c.strokeStyle = Ci(i.strokeStyle, a)),\r\n c.setLineDash && c.setLineDash(Ci(i.lineDash, r.borderDash)),\r\n n && n.usePointStyle)\r\n ) {\r\n var s = (p * Math.SQRT2) / 2,\r\n l = h.xPlus(t, p / 2),\r\n u = e + m / 2;\r\n H.canvas.drawPoint(c, i.pointStyle, s, l, u, i.rotation);\r\n } else\r\n c.fillRect(h.leftForLtr(t, p), e, p, m),\r\n 0 !== o && c.strokeRect(h.leftForLtr(t, p), e, p, m);\r\n c.restore();\r\n }\r\n })(k, w, e),\r\n (v[i].left = h.leftForLtr(k, v[i].width)),\r\n (v[i].top = w),\r\n (function (t, e, n, i) {\r\n var a = m / 2,\r\n r = h.xPlus(t, p + a),\r\n o = e + a;\r\n c.fillText(n.text, r, o),\r\n n.hidden &&\r\n (c.beginPath(),\r\n (c.lineWidth = 2),\r\n c.moveTo(r, o),\r\n c.lineTo(h.xPlus(r, i), o),\r\n c.stroke());\r\n })(k, w, e, f),\r\n y ? (d.x += g + n.padding) : (d.y += x);\r\n }),\r\n H.rtl.restoreTextDirection(t.ctx, e.textDirection);\r\n }\r\n },\r\n _getLegendItemAt: function (t, e) {\r\n var n,\r\n i,\r\n a,\r\n r = this;\r\n if (t >= r.left && t <= r.right && e >= r.top && e <= r.bottom)\r\n for (a = r.legendHitBoxes, n = 0; n < a.length; ++n)\r\n if (\r\n t >= (i = a[n]).left &&\r\n t <= i.left + i.width &&\r\n e >= i.top &&\r\n e <= i.top + i.height\r\n )\r\n return r.legendItems[n];\r\n return null;\r\n },\r\n handleEvent: function (t) {\r\n var e,\r\n n = this,\r\n i = n.options,\r\n a = \"mouseup\" === t.type ? \"click\" : t.type;\r\n if (\"mousemove\" === a) {\r\n if (!i.onHover && !i.onLeave) return;\r\n } else {\r\n if (\"click\" !== a) return;\r\n if (!i.onClick) return;\r\n }\r\n (e = n._getLegendItemAt(t.x, t.y)),\r\n \"click\" === a\r\n ? e && i.onClick && i.onClick.call(n, t.native, e)\r\n : (i.onLeave &&\r\n e !== n._hoveredItem &&\r\n (n._hoveredItem && i.onLeave.call(n, t.native, n._hoveredItem),\r\n (n._hoveredItem = e)),\r\n i.onHover && e && i.onHover.call(n, t.native, e));\r\n },\r\n });\r\n function Oi(t, e) {\r\n var n = new Ti({ ctx: t.ctx, options: e, chart: t });\r\n me.configure(t, n, e), me.addBox(t, n), (t.legend = n);\r\n }\r\n var Ai = {\r\n id: \"legend\",\r\n _element: Ti,\r\n beforeInit: function (t) {\r\n var e = t.options.legend;\r\n e && Oi(t, e);\r\n },\r\n beforeUpdate: function (t) {\r\n var e = t.options.legend,\r\n n = t.legend;\r\n e\r\n ? (H.mergeIf(e, W.global.legend),\r\n n ? (me.configure(t, n, e), (n.options = e)) : Oi(t, e))\r\n : n && (me.removeBox(t, n), delete t.legend);\r\n },\r\n afterEvent: function (t, e) {\r\n var n = t.legend;\r\n n && n.handleEvent(e);\r\n },\r\n },\r\n Fi = H.noop;\r\n W._set(\"global\", {\r\n title: {\r\n display: !1,\r\n fontStyle: \"bold\",\r\n fullWidth: !0,\r\n padding: 10,\r\n position: \"top\",\r\n text: \"\",\r\n weight: 2e3,\r\n },\r\n });\r\n var Ii = $.extend({\r\n initialize: function (t) {\r\n H.extend(this, t), (this.legendHitBoxes = []);\r\n },\r\n beforeUpdate: Fi,\r\n update: function (t, e, n) {\r\n var i = this;\r\n return (\r\n i.beforeUpdate(),\r\n (i.maxWidth = t),\r\n (i.maxHeight = e),\r\n (i.margins = n),\r\n i.beforeSetDimensions(),\r\n i.setDimensions(),\r\n i.afterSetDimensions(),\r\n i.beforeBuildLabels(),\r\n i.buildLabels(),\r\n i.afterBuildLabels(),\r\n i.beforeFit(),\r\n i.fit(),\r\n i.afterFit(),\r\n i.afterUpdate(),\r\n i.minSize\r\n );\r\n },\r\n afterUpdate: Fi,\r\n beforeSetDimensions: Fi,\r\n setDimensions: function () {\r\n var t = this;\r\n t.isHorizontal()\r\n ? ((t.width = t.maxWidth), (t.left = 0), (t.right = t.width))\r\n : ((t.height = t.maxHeight), (t.top = 0), (t.bottom = t.height)),\r\n (t.paddingLeft = 0),\r\n (t.paddingTop = 0),\r\n (t.paddingRight = 0),\r\n (t.paddingBottom = 0),\r\n (t.minSize = { width: 0, height: 0 });\r\n },\r\n afterSetDimensions: Fi,\r\n beforeBuildLabels: Fi,\r\n buildLabels: Fi,\r\n afterBuildLabels: Fi,\r\n beforeFit: Fi,\r\n fit: function () {\r\n var t,\r\n e = this,\r\n n = e.options,\r\n i = (e.minSize = {}),\r\n a = e.isHorizontal();\r\n n.display\r\n ? ((t =\r\n (H.isArray(n.text) ? n.text.length : 1) *\r\n H.options._parseFont(n).lineHeight +\r\n 2 * n.padding),\r\n (e.width = i.width = a ? e.maxWidth : t),\r\n (e.height = i.height = a ? t : e.maxHeight))\r\n : (e.width = i.width = e.height = i.height = 0);\r\n },\r\n afterFit: Fi,\r\n isHorizontal: function () {\r\n var t = this.options.position;\r\n return \"top\" === t || \"bottom\" === t;\r\n },\r\n draw: function () {\r\n var t = this,\r\n e = t.ctx,\r\n n = t.options;\r\n if (n.display) {\r\n var i,\r\n a,\r\n r,\r\n o = H.options._parseFont(n),\r\n s = o.lineHeight,\r\n l = s / 2 + n.padding,\r\n u = 0,\r\n d = t.top,\r\n h = t.left,\r\n c = t.bottom,\r\n f = t.right;\r\n (e.fillStyle = H.valueOrDefault(\r\n n.fontColor,\r\n W.global.defaultFontColor\r\n )),\r\n (e.font = o.string),\r\n t.isHorizontal()\r\n ? ((a = h + (f - h) / 2), (r = d + l), (i = f - h))\r\n : ((a = \"left\" === n.position ? h + l : f - l),\r\n (r = d + (c - d) / 2),\r\n (i = c - d),\r\n (u = Math.PI * (\"left\" === n.position ? -0.5 : 0.5))),\r\n e.save(),\r\n e.translate(a, r),\r\n e.rotate(u),\r\n (e.textAlign = \"center\"),\r\n (e.textBaseline = \"middle\");\r\n var g = n.text;\r\n if (H.isArray(g))\r\n for (var m = 0, p = 0; p < g.length; ++p)\r\n e.fillText(g[p], 0, m, i), (m += s);\r\n else e.fillText(g, 0, 0, i);\r\n e.restore();\r\n }\r\n },\r\n });\r\n function Li(t, e) {\r\n var n = new Ii({ ctx: t.ctx, options: e, chart: t });\r\n me.configure(t, n, e), me.addBox(t, n), (t.titleBlock = n);\r\n }\r\n var Ri = {},\r\n Ni = Mi,\r\n Wi = Ai,\r\n Yi = {\r\n id: \"title\",\r\n _element: Ii,\r\n beforeInit: function (t) {\r\n var e = t.options.title;\r\n e && Li(t, e);\r\n },\r\n beforeUpdate: function (t) {\r\n var e = t.options.title,\r\n n = t.titleBlock;\r\n e\r\n ? (H.mergeIf(e, W.global.title),\r\n n ? (me.configure(t, n, e), (n.options = e)) : Li(t, e))\r\n : n && (me.removeBox(t, n), delete t.titleBlock);\r\n },\r\n };\r\n for (var zi in ((Ri.filler = Ni),\r\n (Ri.legend = Wi),\r\n (Ri.title = Yi),\r\n (en.helpers = H),\r\n (function () {\r\n function t(t, e, n) {\r\n var i;\r\n return (\r\n \"string\" == typeof t\r\n ? ((i = parseInt(t, 10)),\r\n -1 !== t.indexOf(\"%\") && (i = (i / 100) * e.parentNode[n]))\r\n : (i = t),\r\n i\r\n );\r\n }\r\n function e(t) {\r\n return null != t && \"none\" !== t;\r\n }\r\n function n(n, i, a) {\r\n var r = document.defaultView,\r\n o = H._getParentNode(n),\r\n s = r.getComputedStyle(n)[i],\r\n l = r.getComputedStyle(o)[i],\r\n u = e(s),\r\n d = e(l),\r\n h = Number.POSITIVE_INFINITY;\r\n return u || d ? Math.min(u ? t(s, n, a) : h, d ? t(l, o, a) : h) : \"none\";\r\n }\r\n (H.where = function (t, e) {\r\n if (H.isArray(t) && Array.prototype.filter) return t.filter(e);\r\n var n = [];\r\n return (\r\n H.each(t, function (t) {\r\n e(t) && n.push(t);\r\n }),\r\n n\r\n );\r\n }),\r\n (H.findIndex = Array.prototype.findIndex\r\n ? function (t, e, n) {\r\n return t.findIndex(e, n);\r\n }\r\n : function (t, e, n) {\r\n n = void 0 === n ? t : n;\r\n for (var i = 0, a = t.length; i < a; ++i)\r\n if (e.call(n, t[i], i, t)) return i;\r\n return -1;\r\n }),\r\n (H.findNextWhere = function (t, e, n) {\r\n H.isNullOrUndef(n) && (n = -1);\r\n for (var i = n + 1; i < t.length; i++) {\r\n var a = t[i];\r\n if (e(a)) return a;\r\n }\r\n }),\r\n (H.findPreviousWhere = function (t, e, n) {\r\n H.isNullOrUndef(n) && (n = t.length);\r\n for (var i = n - 1; i >= 0; i--) {\r\n var a = t[i];\r\n if (e(a)) return a;\r\n }\r\n }),\r\n (H.isNumber = function (t) {\r\n return !isNaN(parseFloat(t)) && isFinite(t);\r\n }),\r\n (H.almostEquals = function (t, e, n) {\r\n return Math.abs(t - e) < n;\r\n }),\r\n (H.almostWhole = function (t, e) {\r\n var n = Math.round(t);\r\n return n - e <= t && n + e >= t;\r\n }),\r\n (H.max = function (t) {\r\n return t.reduce(function (t, e) {\r\n return isNaN(e) ? t : Math.max(t, e);\r\n }, Number.NEGATIVE_INFINITY);\r\n }),\r\n (H.min = function (t) {\r\n return t.reduce(function (t, e) {\r\n return isNaN(e) ? t : Math.min(t, e);\r\n }, Number.POSITIVE_INFINITY);\r\n }),\r\n (H.sign = Math.sign\r\n ? function (t) {\r\n return Math.sign(t);\r\n }\r\n : function (t) {\r\n return 0 === (t = +t) || isNaN(t) ? t : t > 0 ? 1 : -1;\r\n }),\r\n (H.toRadians = function (t) {\r\n return t * (Math.PI / 180);\r\n }),\r\n (H.toDegrees = function (t) {\r\n return t * (180 / Math.PI);\r\n }),\r\n (H._decimalPlaces = function (t) {\r\n if (H.isFinite(t)) {\r\n for (var e = 1, n = 0; Math.round(t * e) / e !== t; ) (e *= 10), n++;\r\n return n;\r\n }\r\n }),\r\n (H.getAngleFromPoint = function (t, e) {\r\n var n = e.x - t.x,\r\n i = e.y - t.y,\r\n a = Math.sqrt(n * n + i * i),\r\n r = Math.atan2(i, n);\r\n return (\r\n r < -0.5 * Math.PI && (r += 2 * Math.PI), { angle: r, distance: a }\r\n );\r\n }),\r\n (H.distanceBetweenPoints = function (t, e) {\r\n return Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2));\r\n }),\r\n (H.aliasPixel = function (t) {\r\n return t % 2 == 0 ? 0 : 0.5;\r\n }),\r\n (H._alignPixel = function (t, e, n) {\r\n var i = t.currentDevicePixelRatio,\r\n a = n / 2;\r\n return Math.round((e - a) * i) / i + a;\r\n }),\r\n (H.splineCurve = function (t, e, n, i) {\r\n var a = t.skip ? e : t,\r\n r = e,\r\n o = n.skip ? e : n,\r\n s = Math.sqrt(Math.pow(r.x - a.x, 2) + Math.pow(r.y - a.y, 2)),\r\n l = Math.sqrt(Math.pow(o.x - r.x, 2) + Math.pow(o.y - r.y, 2)),\r\n u = s / (s + l),\r\n d = l / (s + l),\r\n h = i * (u = isNaN(u) ? 0 : u),\r\n c = i * (d = isNaN(d) ? 0 : d);\r\n return {\r\n previous: { x: r.x - h * (o.x - a.x), y: r.y - h * (o.y - a.y) },\r\n next: { x: r.x + c * (o.x - a.x), y: r.y + c * (o.y - a.y) },\r\n };\r\n }),\r\n (H.EPSILON = Number.EPSILON || 1e-14),\r\n (H.splineCurveMonotone = function (t) {\r\n var e,\r\n n,\r\n i,\r\n a,\r\n r,\r\n o,\r\n s,\r\n l,\r\n u,\r\n d = (t || []).map(function (t) {\r\n return { model: t._model, deltaK: 0, mK: 0 };\r\n }),\r\n h = d.length;\r\n for (e = 0; e < h; ++e)\r\n if (!(i = d[e]).model.skip) {\r\n if (\r\n ((n = e > 0 ? d[e - 1] : null),\r\n (a = e < h - 1 ? d[e + 1] : null) && !a.model.skip)\r\n ) {\r\n var c = a.model.x - i.model.x;\r\n i.deltaK = 0 !== c ? (a.model.y - i.model.y) / c : 0;\r\n }\r\n !n || n.model.skip\r\n ? (i.mK = i.deltaK)\r\n : !a || a.model.skip\r\n ? (i.mK = n.deltaK)\r\n : this.sign(n.deltaK) !== this.sign(i.deltaK)\r\n ? (i.mK = 0)\r\n : (i.mK = (n.deltaK + i.deltaK) / 2);\r\n }\r\n for (e = 0; e < h - 1; ++e)\r\n (i = d[e]),\r\n (a = d[e + 1]),\r\n i.model.skip ||\r\n a.model.skip ||\r\n (H.almostEquals(i.deltaK, 0, this.EPSILON)\r\n ? (i.mK = a.mK = 0)\r\n : ((r = i.mK / i.deltaK),\r\n (o = a.mK / i.deltaK),\r\n (l = Math.pow(r, 2) + Math.pow(o, 2)) <= 9 ||\r\n ((s = 3 / Math.sqrt(l)),\r\n (i.mK = r * s * i.deltaK),\r\n (a.mK = o * s * i.deltaK))));\r\n for (e = 0; e < h; ++e)\r\n (i = d[e]).model.skip ||\r\n ((n = e > 0 ? d[e - 1] : null),\r\n (a = e < h - 1 ? d[e + 1] : null),\r\n n &&\r\n !n.model.skip &&\r\n ((u = (i.model.x - n.model.x) / 3),\r\n (i.model.controlPointPreviousX = i.model.x - u),\r\n (i.model.controlPointPreviousY = i.model.y - u * i.mK)),\r\n a &&\r\n !a.model.skip &&\r\n ((u = (a.model.x - i.model.x) / 3),\r\n (i.model.controlPointNextX = i.model.x + u),\r\n (i.model.controlPointNextY = i.model.y + u * i.mK)));\r\n }),\r\n (H.nextItem = function (t, e, n) {\r\n return n\r\n ? e >= t.length - 1\r\n ? t[0]\r\n : t[e + 1]\r\n : e >= t.length - 1\r\n ? t[t.length - 1]\r\n : t[e + 1];\r\n }),\r\n (H.previousItem = function (t, e, n) {\r\n return n\r\n ? e <= 0\r\n ? t[t.length - 1]\r\n : t[e - 1]\r\n : e <= 0\r\n ? t[0]\r\n : t[e - 1];\r\n }),\r\n (H.niceNum = function (t, e) {\r\n var n = Math.floor(H.log10(t)),\r\n i = t / Math.pow(10, n);\r\n return (\r\n (e\r\n ? i < 1.5\r\n ? 1\r\n : i < 3\r\n ? 2\r\n : i < 7\r\n ? 5\r\n : 10\r\n : i <= 1\r\n ? 1\r\n : i <= 2\r\n ? 2\r\n : i <= 5\r\n ? 5\r\n : 10) * Math.pow(10, n)\r\n );\r\n }),\r\n (H.requestAnimFrame =\r\n \"undefined\" == typeof window\r\n ? function (t) {\r\n t();\r\n }\r\n : window.requestAnimationFrame ||\r\n window.webkitRequestAnimationFrame ||\r\n window.mozRequestAnimationFrame ||\r\n window.oRequestAnimationFrame ||\r\n window.msRequestAnimationFrame ||\r\n function (t) {\r\n return window.setTimeout(t, 1e3 / 60);\r\n }),\r\n (H.getRelativePosition = function (t, e) {\r\n var n,\r\n i,\r\n a = t.originalEvent || t,\r\n r = t.target || t.srcElement,\r\n o = r.getBoundingClientRect(),\r\n s = a.touches;\r\n s && s.length > 0\r\n ? ((n = s[0].clientX), (i = s[0].clientY))\r\n : ((n = a.clientX), (i = a.clientY));\r\n var l = parseFloat(H.getStyle(r, \"padding-left\")),\r\n u = parseFloat(H.getStyle(r, \"padding-top\")),\r\n d = parseFloat(H.getStyle(r, \"padding-right\")),\r\n h = parseFloat(H.getStyle(r, \"padding-bottom\")),\r\n c = o.right - o.left - l - d,\r\n f = o.bottom - o.top - u - h;\r\n return {\r\n x: (n = Math.round(\r\n (((n - o.left - l) / c) * r.width) / e.currentDevicePixelRatio\r\n )),\r\n y: (i = Math.round(\r\n (((i - o.top - u) / f) * r.height) / e.currentDevicePixelRatio\r\n )),\r\n };\r\n }),\r\n (H.getConstraintWidth = function (t) {\r\n return n(t, \"max-width\", \"clientWidth\");\r\n }),\r\n (H.getConstraintHeight = function (t) {\r\n return n(t, \"max-height\", \"clientHeight\");\r\n }),\r\n (H._calculatePadding = function (t, e, n) {\r\n return (e = H.getStyle(t, e)).indexOf(\"%\") > -1\r\n ? (n * parseInt(e, 10)) / 100\r\n : parseInt(e, 10);\r\n }),\r\n (H._getParentNode = function (t) {\r\n var e = t.parentNode;\r\n return e && \"[object ShadowRoot]\" === e.toString() && (e = e.host), e;\r\n }),\r\n (H.getMaximumWidth = function (t) {\r\n var e = H._getParentNode(t);\r\n if (!e) return t.clientWidth;\r\n var n = e.clientWidth,\r\n i =\r\n n -\r\n H._calculatePadding(e, \"padding-left\", n) -\r\n H._calculatePadding(e, \"padding-right\", n),\r\n a = H.getConstraintWidth(t);\r\n return isNaN(a) ? i : Math.min(i, a);\r\n }),\r\n (H.getMaximumHeight = function (t) {\r\n var e = H._getParentNode(t);\r\n if (!e) return t.clientHeight;\r\n var n = e.clientHeight,\r\n i =\r\n n -\r\n H._calculatePadding(e, \"padding-top\", n) -\r\n H._calculatePadding(e, \"padding-bottom\", n),\r\n a = H.getConstraintHeight(t);\r\n return isNaN(a) ? i : Math.min(i, a);\r\n }),\r\n (H.getStyle = function (t, e) {\r\n return t.currentStyle\r\n ? t.currentStyle[e]\r\n : document.defaultView.getComputedStyle(t, null).getPropertyValue(e);\r\n }),\r\n (H.retinaScale = function (t, e) {\r\n var n = (t.currentDevicePixelRatio =\r\n e || (\"undefined\" != typeof window && window.devicePixelRatio) || 1);\r\n if (1 !== n) {\r\n var i = t.canvas,\r\n a = t.height,\r\n r = t.width;\r\n (i.height = a * n),\r\n (i.width = r * n),\r\n t.ctx.scale(n, n),\r\n i.style.height ||\r\n i.style.width ||\r\n ((i.style.height = a + \"px\"), (i.style.width = r + \"px\"));\r\n }\r\n }),\r\n (H.fontString = function (t, e, n) {\r\n return e + \" \" + t + \"px \" + n;\r\n }),\r\n (H.longestText = function (t, e, n, i) {\r\n var a = ((i = i || {}).data = i.data || {}),\r\n r = (i.garbageCollect = i.garbageCollect || []);\r\n i.font !== e &&\r\n ((a = i.data = {}), (r = i.garbageCollect = []), (i.font = e)),\r\n (t.font = e);\r\n var o,\r\n s,\r\n l,\r\n u,\r\n d,\r\n h = 0,\r\n c = n.length;\r\n for (o = 0; o < c; o++)\r\n if (null != (u = n[o]) && !0 !== H.isArray(u))\r\n h = H.measureText(t, a, r, h, u);\r\n else if (H.isArray(u))\r\n for (s = 0, l = u.length; s < l; s++)\r\n null == (d = u[s]) ||\r\n H.isArray(d) ||\r\n (h = H.measureText(t, a, r, h, d));\r\n var f = r.length / 2;\r\n if (f > n.length) {\r\n for (o = 0; o < f; o++) delete a[r[o]];\r\n r.splice(0, f);\r\n }\r\n return h;\r\n }),\r\n (H.measureText = function (t, e, n, i, a) {\r\n var r = e[a];\r\n return (\r\n r || ((r = e[a] = t.measureText(a).width), n.push(a)),\r\n r > i && (i = r),\r\n i\r\n );\r\n }),\r\n (H.numberOfLabelLines = function (t) {\r\n var e = 1;\r\n return (\r\n H.each(t, function (t) {\r\n H.isArray(t) && t.length > e && (e = t.length);\r\n }),\r\n e\r\n );\r\n }),\r\n (H.color = k\r\n ? function (t) {\r\n return (\r\n t instanceof CanvasGradient && (t = W.global.defaultColor), k(t)\r\n );\r\n }\r\n : function (t) {\r\n return console.error(\"Color.js not found!\"), t;\r\n }),\r\n (H.getHoverColor = function (t) {\r\n return t instanceof CanvasPattern || t instanceof CanvasGradient\r\n ? t\r\n : H.color(t).saturate(0.5).darken(0.1).rgbString();\r\n });\r\n })(),\r\n (en._adapters = rn),\r\n (en.Animation = K),\r\n (en.animationService = J),\r\n (en.controllers = Jt),\r\n (en.DatasetController = it),\r\n (en.defaults = W),\r\n (en.Element = $),\r\n (en.elements = wt),\r\n (en.Interaction = re),\r\n (en.layouts = me),\r\n (en.platform = Ie),\r\n (en.plugins = Le),\r\n (en.Scale = xn),\r\n (en.scaleService = Re),\r\n (en.Ticks = on),\r\n (en.Tooltip = Ge),\r\n en.helpers.each(fi, function (t, e) {\r\n en.scaleService.registerScaleType(e, t, t._defaults);\r\n }),\r\n Ri))\r\n Ri.hasOwnProperty(zi) && en.plugins.register(Ri[zi]);\r\n en.platform.initialize();\r\n var Ei = en;\r\n return (\r\n \"undefined\" != typeof window && (window.Chart = en),\r\n (en.Chart = en),\r\n (en.Legend = Ri.legend._element),\r\n (en.Title = Ri.title._element),\r\n (en.pluginService = en.plugins),\r\n (en.PluginBase = en.Element.extend({})),\r\n (en.canvasHelpers = en.helpers.canvas),\r\n (en.layoutService = en.layouts),\r\n (en.LinearScaleBase = Dn),\r\n en.helpers.each(\r\n [\"Bar\", \"Bubble\", \"Doughnut\", \"Line\", \"PolarArea\", \"Radar\", \"Scatter\"],\r\n function (t) {\r\n en[t] = function (e, n) {\r\n return new en(\r\n e,\r\n en.helpers.merge(n || {}, {\r\n type: t.charAt(0).toLowerCase() + t.slice(1),\r\n })\r\n );\r\n };\r\n }\r\n ),\r\n Ei\r\n );\r\n});\r\n","import { ChangeDetectorRef, OnChanges } from \"@angular/core\";\r\n\r\nimport { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ColumnMode } from \"@swimlane/ngx-datatable\";\r\nimport { CdkDragDrop, moveItemInArray } from \"@angular/cdk/drag-drop\";\r\nimport { GridsterService } from \"src/app/services/gridster.service\";\r\nimport { Subject } from \"rxjs\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { SelectedOrderTradeComponent } from \"../selected-order-trade/selected-order-trade.component\";\r\n\r\n@Component({\r\n selector: \"app-trades-order-history\",\r\n templateUrl: \"./trades-order-history.component.html\",\r\n styleUrls: [\"./trades-order-history.component.scss\"],\r\n})\r\nexport class TradesOrderHistoryComponent implements OnInit {\r\n rows = [];\r\n\r\n DataToShow = false;\r\n ColumnMode = ColumnMode;\r\n dtTrigger: Subject = new Subject();\r\n\r\n @Input() orderRequest: any[] = [];\r\n @Input() marketList: any;\r\n @Input() typesList: any;\r\n @Input() statusList: any;\r\n dtOptions: {\r\n // scrollX: true,\r\n paging: boolean;\r\n searching: boolean;\r\n autoWidth: boolean;\r\n info: boolean;\r\n responsive: boolean;\r\n fixedHeader: boolean;\r\n select: boolean;\r\n order: any;\r\n sorting: any[];\r\n };\r\n mapFixStatusColor = new Map([\r\n [\"0\", \"#007bff\"],\r\n [\"1\", \"#5aff55\"],\r\n [\"2\", \"darkgreen\"],\r\n [\"3\", \"yellow\"],\r\n [\"4\", \"#ff7200\"],\r\n [\"5\", \"#550eff\"],\r\n [\"6\", \"yellow\"],\r\n [\"8\", \"darkred\"],\r\n [\"9\", \"gray\"],\r\n [\"A\", \"yellow\"],\r\n [\"C\", \"darkred\"],\r\n [\"E\", \"yellow\"],\r\n [\"H\", \"darkred\"],\r\n [\"N\", \"darkred\"],\r\n [\"R\", \"yellow\"],\r\n [\"W\", \"yellow\"],\r\n [\"P\", \"yellow\"],\r\n [\"X\", \"yellow\"],\r\n [\"Y\", \"darkred\"],\r\n [\"Z\", \"cyan\"],\r\n ]);\r\n\r\n getBackgroundColor(fixStatusCode) {\r\n if (fixStatusCode) {\r\n let backgroundColor = this.mapFixStatusColor.get(fixStatusCode);\r\n return backgroundColor;\r\n }\r\n }\r\n getColor(fixStatusCode) {\r\n if (fixStatusCode) {\r\n let colorMatch = this.mapFixStatusColor.get(fixStatusCode);\r\n if (\r\n colorMatch == \"white\" ||\r\n colorMatch == \"#5aff55\" ||\r\n colorMatch == \"yellow\" ||\r\n colorMatch == \"#ff7200\" ||\r\n colorMatch == \"darkred\" ||\r\n colorMatch == \"darkgreen\" ||\r\n colorMatch == \"cyan\"||\r\n colorMatch == \"#007bff\"\r\n ) {\r\n return \"white\";\r\n }\r\n }\r\n }\r\n getTransaction(value) {\r\n if (value != null) {\r\n if (this.translate.currentLang == \"en\") {\r\n return this.typesList.find((x) => x.TransactionId == value)\r\n .TransactionNameE;\r\n } else {\r\n return this.typesList.find((x) => x.TransactionId == value)\r\n .TransactionTypeA;\r\n }\r\n }\r\n }\r\n\r\n // getTiffFlag(value) {\r\n // return this.tiffFlagValue.find((x) => x.value == value).viewValue;\r\n // }\r\n getStatus(value) {\r\n if (value != null) {\r\n if (this.translate.currentLang == \"en\") {\r\n return this.statusList.find((x) => x.Id == value).NameE;\r\n } else {\r\n return this.statusList.find((x) => x.Id == value).NameA;\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n public snackBar: MatSnackBar,\r\n private _gridService: GridsterService,\r\n public dialog: MatDialog,\r\n private _service: ApiService,\r\n private changeDetector: ChangeDetectorRef\r\n ) {}\r\n\r\n isDate(prop) {\r\n return prop == \"TiffDate\";\r\n }\r\n isNum(prop) {\r\n return prop == \"OrgPrice\";\r\n }\r\n isSymbol(prop) {\r\n return prop == \"SymbolShortNameEn\";\r\n }\r\n isPriceType(prop) {\r\n return prop == \"IsMarketPrice\";\r\n }\r\n isLastDate(prop) {\r\n return prop == \"lastTradeTime\";\r\n }\r\n isCustdCode(name) {\r\n return name == \"custodianCode\";\r\n }\r\n isCustdName(name) {\r\n return name == \"custodian-name\";\r\n }\r\n isTransaction(prop) {\r\n return prop == \"TransactionTypeEn\";\r\n }\r\n isStatus(prop) {\r\n return prop == \"FixStatusEn\";\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this._gridService.getOrderHistoryColumns())\r\n this.columns = this._gridService.getOrderHistoryColumns();\r\n else this.columns = this.allFilters;\r\n\r\n this.dtTrigger.next();\r\n this.WindowResize();\r\n\r\n this.dtOptions = {\r\n // scrollX: true,\r\n paging: false,\r\n searching: false,\r\n autoWidth: true,\r\n info: false,\r\n responsive: true,\r\n fixedHeader: true,\r\n select: false,\r\n order: [[4, \"desc\"]],\r\n sorting: [],\r\n // ajax: (dataTablesParameters: any, callback) => {\r\n // this.fetchEGX(\"EGX30\").subscribe((res) => {\r\n // this.isCompaniesLoading = false;\r\n // this.companies = res as CompanyList[];\r\n // this.WindowResize();\r\n\r\n // callback({\r\n // recordsTotal: this.companies.length,\r\n // data: [],\r\n // });\r\n // });\r\n // },\r\n };\r\n }\r\n allFilters = [\r\n { prop: \"FixStatusEn\", name: \"status\", isChecked: true },\r\n { prop: \"SymbolShortNameEn\", name: \"symbolCode\", isChecked: true },\r\n { prop: \"OrderNumber\", name: \"#order\", isChecked: true },\r\n { prop: \"lastTradeTime\", name: \"Last-update\", isChecked: true },\r\n { prop: \"TransactionTypeEn\", name: \"order-type\", isChecked: true },\r\n { prop: \"OrgQty\", name: \"qty\", isChecked: true },\r\n { prop: \"OrgPrice\", name: \"price\", isChecked: true },\r\n { prop: \"TradedQty\", name: \"filled\", isChecked: true },\r\n { prop: \"IsMarketPrice\", name: \"price-type\", isChecked: true },\r\n { prop: \"TiffDate\", name: \"duration\", isChecked: true },\r\n { prop: \"MarketCode\", name: \"market\", isChecked: false },\r\n { prop: \"Reuters\", name: \"reuters\", isChecked: false },\r\n { prop: \"Custodian\", name: \"custodianCode\", isChecked: false },\r\n { prop: \"Custodian\", name: \"custodian-name\", isChecked: false },\r\n { prop: \"MinFillVolume\", name: \"min-fill-volume\", isChecked: false },\r\n { prop: \"Remark\", name: \"remark\", isChecked: false },\r\n { prop: \"AvgPrice\", name: \"average-price\", isChecked: false },\r\n { prop: \"FixText\", name: \"fix-text\", isChecked: false },\r\n { prop: \"MCSDText\", name: \"mcsd-text\", isChecked: false },\r\n { prop: \"IsSuspended\", name: \"suspended\", isChecked: false },\r\n { prop: \"MarketAvgPrice\", name: \"market-avg-price\", isChecked: false },\r\n ];\r\n columns = [];\r\n\r\n drop(event: CdkDragDrop) {\r\n moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\r\n this.updateCols();\r\n }\r\n updateCols() {\r\n this._gridService.saveOrderHistoryColumns(this.columns);\r\n\r\n this.WindowResize();\r\n }\r\n WindowResize() {\r\n setTimeout(() => {\r\n window.dispatchEvent(new Event(\"resize\"));\r\n }, 250);\r\n }\r\n toggle(col, event) {\r\n col.isChecked = !col.isChecked;\r\n this.WindowResize();\r\n this.updateCols();\r\n }\r\n get colsss() {\r\n return this.columns.filter((col) => col.isChecked);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.orderRequest != null && changes.orderRequest != null) {\r\n if (\r\n changes.orderRequest.currentValue != changes.orderRequest.previousValue\r\n ) {\r\n this.DataToShow = true;\r\n this.orderRequest = changes.orderRequest.currentValue;\r\n } else {\r\n this.DataToShow = false;\r\n }\r\n } else {\r\n this.DataToShow = false;\r\n }\r\n }\r\n\r\n viewOrder(orderNum) {\r\n const dialogRef = this.dialog.open(SelectedOrderTradeComponent, {\r\n panelClass: \"custom-dialog-container\",\r\n data: { order: orderNum },\r\n width: \"464px\",\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n dialogRef.afterClosed().subscribe(() => {});\r\n }\r\n}\r\n","
\r\n
\r\n
{{\"history\"|translate}}
\r\n \r\n \r\n
\r\n
\r\n {{\"aval-cols\" | translate}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ item.name | translate}}
\r\n \r\n \r\n \r\n {{(translate.currentLang == 'en')?item.SymbolShortNameEn:item.SymbolShortNameAr}}\r\n {{(translate.currentLang == 'en')?item.SymbolNameEn:item.SymbolNameAr}}\r\n \r\n \r\n {{item.lastTradeTime | date: 'medium'}}\r\n {{item.CreateDate | date: 'medium'}}\r\n \r\n \r\n {{\"limit\" | translate}}\r\n {{\"market\" | translate}}\r\n \r\n {{ item[x.prop]| date: 'medium' }}\r\n {{item.CustodianCode}}\r\n {{(translate.currentLang == 'en')?item?.FixStatusEn:item?.FixStatusAr}}\r\n {{(translate.currentLang == 'en')?item[x.prop]?.CustodianNameE:item[x.prop]?.CustodianNameA}}\r\n {{(translate.currentLang == 'en')?item?.TransactionTypeEn:item?.TransactionTypeAr}}\r\n {{ item[x.prop] | number: \"1.2-2\":\"en-US\"}}\r\n {{item[x.prop]}}\r\n
\r\n
\r\n {{ \"no-data-available\" | translate }}\r\n
\r\n
\r\n
\r\n","
\r\n

{{\"recent-trades\" | translate}}\r\n - {{reuters}}\r\n

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{\"select-company-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
No Trades
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
#{{\"price\"|translate}}{{\"qty\"|translate}}
{{item.Split}}{{item.Price}}{{item.Qty | number: \"1.0\":\"en-US\"}}
\r\n
\r\n
\r\n","import { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport { CompanyTrades } from \"src/app/models/company-trades\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\n\r\n@Component({\r\n selector: \"app-quota-trade\",\r\n templateUrl: \"./quota-trade.component.html\",\r\n styleUrls: [\"./quota-trade.component.scss\"],\r\n})\r\nexport class QuotaTradeComponent implements OnInit {\r\n companyTrades: CompanyTrades;\r\n isTradesLoading: boolean;\r\n @Input() symbolCode: string;\r\n @Input() reuters: string;\r\n @Input() companyName: string;\r\n\r\n constructor(private _service: ApiService, signalService: SignalRService) {\r\n if (!this.isTradesLoading) {\r\n signalService.tradeChanges.subscribe((res) => {\r\n if (this.reuters != null) {\r\n res.forEach((element) => {\r\n if (element.reuters == this.reuters) {\r\n // this.fetchCompanyTrades();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.symbolCode = changes.symbolCode.currentValue;\r\n if (this.symbolCode) {\r\n this.isTradesLoading = true;\r\n this.fetchCompanyTrades();\r\n }\r\n }\r\n\r\n fetchCompanyTrades() {\r\n this.isTradesLoading = true;\r\n\r\n this._service.fetchCompanyTrades(this.symbolCode).subscribe((res) => {\r\n this.isTradesLoading = false;\r\n this.companyTrades = res as CompanyTrades;\r\n });\r\n }\r\n}\r\n","var map = {\n\t\"./locale\": \"wCDk\",\n\t\"./locale.js\": \"wCDk\"\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 = \"Lw2E\";","import { TranslateService } from \"@ngx-translate/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { CreateAlertComponent } from \"./../../create-alert/create-alert.component\";\r\nimport { Router } from \"@angular/router\";\r\nimport {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from \"@angular/core\";\r\nimport { OrderBuyComponent } from \"../../order-buy/order-buy.component\";\r\nimport { FavService } from \"src/app/services/fav.service\";\r\n\r\n@Component({\r\n selector: \"app-context-menu\",\r\n templateUrl: \"./context-menu.component.html\",\r\n styleUrls: [\"./context-menu.component.scss\"],\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n @Input() x = 0;\r\n @Input() y = 0;\r\n @Input() isShow: boolean;\r\n @Input() item;\r\n @Output()\r\n addNew = new EventEmitter();\r\n @Output() clickedOutside = new EventEmitter();\r\n\r\n constructor(\r\n private eRef: ElementRef,\r\n private nav: Router,\r\n private favService: FavService,\r\n private matDialog: MatDialog,\r\n public translate: TranslateService\r\n ) { }\r\n @HostListener(\"document:click\", [\"$event\"])\r\n clickout(event) {\r\n if (!this.eRef.nativeElement.contains(event.target)) {\r\n this.clickedOutside.emit();\r\n }\r\n }\r\n ngOnInit() { }\r\n\r\n orderBuy(isSell) {\r\n const dialogRef = this.matDialog.open(OrderBuyComponent, {\r\n disableClose: true,\r\n panelClass: \"order-dialog-container\",\r\n data: { symbol: this.item.symbol, type: isSell },\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => { });\r\n }\r\n\r\n addWidgett(name) {\r\n\r\n let obj = {\r\n name: name,\r\n companyData: this.item,\r\n isLinked: false\r\n };\r\n this.addNew.emit(JSON.stringify(obj));\r\n this.clickedOutside.emit();\r\n }\r\n\r\n setAlert() {\r\n this.clickedOutside.emit();\r\n\r\n const dialogRef = this.matDialog.open(CreateAlertComponent, {\r\n disableClose: true,\r\n data: this.item,\r\n width: \"600px\",\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => { });\r\n }\r\n\r\n navigateProfile() {\r\n this.nav.navigate([\r\n \"/company-profile\",\r\n this.item.symbol,\r\n this.item.reuters,\r\n ]);\r\n }\r\n\r\n navigateQuota() {\r\n this.nav.navigate([\"/detailed-quota\", this.item.symbol]);\r\n }\r\n isFav(symbol) {\r\n return this.favService.isFav(symbol);\r\n }\r\n\r\n toggleFav(symbol) {\r\n //this.favService.toggleFav(symbol);\r\n }\r\n}\r\n","\r\n","import { first } from \"rxjs/operators\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { Router } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Currency } from \"./currency\";\r\nimport { Account, ClientData, PortfolioElement, Profile } from \"./client-data\";\r\nimport { AccountService } from \"./../../services/account.service\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Component, ElementRef, OnInit, ViewChild } from \"@angular/core\";\r\nimport { Bank } from \"./bank\";\r\nimport Swal from \"sweetalert2\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { MarginCalculatorComponent } from \"src/app/components/margin-calculator/margin-calculator.component\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\nimport {\r\n ApexNonAxisChartSeries,\r\n ApexResponsive,\r\n ApexChart,\r\n ChartComponent,\r\n ApexTheme,\r\n} from \"ng-apexcharts\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { InputCommaSepreatedPipe } from \"src/app/services/input-comma-sepreated.pipe\";\r\nimport * as moment from \"moment\";\r\nimport {\r\n SignalRConfiguration,\r\n BroadcastEventListener,\r\n SignalR,\r\n ISignalRConnection,\r\n} from \"ng2-signalr\";\r\n\r\nexport type ChartOptions = {\r\n series: ApexNonAxisChartSeries;\r\n chart: ApexChart;\r\n responsive: ApexResponsive[];\r\n labels: any;\r\n theme: ApexTheme;\r\n};\r\nexport class FileToUpload {\r\n fileName: string = \"\";\r\n fileSize: number = 0;\r\n fileType: string = \"\";\r\n fileAsBase64: string = \"\";\r\n}\r\n\r\ninterface DepositRequest {\r\n CurrencyId: number;\r\n Date: String;\r\n RelationCode: string;\r\n Amount: number;\r\n DepositeBankId: number;\r\n file: FileToUpload;\r\n}\r\ninterface StockRequest {\r\n SymbolCode: string;\r\n RelationCode: string;\r\n Qty: number;\r\n CustodianCode: number;\r\n CostPrice: number;\r\n}\r\ninterface T0Request {\r\n RelationCode: string;\r\n Body: string;\r\n}\r\ninterface WithdrawRequest {\r\n CurrencyId: number;\r\n Date: String;\r\n RelationCode: string;\r\n Amount: number;\r\n ActionType: number;\r\n BankId: number;\r\n BankBrachId: number;\r\n SwiftCode: string;\r\n AccountNumber: string;\r\n}\r\n\r\ninterface ComplainRequest {\r\n Body: string;\r\n ActionType: number;\r\n DepartmentId: number;\r\n RelationCode: string;\r\n}\r\ninterface CashTransferRequest {\r\n Date: String;\r\n FromRelationCode: string;\r\n IpAddress: string;\r\n ToRelationCode: string;\r\n CurrencyId: number;\r\n Amount: number;\r\n IsPost: boolean;\r\n}\r\ninterface StockTransferRequest {\r\n FromRelationCode: string;\r\n ToRelationCode: string;\r\n Symbol: PortfolioElement;\r\n Qty: number;\r\n}\r\n\r\n@Component({\r\n selector: \"app-user-profile\",\r\n templateUrl: \"./user-profile.component.html\",\r\n styleUrls: [\"./user-profile.component.scss\"],\r\n})\r\nexport class UserProfileComponent implements OnInit {\r\n @ViewChild(\"CashTransaction\") cashTransactionForm: NgForm;\r\n @ViewChild(\"StockTransaction\") stockTransactionForm: NgForm;\r\n @ViewChild(\"payableForm\") payableForm: NgForm;\r\n @ViewChild(\"withdrawForm\") withdrawForm: NgForm;\r\n @ViewChild(\"reqStockForm\") reqStockForm: NgForm;\r\n @ViewChild(\"reqT0Form\") reqT0Form: NgForm;\r\n @ViewChild(\"suggestionForm\") suggestionForm: NgForm;\r\n @ViewChild(\"complainForm\") complainForm: NgForm;\r\n\r\n userPortfolio: ClientData;\r\n isProfileLoading = false;\r\n accList: any = [];\r\n\r\n selectedStockTransferAcc;\r\n newDeposit: DepositRequest = {} as DepositRequest;\r\n newWithdraw: WithdrawRequest = {} as WithdrawRequest;\r\n newReqStock: StockRequest = {} as StockRequest;\r\n newReqT0: T0Request = {} as T0Request;\r\n newComplain: ComplainRequest = {} as ComplainRequest;\r\n newCashTransfer: CashTransferRequest = {} as CashTransferRequest;\r\n newStockTransfer: StockTransferRequest = {} as StockTransferRequest;\r\n isDarkTheme: boolean;\r\n\r\n fileToUpload: File | null = null;\r\n fileName: string;\r\n companyName: string;\r\n purchasePowerRes: any;\r\n\r\n date = new Date();\r\n today = new Date();\r\n banksList: Bank[] = [];\r\n currencyList: Currency[] = [];\r\n deptList;\r\n isSubmitting = false;\r\n submitStatus;\r\n userInvoice: Object;\r\n selectedAccount;\r\n selectedCurr = \"Rated\";\r\n Endorsement: string;\r\n clientStockProfile: any[];\r\n stockAccObj;\r\n toAccList: any;\r\n toStockAccList: any;\r\n allstocks: any;\r\n allCustod: any;\r\n stocksSymbolList: any;\r\n stocksCustodiansList: any;\r\n textConfirmMassage;\r\n showTradesSummary: boolean = false;\r\n\r\n @ViewChild(\"chart\") chart: ChartComponent;\r\n public chartOptions: Partial;\r\n\r\n chartStocks: number;\r\n purchaseStocks: number;\r\n titleMessage: string;\r\n branches: any;\r\n balanceAmount: any;\r\n noChart: boolean;\r\n userName: string;\r\n lastLogin: string;\r\n\r\n ppDetailsShown: boolean = false;\r\n\r\n private portfolioConnection: ISignalRConnection;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private accService: AccountService,\r\n public translate: TranslateService,\r\n public datepipe: DatePipe,\r\n private router: Router,\r\n private dialog: MatDialog,\r\n private formatPipe: InputCommaSepreatedPipe,\r\n private apiService: ApiService,\r\n private signalR: SignalR\r\n ) {\r\n this.accList = JSON.parse(localStorage.getItem(\"accList\")) as Account[];\r\n this.selectedAccount = this.accList[0].relationCode;\r\n\r\n this.fetchUserPortfolio();\r\n // this.initPortfolioSignalR();\r\n }\r\n\r\n get isMarginCust() {\r\n if (this.accList.length > 0)\r\n return this.accList.find(\r\n (acc) => acc.relationCode == this.selectedAccount\r\n ).accountType;\r\n }\r\n\r\n importFile(files) {\r\n const maxAllowedSize = 5 * 1024 * 1024;\r\n\r\n if (maxAllowedSize > files[0].size) {\r\n this.fileToUpload = files[0];\r\n this.fileName = this.fileToUpload.name;\r\n } else {\r\n this.fileName = this.translate.instant(\"too-big\");\r\n }\r\n }\r\n\r\n initPortfolioSignalR() {\r\n let config: SignalRConfiguration = new SignalRConfiguration();\r\n config.url = UrlConstants.backofficeUrl;\r\n config.hubName = \"ordersHub\";\r\n config.logging = false;\r\n\r\n let exchangeCode = this.accList.find(\r\n (item) => item.relationCode == this.selectedAccount\r\n ).ExchangeCode;\r\n\r\n this.signalR.connect(config).then((res) => {\r\n this.portfolioConnection = res;\r\n\r\n this.portfolioConnection.invoke(\"JoinGroup\", exchangeCode);\r\n\r\n let method = new BroadcastEventListener(\"UpdatePortfolio\");\r\n\r\n this.portfolioConnection.listen(method);\r\n method.subscribe((update) => {\r\n this.fetchUserPortfolio();\r\n });\r\n\r\n this.portfolioConnection.errors.subscribe((res) => {\r\n this.initPortfolioSignalR();\r\n });\r\n });\r\n }\r\n\r\n submitDeposit(form: NgForm) {\r\n this.newDeposit.Amount = form.form.value.Amount;\r\n this.newDeposit.Date = new Date().toLocaleString(\"en-us\", {\r\n timeZone: \"Africa/Cairo\",\r\n });\r\n this.newDeposit.RelationCode = form.form.value.RelationCode;\r\n this.newDeposit.CurrencyId = form.form.value.CurrencyId.CurrencyID;\r\n this.newDeposit.DepositeBankId = form.form.value.DepositeBankId.BankID;\r\n\r\n this.isSubmitting = true;\r\n\r\n if (this.fileToUpload != null) {\r\n let file = new FileToUpload();\r\n // Set File Information\r\n file.fileName = this.fileToUpload.name;\r\n file.fileSize = this.fileToUpload.size;\r\n file.fileType = this.fileToUpload.type;\r\n // Use FileReader() object to get file to upload\r\n // NOTE: FileReader only works with newer browsers\r\n let reader = new FileReader();\r\n // Setup onload event for reader\r\n reader.onload = () => {\r\n // Store base64 encoded representation of file\r\n file.fileAsBase64 = reader.result.toString();\r\n this.newDeposit.file = file;\r\n this.postDepositeToServer(form);\r\n };\r\n // Read the file\r\n reader.readAsDataURL(this.fileToUpload);\r\n } else {\r\n this.postDepositeToServer(form);\r\n }\r\n }\r\n\r\n postDepositeToServer(form: NgForm) {\r\n if (this.translate.currentLang == \"ar\") {\r\n this.titleMessage = \"تأكيد طلب ايداع\";\r\n this.textConfirmMassage = `برجاء مراجعه البيانات التالية قبل ارسال الطلب\r\n الحساب: ${form.form.value.RelationCode} العملة: ${form.form.value.CurrencyId.AbbreviationA\r\n }\r\n التاريخ: ${this.datepipe.transform(\r\n this.newDeposit.Date.toString(),\r\n \"dd-MM-yyyy\"\r\n )} المبلغ المودع: ${form.form.value.Amount}\r\n بنك الايداع: ${form.form.value.DepositeBankId.BankNameA}`;\r\n }\r\n if (this.translate.currentLang == \"en\") {\r\n this.titleMessage = \"Deposite Request Confirmation\";\r\n this.textConfirmMassage = `Please check the information before sending the request\r\n Account: ${form.form.value.RelationCode} Currency: ${form.form.value.AbbreviationE\r\n }\r\n Amount: ${form.form.value.Amount} Select Date: ${this.datepipe.transform(\r\n this.newDeposit.Date.toString(),\r\n \"dd-MM-yyyy\"\r\n )}\r\n Deposit Bank: ${form.form.value.DepositeBankId.BankNameE}`;\r\n }\r\n\r\n Swal.fire({\r\n title: this.titleMessage,\r\n html: \"
\" + this.textConfirmMassage + \"
\",\r\n      icon: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonText: this.translate.instant(\"yes\"),\r\n      cancelButtonText: this.translate.instant(\"no\"),\r\n      reverseButtons: true,\r\n    }).then((result) => {\r\n      if (result.isConfirmed) {\r\n        this.http\r\n          .post(\r\n            UrlConstants.backofficeUrl +\r\n            \"/api/OnlineTrading/PostPayableRequest\",\r\n            this.newDeposit\r\n          )\r\n          .subscribe(\r\n            (res) => {\r\n              this.isSubmitting = false;\r\n              if (res) this.submitStatus = res;\r\n              form.resetForm();\r\n              this.payableForm.resetForm();\r\n              this.fileName = null;\r\n              this.fileToUpload = null;\r\n              Swal.fire({\r\n                position: \"center\",\r\n                icon: \"success\",\r\n                title: this.translate.instant(\"succes-msg\"),\r\n                showConfirmButton: false,\r\n                timer: 4500,\r\n              });\r\n            },\r\n            (err) => {\r\n              Swal.fire({\r\n                position: \"center\",\r\n                icon: \"error\",\r\n                title: this.translate.instant(\"error-msg\"),\r\n                showConfirmButton: false,\r\n                timer: 4500,\r\n              });\r\n            }\r\n          );\r\n      } else if (\r\n        /* Read more about handling dismissals below */\r\n        !result.isConfirmed\r\n      ) {\r\n        this.isSubmitting = false;\r\n      }\r\n    });\r\n  }\r\n  submitWithdraw(form: NgForm) {\r\n    this.isSubmitting = true;\r\n    this.newWithdraw.Date = new Date().toLocaleString(\"en-us\", {\r\n      timeZone: \"Africa/Cairo\",\r\n    });\r\n    if (this.newWithdraw.ActionType == 1) {\r\n      if (this.translate.currentLang == \"ar\") {\r\n        this.titleMessage = \"تأكيد طلب سحب\";\r\n        this.textConfirmMassage = `برجاء مراجعه البيانات التالية قبل ارسال الطلب\r\n     الحساب: ${form.form.value.client}  العملة: ${form.form.value.CurrencyId.AbbreviationA\r\n          }\r\n     التاريخ: ${this.datepipe.transform(\r\n            this.newWithdraw.Date.toString(),\r\n            \"dd-MM-yyyy\"\r\n          )}    المبلغ المسحوب: ${form.form.value.Amount}\r\n     نوع التحويل:  شيك`;\r\n      }\r\n      if (this.translate.currentLang == \"en\") {\r\n        this.titleMessage = \"Withdraw Request Confirmation\";\r\n        this.textConfirmMassage = `Please check the information before sending the request\r\n    Account: ${form.form.value.RelationCode} Currency: ${form.form.value.CurrencyId.AbbreviationE\r\n          }\r\n    Amount: ${form.form.value.Amount} Select Date: ${this.datepipe.transform(\r\n            this.newWithdraw.Date.toString(),\r\n            \"dd-MM-yyyy\"\r\n          )}\r\n    Transaction Type: Chech Deposite`;\r\n      }\r\n    }\r\n    if (this.newWithdraw.ActionType == 2) {\r\n      if (this.translate.currentLang == \"ar\") {\r\n        this.titleMessage = \"تأكيد طلب سحب\";\r\n        this.textConfirmMassage = `برجاء مراجعه البيانات التالية قبل ارسال الطلب\r\n     الحساب: ${form.form.value.client}  العملة: ${form.form.value.CurrencyId.AbbreviationA\r\n          }\r\n     التاريخ: ${this.datepipe.transform(\r\n            this.newWithdraw.Date.toString(),\r\n            \"dd-MM-yyyy\"\r\n          )}    المبلغ المسحوب: ${form.form.value.Amount}\r\n     نوع التحويل:  تحويل بنكي\r\n     بنك الايداع:  ${form.form.value.depositBank.BankNameA}\r\n     فرع البنك: ${form.form.value.bankBranch.BankNameA}\r\n    رقم الحساب:  ${form.form.value.AccountNumber}\r\n      ${form.form.value.SwiftCode} :IBAN\r\n    `;\r\n      }\r\n      if (this.translate.currentLang == \"en\") {\r\n        this.titleMessage = \"Withdraw Request Confirmation\";\r\n        this.textConfirmMassage = `Please check the information before sending the request\r\n    Account: ${form.form.value.RelationCode} Currency: ${form.form.value.CurrencyId.AbbreviationE\r\n          }\r\n    Amount: ${form.form.value.Amount} Select Date: ${this.datepipe.transform(\r\n            this.newWithdraw.Date.toString(),\r\n            \"dd-MM-yyyy\"\r\n          )}\r\n    Transaction Type: Bank Transfer Deposit\r\n    Deposite Bank: ${form.form.value.depositBank.BankNameE}\r\n    Bank Branch: ${form.form.value.bankBranch.BankNameE}\r\n    Account Number: ${form.form.value.AccountNumber}\r\n    IBAN: ${form.form.value.SwiftCode}\r\n          `;\r\n      }\r\n\r\n      this.newWithdraw.BankId = form.form.value.depositBank.BankID;\r\n      this.newWithdraw.BankBrachId = form.form.value.bankBranch.BranchID;\r\n    }\r\n\r\n    this.newWithdraw.CurrencyId = form.form.value.CurrencyId.CurrencyID;\r\n\r\n    Swal.fire({\r\n      title: this.titleMessage,\r\n      html: \"
\" + this.textConfirmMassage + \"
\",\r\n      icon: \"warning\",\r\n      showCancelButton: true,\r\n      confirmButtonText: this.translate.instant(\"yes\"),\r\n      cancelButtonText: this.translate.instant(\"no\"),\r\n      reverseButtons: true,\r\n    }).then((result) => {\r\n      if (result.isConfirmed) {\r\n        this.http\r\n          .post(\r\n            UrlConstants.backofficeUrl +\r\n            \"/api/OnlineTrading/PostReceivableRequest\",\r\n            this.newWithdraw\r\n          )\r\n          .subscribe(\r\n            (res) => {\r\n              this.isSubmitting = false;\r\n              if (res) this.submitStatus = res;\r\n              form.resetForm();\r\n\r\n              Swal.fire({\r\n                position: \"center\",\r\n                icon: \"success\",\r\n                title: this.translate.instant(\"succes-msg\"),\r\n                showConfirmButton: false,\r\n                timer: 4500,\r\n              }).then(() => {\r\n                this.router.navigate([\"/home\"]);\r\n              });\r\n            },\r\n            (err) => {\r\n              Swal.fire({\r\n                position: \"center\",\r\n                icon: \"error\",\r\n                title: this.translate.instant(\"error-msg\"),\r\n                showConfirmButton: false,\r\n                timer: 4500,\r\n              });\r\n            }\r\n          );\r\n      } else if (\r\n        /* Read more about handling dismissals below */\r\n        !result.isConfirmed\r\n      ) {\r\n        this.isSubmitting = false;\r\n      }\r\n    });\r\n  }\r\n\r\n  generateInvoice() {\r\n    this.http\r\n      .get(\r\n        `${UrlConstants.backofficeUrl}/api/Invoice/getClientInvoice?fromDate=01-03-2020&toDate=01-03-2021&lang=1&relationCode=${this.selectedAccount}`\r\n      )\r\n      .subscribe((res) => {\r\n        this.userInvoice = res;\r\n        this.router.navigate([\"invoice\"], {\r\n          state: { invoice: this.userInvoice },\r\n        });\r\n      });\r\n  }\r\n\r\n  fetchUserPortfolio(selectedAcc?) {\r\n    this.showTradesSummary = true;\r\n    if (selectedAcc) this.selectedAccount = selectedAcc;\r\n    this.initPortfolioSignalR();\r\n    this.noChart = null;\r\n    this.isProfileLoading = true;\r\n\r\n    this.http\r\n      .get(\r\n        `${UrlConstants.backofficeUrl}/api/Client/GetClientInformation?relationCode=${this.selectedAccount}`\r\n      )\r\n      .subscribe((res) => {\r\n        this.isProfileLoading = false;\r\n        this.userPortfolio = res as ClientData;\r\n\r\n        this.companyName = this.userPortfolio.Profile.CompanyNameAr;\r\n\r\n        this.Endorsement = `الساده شركة ${this.companyName} برجاء التكرم بفتح حد إئتمان للتداول في ذات الجلسة علي حسابي طرف شركتكم  وفي حالة التنفيذ و ظهور مديونية أتعهد أن يتم سداد كامل مديونية اليوم بالبيع أو بالإيداع و في حالة عدم التزامي بإغلاق المديونية قبل نهاية الجلسة بنصف ساعة أفوض الشركة ببيع أي أسهم موجودة بمحفظتي لسداد كامل المديونية وهذا إقرار مني بذلك`;\r\n\r\n        if (\r\n          this.ratedActiveBalance == 0 &&\r\n          this.userPortfolio.Portfolio.RatedPortfolio == null\r\n        )\r\n          this.noChart = true;\r\n        else if (\r\n          this.ratedActiveBalance > 0 &&\r\n          (!this.userPortfolio.Portfolio?.RatedPortfolio ||\r\n            this.userPortfolio.Portfolio?.RatedPortfolio?.TotalMarketValue == 0)\r\n        ) {\r\n          this.purchaseStocks = 100;\r\n          this.chartStocks = 0;\r\n          this.initChart();\r\n        } else if (\r\n          this.ratedActiveBalance <= 0 &&\r\n          this.userPortfolio?.Portfolio?.RatedPortfolio?.TotalMarketValue > 0\r\n        ) {\r\n          this.purchaseStocks = 0;\r\n          this.chartStocks = 100;\r\n          this.initChart();\r\n        } else {\r\n          this.chartStocks =\r\n            (this.userPortfolio?.Portfolio?.RatedPortfolio?.TotalMarketValue /\r\n              (this.userPortfolio?.Portfolio?.RatedPortfolio?.TotalMarketValue +\r\n                this.ratedActiveBalance)) *\r\n            100;\r\n          this.purchaseStocks =\r\n            (this.ratedActiveBalance /\r\n              (this.userPortfolio?.Portfolio?.RatedPortfolio?.TotalMarketValue +\r\n                this.ratedActiveBalance)) *\r\n            100;\r\n          this.initChart();\r\n        }\r\n        // if (this.userPortfolio.Portfolio.RatedPortfolio) {\r\n        //   this.chartStocks =\r\n        //     (this.userPortfolio.Portfolio.RatedPortfolio.TotalMarketValue /\r\n        //       (this.userPortfolio.Portfolio.RatedPortfolio.TotalMarketValue +\r\n        //         this.ratedActiveBalance)) *\r\n        //     100;\r\n        //   this.purchaseStocks =\r\n        //     (this.ratedActiveBalance /\r\n        //       (this.userPortfolio.Portfolio.RatedPortfolio.TotalMarketValue +\r\n        //         this.ratedActiveBalance)) *\r\n        //     100;\r\n        //   this.initChart();\r\n        // } else if (this.ratedActiveBalance) {\r\n        //   this.purchaseStocks = 100;\r\n        //   this.chartStocks = 0;\r\n        //   this.initChart();\r\n        // }\r\n      });\r\n  }\r\n\r\n  get ratedBookBalance() {\r\n    return this.userPortfolio?.PurchasePower?.BlockingAmount?.find(\r\n      (value) => value.curr == \"Rated\"\r\n    );\r\n  }\r\n\r\n  get currenciedBookBalance() {\r\n    return this.userPortfolio?.PurchasePower?.BlockingAmount?.find(\r\n      (value) => value.curr == this.selectedCurr\r\n    );\r\n  }\r\n\r\n  get currenciedPortfolio() {\r\n    switch (this.selectedCurr) {\r\n      case \"EGP\":\r\n        return this.userPortfolio?.Portfolio.EGPPortfolio;\r\n      case \"Rated\":\r\n        return this.userPortfolio?.Portfolio.RatedPortfolio;\r\n      case \"USD\":\r\n        return this.userPortfolio?.Portfolio.USDPortfolio;\r\n    }\r\n  }\r\n  get ratedActiveBalance() {\r\n    return this.userPortfolio?.PurchasePower?.BlockingAmount?.find(\r\n      (item) => item.curr == \"Rated\"\r\n    ).activebalance;\r\n  }\r\n\r\n  get currenciedPP() {\r\n    try {\r\n      return this.userPortfolio.PurchasePower.purchasePower[this.selectedCurr];\r\n    } catch (error) { }\r\n  }\r\n\r\n  initChart() {\r\n    this.chartOptions = {\r\n      series: [this.chartStocks, this.purchaseStocks],\r\n      chart: {\r\n        width: \"100%\",\r\n        height: \"295\",\r\n        type: \"donut\",\r\n      },\r\n      theme: {\r\n        mode: \"light\",\r\n        palette: \"palette7\",\r\n      },\r\n      labels: [\r\n        this.translate.instant(\"stocks\"),\r\n        this.translate.instant(\"cash\"),\r\n      ],\r\n      responsive: [\r\n        {\r\n          breakpoint: 480,\r\n          options: {\r\n            chart: {\r\n              width: 200,\r\n            },\r\n            legend: {\r\n              position: \"bottom\",\r\n            },\r\n          },\r\n        },\r\n      ],\r\n    };\r\n  }\r\n\r\n  get bookBalance() {\r\n    return this.userPortfolio.PurchasePower.BlockingAmount.find(\r\n      (value) => value.curr == this.selectedCurr\r\n    );\r\n  }\r\n\r\n  get blockAmount() {\r\n    return (\r\n      this.bookBalance?.blkAmt +\r\n      this.bookBalance?.pendBuy +\r\n      this.bookBalance?.withHeldAmt +\r\n      this.bookBalance?.penSellCommission\r\n    );\r\n  }\r\n\r\n  submitComplain(form: NgForm, isComplain) {\r\n    this.isSubmitting = true;\r\n\r\n    if (isComplain) {\r\n      if (this.translate.currentLang == \"ar\") {\r\n        this.titleMessage = \"تأكيد طلب شكوى\";\r\n        this.textConfirmMassage = `برجاء مراجعه البيانات التالية قبل ارسال الطلب\r\n  :الادارة التي يخصها الشكوى\r\n  ${form.form.value.DepartmentId.DepartmentNameA}\r\n  :الشكوى\r\n  `;\r\n      }\r\n      if (this.translate.currentLang == \"en\") {\r\n        this.titleMessage = \"Complain Request Confirmation\";\r\n        this.textConfirmMassage = `Please check the information before sending the request\r\n department: ${form.form.value.DepartmentId.DepartmentNameE}\r\n complain :`;\r\n      }\r\n      this.newComplain.ActionType = 1;\r\n      this.newComplain.RelationCode = this.selectedAccount;\r\n      this.newComplain.Body = form.form.value.Body;\r\n      this.newComplain.DepartmentId = form.form.value.DepartmentId.DepartmentID;\r\n\r\n      Swal.fire({\r\n        title: this.titleMessage,\r\n        html:\r\n          \"
\" +\r\n          this.textConfirmMassage +\r\n          \"

\" +\r\n form.form.value.Body +\r\n \"

\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant(\"yes\"),\r\n cancelButtonText: this.translate.instant(\"no\"),\r\n reverseButtons: true,\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.http\r\n .post(\r\n UrlConstants.backofficeUrl +\r\n \"/api/OnlineTrading/PostActionRequest\",\r\n this.newComplain\r\n )\r\n .subscribe(\r\n (res) => {\r\n this.isSubmitting = false;\r\n if (res) this.submitStatus = res;\r\n form.resetForm();\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"success\",\r\n title: this.translate.instant(\"succes-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n },\r\n (err) => {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"error-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n );\r\n } else if (\r\n /* Read more about handling dismissals below */\r\n !result.isConfirmed\r\n ) {\r\n this.isSubmitting = false;\r\n }\r\n });\r\n } else {\r\n if (this.translate.currentLang == \"ar\") {\r\n this.titleMessage = \"تأكيد طلب اقتراح\";\r\n this.textConfirmMassage = `برجاء مراجعه البيانات التالية قبل ارسال الطلب\r\n :الاقتراح\r\n `;\r\n }\r\n if (this.translate.currentLang == \"en\") {\r\n this.titleMessage = \"Suggestion Request Confirmation\";\r\n this.textConfirmMassage = `Please check the information before sending the request\r\n suggestion :\r\n `;\r\n }\r\n this.newComplain.ActionType = 2;\r\n this.newComplain.RelationCode = this.selectedAccount;\r\n this.newComplain.Body = form.form.value.Body;\r\n\r\n Swal.fire({\r\n title: this.titleMessage,\r\n html:\r\n \"
\" +\r\n          this.textConfirmMassage +\r\n          \"

\" +\r\n form.form.value.Body +\r\n \"

\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant(\"yes\"),\r\n cancelButtonText: this.translate.instant(\"no\"),\r\n reverseButtons: true,\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.http\r\n .post(\r\n UrlConstants.backofficeUrl +\r\n \"/api/OnlineTrading/PostActionRequest\",\r\n this.newComplain\r\n )\r\n .subscribe(\r\n (res) => {\r\n this.isSubmitting = false;\r\n if (res) this.submitStatus = res;\r\n form.resetForm();\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"success\",\r\n title: this.translate.instant(\"succes-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n },\r\n (err) => {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"error-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n );\r\n } else if (\r\n /* Read more about handling dismissals below */\r\n !result.isConfirmed\r\n ) {\r\n this.isSubmitting = false;\r\n }\r\n });\r\n }\r\n }\r\n // fetchUserProfile() {\r\n // const httpOptions = {\r\n // headers: new HttpHeaders({\r\n // \"Content-Type\": \"application/json\",\r\n // Authorization: this.accService.userValue.toString(),\r\n // }),\r\n // };\r\n\r\n // this.http\r\n // .get(\r\n // `${UrlConstants.backofficeUrl}/api/Client/GetClientProfile?relationCode=1001-1`,\r\n // httpOptions\r\n // )\r\n // .subscribe((res) => {\r\n // this.userInfo = res;\r\n // });\r\n // }\r\n GetBranches(e) {\r\n this.branches = e.BankBranches;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n this.fetchBanks();\r\n this.fetchActiveCurrencies();\r\n // this.getClientStockPortofolio();\r\n this.fetchDepartment();\r\n // this.newDeposit.Date = this.newWithdraw.Date = this.today;\r\n this.userName = sessionStorage.getItem(\"userName\");\r\n this.lastLogin = JSON.parse(\r\n localStorage.getItem(\"userProfile\")\r\n ).LastSuccessLoginTime;\r\n // this.newWithdraw.ActionType =1;\r\n }\r\n commaSeprated(event) {\r\n let input = event.target as HTMLInputElement;\r\n let number = parseFloat(input.value);\r\n input.value = this.formatPipe.transform(number).toString();\r\n }\r\n fetchPurchasePower(relCode) {\r\n if (relCode != null) {\r\n this.apiService.fetchPurchasePower(relCode).subscribe((arg) => {\r\n this.purchasePowerRes = arg;\r\n\r\n this.balanceAmount = this.purchasePowerRes.BlockingAmount;\r\n });\r\n }\r\n\r\n }\r\n\r\n get availableWithdrawBalance() {\r\n if (this.withdrawForm != null) {\r\n if (this.withdrawForm?.form?.get(\"CurrencyId\")?.value != null) {\r\n if (\r\n this.balanceAmount &&\r\n this.withdrawForm?.form?.get(\"CurrencyId\")?.value[\"AbbreviationE\"]\r\n ) {\r\n var x = this.balanceAmount.find(\r\n (x) =>\r\n x.curr ==\r\n this.withdrawForm.form.get(\"CurrencyId\").value[\"AbbreviationE\"]\r\n );\r\n if (x) return x[\"AvailableBalanceForWithdrow\"];\r\n else return 0;\r\n }\r\n }\r\n }\r\n }\r\n\r\n availableTransferBalance(form) {\r\n if (form.form.get(\"Currency\")?.value != null) {\r\n if (\r\n this.balanceAmount &&\r\n form.form.get(\"Currency\")?.value[\"AbbreviationE\"] != null\r\n ) {\r\n var x = this.balanceAmount.find(\r\n (item) => item.curr == form.form.get(\"Currency\").value[\"AbbreviationE\"]\r\n );\r\n\r\n if (x) return x[\"availablebalancefortransfer\"];\r\n else return 0;\r\n }\r\n }\r\n }\r\n\r\n fetchBanks() {\r\n this.http\r\n .get(`${UrlConstants.backofficeUrl}/api/Settings/GetBanks`)\r\n .subscribe((res) => {\r\n this.banksList = res as Bank[];\r\n });\r\n }\r\n fetchActiveCurrencies() {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Settings/GetActiveCurrencies`\r\n ).subscribe((res) => {\r\n\r\n this.currencyList = res as Currency[];\r\n });\r\n }\r\n\r\n //SAMY\r\n noDecimal(event) {\r\n const charCode = event.which ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n submitStockTransfer(form: NgForm) {\r\n if (form && form.valid) {\r\n if (this.translate.currentLang == \"ar\") {\r\n this.titleMessage = \"تأكيد تحويل اسهم\";\r\n this.textConfirmMassage = `برجاء مراجعه البيانات التالية قبل ارسال التحويل\r\n من الحساب: ${form.form.value.FromAccountStock} الى الحساب: ${form.form.value.ToRelationCode}\r\n امين حفظ: ${this.newStockTransfer.Symbol.CustodianNameA}\r\n كمية: ${form.form.value.Quantity}\r\n السهم: ${this.newStockTransfer.Symbol.SymbolNameAr}`;\r\n }\r\n if (this.translate.currentLang == \"en\") {\r\n this.titleMessage = \"Stock Transfer Confirmation\";\r\n this.textConfirmMassage = `Please check the information before sending the request\r\n From Account: ${form.form.value.FromAccountStock} To Account: ${form.form.value.ToRelationCode}\r\n Stock: ${this.newStockTransfer.Symbol.SymbolNameEn}\r\n Custodian: ${this.newStockTransfer.Symbol.CustodianNameE}\r\n Quantity: ${form.form.value.Quantity}`;\r\n }\r\n\r\n let request = {\r\n FromRelationCode: form.form.value.FromAccountStock,\r\n ToRelationCode: form.form.value.ToRelationCode,\r\n SymbolCode: form.form.value.SymbolCode.SymbolCode,\r\n CustodianCode: form.form.value.SymbolCode.CustodianCode,\r\n Qty: form.form.value.Quantity,\r\n };\r\n\r\n Swal.fire({\r\n title: this.titleMessage,\r\n html: \"
\" + this.textConfirmMassage + \"
\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant(\"yes\"),\r\n cancelButtonText: this.translate.instant(\"no\"),\r\n reverseButtons: true,\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.http\r\n .post(\r\n UrlConstants.backofficeUrl + \"/api/Journal/TransferClientStocks\",\r\n request\r\n )\r\n .subscribe((res) => {\r\n this.submitStatus = res;\r\n if (res[\"errors\"] == null) {\r\n this.isSubmitting = false;\r\n form.resetForm();\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"success\",\r\n title: this.translate.instant(\"succes-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n } else {\r\n this.isSubmitting = false;\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(res[\"errors\"][0]),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n });\r\n } else if (\r\n /* Read more about handling dismissals below */\r\n !result.isConfirmed\r\n ) {\r\n this.isSubmitting = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n submitCashTransfer(form: NgForm) {\r\n this.isSubmitting = true;\r\n let latest_date = this.datepipe.transform(this.date, \"YYYY-MM-dd\");\r\n\r\n this.newCashTransfer.Date = latest_date;\r\n this.newCashTransfer.IpAddress = \"\";\r\n this.newCashTransfer.IsPost = true;\r\n\r\n if (form && form.valid) {\r\n if (this.translate.currentLang == \"ar\") {\r\n this.titleMessage = \"تأكيد تحويل نقدي\";\r\n this.textConfirmMassage = `برجاء مراجعه البيانات التالية قبل ارسال الطلب\r\n من الحساب: ${form.form.value.FromAccount} الى الحساب: ${form.form.value.ToAccount}\r\n مبلغ: ${form.form.value.Amount} العملة: ${form.form.value.Currency.AbbreviationA}`;\r\n }\r\n if (this.translate.currentLang == \"en\") {\r\n this.titleMessage = \"Cash transfer Confirmation\";\r\n this.textConfirmMassage = `Please check the information before sending the request\r\n From Account: ${form.form.value.FromAccount} To Account: ${form.form.value.ToAccount}\r\n Amount: ${form.form.value.Amount} Currency: ${form.form.value.Currency.AbbreviationE}`;\r\n }\r\n this.newCashTransfer.CurrencyId = form.form.value.Currency.CurrencyID;\r\n Swal.fire({\r\n title: this.titleMessage,\r\n html: \"
\" + this.textConfirmMassage + \"
\",\r\n        icon: \"warning\",\r\n        showCancelButton: true,\r\n        confirmButtonText: this.translate.instant(\"yes\"),\r\n        cancelButtonText: this.translate.instant(\"no\"),\r\n        reverseButtons: true,\r\n      }).then((result) => {\r\n        if (result.isConfirmed) {\r\n          this.http\r\n            .post(\r\n              UrlConstants.backofficeUrl + \"/api/Journal/TransferClientJournal\",\r\n              this.newCashTransfer\r\n            )\r\n            .subscribe(\r\n              (res) => {\r\n                this.isSubmitting = false;\r\n                if (res[\"isValid\"] == true) {\r\n                  this.submitStatus = res;\r\n                  form.resetForm();\r\n                  Swal.fire({\r\n                    position: \"center\",\r\n                    icon: \"success\",\r\n                    title: this.translate.instant(\"succes-msg\"),\r\n                    showConfirmButton: false,\r\n                    timer: 4500,\r\n                  }).then(() => {\r\n                    this.router.navigate([\"/home\"]);\r\n                  });\r\n                } else {\r\n                  Swal.fire({\r\n                    position: \"center\",\r\n                    icon: \"error\",\r\n                    title: this.translate.instant(\"error-msg\"),\r\n                    showConfirmButton: false,\r\n                    timer: 4500,\r\n                  });\r\n                }\r\n              },\r\n              (err) => {\r\n                Swal.fire({\r\n                  position: \"center\",\r\n                  icon: \"error\",\r\n                  title: this.translate.instant(\"error-msg\"),\r\n                  showConfirmButton: false,\r\n                  timer: 4500,\r\n                });\r\n              }\r\n            );\r\n        } else if (\r\n          /* Read more about handling dismissals below */\r\n          !result.isConfirmed\r\n        ) {\r\n          this.isSubmitting = false;\r\n        }\r\n      });\r\n    }\r\n  }\r\n  submitReqStock(form: NgForm) {\r\n    this.isSubmitting = true;\r\n    if (form && form.valid) {\r\n      if (this.translate.currentLang == \"ar\") {\r\n        this.titleMessage = \"تأكيد طلب حجز اسهم\";\r\n        this.textConfirmMassage = `برجاء مراجعه البيانات التالية قبل ارسال الطلب\r\n     الحساب: ${form.form.value.RelationCode}     كمية: ${form.form.value.Qty}\r\n    امين حفظ: ${form.form.value.CustodianCode.CustodianNameA}\r\n    السهم:  ${form.form.value.SymbolCode.ShortNameA}\r\n  سعر التكلفة: ${form.form.value.CostPrice}`;\r\n      }\r\n      if (this.translate.currentLang == \"en\") {\r\n        this.titleMessage = \"Book Stock Request Confirmation\";\r\n        this.textConfirmMassage = `Please check the information before sending the request\r\n       Account: ${form.form.value.RelationCode}   Qty: ${form.form.value.Qty}\r\n       Custodian: ${form.form.value.CustodianCode.CustodianNameE}\r\n      Stock: ${form.form.value.SymbolCode.ShortNameE}\r\n    Cost Price: ${form.form.value.CostPrice}`;\r\n      }\r\n      this.newReqStock.RelationCode = form.form.value.RelationCode;\r\n      this.newReqStock.Qty = form.form.value.Qty;\r\n      this.newReqStock.CustodianCode =\r\n        form.form.value.CustodianCode.CustodianCode;\r\n      this.newReqStock.SymbolCode = form.form.value.SymbolCode.SymbolCode;\r\n      this.newReqStock.CostPrice = form.form.value.CostPrice;\r\n      Swal.fire({\r\n        title: this.titleMessage,\r\n        html: \"
\" + this.textConfirmMassage + \"
\",\r\n        icon: \"warning\",\r\n        showCancelButton: true,\r\n        confirmButtonText: this.translate.instant(\"yes\"),\r\n        cancelButtonText: this.translate.instant(\"no\"),\r\n        reverseButtons: true,\r\n      }).then((result) => {\r\n        if (result.isConfirmed) {\r\n          this.http\r\n            .post(\r\n              UrlConstants.backofficeUrl +\r\n              \"/api/OnlineTrading/PostRequestStockBook\",\r\n              this.newReqStock\r\n            )\r\n            .subscribe(\r\n              (res) => {\r\n                this.isSubmitting = false;\r\n                if (res) this.submitStatus = res;\r\n                form.resetForm();\r\n                Swal.fire({\r\n                  position: \"center\",\r\n                  icon: \"success\",\r\n                  title: this.translate.instant(\"succes-msg\"),\r\n                  showConfirmButton: false,\r\n                  timer: 4500,\r\n                });\r\n              },\r\n              (err) => {\r\n                Swal.fire({\r\n                  position: \"center\",\r\n                  icon: \"error\",\r\n                  title: this.translate.instant(\"error-msg\"),\r\n                  showConfirmButton: false,\r\n                  timer: 4500,\r\n                });\r\n              }\r\n            );\r\n        } else if (\r\n          /* Read more about handling dismissals below */\r\n          !result.isConfirmed\r\n        ) {\r\n          this.isSubmitting = false;\r\n        }\r\n      });\r\n    }\r\n  }\r\n  submitReqT0(form: NgForm) {\r\n    if (form && form.valid) {\r\n      this.newReqT0.RelationCode = form.form.value.RelationCode;\r\n      this.newReqT0.Body = this.Endorsement;\r\n      if (this.translate.currentLang == \"ar\") {\r\n        this.titleMessage = \"تأكيد طلب (T+0)\";\r\n        this.textConfirmMassage = `برجاء مراجعه البيانات التالية قبل ارسال الطلب\r\n      الحساب: ${form.form.value.RelationCode}\r\n      الشكوى:\r\n      `;\r\n      }\r\n      if (this.translate.currentLang == \"en\") {\r\n        this.titleMessage = \"T+0 Request Confirmation\";\r\n        this.textConfirmMassage = `Please check the information before sending the request\r\n     Account: ${form.form.value.RelationCode}`;\r\n      }\r\n      Swal.fire({\r\n        title: this.titleMessage,\r\n        html:\r\n          \"
\" +\r\n          this.textConfirmMassage +\r\n          \"

\" +\r\n form.form.value.Body +\r\n \"

\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant(\"yes\"),\r\n cancelButtonText: this.translate.instant(\"no\"),\r\n reverseButtons: true,\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.apiService.fetchTPlusZero(this.newReqT0).subscribe(\r\n (res) => {\r\n this.isSubmitting = false;\r\n if (res) this.submitStatus = res;\r\n form.resetForm();\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"success\",\r\n title: this.translate.instant(\"succes-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n },\r\n (err) => {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"error-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n );\r\n } else if (\r\n /* Read more about handling dismissals below */\r\n !result.isConfirmed\r\n ) {\r\n this.isSubmitting = false;\r\n }\r\n });\r\n }\r\n }\r\n accountListValidation(e) {\r\n if (this.accList) {\r\n let temp = this.accList.filter((c) => c.relationCode != e);\r\n this.toAccList = [...temp];\r\n }\r\n }\r\n\r\n stockTransferChanged(e) {\r\n this.newStockTransfer.Qty = e.SetteledQty;\r\n }\r\n\r\n accountStockListValidation(client) {\r\n this.newStockTransfer.Symbol = null;\r\n this.newStockTransfer.Qty = null;\r\n this.newStockTransfer.ToRelationCode = null;\r\n // this.newStockTransfer.FromRelationCode = client.relationCode;\r\n let selectedAccFrom = this.accList.find((item) => {\r\n return item.relationCode == client;\r\n });\r\n this.http\r\n .get(\r\n `${UrlConstants.backofficeUrl}/api/Client/GetClientInformation?relationCode=${client}`\r\n )\r\n .subscribe((res: ClientData) => {\r\n this.stocksSymbolList = res?.Portfolio?.RatedPortfolio?.Portfolio?.sort(\r\n (a, b) => a.SymbolNameAr.localeCompare(b.SymbolNameAr)\r\n );\r\n });\r\n if (this.accList) {\r\n let temp = this.accList.filter((x) => {\r\n return (\r\n x.SubCode == selectedAccFrom.SubCode &&\r\n x.relationCode != selectedAccFrom.relationCode\r\n );\r\n });\r\n\r\n this.toStockAccList = [...temp];\r\n\r\n // this.stocksCustodiansList = this.clientStockProfile.filter(\r\n // (x) => x.Profile.RelationCode == e\r\n // )[0].Custodians;\r\n // this.stocksSymbolList = this.clientStockProfile.filter(\r\n // (x) => x.Profile.RelationCode == e\r\n // )[0].Symbols;\r\n }\r\n }\r\n fetchSymbolsandCustd() {\r\n this.apiService\r\n .fetchBOAllSymbols()\r\n .subscribe((res) => (this.allstocks = res));\r\n this.apiService.fetchAllCustd().subscribe((arg) => (this.allCustod = arg));\r\n }\r\n fetchDepartment() {\r\n this.apiService\r\n .fetchDepartments()\r\n .subscribe((res) => (this.deptList = res));\r\n }\r\n\r\n // getClientStockPortofolio() {\r\n // this.http\r\n // .get(\r\n // `${UrlConstants.backofficeUrl}/api/Journal/getClientAccountsPortfolioDetails`\r\n // )\r\n // .subscribe((res) => {\r\n // this.clientStockProfile = res as any[];\r\n // });\r\n // }\r\n resetForm() {\r\n this.fileName = null;\r\n this.payableForm.resetForm();\r\n }\r\n\r\n get marginPercent() {\r\n if (\r\n this.userPortfolio?.PurchasePower[\"MarginPosition\"]\r\n .UsedMarginPersentage != null\r\n )\r\n return this.userPortfolio?.PurchasePower[\"MarginPosition\"]\r\n .UsedMarginPersentage;\r\n }\r\n\r\n get chartColor() {\r\n if (this.marginPercent < 50) {\r\n return \"#2E94D3\";\r\n }\r\n if (this.marginPercent >= 50 && this.marginPercent < 61) {\r\n return \"#28A745\";\r\n }\r\n if (this.marginPercent > 60 && this.marginPercent < 70) {\r\n return \"#2eced3\";\r\n }\r\n if (this.marginPercent >= 70) {\r\n return \"#d33e2e\";\r\n }\r\n }\r\n\r\n marginCalculator() {\r\n const dialogRef = this.dialog.open(MarginCalculatorComponent, {\r\n panelClass: \"order-dialog-container\",\r\n data: { relationCode: this.selectedAccount },\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => { });\r\n }\r\n depositeConfirmation() {\r\n this.payableForm.form.value.CurrencyId =\r\n this.payableForm.form.value.CurrencyId.CurrencyID;\r\n this.payableForm.form.value.DepositeBankId =\r\n this.payableForm.form.value.DepositeBankId.BankID;\r\n }\r\n bankDepositeChange() {\r\n if (this.translate.currentLang == \"ar\") {\r\n }\r\n if (this.translate.currentLang == \"en\") {\r\n }\r\n }\r\n\r\n hideTradesSummary() {\r\n this.showTradesSummary = false;\r\n }\r\n\r\n onReset(form) {\r\n form.reset();\r\n this.balanceAmount = null;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
{{'hello'|translate}} {{userName}}
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n {{'last-login'|translate}}\r\n {{lastLogin | date:'d/M/yy, h:mm a'}}\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{\"phone\"|translate}}
\r\n
\r\n
\r\n
\r\n {{userPortfolio?.Profile.Phone}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{\"email\"|translate}}
\r\n
\r\n
\r\n
\r\n {{userPortfolio?.Profile.Email}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{\"nationalID\"|translate}}
\r\n
\r\n
\r\n
\r\n {{userPortfolio?.Profile.IdNumber}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{\"address\"|translate}}
\r\n
\r\n
\r\n
\r\n {{userPortfolio?.Profile.Address}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{\"acc-mgr\"|translate}}
\r\n
\r\n
\r\n
\r\n {{userPortfolio?.Profile.AccountManagerNameE}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{\"branch\"|translate}}
\r\n
\r\n
\r\n
\r\n {{userPortfolio?.Profile.BranchNameE}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{'egp'|translate}}\r\n \r\n \r\n {{'usd'|translate}}\r\n \r\n \r\n {{'rated'|translate}}\r\n \r\n \r\n
\r\n
\r\n
{{\"book-balance\"|translate}}\r\n \r\n
\r\n 0), 'red': (bookBalance?.\r\n activebalance<0), '':bookBalance?.\r\n activebalance==0}\" style=\"font-size: 25px\">\r\n \r\n {{ bookBalance?.activebalance | number: \"1.0\":\"en-US\"}}\r\n \r\n \r\n \r\n 0\r\n \r\n
\r\n
\r\n
{{\"total-stocks-value\"|translate}}\r\n \r\n
\r\n \r\n {{currenciedPortfolio?.TotalMarketValue | number: \"1.0\":\"en-US\"}}\r\n \r\n \r\n 0\r\n \r\n
\r\n
\r\n
{{\"net-asset\"|translate}}\r\n \r\n
\r\n \r\n {{ currenciedBookBalance?.netAsset |number: \"1.0\":\"en-US\"}}\r\n \r\n \r\n 0\r\n \r\n\r\n
\r\n
\r\n
{{'G/L'|translate}}
\r\n 0), 'red': (currenciedPortfolio?.TotalGL<0), '':currenciedPortfolio?.TotalGL==0}\"\r\n style=\"font-size: 25px\">\r\n {{currenciedPortfolio?.TotalGL |number: \"1.0\":\"en-US\"}}\r\n\r\n \r\n ({{currenciedPortfolio?.TotalGLPer | number: \"1.2-2\":\"en-US\" }} %)\r\n \r\n \r\n (0 %)\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{\"new-deposit\"|translate}}

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{translate.currentLang=='en'?curr.CurrencyNameE:curr.CurrencyNameA}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n ({{acc.relationCode}})\r\n {{translate.currentLang=='en'?acc.clientNameEn:acc.clientNameAr}}\r\n \r\n
\r\n
You must select client
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{(translate.currentLang=='en')?bank.BankNameE:bank.BankNameA}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{fileName}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

{{\"new-withdraw\"|translate}}

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{translate.currentLang=='en'?curr.CurrencyNameE:curr.CurrencyNameA}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n ({{acc.relationCode}})\r\n {{translate.currentLang=='en'?acc.clientNameEn:acc.clientNameAr}}\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n 0, 'red': availableWithdrawBalance < 0, 'grey': availableWithdrawBalance == 0}\">{{'availb-bal'|translate}}\r\n :\r\n {{availableWithdrawBalance|\r\n number}}\r\n {{availableWithdrawBalance|\r\n number}}\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n {{\"check-deposit\"|translate}}\r\n \r\n {{\"bank-transfer\"|translate}}\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{(translate.currentLang=='en')?bank.BankNameE:bank.BankNameA}}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{(translate.currentLang=='en')?branch.BankNameE:branch.BankNameA}}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{\"withdraw-note\"|translate}}\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{\"request-stock\"|translate}}

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n ({{acc.relationCode}})\r\n {{translate.currentLang=='en'?acc.clientNameEn:acc.clientNameAr}}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n ({{Symbol.ReutersCode}})\r\n {{(translate.currentLang==\"en\")?Symbol.ShortNameE:Symbol.ShortNameA}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n ({{Custodian.CustodianCode}})\r\n {{(translate.currentLang==\"en\")?Custodian.CustodianNameE:Custodian.CustodianNameA}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {{\"amount-num-err\"|translate}}\r\n {{\"amount-decimal-err\"|translate}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{\"request-t0\" | translate}}

\r\n
\r\n \r\n \r\n \r\n ({{acc.relationCode}})\r\n {{translate.currentLang=='en'?acc.clientNameEn:acc.clientNameAr}}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{\"new-complain\" | translate}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{translate.currentLang=='en'?dept.DepartmentNameE:dept.DepartmentNameA}}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{\"new-suggestion\"|translate}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{\"new-cash-transfer\"|translate}}

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
{{\"acc-stock-err\"|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
{{\"acc-stock-err\"|translate}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{(translate.currentLang==\"en\")?curr.CurrencyNameE:curr.CurrencyNameA}}\r\n \r\n \r\n
\r\n
{{\"currency-err\"|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n 0, 'red': availableTransferBalance(cashTransactionForm) < 0, 'grey': availableTransferBalance(cashTransactionForm) == 0}\">\r\n {{'availb-bal-transfer'|translate}} :\r\n {{availableTransferBalance(cashTransactionForm) | number}}\r\n \r\n
\r\n {{\"amount-num-err\"|translate}}\r\n {{\"amount-decimal-err\"|translate}}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{\"new-stock-transfer\"|translate}}

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
{{\"acc-stock-err\"|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
{{\"acc-stock-err\"|translate}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {{(translate.currentLang==\"en\")?Symbol.SymbolNameEn:Symbol.SymbolNameAr}}\r\n
\r\n
{{\"qty\"|translate}}: {{Symbol.SetteledQty | number}}
\r\n
\r\n \r\n {{\"custodian\"|translate}}:\r\n {{(translate.currentLang==\"en\")?Symbol.CustodianNameE:Symbol.CustodianNameA}}\r\n \r\n
\r\n
\r\n
\r\n
{{\"stock-err\"|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n {{\"amount-num-err\"|translate}}\r\n {{\"amount-decimal-err\"|translate}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{{'cash-position'|translate}}

\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n {{'egp'|translate}}\r\n \r\n \r\n {{'usd'|translate}}\r\n \r\n \r\n {{'rated'|translate}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
{{\"book-balance\"|translate}}\r\n \r\n
\r\n

0), 'red': (bookBalance?.\r\n activebalance<0), '':bookBalance?.\r\n activebalance==0}\">\r\n {{ bookBalance?.\r\n activebalance| number: \"1.0\":\"en-US\"}}\r\n \r\n {{selectedCurr | translate}}\r\n \r\n

\r\n
\r\n
\r\n
\r\n
{{'bank-balance'|translate}}\r\n \r\n
\r\n

\r\n {{currenciedBookBalance?.MarginCustodian || 0}}\r\n \r\n {{selectedCurr | translate}}\r\n \r\n

\r\n
\r\n
\r\n
\r\n
{{\"block-amount\"|translate}}\r\n \r\n
\r\n

\r\n {{blockAmount| number: \"1.0\":\"en-US\"}}\r\n \r\n {{selectedCurr | translate}}\r\n \r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
{{'purchase-power'|translate}}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{'margin-percentage'|translate}}\r\n \r\n
\r\n
\r\n \r\n \r\n

{{userPortfolio?.PurchasePower.MarginPosition.UsedMarginPersentage |\r\n number: \"1.2-2\":\"en-US\"}} %

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FundDetails, FundPriceChart, MutualFund } from 'src/app/models/mutualFund';\r\nimport { UrlConstants } from 'src/app/models/urlConstants';\r\nimport { ApiService } from 'src/app/services/api.service';\r\n@Component({\r\n selector: 'app-mutual-fund',\r\n templateUrl: './mutual-fund.component.html',\r\n styleUrls: ['./mutual-fund.component.scss']\r\n})\r\nexport class MutualFundComponent implements OnInit {\r\n\r\n lang: string;\r\n isDarkTheme: boolean;\r\n selected: boolean=false;\r\n isEGID = UrlConstants.isEGID;\r\n mutualFundList: MutualFund[] = null;\r\n selectedFund: MutualFund;\r\n fundDetails: FundDetails; \r\n fundPriceChartData: FundPriceChart\r\n\r\n constructor(\r\n private apiService: ApiService,\r\n public translate: TranslateService\r\n ) { \r\n this.lang = this.translate.currentLang\r\n this.isDarkTheme = localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getMutualFundList()\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n saveTabState(event: any) {\r\n let id = event.target.attributes.id;\r\n var tabs = document.querySelectorAll('.types-tab');\r\n tabs.forEach(i => i.classList.remove('types-tab-active'));\r\n let element = document.getElementById(id.value);\r\n element?.classList.add('types-tab-active');\r\n }\r\n\r\n getMutualFundList(){\r\n this.apiService.GetMutualFundList()\r\n .subscribe(\r\n (res: MutualFund[])=>{\r\n if(res){\r\n this.mutualFundList = res\r\n if(this.mutualFundList){\r\n this.mutualFundList[0].selected=true\r\n this.selectedFund=this.mutualFundList[0]\r\n this.getMutualFundDetails(this.mutualFundList[0].SymbolCode)\r\n this.getFundPriceHistory(this.mutualFundList[0].SymbolCode)\r\n }\r\n }else{\r\n this.mutualFundList = null;\r\n }\r\n }\r\n )\r\n }\r\n\r\n getMutualFundDetails(symbolCode: string){\r\n this.apiService.GetMutualFundDetails(symbolCode)\r\n .subscribe(\r\n (res: FundDetails)=>{\r\n if(res){\r\n this.fundDetails=res;\r\n if(this.fundDetails.PdfsUrls){\r\n this.fundDetails.PdfsUrlsList = this.fundDetails.PdfsUrls.split(\",\")\r\n }\r\n } else {\r\n this.fundDetails=null\r\n }\r\n }\r\n )\r\n }\r\n\r\n getFundPriceHistory(symbolCode: string){\r\n this.apiService.GetFundPriceHistory(symbolCode)\r\n .subscribe(\r\n (res: FundPriceChart)=>{\r\n if(res){\r\n this.fundPriceChartData=res;\r\n } else {\r\n this.fundPriceChartData=null\r\n }\r\n }\r\n )\r\n }\r\n\r\n selectFund(selectedFund: MutualFund){\r\n this.selectedFund = selectedFund;\r\n this.mutualFundList = this.mutualFundList.map(fund => ({\r\n ...fund,\r\n selected: fund.SymbolCode === selectedFund.SymbolCode\r\n }));\r\n this.getMutualFundDetails(selectedFund.SymbolCode)\r\n this.getFundPriceHistory(selectedFund.SymbolCode)\r\n }\r\n}\r\n","
\r\n
0\" class=\"row mx-2\">\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{'mutual-fund'|translate}}

\r\n \r\n \r\n \r\n
\r\n
\r\n Gorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eu turpis molestie, dictum est a, mattis tellus. Sed dignissim, metus nec fringilla accumsan, risus sem\r\n
\r\n {{mutualFundList?.length}} {{'funds'|translate}}\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
{{fund.ReutersCode}}
\r\n
{{ lang=='ar'? fund.FundNameA: fund.FundNameE }}
\r\n
{{fund.ClosePrice}} {{ lang=='ar'? fund.CurrencyAbbreviationA: fund.CurrencyAbbreviationE }}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n 0, \r\n 'red-text':fund.AnnualChangePercentage<0,\r\n 'text-color-theme':fund.AnnualChangePercentage==0 }\"\r\n >\r\n % {{fund.AnnualChangePercentage}} \r\n {{'past-year'|translate}}\r\n \r\n 0?'assets/img/up-arrow.svg':'assets/img/down-arrow.svg'\" alt=\"\">\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
{{'no-data-available'|translate}}
\r\n
\r\n","import { TranslateService } from \"@ngx-translate/core\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { FavService } from \"./../../services/fav.service\";\r\nimport { AccountService } from \"./../../services/account.service\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Component, ElementRef, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { Chart } from \"src/assets/js/Chart.bundle.min.js\";\r\nimport { OrderBuyComponent } from \"../order-buy/order-buy.component\";\r\nimport { ConfigService } from \"src/app/services/config.service\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\n\r\n@Component({\r\n selector: \"app-market-grid-view\",\r\n templateUrl: \"./market-grid-view.component.html\",\r\n styleUrls: [\"./market-grid-view.component.scss\"],\r\n})\r\nexport class MarketGridViewComponent implements OnInit {\r\n @ViewChild(\"myCanvas\") canvas: ElementRef;\r\n chartsIndiv: any;\r\n companies: CompanyList[] = [];\r\n optionsForIndiv = {\r\n bezierCurve: false,\r\n legend: {\r\n display: false,\r\n },\r\n scales: {\r\n xAxes: [\r\n {\r\n gridLines: {\r\n display: false,\r\n drawBorder: false,\r\n },\r\n ticks: {\r\n display: false,\r\n },\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n gridLines: {\r\n display: false,\r\n drawBorder: false,\r\n },\r\n ticks: {\r\n display: false,\r\n beginAtZero: false,\r\n },\r\n },\r\n ],\r\n },\r\n elements: {\r\n point: {\r\n radius: 0,\r\n },\r\n },\r\n };\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private accService: AccountService,\r\n private favService: FavService,\r\n private dialog: MatDialog,\r\n public translate: TranslateService\r\n ) {\r\n // signalService.marketChanges.subscribe((res) => {\r\n // res.forEach((update) => {\r\n // if (this.companies != null) {\r\n // let itemIndex = this.companies.findIndex(\r\n // (item) => item.SYMBOL_CODE == update.SYMBOL_CODE\r\n // );\r\n // if (this.companies[itemIndex] != update) {\r\n // this.companies[itemIndex] = update;\r\n // this.companies[itemIndex].isUpdate = true;\r\n // }\r\n // }\r\n // });\r\n // });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.favService.favCompanies.subscribe((res) => {\r\n this.companies = [];\r\n this.companies = res;\r\n\r\n if (this.companies != null && this.companies.length > 0)\r\n setTimeout(() => {\r\n this.fetchGraphs();\r\n }, 300);\r\n });\r\n }\r\n\r\n orderBuy(company, isSell) {\r\n const dialogRef = this.dialog.open(OrderBuyComponent, {\r\n disableClose: true,\r\n panelClass: \"order-dialog-container\",\r\n data: { symbol: company.SYMBOL_CODE, type: isSell },\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => {});\r\n }\r\n\r\n setCharts() {\r\n this.chartsIndiv = document.getElementsByClassName(\"markets-capital-chart\");\r\n if (this.chartsIndiv.length > 0) {\r\n let index = 0;\r\n for (let chart of this.chartsIndiv) {\r\n let data = this.companies[index].chart;\r\n let bg = chart.dataset.bg;\r\n let canvas = chart.querySelector(\"canvas\");\r\n let ctx = canvas.getContext(\"2d\");\r\n\r\n let border =\r\n this.companies[index].LAST_CHANGE_PRC > 0 ? \"53FF03\" : \"FF2314\";\r\n\r\n var gradient =\r\n this.companies[index].LAST_CHANGE_PRC > 0\r\n ? \"rgba(38,222,129,.1)\"\r\n : \"rgba(255, 35, 19,.1)\";\r\n\r\n // gradient.addColorStop(0.1, bg);\r\n // gradient.addColorStop(1, \"transparent\");\r\n let lineChartData = {\r\n labels: [\r\n \"1\",\r\n \"2\",\r\n \"3\",\r\n \"4\",\r\n \"5\",\r\n \"6\",\r\n \"7\",\r\n \"8\",\r\n \"9\",\r\n \"10\",\r\n \"1\",\r\n \"2\",\r\n \"3\",\r\n \"4\",\r\n \"5\",\r\n \"6\",\r\n \"7\",\r\n \"8\",\r\n \"9\",\r\n \"10\",\r\n \"1\",\r\n \"2\",\r\n \"3\",\r\n \"4\",\r\n \"5\",\r\n \"6\",\r\n \"7\",\r\n \"8\",\r\n \"9\",\r\n \"10\",\r\n ],\r\n datasets: [\r\n {\r\n backgroundColor: gradient,\r\n borderColor: \"#\" + border,\r\n borderWidth: 2,\r\n data: data,\r\n bezierCurve: false,\r\n },\r\n ],\r\n };\r\n new Chart(ctx, {\r\n type: \"line\",\r\n data: lineChartData,\r\n options: this.optionsForIndiv,\r\n });\r\n index++;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n removeFav(symbol) {\r\n //this.favService.removeFav(symbol);\r\n }\r\n\r\n fetchGraphs() {\r\n var curDateMonth = new Date();\r\n var prvDateMonth = new Date(\r\n curDateMonth.getFullYear(),\r\n curDateMonth.getMonth() - 2,\r\n curDateMonth.getDay()\r\n );\r\n\r\n for (let i = 0; i < this.companies.length; i++)\r\n this.http\r\n .post(UrlConstants.feedUrl + \"/api/Feed/GetSymbolHistory\", {\r\n SymbolCode: this.companies[i].SYMBOL_CODE,\r\n Skip: \"0\",\r\n Take: \"30\",\r\n FromDate: prvDateMonth,\r\n ToDate: curDateMonth,\r\n })\r\n .subscribe((res) => {\r\n let data: any = res;\r\n this.companies[i].chart = data.map((obj) => obj.CLOSE_PRICE);\r\n this.setCharts();\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{company.Reuters}}\r\n {{(translate.currentLang==\"en\")?company.ENG_NAME:company.ARB_NAME}}\r\n
\r\n
\r\n {{company.LAST_TRADE_PRICE| number: \"1.2-3\":\"en-US\"}}\r\n \r\n EGP\r\n \r\n \r\n $\r\n \r\n \r\n
\r\n
\r\n 0? 'green' : 'red'\">{{company.LAST_CHANGE | number:'1.3'}} ({{company.LAST_CHANGE_PRC}})% 0\">\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n {{'EtradeingClosed'|translate}}\r\n\r\n
\r\n
\r\n {{'timeLine'|translate}}\r\n
\r\n
\r\n\r\n
\r\n \r\n
{{'no-data-available'|translate}}
\r\n
\r\n\r\n
\r\n
    \r\n
  • \r\n
    {{ipo?.Date | date: 'dd/MM/yyyy'}}
    \r\n
    {{lang == 'ar'? ipo?.NameAr : ipo?.NameEn}}
    \r\n
    {{lang == 'ar'? ipo?.DescriptionAr : ipo?.DescriptionEn}}
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
{{ \"pdf\" | translate }}
\r\n
\r\n 0\" >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
{{ \"noPDF\" | translate }}
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { IPODetails,IpoDocuments } from 'src/app/models/IPO';\r\nimport { ApiService } from 'src/app/services/api.service';\r\n\r\n@Component({\r\n selector: 'app-ipo-selected-symbol-timline-pdf',\r\n templateUrl: './ipo-selected-symbol-timline-pdf.component.html',\r\n styleUrls: ['./ipo-selected-symbol-timline-pdf.component.scss']\r\n})\r\nexport class IpoSelectedSymbolTimlinePdfComponent implements OnInit {\r\n\r\n lang: string;\r\n isDarkTheme: boolean;\r\n DisabledEtrade: boolean = false; // Initialize to false\r\n @Input() ipoDocuments: IpoDocuments;\r\n @Input() id: number;\r\n iPODetails: IPODetails;\r\n ipoList: any;\r\n status: any;\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private apiService: ApiService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.lang = this.translate.currentLang;\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n this.GetIpoDetails(this.id);\r\n\r\n }\r\n GetIpoDetails(id:number){\r\n this.apiService.GetIpoDetails(id)\r\n .subscribe(\r\n (res)=>{\r\n this.iPODetails = res;\r\n this.checkDisabledEtradeStatus();\r\n }\r\n )\r\n }\r\n\r\n checkDisabledEtradeStatus(): void {\r\n \r\n if (this.ipoDocuments && Array.isArray(this.ipoDocuments.OprEvents)) {\r\n\r\n const hasDisabledEtrade = this.ipoDocuments.OprEvents.filter(\r\n event => event.DisabledEtrade === true || event.DisabledEtrade === 'true'\r\n );\r\n \r\n // If there are events with status 0 or 1, check DisabledEtrade for those events\r\n if (hasDisabledEtrade.length > 0) {\r\n\r\n // Check for events with status = 0 or 1\r\n const eventsWithStatus = this.ipoDocuments.OprEvents.filter(\r\n event => event.status != 0 && event.status != 1 // Corrected this line\r\n );\r\n if (eventsWithStatus.length<0) {\r\n \r\n this.DisabledEtrade = false\r\n \r\n }\r\n else{\r\n this.DisabledEtrade = true\r\n\r\n }\r\n } \r\n else {\r\n\r\n\r\n this.DisabledEtrade = true\r\n\r\n }\r\n } \r\n }\r\n \r\n\r\n getRowIndexes(length: number): number[] {\r\n return Array.from({ length: Math.ceil(length / 2) }, (_, i) => i * 2);\r\n }\r\n}\r\n","import { ApiService } from \"src/app/services/api.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Subject } from \"rxjs\";\r\n\r\nexport interface StockDetail {\r\n symbolCode: string;\r\n arbName: null | string;\r\n engName: null | string;\r\n reuters: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class MarketWatchDetailService {\r\n marketNames: BehaviorSubject;\r\n namesSubject: Subject = new Subject();\r\n\r\n constructor(private _service: ApiService) {\r\n this._service.fetchMarketWatchNames().subscribe((res: StockDetail[]) => {\r\n this.namesSubject.next(res);\r\n this.marketNames = new BehaviorSubject(res);\r\n });\r\n }\r\n}\r\n","
\r\n

{{\"market-depth\" | translate}}\r\n - {{reuters}}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
No Bids
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
No Asks
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n
\r\n {{companyDepth.totalsBidsAndAsks.TOTAL_BIDS | number: \"1.0\":\"en-US\"}}\r\n
\r\n
{{'TOTAL'|translate}}
\r\n
\r\n {{companyDepth.totalsBidsAndAsks.TOTAL_ASKS | number: \"1.0\":\"en-US\"}}\r\n
\r\n \r\n \r\n
{{\"price\"|translate}}{{\"qty\"|translate}}{{\"price\"|translate}}
{{depth.ORDER_PRICE}}{{depth.VOLUME_TRADED | number: \"1.0\":\"en-US\"}}
{{depth.VOLUME_TRADED | number: \"1.0\":\"en-US\"}}{{depth.ORDER_PRICE}}
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
No Bids
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
No Asks
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{\"select-company-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {{companyDepth.totalsBidsAndAsks.TOTAL_BIDS | number: \"1.0\":\"en-US\"}}\r\n
\r\n
{{'TOTAL'|translate}}
\r\n
\r\n {{companyDepth.totalsBidsAndAsks.TOTAL_ASKS | number: \"1.0\":\"en-US\"}}\r\n
\r\n \r\n \r\n\r\n
#{{\"qty\"|translate}}{{\"price\"|translate}}{{\"qty\"|translate}}#
\r\n {{depth.split}}\r\n \r\n
{{depth.VOLUME_TRADED | number: \"1.0\":\"en-US\"}}\r\n
\r\n
\r\n
{{depth.ORDER_PRICE}}
\r\n
\r\n
{{depth.ORDER_PRICE | number: \"1.0\":\"en-US\"}}
\r\n
\r\n
{{depth.VOLUME_TRADED | number: \"1.0\":\"en-US\"}}
\r\n
{{depth.split}}
\r\n
\r\n
\r\n","import { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport { CompanyDepth } from \"src/app/models/company-depth\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\n\r\n@Component({\r\n selector: \"app-quota-bids-asks\",\r\n templateUrl: \"./quota-bids-asks.component.html\",\r\n styleUrls: [\"./quota-bids-asks.component.scss\"],\r\n})\r\nexport class QuotaBidsAsksComponent implements OnInit {\r\n @Input() symbolCode: string;\r\n @Input() reuters: string;\r\n @Input() companyName: string;\r\n\r\n isDepthLoading: boolean = false;\r\n companyDepth: CompanyDepth;\r\n isOrder: boolean = false;\r\n\r\n constructor(private _service: ApiService, signalService: SignalRService) {\r\n signalService.depthChanges.subscribe((res: any) => {\r\n res.forEach((element) => {\r\n if (element.SymbolCode == this.symbolCode) {\r\n if (this.isOrder) this.fetchDepthByOrder();\r\n else if (!this.isOrder) this.fetchDepthByPrice();\r\n }\r\n });\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.symbolCode = changes.symbolCode.currentValue;\r\n if (this.symbolCode) {\r\n this.isDepthLoading = true;\r\n if (this.isOrder) this.fetchDepthByOrder();\r\n else if (!this.isOrder) this.fetchDepthByPrice();\r\n }\r\n }\r\n\r\n isOrderView(value) {\r\n this.isOrder = value;\r\n }\r\n fetchDepthByOrder() {\r\n this._service.fetchDepthByOrder(this.symbolCode).subscribe((res) => {\r\n this.isDepthLoading = false;\r\n this.companyDepth = res as CompanyDepth;\r\n });\r\n }\r\n fetchDepthByPrice() {\r\n this._service.fetchDepthByPrice(this.symbolCode, 10).subscribe((res) => {\r\n this.isDepthLoading = false;\r\n this.companyDepth = res as CompanyDepth;\r\n });\r\n }\r\n ngOnInit() {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { HintPopoverComponent } from '../components/hint-popover/hint-popover.component';\r\nimport { ConfirmationPopoverModule } from 'angular-confirmation-popover';\r\nimport { NgbModule, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap'; \r\nimport { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap'; \r\nimport { NgApexchartsModule } from 'ng-apexcharts';\r\nimport { NumberFormatPipe } from '../pipes/number-format.pipe';\r\n\r\n// TODO:: When all modules converted to lazy load mode import this module in all modules\r\n// TODO:: remove all packages import from app module \r\n\r\n@NgModule({\r\n declarations: [ \r\n HintPopoverComponent,\r\n NumberFormatPipe\r\n ],\r\n imports: [\r\n CommonModule,\r\n TranslateModule,\r\n FormsModule, \r\n MatDatepickerModule,\r\n NgSelectModule,\r\n NgbPopoverModule,\r\n NgbCollapseModule,\r\n ReactiveFormsModule,\r\n NgApexchartsModule,\r\n NgbModule,\r\n ConfirmationPopoverModule.forRoot({\r\n confirmButtonType: \"primary\", // set defaults here\r\n }),\r\n ],\r\n exports : [\r\n TranslateModule,\r\n FormsModule, \r\n MatDatepickerModule,\r\n NgSelectModule,\r\n ConfirmationPopoverModule,\r\n NgbPopoverModule,\r\n NgbCollapseModule,\r\n ReactiveFormsModule,\r\n HintPopoverComponent,\r\n NgApexchartsModule,\r\n NumberFormatPipe,\r\n NgbModule\r\n\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","
\r\n \r\n
0 \">\r\n
\r\n
\r\n {{(translate.currentLang=='en')?record.ENG_NAME:record.ARB_NAME}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
No Bids
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
No Asks
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n
\r\n {{companyDepth?.totalsBidsAndAsks?.TOTAL_BIDS | number: \"1.0\":\"en-US\"}}\r\n
\r\n
{{'TOTAL'|translate}}
\r\n
\r\n {{companyDepth?.totalsBidsAndAsks?.TOTAL_ASKS | number: \"1.0\":\"en-US\"}}\r\n
\r\n \r\n \r\n
{{\"price\"|translate}}{{\"qty\"|translate}}{{\"price\"|translate}}
{{depth.ORDER_PRICE}}{{depth.VOLUME_TRADED | number: \"1.0\":\"en-US\"}}
{{depth.VOLUME_TRADED | number: \"1.0\":\"en-US\"}}{{depth.ORDER_PRICE}}
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
No Bids
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
No Asks
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
{{\"select-company-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {{companyDepth?.totalsBidsAndAsks?.TOTAL_BIDS | number: \"1.0\":\"en-US\"}}\r\n
\r\n
{{'TOTAL'|translate}}
\r\n
\r\n {{companyDepth?.totalsBidsAndAsks?.TOTAL_ASKS | number: \"1.0\":\"en-US\"}}\r\n
\r\n \r\n \r\n\r\n
#{{\"qty\"|translate}}{{\"price\"|translate}}{{\"qty\"|translate}}#
\r\n \r\n \r\n {{depth.split}}\r\n \r\n ({{ getFlashingNumber(i, 'order') }})\r\n \r\n \r\n
{{depth.VOLUME_TRADED | number: \"1.0\":\"en-US\"}}\r\n \r\n ({{ getFlashingNumber(i, 'volume') }})\r\n \r\n
\r\n
\r\n
{{depth.ORDER_PRICE}}
\r\n
\r\n
{{depth.ORDER_PRICE | number: \"1.0\":\"en-US\"}}\r\n \r\n ({{ getFlashingNumber(i, 'price') }})\r\n \r\n
\r\n
\r\n
{{depth.VOLUME_TRADED | number: \"1.0\":\"en-US\"}}\r\n \r\n ({{ getFlashingNumber(i, 'volume') }})\r\n \r\n
\r\n
\r\n \r\n \r\n {{depth.split}}\r\n \r\n ({{ getFlashingNumber(i, 'order') }})\r\n \r\n
\r\n
\r\n
\r\n","import { ApiService } from \"./../../services/api.service\";\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n Input,\r\n OnInit,\r\n SimpleChanges,\r\n ChangeDetectorRef\r\n} from \"@angular/core\";\r\nimport { Ask, CompanyDepth } from \"src/app/models/company-depth\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { SharedService } from \"src/app/services/shared.service\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { OrderBuyComponent } from \"../order-buy/order-buy.component\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { HubConnection, HubConnectionBuilder } from \"@microsoft/signalr\";\r\nimport * as signalR from \"@microsoft/signalr\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\n\r\n@Component({\r\n selector: \"app-market-depth\",\r\n templateUrl: \"./market-depth.component.html\",\r\n styleUrls: [\"./market-depth.component.scss\"],\r\n})\r\nexport class MarketDepthComponent implements OnInit {\r\n @Input() symbolCode: string;\r\n @Input() reuters: string;\r\n @Input(\"companyName\") companyName: string;\r\n @Input() isLinked: boolean;\r\n\r\n isDepthLoading: boolean = false;\r\n companyDepth: CompanyDepth;\r\n isOrder: boolean = false;\r\n isDarkTheme: boolean;\r\n\r\n companies: CompanyList[];\r\n toggleBool: boolean;\r\n records: CompanyList[];\r\n searchValue: string;\r\n\r\n isAllDepthView: boolean = false;\r\n\r\n private depthConnection: HubConnection;\r\n allDepth: CompanyDepth;\r\n\r\n flashingVolumeNumber: string;\r\n flashingOrderNumber: string;\r\n flashingPriceNumber: string;\r\n flashingType: string;\r\n isFlashing: boolean = false;\r\n flashingIndex: number | null = null;\r\n flashDirection: 'up' | 'down' | null = null;\r\n previousValues: { [key: number]: { orderPrice: number; volumeTraded: number } } = {};\r\n previousCompanyDepth: CompanyDepth | null = null;\r\n isMarket:boolean;\r\n\r\n constructor(\r\n private _service: ApiService,\r\n public dialog: MatDialog,\r\n private sharedService: SharedService,\r\n public accService: AccountService,\r\n public translate: TranslateService,\r\n private cdr: ChangeDetectorRef,\r\n ) { \r\n this.accService.isFullMarketUser.subscribe((isMarket) => {\r\n this.isMarket = isMarket;\r\n });\r\n\r\n }\r\n\r\n\r\n connectSignalR() {\r\n this.depthConnection = new HubConnectionBuilder()\r\n .withUrl(UrlConstants.newSignalR + \"/bidsAsksHub\", {\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets,\r\n })\r\n .build();\r\n\r\n this.startConnection();\r\n }\r\n\r\n async startConnection() {\r\n try {\r\n await this.depthConnection.start();\r\n await this.depthConnection.invoke(\"JoinGroup\", this.symbolCode);\r\n\r\n this.depthConnection.on(\"sendBidsAsksForSymbol\", async (depthUpdate) => {\r\n await this.updateMarketDepth(depthUpdate);\r\n });\r\n } catch (err) {\r\n setTimeout(() => this.startConnection(), 5000); // Retry after 5 seconds\r\n }\r\n }\r\n\r\n async updateMarketDepth(depthUpdate) {\r\n let update = depthUpdate[0][\"MarketDepth\"] as CompanyDepth;\r\n\r\n const updatedAsks = update.asksPerPrice;\r\n const updatedBids = update.bidsPerPrice;\r\n\r\n await this.processFlashingLogic(updatedAsks, updatedBids);\r\n\r\n this.companyDepth.asksPerPrice = updatedAsks;\r\n this.companyDepth.bidsPerPrice = updatedBids;\r\n\r\n // After processing, update the snapshot for future comparisons\r\n this.previousCompanyDepth = JSON.parse(JSON.stringify(this.companyDepth));\r\n }\r\n\r\n flashingData: { index: number; flashType: string; type:string; direction: string; volume?: string; price?: string; order?: string }[] = []; // Initialize flashing data array\r\n\r\n async processFlashingLogic(updatedAsks: Ask[], updatedBids: Ask[]) {\r\n if (!this.previousCompanyDepth) return; // Skip if there's no previous data\r\n\r\n await this.processUpdates(updatedAsks, this.previousCompanyDepth.asksPerPrice, 'asks');\r\n \r\n // Process bids\r\n await this.processUpdates(updatedBids, this.previousCompanyDepth.bidsPerPrice, 'bids');\r\n}\r\n \r\nasync processUpdates(newDataList: Ask[], oldDataList: Ask[], type: string) {\r\n for (let index = 0; index < newDataList.length; index++) {\r\n const newData = newDataList[index];\r\n const oldData = oldDataList[index];\r\n \r\n if (oldData!==newData) {\r\n await this.applyFlashLogic(newData, oldData, index, type);\r\n // Allow a short delay to ensure the UI updates for each flash\r\n // await new Promise(resolve => setTimeout(resolve, 150));\r\n }\r\n }\r\n}\r\n\r\napplyFlashLogic(newData, oldData, index, type) {\r\n const flashData: {\r\n index: number;\r\n type: string;\r\n direction: string | null;\r\n volume: string | null;\r\n price: string | null;\r\n order: string | null;\r\n flashType: string | null; // Include flashType here\r\n } = { index, type, direction: null, volume: null, price: null, order: null, flashType: null };\r\n\r\n const checkChange = (newValue, oldValue, key) => {\r\n if (newValue !== oldValue) {\r\n flashData[key] = (Math.abs(newValue - oldValue)).toFixed(2).toString();\r\n flashData.direction = newValue > oldValue ? 'up' : 'down';\r\n flashData.flashType = key; // Assign to flashType here\r\n this.triggerFlash(flashData, index, flashData.flashType);\r\n }\r\n };\r\n checkChange(newData.VOLUME_TRADED, oldData.VOLUME_TRADED, 'volume');\r\n checkChange(newData.ORDER_PRICE, oldData.ORDER_PRICE, 'price');\r\n checkChange(newData.split, oldData.split, 'order');\r\n}\r\n triggerFlash(flashData, index, flashType) {\r\n // Push the flashing data for this particular cell\r\n this.flashingData.push({ index, flashType, direction: flashData.direction, ...flashData });\r\n\r\n // Immediately trigger change detection to apply flashing styles\r\n this.cdr.detectChanges();\r\n\r\n // Remove the flash effect after a timeout\r\n setTimeout(() => {\r\n this.removeFlash(index, flashType);\r\n }, 1000); // Flash duration (1 second in this case)\r\n }\r\n\r\n removeFlash(index: number, flashType: string) {\r\n this.flashingData = this.flashingData.filter(flash => flash.index !== index || flash.flashType !== flashType);\r\n this.cdr.detectChanges(); // Re-trigger change detection to stop flashing\r\n }\r\n isFlashingIndex(index: number, flashType: string, type:string, direction: string): boolean {\r\n const res = this.flashingData.some(flash => flash.index === index && flash.flashType === flashType && flash.type === type\r\n && flash.direction === direction);\r\n if (res) {\r\n return res;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n getFlashingNumber(index: number, type: string): string | null {\r\n const flash = this.flashingData.find(flash => flash.index === index && flash.type === type);\r\n if (flash) {\r\n return flash[type];\r\n }\r\n return null;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes?.reuters) {\r\n this.symbolCode = changes?.symbolCode?.currentValue;\r\n this.reuters = changes.reuters?.currentValue;\r\n }\r\n if (this.symbolCode) {\r\n this.companyDepth = null;\r\n this.isDepthLoading = true;\r\n if (this.isOrder) this.fetchDepthByOrder();\r\n else if (!this.isOrder) this.fetchDepthByPrice();\r\n }\r\n this.companies = this.sharedService.allMarketCompanies;\r\n\r\n if (!this.isOrder && this.symbolCode) {\r\n if (this.depthConnection) this.depthConnection.stop();\r\n this.connectSignalR();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.depthConnection) this.depthConnection.stop();\r\n }\r\n\r\n toggleOrderView(value) {\r\n if (this.symbolCode) this.isDepthLoading = true;\r\n this.isOrder = value;\r\n if (value) this.fetchDepthByOrder();\r\n else this.fetchDepthByPrice();\r\n }\r\n\r\n fetchDepthByOrder() {\r\n this._service.fetchDepthByOrder(this.symbolCode).subscribe((res) => {\r\n this.isDepthLoading = false;\r\n this.companyDepth = res as CompanyDepth;\r\n });\r\n }\r\n\r\n fetchDepthByPrice() {\r\n this._service.fetchDepthByPrice(this.symbolCode, 10).subscribe((res) => {\r\n this.isDepthLoading = false;\r\n this.companyDepth = res as CompanyDepth;\r\n });\r\n }\r\n\r\n switchView() {\r\n if (!this.isAllDepthView) {\r\n this.fetchAllDepthByPrice();\r\n this.isAllDepthView = !this.isAllDepthView;\r\n } else {\r\n this.isAllDepthView = !this.isAllDepthView;\r\n }\r\n }\r\n\r\n fetchAllDepthByPrice() {\r\n this._service.fetchDepthByPrice(this.symbolCode, 100).subscribe((res) => {\r\n this.allDepth = res as CompanyDepth;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") === \"dark\" ? true : false;\r\n }\r\n\r\n credentialsSearchFilter(event: any) {\r\n const val = event.target.value.toLowerCase();\r\n\r\n this.toggleBool = val !== \"\";\r\n\r\n this.records = this.companies?.filter(function (d) {\r\n return (\r\n d.ENG_NAME?.toLowerCase().includes(val) ||\r\n d.ARB_NAME?.toLowerCase().includes(val) ||\r\n d.Reuters?.toLowerCase().includes(val)\r\n );\r\n });\r\n }\r\n\r\n changecompany(record) {\r\n this.reuters = record.Reuters;\r\n this.searchValue = null;\r\n this.symbolCode = record.SYMBOL_CODE;\r\n this.companyName =\r\n this.translate.currentLang === \"ar\" ? record.ARB_NAME : record.ENG_NAME;\r\n\r\n if (this.isOrder) this.fetchDepthByOrder();\r\n else this.fetchDepthByPrice();\r\n this.records = null;\r\n }\r\n\r\n orderBuy(company, isSell) {\r\n const dialogRef = this.dialog.open(OrderBuyComponent, {\r\n disableClose: true,\r\n panelClass: \"order-dialog-container\",\r\n data: {\r\n symbol: this.symbolCode,\r\n type: isSell,\r\n price: company.ORDER_PRICE,\r\n qty: company.VOLUME_TRADED,\r\n },\r\n direction: this.translate.currentLang === \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => { });\r\n }\r\n}\r\n","
\r\n
\r\n {{lang == 'ar'? iPODetails?.IpoStatusAr : iPODetails?.IpoStatusEn}}\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
{{lang == 'ar'? iPODetails?.NameAr : iPODetails?.NameEn}}
\r\n
{{iPODetails?.SectorEn}}
\r\n
{{iPODetails?.SectorAr}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ \"ipoPrice\" | translate }}\r\n \r\n \r\n {{ \"range-price\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{\r\n iPODetails?.PriceType === 0\r\n ? (iPODetails?.StockPrice != null\r\n ? (iPODetails?.StockPrice | number: '1.2-2' |numberFormat)\r\n : (iPODetails?.MinPrice | number: '1.2-2' |numberFormat))\r\n : iPODetails?.PriceType === 1\r\n ? (iPODetails?.MinPrice | number: '1.2-2'|numberFormat) + ' - ' + (iPODetails?.MaxPrice | number: '1.2-2'|numberFormat)\r\n : ''\r\n }}\r\n {{ \"EGP\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n {{ \"publicStake\" | translate }}\r\n \r\n
\r\n {{iPODetails?.PublicStake |numberFormat}}\r\n
\r\n
\r\n
\r\n {{ \"issueSize\" | translate }}\r\n \r\n \r\n \r\n
\r\n {{iPODetails?.IssueSize |numberFormat }}\r\n
\r\n
\r\n
\r\n\r\n\r\n \"\"\r\n {{'ipoOrders'|translate}}: {{iPODetails?.OrderTime?.split('-')[0]| timeFormat:'HH:mm'}} - {{iPODetails?.OrderTime?.split('-')[1]| timeFormat:'HH:mm' }}. {{'tradeWisley'|translate}} \r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n {{ \"safeGuard\" | translate }}\r\n \r\n \r\n \r\n \r\n {{lang == 'ar'? iPODetails?.SafeGuardAr : iPODetails?.SafeGuardEn}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n {{ \"PERatio\" | translate }}\r\n \r\n \r\n \r\n \r\n {{iPODetails?.PeRatio| number: '1.2-2'}}%\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n {{ \"companyShares\" | translate }}\r\n \r\n \r\n \r\n \r\n {{iPODetails?.CompanyShares |numberFormat}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n {{ \"floatPercentage\" | translate }}\r\n \r\n \r\n \r\n \r\n {{iPODetails?.FloatPercentage| number: '1.2-2'}}%\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n \r\n {{'ipoStartAlert'| translate}}\r\n \r\n
\r\n 1\" >\r\n {{'ipoStartAlertDesc'|translate}} \r\n
\r\n {{'numberOfcoverage'|translate}}: {{coverageRatio | number : '1.2-2'}}\r\n
\r\n \r\n {{'ipoStartAlertDesc'|translate}} \r\n
\r\n {{'numberOfcoverageLessthanOne'|translate}}\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
{{'information'|translate}}
\r\n \r\n
\r\n
\r\n {{lang == 'ar'? ipoDocuments?.InformationAr : ipoDocuments?.InformationEn }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
{{'no-data-available'|translate}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { ChangeDetectorRef, Component, Input, OnInit, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { IpoAccOrderModalComponent } from '../ipo-acc-order-modal/ipo-acc-order-modal.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { SharedModule } from \"../../shared/shared.module\";\r\nimport { Account } from 'src/app/screens/user-profile/client-data';\r\nimport { IPO, IPODetails, IpoDocuments } from 'src/app/models/IPO';\r\nimport { forkJoin } from 'rxjs';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-ipo-selected-symbol',\r\n templateUrl: './ipo-selected-symbol.component.html',\r\n styleUrls: ['./ipo-selected-symbol.component.scss'],\r\n \r\n})\r\nexport class IpoSelectedSymbolComponent implements OnInit {\r\n\r\n lang: string;\r\n isDarkTheme: boolean;\r\n numberOfAccounts: number=2;\r\n @Input() id: number;\r\n @Input() ipoDocuments: IpoDocuments;\r\n @Input() refreshEvent: boolean = false;\r\n iPODetails: IPODetails;\r\n clinetsAccount: Account[];\r\n ipoList : IPO[] = null;\r\n lastSelectedIPOID:any;\r\n lastIpoList : IPO[] = null;\r\n IPOTotalVolume: any;\r\n selectedIPO: IPO;\r\n lastSelectedIpoIndex = -1;\r\n coverageNumber: string;\r\n coverageRatio: number;\r\n isRefreshing:boolean=false;\r\n DisabledEtrade: boolean;\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private sanitizer: DomSanitizer,\r\n public dialog: MatDialog,\r\n private apiService: ApiService,\r\n private cdr: ChangeDetectorRef,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.lang = this.translate.currentLang;\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n this.GetAvailableIposList();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.refreshEvent && changes.refreshEvent.currentValue) {\r\n this.isRefreshing=true;\r\n this.GetIpoDetails(this.lastSelectedIPOID); \r\n }\r\n this.id = changes.id?.currentValue;\r\n if(this.id){\r\n this.lastSelectedIPOID=this.id;\r\n this.GetIpoDetails(this.id);\r\n }\r\n }\r\n\r\n GetIpoDetails(id:number){\r\n this.apiService.GetIpoDetails(id)\r\n .subscribe(\r\n (res)=>{\r\n this.iPODetails = res;\r\n //this.GetAvailableIposList();\r\n this.checkDisabledEtradeStatus();\r\n this.ipoList.forEach((ipo)=>{\r\n this.handleCoverageCalculation(res.SymbolCode, this.iPODetails, ipo.ipoAllotmentRatio );})\r\n this.isRefreshing=false;\r\n }\r\n )\r\n }\r\n checkDisabledEtradeStatus(): void {\r\n \r\n if (this.ipoDocuments && Array.isArray(this.ipoDocuments.OprEvents)) {\r\n\r\n const hasDisabledEtrade = this.ipoDocuments.OprEvents.filter(\r\n event => event.DisabledEtrade === true || event.DisabledEtrade === 'true'\r\n );\r\n \r\n // If there are events with status 0 or 1, check DisabledEtrade for those events\r\n if (hasDisabledEtrade.length > 0) {\r\n\r\n // Check for events with status = 0 or 1\r\n const eventsWithStatus = this.ipoDocuments.OprEvents.filter(\r\n event => event.status != 0 && event.status != 1 // Corrected this line\r\n );\r\n if (eventsWithStatus.length<0) {\r\n \r\n this.DisabledEtrade = false\r\n \r\n }\r\n else{\r\n this.DisabledEtrade = true\r\n\r\n }\r\n } \r\n else {\r\n\r\n\r\n this.DisabledEtrade = true\r\n\r\n }\r\n } \r\n }\r\n\r\n fundActionModal() {\r\n this.dialog.open(IpoAccOrderModalComponent, {\r\n panelClass: \"modal-width\",\r\n data:{\r\n isBuy : true,\r\n numberOfAccounts: this.numberOfAccounts,\r\n IPO: this.iPODetails\r\n }\r\n });\r\n }\r\n\r\n GetIpoDocuments(id){\r\n this.apiService.GetIpoDocuments(id)\r\n .subscribe(\r\n (res)=>{\r\n this.ipoDocuments = res;\r\n }\r\n )\r\n }\r\n\r\n\r\n\r\n GetAvailableIposList() {\r\n\r\n this.apiService.GetAvailableIposList()\r\n .subscribe(\r\n (res) => {\r\n if(res){\r\n this.ipoList = res;\r\n \r\n this.selectedIPO = this.ipoList[0];\r\n this.GetIpoDocuments(this.selectedIPO.Id);\r\n this.ipoList[0].selected = !this.ipoList[0].selected;\r\n this.GetIpoDetails(this.selectedIPO.Id)\r\n this.lastSelectedIpoIndex = 0; \r\n const apiCalls = this.ipoList.map(ipo =>\r\n this.apiService.fetchIPOTotalVolume(ipo.SymbolCode)\r\n );\r\n \r\n forkJoin(apiCalls).subscribe((responses: number[]) => {\r\n this.ipoList = this.ipoList.map((ipo, index) => ({\r\n ...ipo,\r\n IPOTotalVolume: responses[index],\r\n ipoAllotmentRatio: ipo.PublicStake >= responses[index] \r\n ? 100 \r\n : (ipo.PublicStake / responses[index] ) * 100\r\n }));\r\n });\r\n \r\n } else {\r\n this.ipoList = null;\r\n }\r\n }\r\n );\r\n }\r\n\r\n\r\n async handleCoverageCalculation(symbolCode: string, ipoDetail: any ,ipoAllotmentRatio : any): Promise {\r\n try {\r\n // Wait for the volume to be fetched\r\n const ipoTotalVolume = await this.fetchIPOTotalVolume(symbolCode);\r\n\r\n \r\n if (ipoTotalVolume) {\r\n // Pass the fetched volume to the coverage calculation\r\n this.CalculateIPOCoverage(ipoDetail, ipoTotalVolume , ipoAllotmentRatio);\r\n \r\n } else {\r\n this.isRefreshing=false;\r\n }\r\n } catch (error) {\r\n this.isRefreshing=false;\r\n }\r\n }\r\n\r\n\r\n\r\n fetchIPOTotalVolume(symbolCode: any): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.apiService.fetchIPOTotalVolume(symbolCode).subscribe(\r\n (res) => {\r\n if (res) {\r\n if(this.ipoList==null)\r\n this.ipoList=this.lastIpoList;\r\n this.ipoList = this.ipoList.map((ipo) =>\r\n ipo.SymbolCode === symbolCode\r\n ? { ...ipo, IPOTotalVolume: res }\r\n : ipo\r\n );\r\n resolve(res); // Resolve with the volume response\r\n } else {\r\n this.coverageRatio=0;\r\n resolve(null); // Handle empty response\r\n }\r\n },\r\n (error) => {\r\n this.isRefreshing=false;\r\n reject(error); // Reject in case of error\r\n }\r\n );\r\n });\r\n }\r\n \r\n CalculateIPOCoverage(ipoDetail: any, ipoTotalVolume: number, ipoAllotmentRatio: any): number {\r\n \r\n // Ensure the ipoDetail and ipoTotalVolume are valid\r\n if (ipoDetail && ipoDetail.PublicStake && ipoTotalVolume) {\r\n const ipoAllocationRatio = 100 / ipoAllotmentRatio;\r\n \r\n // If the allocation ratio is 1 or more, return 0\r\n if (ipoAllocationRatio <= 1) {\r\n return this.coverageRatio=0;\r\n } else {\r\n // If the allocation ratio is less than 1, return the calculated ratio\r\n return this.coverageRatio= ipoAllocationRatio;\r\n }\r\n }\r\n \r\n // If the conditions are not met, return a default value (e.g., 0 or NaN)\r\n return 0;\r\n }\r\n \r\n \r\n\r\n}\r\n","import { AccountService } from \"src/app/services/account.service\";\r\nimport { SignalRService } from \"./../../services/signalr.service\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { CompanyNews } from \"src/app/models/company-news\";\r\nimport { NewsDetailsModalComponent } from \"../news-details-modal/news-details-modal.component\";\r\n\r\n@Component({\r\n selector: \"app-market-news\",\r\n templateUrl: \"./market-news.component.html\",\r\n styleUrls: [\"./market-news.component.scss\"],\r\n})\r\nexport class MarketNewsComponent implements OnInit {\r\n isMarketNewsLoading: boolean;\r\n companyNews: CompanyNews[];\r\n\r\n isNewsView = true;\r\n announcements: CompanyNews[];\r\n isMarket: boolean;\r\n\r\n setNewsView(value) {\r\n this.isNewsView = value;\r\n }\r\n constructor(\r\n public dialog: MatDialog,\r\n public translate: TranslateService,\r\n private _service: ApiService,\r\n signalService: SignalRService,\r\n private accService: AccountService\r\n ) {\r\n signalService.newsChanges.subscribe((res: any) => {\r\n res.forEach((element: CompanyNews) => {\r\n switch (element.TYPE) {\r\n case 1:\r\n this.companyNews?.unshift(element);\r\n default:\r\n this.announcements?.unshift(element);\r\n }\r\n // this.companyNews = res.filter((book) => book.TYPE === 1);\r\n // this.announcements = res.filter((book) => book.TYPE != 1);\r\n });\r\n });\r\n\r\n this.accService.isFullMarketUser.subscribe((isMarket) => {\r\n this.isMarket = isMarket;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.companyNews = [];\r\n this.fetchTodayNews();\r\n }\r\n\r\n openNewsModal(item) {\r\n this.dialog.open(NewsDetailsModalComponent, {\r\n panelClass: \"news-details-modal\",\r\n data: {\r\n item,\r\n },\r\n });\r\n }\r\n\r\n fetchTodayNews() {\r\n this.isMarketNewsLoading = true;\r\n\r\n this._service.fetchMarketNews().subscribe((res) => {\r\n this.isMarketNewsLoading = false;\r\n\r\n if (res) {\r\n this.companyNews = res.filter((book) => book.TYPE == 1);\r\n this.announcements = res.filter((book) => book.TYPE != 1);\r\n }\r\n });\r\n }\r\n\r\n getColor(item) {\r\n switch (item) {\r\n case 1:\r\n return {\r\n background: \"aquamarine\",\r\n color: \"black\",\r\n };\r\n case 2:\r\n return {\r\n background: \"bisque\",\r\n color: \"black\",\r\n };\r\n case 3:\r\n return {\r\n background: \"teal\",\r\n color: \"whitesmoke\",\r\n };\r\n case 4:\r\n return {\r\n background: \"greenyellow\",\r\n color: \"black\",\r\n };\r\n case 5:\r\n return {\r\n background: \"cornflowerblue\",\r\n color: \"black\",\r\n };\r\n case 6:\r\n return {\r\n background: \"darkorange\",\r\n color: \"black\",\r\n };\r\n case 7:\r\n return {\r\n background: \"darkslategrey\",\r\n color: \"white\",\r\n };\r\n case 8:\r\n return {\r\n background: \"yellow\",\r\n color: \"black\",\r\n };\r\n case 9:\r\n return {\r\n background: \"violet\",\r\n color: \"white\",\r\n };\r\n case 12: {\r\n return {\r\n background: \"lightcoral\",\r\n color: \"whitesmoke\",\r\n };\r\n }\r\n default: {\r\n return {\r\n background: \"lightgray\",\r\n color: \"black\",\r\n };\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{\"select-company-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{'no-news-hint'|translate}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{'no-news-hint'|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n","import { ApiService } from \"src/app/services/api.service\";\r\nimport { FavService } from \"./../../services/fav.service\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { GridsterService } from \"./../../services/gridster.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Component, ElementRef, OnInit, ViewChild } from \"@angular/core\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport {\r\n ColumnMode,\r\n DatatableComponent,\r\n SelectionType,\r\n} from \"@swimlane/ngx-datatable\";\r\nimport { ContextMenuComponent } from \"ngx-contextmenu\";\r\nimport { CdkDragDrop, moveItemInArray } from \"@angular/cdk/drag-drop\";\r\n\r\n@Component({\r\n selector: \"app-market-watch-table\",\r\n templateUrl: \"./market-watch-table.component.html\",\r\n styleUrls: [\"./market-watch-table.component.scss\"],\r\n})\r\nexport class MarketWatchTableComponent implements OnInit {\r\n @ViewChild(ContextMenuComponent) public basicMenu: ContextMenuComponent;\r\n\r\n fireFunction: any;\r\n addWidget: any;\r\n\r\n isCompaniesLoading: boolean;\r\n companies: CompanyList[] = [];\r\n egxCompanies: CompanyList[] = [];\r\n favCompanies: CompanyList[];\r\n searchText = \"\";\r\n selectedSymbol: any;\r\n ColumnMode = ColumnMode;\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n searchComp: CompanyList[];\r\n selected = [];\r\n SelectionType = SelectionType;\r\n\r\n @ViewChild(\"myWidget\") myWidget: ElementRef;\r\n\r\n public contextmenuX: any;\r\n public contextmenuY: any;\r\n public contextmenu = false;\r\n addWidgetSymbolCode: any;\r\n columns = [];\r\n matColumns = [\r\n \"Reuters\",\r\n \"ENG_NAME\",\r\n \"LAST_TRADE_PRICE\",\r\n \"LAST_TRADE_VOLUME\",\r\n \"LAST_CHANGE\",\r\n \"LAST_CHANGE_PRC\",\r\n \"OPEN_PRICE\",\r\n \"CLOSE_PRICE\",\r\n \"LOW_PRICE\",\r\n \"HIGH_PRICE\",\r\n \"TOTAL_VALUE\",\r\n \"TOTAL_VOLUME\",\r\n \"BID_PRICE\",\r\n \"BID_VOLUME\",\r\n \"TOTAL_BIDS\",\r\n \"TOTAL_ASKS\",\r\n \"ASK_VOLUME\",\r\n \"ASK_PRICE\",\r\n \"ENG_DESC\",\r\n \"MARKET_ID\",\r\n \"PREVIOUS_CLOSE\",\r\n \"REF_PRICE\",\r\n ];\r\n allFilters = [\r\n { prop: \"LAST_TRADE_PRICE\", name: \"last-price\", isChecked: true },\r\n { prop: \"LAST_TRADE_VOLUME\", name: \"last-volume\", isChecked: true },\r\n { prop: \"LAST_CHANGE\", name: \"last-change\", isChecked: true },\r\n {\r\n prop: \"LAST_CHANGE_PRC\",\r\n name: \"last-change-prc\",\r\n isChecked: true,\r\n },\r\n { prop: \"OPEN_PRICE\", name: \"open\", isChecked: true },\r\n { prop: \"CLOSE_PRICE\", name: \"close\", isChecked: true },\r\n { prop: \"LOW_PRICE\", name: \"low\", isChecked: true },\r\n { prop: \"HIGH_PRICE\", name: \"high\", isChecked: true },\r\n { prop: \"TOTAL_VALUE\", name: \"value\", isChecked: true },\r\n { prop: \"TOTAL_VOLUME\", name: \"volume\", isChecked: true },\r\n { prop: \"BID_PRICE\", name: \"bid-price\", isChecked: false },\r\n { prop: \"BID_VOLUME\", name: \"bid-qty\", isChecked: false },\r\n { prop: \"TOTAL_BIDS\", name: \"total-bids\", isChecked: false },\r\n { prop: \"TOTAL_ASKS\", name: \"total-asks\", isChecked: false },\r\n { prop: \"ASK_VOLUME\", name: \"ask-qty\", isChecked: false },\r\n { prop: \"ASK_PRICE\", name: \"ask-price\", isChecked: false },\r\n { prop: \"ENG_DESC\", name: \"sector\", isChecked: false },\r\n { prop: \"MARKET_ID\", name: \"market\", isChecked: false },\r\n { prop: \"PREVIOUS_CLOSE\", name: \"prev-close\", isChecked: false },\r\n { prop: \"REF_PRICE\", name: \"ref-price\", isChecked: false },\r\n ];\r\n\r\n tableView = \"market\";\r\n favView = \"grid\";\r\n\r\n companiesUpdates: CompanyList[] = [];\r\n isFavsLoading: boolean = false;\r\n\r\n public onFavViewChange(val: string) {\r\n this.favView = val;\r\n }\r\n\r\n reordered(event) {\r\n }\r\n\r\n clickedOutsideMenu() {\r\n this.contextmenu = false;\r\n }\r\n\r\n public onTableContextMenu(event) {\r\n // NOTE: click on header pls check when use\r\n let rect = this.myWidget.nativeElement.getBoundingClientRect();\r\n\r\n this.contextmenuX = event.event.clientX - rect.left;\r\n this.contextmenuY = event.event.clientY - rect.top + 80;\r\n\r\n this.contextmenu = true;\r\n this.addWidgetSymbolCode = {\r\n symbol: event.content.SYMBOL_CODE,\r\n reuters: event.content.Reuters,\r\n name: event.content.ARB_NAME,\r\n nameEn: event.content.ENG_NAME,\r\n };\r\n event.event.preventDefault();\r\n event.event.stopPropagation();\r\n }\r\n\r\n toggleExpandRow(row) {\r\n this.table.rowDetail.toggleExpandRow(row);\r\n }\r\n\r\n onDetailToggle(event) {\r\n }\r\n\r\n isNumber(val): boolean {\r\n return typeof val === \"number\";\r\n }\r\n\r\n getCellClass({ row, column, value }): any {\r\n if (row.SYMBOL_STATE == \"S\") return { suspended: true };\r\n\r\n // if (\r\n // (column.prop == \"LAST_CHANGE_PRC\" && value > 0) ||\r\n // (column.prop == \"LAST_CHANGE\" && value > 0)\r\n // ) {\r\n // return \"color : green\";\r\n // } else if (\r\n // (column.prop == \"LAST_CHANGE_PRC\" && value != 0) ||\r\n // (column.prop == \"LAST_CHANGE\" && value != 0)\r\n // ) {\r\n // return \"color : red\";\r\n // }\r\n }\r\n\r\n onSelect({ selected }) {\r\n this.sendCompanySymbol(this.selected[0].SYMBOL_CODE);\r\n }\r\n\r\n drop(event: CdkDragDrop) {\r\n moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\r\n this.updateCols();\r\n }\r\n updateFilter(event) {\r\n const val = event.target.value.toLowerCase();\r\n\r\n // filter our data\r\n const temp = this.companies.filter(function (d) {\r\n return (\r\n d.ENG_NAME &&\r\n (d.ENG_NAME.toLocaleLowerCase().includes(val.toLocaleLowerCase()) ||\r\n d.ARB_NAME.toLocaleLowerCase().includes(val.toLocaleLowerCase()) ||\r\n d.SYMBOL_CODE.toLocaleLowerCase().includes(val.toLocaleLowerCase()) ||\r\n d.Reuters.toLocaleLowerCase().includes(val.toLocaleLowerCase()))\r\n );\r\n });\r\n\r\n // update the rows\r\n this.searchComp = temp;\r\n // Whenever the filter changes, always go back to the first page\r\n this.table.offset = 0;\r\n }\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private _gridService: GridsterService,\r\n signalService: SignalRService,\r\n private favService: FavService,\r\n private _service: ApiService\r\n ) {\r\n // signalService.connectMarketWatch();\r\n\r\n signalService.marketChanges.subscribe((res) => {\r\n res.forEach((update) => {\r\n if (this.tableView == \"market\" && this.companies != null) {\r\n let itemIndex = this.companies.findIndex(\r\n (item) => item.SYMBOL_CODE == update.SYMBOL_CODE\r\n );\r\n if (this.companies[itemIndex] != update) {\r\n this.companies[itemIndex] = update;\r\n this.companies[itemIndex].isUpdate = true;\r\n }\r\n }\r\n });\r\n if (this.tableView == \"market\" && this.companies)\r\n this.companies = [...this.companies];\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (this._gridService.getMarketWatchColumns()) {\r\n this.columns = this._gridService.getMarketWatchColumns();\r\n } else {\r\n this.columns = this.allFilters;\r\n }\r\n\r\n // this.fetchTodayActive();\r\n this.fetchEGX(\"EGX30\");\r\n this.WindowResize();\r\n }\r\n\r\n refreshUpdates() {\r\n let i = 0;\r\n if (this.companies) {\r\n this.companiesUpdates.forEach((update) => {\r\n let itemIndex = this.companies.findIndex(\r\n (item) => item.SYMBOL_CODE == update.SYMBOL_CODE\r\n );\r\n this.companies[itemIndex] = update;\r\n });\r\n i++;\r\n }\r\n }\r\n\r\n updateCols() {\r\n this._gridService.saveMarketWatchColumns(this.columns);\r\n this.WindowResize();\r\n }\r\n\r\n sendCompanySymbol(symbol) {\r\n this.selectedSymbol = symbol;\r\n this.fireFunction(symbol);\r\n }\r\n\r\n addWidgett(event) {\r\n let obj = JSON.parse(event);\r\n\r\n this.addWidget(obj.name, obj.companyData);\r\n }\r\n\r\n fetchFavs() {\r\n this.tableView = \"favorites\";\r\n this.isFavsLoading = true;\r\n\r\n this.favService.favCompanies.subscribe((res) => {\r\n this.favCompanies = res;\r\n this.isFavsLoading = false;\r\n });\r\n }\r\n\r\n getRowClass(row) {\r\n if (row.isUpdate == true) {\r\n row.isUpdate = false;\r\n return {\r\n flashit: true,\r\n };\r\n }\r\n // if (row.SYMBOL_STATE == \"S\") return { suspended: true };\r\n }\r\n\r\n WindowResize() {\r\n setTimeout(() => {\r\n window.dispatchEvent(new Event(\"resize\"));\r\n }, 250);\r\n }\r\n\r\n fetchEGX(egx) {\r\n this.tableView = \"market\";\r\n this.companies = [];\r\n this.isCompaniesLoading = true;\r\n\r\n this.egxCompanies = [];\r\n\r\n this._service.fetchEGX(egx).subscribe((res) => {\r\n this.isCompaniesLoading = false;\r\n this.companies = res as CompanyList[];\r\n this.WindowResize();\r\n });\r\n }\r\n\r\n fetchTodayActive() {\r\n this.tableView = \"market\";\r\n this.companies = [];\r\n this.isCompaniesLoading = true;\r\n\r\n this._service.fetchTodayMarketWatch().subscribe((res) => {\r\n this.isCompaniesLoading = false;\r\n this.companies = res as CompanyList[];\r\n this.WindowResize();\r\n });\r\n }\r\n\r\n fetchCompanies() {\r\n this.tableView = \"market\";\r\n\r\n this.isCompaniesLoading = true;\r\n this.companies = null;\r\n\r\n this._service.fetchAllMarketWatch().subscribe((res: CompanyList[]) => {\r\n this.isCompaniesLoading = false;\r\n this.companies = res.filter((company) => company.MARKET_ID != \"INDX\");\r\n this.WindowResize();\r\n });\r\n }\r\n\r\n fetchMarket(x) {\r\n this.tableView = \"market\";\r\n\r\n this.isCompaniesLoading = true;\r\n this.companies = null;\r\n\r\n this._service.fetchEgxMarket(x).subscribe((res: CompanyList[]) => {\r\n this.isCompaniesLoading = false;\r\n this.companies = res;\r\n this.WindowResize();\r\n });\r\n }\r\n\r\n get colsss() {\r\n return this.columns.filter((col) => col.isChecked);\r\n }\r\n\r\n toggle(col, event) {\r\n col.isChecked = !col.isChecked;\r\n\r\n this.WindowResize();\r\n this.updateCols();\r\n }\r\n}\r\n","
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n grid_view\r\n \r\n \r\n \r\n \r\n table_rows\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{\"aval-cols\" | translate}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {{ value | number: \"1.2-2\":\"en-US\" }}\r\n {{ value }}\r\n %\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n 0 ||\r\n col.prop == 'LAST_CHANGE' && value > 0), 'red' : (col.prop == 'LAST_CHANGE_PRC' && value <0 || col.prop=='LAST_CHANGE' && value <0)}\">{{\r\n value | number: \"1.2-2\":\"en-US\" }}\r\n\r\n %\r\n \r\n {{ value }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n","import { ConfigService } from \"./../../services/config.service\";\r\nimport { DetailedQuotaComponent } from \"./../detailed-quota/detailed-quota.component\";\r\nimport { SlickMarketWatchComponent } from \"./../../components/slick-market-watch/slick-market-watch.component\";\r\nimport { ApiService } from \"./../../services/api.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { MarketNewsComponent } from \"./../../components/market-news/market-news.component\";\r\nimport { OrderBookComponent } from \"./../../components/order-book/order-book.component\";\r\nimport { MarketTradesComponent } from \"./../../components/market-trades/market-trades.component\";\r\nimport { MarketDepthComponent } from \"./../../components/market-depth/market-depth.component\";\r\nimport { GridsterService } from \"./../../services/gridster.service\";\r\nimport { MarketDepthBidsComponent } from \"./../../components/market-depth-bids/market-depth-bids.component\";\r\nimport { MarketDepthAsksComponent } from \"./../../components/market-depth-asks/market-depth-asks.component\";\r\nimport { TradesComponent } from \"./../../components/trades/trades.component\";\r\nimport { NewsComponent } from \"./../../components/news/news.component\";\r\nimport { HistoricalComponent } from \"./../../components/historical/historical.component\";\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n OnInit,\r\n QueryList,\r\n ViewChildren,\r\n} from \"@angular/core\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport {\r\n CompactType,\r\n DirTypes,\r\n DisplayGrid,\r\n GridsterConfig,\r\n GridsterItem,\r\n GridType,\r\n} from \"angular-gridster2\";\r\nimport { Router } from \"@angular/router\";\r\nimport Swal from \"sweetalert2\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { UserIdleService } from \"angular-user-idle\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { TradingViewChartComponent } from \"src/app/components/trading-view-chart/trading-view-chart.component\";\r\nimport { FavService } from \"src/app/services/fav.service\";\r\n\r\n@Component({\r\n selector: \"app-home\",\r\n templateUrl: \"./home.component.html\",\r\n styleUrls: [\"./home.component.scss\"],\r\n})\r\nexport class HomeComponent implements OnInit, AfterViewInit {\r\n isCompaniesLoading: boolean;\r\n selectedCompanySymbol: any;\r\n options: GridsterConfig;\r\n dashboard: Array;\r\n @ViewChildren(\"MWT\") components: QueryList;\r\n\r\n companies: CompanyList[];\r\n\r\n records = [];\r\n toggleBool = false;\r\n selectedEgx: CompanyList;\r\n\r\n companiesUpdates: any = [];\r\n selectedCompanyReuters: any;\r\n\r\n selectedCompanyName: any;\r\n isMarket: boolean;\r\n dashboardIndex = 0;\r\n dashboardList: Array[];\r\n\r\n credentialsSearchFilter(event: any) {\r\n const val = event.target.value.toLowerCase();\r\n\r\n if (val != \"\") {\r\n this.toggleBool = true;\r\n } else {\r\n this.toggleBool = false;\r\n }\r\n\r\n this.records = this.companies.filter(function (d) {\r\n return d.ENG_NAME?.toLowerCase().includes(val);\r\n });\r\n }\r\n\r\n static itemChange(item, itemComponent) {\r\n }\r\n\r\n static itemResize(item, itemComponent) {\r\n }\r\n\r\n navigateProfile(item) {\r\n this.nav\r\n .navigate([\"/company-profile\", item.SYMBOL_CODE, item.Reuters])\r\n .then(() => (this.toggleBool = false));\r\n }\r\n\r\n slideConfig = {\r\n speed: 15000,\r\n autoplay: true,\r\n autoplaySpeed: 100,\r\n cssEase: \"linear\",\r\n slidesToShow: 6,\r\n slidesToScroll: 6,\r\n arrows: false,\r\n dots: false,\r\n pauseOnHover: true,\r\n pauseOnFocus: true,\r\n infinite: true,\r\n };\r\n\r\n ngOnInit(): void {\r\n // right when the component initializes, start reset state and start watching\r\n this.options = {\r\n gridType: GridType.ScrollVertical,\r\n compactType: CompactType.CompactUpAndLeft,\r\n itemChangeCallback: () => {\r\n this.gridService.updateGridWithIndex(\r\n this.dashboardIndex,\r\n this.dashboard\r\n );\r\n this.WindowResize();\r\n },\r\n draggable: {\r\n enabled: true,\r\n },\r\n resizable: {\r\n enabled: true,\r\n handles: {\r\n s: false,\r\n e: false,\r\n n: false,\r\n w: false,\r\n se: true,\r\n ne: false,\r\n sw: true,\r\n nw: false,\r\n },\r\n },\r\n outerMargin: true,\r\n outerMarginLeft: 20,\r\n setGridSize: true,\r\n swap: true,\r\n pushItems: true,\r\n displayGrid: DisplayGrid.None,\r\n disableWindowResize: true,\r\n scrollToNewItems: true,\r\n minCols: 20,\r\n minRows: 10,\r\n maxCols: 30,\r\n minItemCols: 6,\r\n minItemRows: 5,\r\n dirType: this.translate.currentLang == \"ar\" ? DirTypes.RTL : DirTypes.LTR,\r\n };\r\n\r\n setTimeout(() => {\r\n this.dashboardList = this.gridService.getGrid();\r\n this.dashboard = this.dashboardList[this.dashboardIndex];\r\n }, 100);\r\n\r\n //Start watching for user inactivity.\r\n this.userIdle.startWatching();\r\n\r\n // Start watching when user idle is starting.\r\n this.userIdle.onTimerStart().subscribe((count) => {\r\n // Swal.getState().\r\n if (!Swal.isVisible()) {\r\n let timerInterval;\r\n Swal.fire({\r\n title: this.translate.instant(\"auto-close\"),\r\n html: \"
\",\r\n timer: this.popupAlertTime * 1000,\r\n timerProgressBar: true,\r\n didOpen: () => {\r\n const content = Swal.getHtmlContainer();\r\n Swal.showLoading();\r\n timerInterval = setInterval(() => {\r\n content.getElementsByTagName(\"strong\").item(0).innerHTML = (\r\n Swal.getTimerLeft() / 1000\r\n ).toFixed(0);\r\n }, 100);\r\n },\r\n willClose: () => {\r\n this.userIdle.resetTimer();\r\n },\r\n });\r\n }\r\n });\r\n\r\n // Start watch when time is up.\r\n this.userIdle.onTimeout().subscribe(() => {\r\n if (sessionStorage.getItem(\"userName\") != null) {\r\n let userName = sessionStorage.getItem(\"userName\");\r\n this.apiService.logOut(userName).subscribe(\r\n (x) => {\r\n this.accService.logout();\r\n },\r\n (err) => {\r\n }\r\n );\r\n this.userIdle.stopTimer();\r\n this.userIdle.stopWatching();\r\n }\r\n });\r\n }\r\n\r\n addNewDashboard() {\r\n let index = this.gridService.addNewDashboard();\r\n this.dashboardList = this.gridService.getGrid();\r\n this.dashboardIndex = index - 1;\r\n this.dashboard = this.dashboardList[this.dashboardIndex];\r\n this.WindowResize();\r\n }\r\n switchDashboard(index) {\r\n this.dashboardIndex = index;\r\n this.dashboard = this.dashboardList[index];\r\n }\r\n removeDashboard(index) {\r\n // let index = this.gridService.addNewDashboard();\r\n this.gridService.removeDashboard(index);\r\n this.dashboardIndex = 0;\r\n this.dashboardList = this.gridService.getGrid();\r\n this.dashboard = this.dashboardList[this.dashboardIndex];\r\n this.WindowResize();\r\n }\r\n\r\n WindowResize() {\r\n setTimeout(() => {\r\n window.dispatchEvent(new Event(\"resize\"));\r\n }, 250);\r\n }\r\n\r\n get(comp) {\r\n switch (comp) {\r\n case \"market-watch\":\r\n return SlickMarketWatchComponent;\r\n case \"news\":\r\n return NewsComponent;\r\n case \"trades\":\r\n return TradesComponent;\r\n case \"depth-asks\":\r\n return MarketDepthAsksComponent;\r\n case \"depth-bids\":\r\n return MarketDepthBidsComponent;\r\n case \"market-depth\":\r\n return MarketDepthComponent;\r\n case \"market-trades\":\r\n return MarketTradesComponent;\r\n case \"historical\":\r\n return HistoricalComponent;\r\n case \"bids\":\r\n return MarketDepthBidsComponent;\r\n case \"asks\":\r\n return MarketDepthAsksComponent;\r\n case \"order-book\":\r\n return OrderBookComponent;\r\n case \"market-news\":\r\n return MarketNewsComponent;\r\n // case \"detailed-quota\":\r\n // return DetailedQuotaComponent;\r\n case \"chart\":\r\n return TradingViewChartComponent;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.components.changes.subscribe((queryList) => {\r\n this.components.forEach((element) => {\r\n element.componentRef.instance.fireFunction = (\r\n symbol,\r\n reuter,\r\n nameEn,\r\n nameAr\r\n ) => {\r\n this.selectedCompanySymbol = symbol;\r\n this.selectedCompanyReuters = reuter;\r\n if (this.translate.currentLang == \"ar\") {\r\n this.selectedCompanyName = nameAr;\r\n }\r\n if (this.translate.currentLang == \"en\") {\r\n this.selectedCompanyName = nameEn;\r\n }\r\n };\r\n\r\n element.componentRef.instance.addWidget = (\r\n name,\r\n companyData,\r\n isLinked\r\n ) => {\r\n this.dashboard.push({\r\n cols: name == \"chart\" ? 15 : 8,\r\n rows: 6,\r\n y: 0,\r\n x: 0,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: name,\r\n symbolCode: companyData.symbol,\r\n reuters: companyData.reuters,\r\n companyName: companyData.name,\r\n isLinked: isLinked,\r\n });\r\n };\r\n });\r\n });\r\n }\r\n\r\n changedOptions(): void {\r\n if (this.options.api && this.options.api.optionsChanged) {\r\n this.options.api.optionsChanged();\r\n }\r\n }\r\n\r\n removeItem($event: MouseEvent | TouchEvent, item) {\r\n setTimeout(() => {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n this.dashboard.splice(this.dashboard.indexOf(item), 1);\r\n this.gridService.updateGridWithIndex(this.dashboardIndex, this.dashboard);\r\n this.WindowResize();\r\n }, 0);\r\n }\r\n\r\n popupAlertTime = 10;\r\n\r\n constructor(\r\n public gridService: GridsterService,\r\n public translate: TranslateService,\r\n private _service: ApiService,\r\n private nav: Router,\r\n public accService: AccountService,\r\n private apiService: ApiService,\r\n private configService: ConfigService,\r\n private userIdle: UserIdleService,\r\n public signalR: SignalRService,\r\n private favService: FavService\r\n ) {\r\n // signalR.connectBidsAsksUpdates();\r\n this.signalR.connectMarketWatch();\r\n this.signalR.connectTradesUpdates();\r\n\r\n if (!this.userIdle)\r\n this.userIdle.setConfigValues({\r\n idle: this.configService.getIdleTime,\r\n timeout: 10,\r\n });\r\n\r\n this.isCompaniesLoading = true;\r\n this._service.fetchTodayMarketWatch().subscribe((res) => {\r\n this.isCompaniesLoading = false;\r\n this.companies = res as any[];\r\n this.WindowResize();\r\n });\r\n\r\n //this.favService.fetchFavs();\r\n\r\n this.gridService.onNewGenericAdded().subscribe((res) => {\r\n this.dashboard.push(res);\r\n });\r\n\r\n this.accService.isFullMarketUser.subscribe((isMarket) => {\r\n this.isMarket = isMarket;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.signalR.disconnectMwSignalr();\r\n this.signalR.disconnectTradesSignalr();\r\n }\r\n}\r\n","
\r\n \r\n\r\n \r\n\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
\r\n\r\n
0 && this.accService.Ticker\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{company.Reuters}}\r\n
\r\n
0? 'green' : 'red'\">\r\n {{company.LAST_CHANGE | number : '1.2-2'}} ({{company.LAST_CHANGE_PRC | number : '1.2-2'}}%)\r\n\r\n 0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{(translate.currentLang=='en')?company.ENG_NAME:company.ARB_NAME}}\r\n
\r\n
\r\n {{company.LAST_TRADE_PRICE | currency:\"EGP\":\"symbol\"}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { ValidationErrors, ValidatorFn, AbstractControl } from \"@angular/forms\";\r\n\r\nexport class CustomValidators {\r\n static patternValidator(regex: RegExp, error: ValidationErrors): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } => {\r\n if (!control.value) {\r\n // if control is empty return no error\r\n return null;\r\n }\r\n\r\n // test the value of the control against the regexp supplied\r\n const valid = regex.test(control.value);\r\n\r\n // if true, return no error (no error), else return error passed in the second parameter\r\n return valid ? null : error;\r\n };\r\n }\r\n\r\n static firstPasswordMatchValidator(control: AbstractControl) {\r\n const password: string = control.get(\"firstNewPassword\").value; // get password from our password form control\r\n const confirmPassword: string = control.get(\"reFirstNewPassword\").value; // get password from our confirmPassword form control\r\n // compare is the password math\r\n if (password !== confirmPassword) {\r\n // if they don't match, set an error in our confirmPassword form control\r\n control.get(\"reFirstNewPassword\").setErrors({ NoPassswordMatch: true });\r\n }\r\n }\r\n static secondPasswordMatchValidator(control: AbstractControl) {\r\n const password: string = control.get(\"secondNewPassword\").value; // get password from our password form control\r\n const confirmPassword: string = control.get(\"reSecondNewPassword\").value; // get password from our confirmPassword form control\r\n // compare is the password math\r\n if (password !== confirmPassword) {\r\n // if they don't match, set an error in our confirmPassword form control\r\n control.get(\"reSecondNewPassword\").setErrors({ NoPassswordMatch: true });\r\n }\r\n }\r\n}\r\n","import { ApiService } from \"src/app/services/api.service\";\r\nimport { FavService } from \"./../../services/fav.service\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { GridsterService } from \"./../../services/gridster.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Component, ElementRef, OnInit, ViewChild } from \"@angular/core\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport {\r\n ColumnMode,\r\n DatatableComponent,\r\n SelectionType,\r\n} from \"@swimlane/ngx-datatable\";\r\nimport { ContextMenuComponent } from \"ngx-contextmenu\";\r\nimport { CdkDragDrop, moveItemInArray } from \"@angular/cdk/drag-drop\";\r\nimport { Subject } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"app-material-market-watch\",\r\n templateUrl: \"./material-market-watch.component.html\",\r\n styleUrls: [\"./material-market-watch.component.scss\"],\r\n})\r\nexport class MaterialMarketWatchComponent implements OnInit {\r\n @ViewChild(ContextMenuComponent) public basicMenu: ContextMenuComponent;\r\n\r\n fireFunction: any;\r\n addWidget: any;\r\n\r\n isCompaniesLoading: boolean;\r\n companies: CompanyList[] = [];\r\n egxCompanies: CompanyList[] = [];\r\n favCompanies: CompanyList[];\r\n searchText = \"\";\r\n selectedSymbol: any;\r\n ColumnMode = ColumnMode;\r\n @ViewChild(DatatableComponent) table: DatatableComponent;\r\n searchComp: CompanyList[];\r\n selected;\r\n SelectionType = SelectionType;\r\n\r\n @ViewChild(\"myWidget\") myWidget: ElementRef;\r\n dtOptions: any = {};\r\n dtTrigger: Subject = new Subject();\r\n\r\n public contextmenuX: any;\r\n public contextmenuY: any;\r\n public contextmenu = false;\r\n addWidgetSymbolCode: any;\r\n columns = [];\r\n matColumns = [\r\n \"Reuters\",\r\n \"ENG_NAME\",\r\n \"LAST_TRADE_PRICE\",\r\n \"LAST_TRADE_VOLUME\",\r\n \"LAST_CHANGE\",\r\n \"LAST_CHANGE_PRC\",\r\n \"OPEN_PRICE\",\r\n \"CLOSE_PRICE\",\r\n \"LOW_PRICE\",\r\n \"HIGH_PRICE\",\r\n \"TOTAL_VALUE\",\r\n \"TOTAL_VOLUME\",\r\n \"BID_PRICE\",\r\n \"BID_VOLUME\",\r\n \"TOTAL_BIDS\",\r\n \"TOTAL_ASKS\",\r\n \"ASK_VOLUME\",\r\n \"ASK_PRICE\",\r\n \"ENG_DESC\",\r\n \"MARKET_ID\",\r\n \"PREVIOUS_CLOSE\",\r\n \"REF_PRICE\",\r\n ];\r\n allFilters = [\r\n { prop: \"LAST_TRADE_PRICE\", name: \"last-price\", isChecked: true },\r\n { prop: \"LAST_TRADE_VOLUME\", name: \"last-volume\", isChecked: true },\r\n { prop: \"LAST_CHANGE\", name: \"last-change\", isChecked: true },\r\n {\r\n prop: \"LAST_CHANGE_PRC\",\r\n name: \"last-change-prc\",\r\n style: \"company.LAST_CHANGE_PRC>0?{'color': 'green'} : {'color': 'red'}\",\r\n isChecked: true,\r\n },\r\n { prop: \"OPEN_PRICE\", name: \"open\", isChecked: true },\r\n { prop: \"CLOSE_PRICE\", name: \"close\", isChecked: true },\r\n { prop: \"LOW_PRICE\", name: \"low\", isChecked: true },\r\n { prop: \"HIGH_PRICE\", name: \"high\", isChecked: true },\r\n { prop: \"TOTAL_VALUE\", name: \"value\", isChecked: true },\r\n { prop: \"TOTAL_VOLUME\", name: \"volume\", isChecked: true },\r\n { prop: \"BID_PRICE\", name: \"bid-price\", isChecked: false },\r\n { prop: \"BID_VOLUME\", name: \"bid-qty\", isChecked: false },\r\n { prop: \"TOTAL_BIDS\", name: \"total-bids\", isChecked: false },\r\n { prop: \"TOTAL_ASKS\", name: \"total-asks\", isChecked: false },\r\n { prop: \"ASK_VOLUME\", name: \"ask-qty\", isChecked: false },\r\n { prop: \"ASK_PRICE\", name: \"ask-price\", isChecked: false },\r\n { prop: \"ENG_DESC\", name: \"sector\", isChecked: false },\r\n { prop: \"MARKET_ID\", name: \"market\", isChecked: false },\r\n { prop: \"PREVIOUS_CLOSE\", name: \"prev-close\", isChecked: false },\r\n { prop: \"REF_PRICE\", name: \"ref-price\", isChecked: false },\r\n ];\r\n\r\n tableView = \"market\";\r\n favView = \"grid\";\r\n\r\n companiesUpdates: CompanyList[] = [];\r\n isFavsLoading: boolean = false;\r\n layerX: any;\r\n layerY: any;\r\n screenX: any;\r\n screenY: any;\r\n\r\n public onFavViewChange(val: string) {\r\n this.favView = val;\r\n }\r\n\r\n reordered(event) {}\r\n\r\n clickedOutsideMenu() {\r\n this.contextmenu = false;\r\n }\r\n\r\n public onTableContextMenu(event, company) {\r\n // NOTE: click on header pls check when use\r\n let rect = this.myWidget.nativeElement.getBoundingClientRect();\r\n\r\n this.contextmenuX = event.clientX - rect.left;\r\n this.contextmenuY = event.clientY - rect.top + 80;\r\n\r\n this.contextmenu = true;\r\n this.addWidgetSymbolCode = {\r\n symbol: company.SYMBOL_CODE,\r\n reuters: company.Reuters,\r\n name: company.ARB_NAME,\r\n nameEn: company.ENG_NAME,\r\n };\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n toggleExpandRow(row) {\r\n this.table.rowDetail.toggleExpandRow(row);\r\n }\r\n\r\n onDetailToggle(event) {}\r\n\r\n isNumber(val): boolean {\r\n return typeof val === \"number\";\r\n }\r\n\r\n getCellClass({ row, column, value }): any {\r\n if (row.SYMBOL_STATE == \"S\") return { suspended: true };\r\n\r\n // if (\r\n // (column.prop == \"LAST_CHANGE_PRC\" && value > 0) ||\r\n // (column.prop == \"LAST_CHANGE\" && value > 0)\r\n // ) {\r\n // return \"color : green\";\r\n // } else if (\r\n // (column.prop == \"LAST_CHANGE_PRC\" && value != 0) ||\r\n // (column.prop == \"LAST_CHANGE\" && value != 0)\r\n // ) {\r\n // return \"color : red\";\r\n // }\r\n }\r\n\r\n onSelect(item) {\r\n this.selected = item;\r\n this.sendCompanySymbol(item.SYMBOL_CODE);\r\n }\r\n\r\n drop(event: CdkDragDrop) {\r\n moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\r\n this.updateCols();\r\n }\r\n updateFilter(event) {\r\n const val = event.target.value.toLowerCase();\r\n\r\n // filter our data\r\n const temp = this.companies.filter(function (d) {\r\n return (\r\n d.ENG_NAME &&\r\n (d.ENG_NAME.toLocaleLowerCase().includes(val.toLocaleLowerCase()) ||\r\n d.ARB_NAME.toLocaleLowerCase().includes(val.toLocaleLowerCase()) ||\r\n d.SYMBOL_CODE.toLocaleLowerCase().includes(val.toLocaleLowerCase()) ||\r\n d.Reuters.toLocaleLowerCase().includes(val.toLocaleLowerCase()))\r\n );\r\n });\r\n\r\n // update the rows\r\n this.searchComp = temp;\r\n }\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private _gridService: GridsterService,\r\n signalService: SignalRService,\r\n private favService: FavService,\r\n private _service: ApiService\r\n ) {\r\n // signalService.connectMarketWatch();\r\n\r\n signalService.marketChanges.subscribe((res) => {\r\n res.forEach((update) => {\r\n if (this.tableView == \"market\" && this.companies != null) {\r\n let itemIndex = this.companies.findIndex(\r\n (item) => item.SYMBOL_CODE == update.SYMBOL_CODE\r\n );\r\n if (this.companies[itemIndex] != update && itemIndex != -1) {\r\n this.companies[itemIndex] = update;\r\n this.companies[itemIndex].isUpdate = true;\r\n }\r\n }\r\n });\r\n // if (this.tableView == \"market\" && this.companies)\r\n // this.companies = [...this.companies];\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (this._gridService.getMarketWatchColumns()) {\r\n this.columns = this._gridService.getMarketWatchColumns();\r\n } else {\r\n this.columns = this.allFilters;\r\n }\r\n\r\n this.fetchEGX(\"EGX30\");\r\n\r\n this.dtOptions = {\r\n // scrollX: true,\r\n paging: false,\r\n searching: false,\r\n autoWidth: true,\r\n info: false,\r\n responsive: true,\r\n fixedHeader: true,\r\n select: true,\r\n sorting: [],\r\n // ajax: (dataTablesParameters: any, callback) => {\r\n // this.fetchEGX(\"EGX30\").subscribe((res) => {\r\n // this.isCompaniesLoading = false;\r\n // this.companies = res as CompanyList[];\r\n // this.WindowResize();\r\n\r\n // callback({\r\n // recordsTotal: this.companies.length,\r\n // data: [],\r\n // });\r\n // });\r\n // },\r\n };\r\n }\r\n\r\n refreshUpdates() {\r\n let i = 0;\r\n if (this.companies) {\r\n this.companiesUpdates.forEach((update) => {\r\n let itemIndex = this.companies.findIndex(\r\n (item) => item.SYMBOL_CODE == update.SYMBOL_CODE\r\n );\r\n this.companies[itemIndex] = update;\r\n });\r\n i++;\r\n }\r\n }\r\n\r\n updateCols() {\r\n this._gridService.saveMarketWatchColumns(this.columns);\r\n this.WindowResize();\r\n }\r\n\r\n sendCompanySymbol(symbol) {\r\n this.selectedSymbol = symbol;\r\n this.fireFunction(symbol);\r\n }\r\n\r\n addWidgett(event) {\r\n let obj = JSON.parse(event);\r\n\r\n this.addWidget(obj.name, obj.companyData);\r\n }\r\n\r\n fetchFavs() {\r\n this.tableView = \"favorites\";\r\n this.isFavsLoading = true;\r\n\r\n this.favService.favCompanies.subscribe((res) => {\r\n this.favCompanies = res;\r\n this.isFavsLoading = false;\r\n });\r\n }\r\n\r\n getRowClass(row) {\r\n if (row.isUpdate == true) {\r\n row.isUpdate = false;\r\n return {\r\n flashit: true,\r\n };\r\n }\r\n // if (row.SYMBOL_STATE == \"S\") return { suspended: true };\r\n }\r\n\r\n WindowResize() {\r\n setTimeout(() => {\r\n window.dispatchEvent(new Event(\"resize\"));\r\n }, 250);\r\n }\r\n\r\n fetchEGX(egx) {\r\n this.tableView = \"market\";\r\n this.companies = [];\r\n this.isCompaniesLoading = true;\r\n\r\n this.egxCompanies = [];\r\n\r\n this._service.fetchEGX(egx).subscribe((res) => {\r\n this.isCompaniesLoading = false;\r\n this.companies = res as CompanyList[];\r\n this.WindowResize();\r\n this.dtTrigger.next();\r\n });\r\n }\r\n\r\n fetchTodayActive() {\r\n this.tableView = \"market\";\r\n this.companies = [];\r\n this.isCompaniesLoading = true;\r\n\r\n this._service.fetchTodayMarketWatch().subscribe((res) => {\r\n this.isCompaniesLoading = false;\r\n this.companies = res as CompanyList[];\r\n this.WindowResize();\r\n });\r\n }\r\n\r\n fetchCompanies() {\r\n this.tableView = \"market\";\r\n\r\n this.isCompaniesLoading = true;\r\n this.companies = null;\r\n\r\n this._service.fetchAllMarketWatch().subscribe((res: CompanyList[]) => {\r\n this.isCompaniesLoading = false;\r\n this.companies = res.filter((company) => company.MARKET_ID != \"INDX\");\r\n this.WindowResize();\r\n });\r\n }\r\n\r\n fetchMarket(x) {\r\n this.tableView = \"market\";\r\n\r\n this.isCompaniesLoading = true;\r\n this.companies = null;\r\n\r\n this._service.fetchEgxMarket(x).subscribe((res: CompanyList[]) => {\r\n this.isCompaniesLoading = false;\r\n this.companies = res;\r\n this.WindowResize();\r\n });\r\n }\r\n\r\n get colsss() {\r\n return this.columns.filter((col) => col.isChecked);\r\n }\r\n\r\n toggle(col, event) {\r\n col.isChecked = !col.isChecked;\r\n\r\n this.WindowResize();\r\n this.updateCols();\r\n }\r\n}\r\n","
\r\n\r\n

{{\"market\"|translate}}

\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n grid_view\r\n \r\n \r\n \r\n \r\n table_rows\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{\"aval-cols\" | translate}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{'reuters'|translate}}{{'company-name'|translate}}{{item.name | translate}}
\r\n {{item.Reuters}}\r\n \r\n {{(translate.currentLang == 'en')?item.ENG_NAME:item.ARB_NAME}}\r\n \r\n 0 ||\r\n x.prop == 'LAST_CHANGE' && item[x.prop] > 0), 'red' : (x.prop == 'LAST_CHANGE_PRC' && item[x.prop] <0 || x.prop=='LAST_CHANGE' && item[x.prop] <0)}\">{{ item[x.prop] | number: \"1.2-2\":\"en-US\" }} %\r\n \r\n {{ item[x.prop] }}\r\n
No data!
\r\n\r\n\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 || searchComp?.length > 0 \">\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{'reuters'|translate}}{{'company-name'|translate}}{{item.name | translate}}
\r\n {{item?.Reuters}}\r\n \r\n {{(translate.currentLang == 'en')?item?.ENG_NAME:item?.ARB_NAME}}\r\n \r\n \r\n 0 ||\r\n x.prop == 'LAST_CHANGE' && item[x.prop] > 0), 'red' : (x.prop == 'LAST_CHANGE_PRC' && item[x.prop] <0 || x.prop=='LAST_CHANGE' && item[x.prop] <0)}\">{{ item[x.prop] | number: \"1.2-2\":\"en-US\" }} %\r\n \r\n {{ item[x.prop] }}\r\n
No data!
\r\n\r\n \r\n \r\n
\r\n
\r\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\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 = \"RnhZ\";","import { ApiService } from \"src/app/services/api.service\";\r\nimport { SignalRService } from \"./services/signalr.service\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { GridsterService } from \"./services/gridster.service\";\r\nimport { AfterViewInit, Component, ElementRef } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { GridsterItem } from \"angular-gridster2\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport { UrlConstants } from \"./models/urlConstants\";\r\n\r\n@Component({\r\n selector: \"app-root\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: [\"./app.component.scss\"],\r\n})\r\nexport class AppComponent implements AfterViewInit {\r\n title = \"streamer-trading\";\r\n companyName = UrlConstants.companyName;\r\n isEGID = UrlConstants.isEGID;\r\n\r\n private dashboard: Array[] = [\r\n [\r\n {\r\n cols: 14,\r\n rows: 7,\r\n y: 0,\r\n x: 0,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"market-watch\",\r\n state: \"Most Active\",\r\n },\r\n {\r\n cols: 8,\r\n rows: 7,\r\n y: 0,\r\n x: 22,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"market-news\",\r\n },\r\n {\r\n cols: 8,\r\n rows: 7,\r\n y: 0,\r\n x: 14,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"market-trades\",\r\n },\r\n {\r\n cols: 15,\r\n rows: 6,\r\n x: 0,\r\n y: 7,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"order-book\",\r\n },\r\n {\r\n cols: 7,\r\n rows: 6,\r\n x: 15,\r\n y: 7,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"market-depth\",\r\n isLinked: true,\r\n },\r\n {\r\n cols: 8,\r\n rows: 6,\r\n x: 22,\r\n y: 7,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"historical\",\r\n },\r\n {\r\n cols: 6,\r\n rows: 6,\r\n y: 13,\r\n x: 6,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"depth-asks\",\r\n },\r\n {\r\n cols: 6,\r\n rows: 6,\r\n y: 13,\r\n x: 0,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"depth-bids\",\r\n },\r\n {\r\n cols: 9,\r\n rows: 6,\r\n y: 13,\r\n x: 12,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"news\",\r\n },\r\n ],\r\n ];\r\n private notMarketDashboard: Array = [\r\n [\r\n {\r\n cols: 14,\r\n rows: 7,\r\n y: 0,\r\n x: 0,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"market-watch\",\r\n state: \"Most Active\",\r\n },\r\n {\r\n cols: 8,\r\n rows: 7,\r\n y: 0,\r\n x: 22,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"news\",\r\n },\r\n {\r\n cols: 8,\r\n rows: 7,\r\n y: 0,\r\n x: 14,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"trades\",\r\n },\r\n {\r\n cols: 15,\r\n rows: 6,\r\n x: 0,\r\n y: 7,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"order-book\",\r\n },\r\n {\r\n cols: 7,\r\n rows: 6,\r\n x: 15,\r\n y: 7,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"market-depth\",\r\n isLinked: true,\r\n },\r\n {\r\n cols: 8,\r\n rows: 6,\r\n x: 22,\r\n y: 7,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"historical\",\r\n },\r\n ],\r\n ];\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private gridService: GridsterService,\r\n public accService: AccountService,\r\n private elementRef: ElementRef\r\n ) {\r\n\r\n let pageTabTitle = document.head.getElementsByTagName(\"title\")[0] as HTMLElement;\r\n pageTabTitle.innerText = this.companyName;\r\n\r\n this.getZoomValue();\r\n translate.addLangs([\"en\", \"ar\"]);\r\n\r\n if (this.gridService.getLang() != null) {\r\n translate.use(this.gridService.getLang());\r\n translate.setDefaultLang(this.gridService.getLang());\r\n } else {\r\n translate.use(\"ar\");\r\n translate.setDefaultLang(\"ar\");\r\n }\r\n\r\n if (this.gridService.getGrid() == null) {\r\n this.accService.isFullMarketUser.subscribe((isMarket) => {\r\n if (isMarket) this.gridService.saveGrid(this.dashboard);\r\n else if (!isMarket) this.gridService.saveGrid(this.notMarketDashboard);\r\n });\r\n }\r\n\r\n if (this.gridService.getGrid() == null)\r\n this.accService.isFullMarketUser.subscribe((isMarket) => {\r\n if (isMarket) this.gridService.saveGrid(this.dashboard);\r\n else if (!isMarket) this.gridService.saveGrid(this.notMarketDashboard);\r\n });\r\n\r\n this.gridService.getGrid().forEach((element) => {\r\n if (element.length == null) this.gridService.saveGrid(this.dashboard);\r\n });\r\n\r\n accService.user.subscribe((token) => {\r\n if (token) {\r\n var decoded = jwt_decode(token.toString());\r\n\r\n let isMarket = decoded[\"unique_name\"].split(\"_\")[3];\r\n\r\n let isDemo = decoded[\"unique_name\"].split(\"_\")[4];\r\n\r\n if (isMarket == \"1\")\r\n //set is Market\r\n this.accService.setIsFullMarket(true);\r\n //set not is Market\r\n else if (isMarket == \"0\") this.accService.setIsFullMarket(false);\r\n }\r\n });\r\n }\r\n\r\n getZoomValue() {\r\n let zoomPercent = `${localStorage.getItem(\"fontsize\")}%`\r\n this.elementRef.nativeElement.ownerDocument\r\n .body.style.zoom = zoomPercent;\r\n }\r\n ngAfterViewInit(): void {\r\n if (this.gridService.isDarkTheme == true) {\r\n this.elementRef.nativeElement.ownerDocument\r\n .body.style.backgroundColor = ' #131722';\r\n } else {\r\n this.elementRef.nativeElement.ownerDocument\r\n .body.style.backgroundColor = ' #fff';\r\n }\r\n }\r\n\r\n isFullMarket(val) {\r\n return val.slice(val.indexOf(\"_\") + 1) == 1;\r\n }\r\n\r\n // @HostListener(\"window:beforeunload\")\r\n // unloadHandler(event) {\r\n // this.accService.logout()\r\n // }\r\n}\r\n","
\r\n \r\n \r\n
\r\n","import { Subscription } from \"rxjs\";\r\nimport { OnDestroy } from \"@angular/core\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ReCaptchaV3Service } from \"ng-recaptcha\";\r\nimport { ForgetPassObj } from \"src/app/models/login\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { AlertService } from \"src/app/services/alert.service\";\r\nimport Swal from \"sweetalert2\";\r\n\r\n@Component({\r\n selector: \"app-verify-email\",\r\n templateUrl: \"./verify-email.component.html\",\r\n styleUrls: [\"./verify-email.component.scss\"],\r\n})\r\nexport class VerifyEmailComponent implements OnInit, OnDestroy {\r\n verifyEmail: ForgetPassObj = {} as ForgetPassObj;\r\n formForget: FormGroup;\r\n resetEmail: \"\";\r\n private _subscription: Subscription;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private dialog: MatDialog,\r\n private translate: TranslateService,\r\n private accService: AccountService,\r\n private recaptchaV3Service: ReCaptchaV3Service\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.formForget = this.formBuilder.group({\r\n email: [null, [Validators.required, Validators.email]],\r\n });\r\n }\r\n\r\n onLogin() {\r\n this.recaptchaV3Service\r\n .execute(\"importantAction\")\r\n .subscribe((token: string) => {\r\n this.verifyEmail.Email = this.formForget.value.email;\r\n this.accService.VerifyEmail(this.verifyEmail.Email).subscribe(\r\n (arg) => {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"success\",\r\n title: this.translate.instant(\"incorrect-email\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n },\r\n (err) => {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"pass-error-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n );\r\n });\r\n }\r\n login() {\r\n this.router.navigateByUrl(\"/login\");\r\n }\r\n ngOnDestroy() {\r\n if (this._subscription) {\r\n this._subscription.unsubscribe();\r\n }\r\n const element = document.getElementsByClassName(\r\n \"grecaptcha-badge\"\r\n )[0] as HTMLElement;\r\n if (element) {\r\n element.style.visibility = \"hidden\";\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-info-modal',\r\n templateUrl: './info-modal.component.html',\r\n styleUrls: ['./info-modal.component.scss']\r\n})\r\nexport class InfoModalComponent implements OnInit {\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public sanitizer: DomSanitizer\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n

\r\n
\r\n
\r\n ","import { GridsterItem } from \"angular-gridster2\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable, Subject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class GridsterService {\r\n defaultDash = [\r\n {\r\n cols: 14,\r\n rows: 7,\r\n y: 0,\r\n x: 0,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"market-watch\",\r\n state: \"Most Active\",\r\n },\r\n {\r\n cols: 8,\r\n rows: 7,\r\n y: 0,\r\n x: 22,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"market-news\",\r\n },\r\n {\r\n cols: 8,\r\n rows: 7,\r\n y: 0,\r\n x: 14,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"market-trades\",\r\n },\r\n {\r\n cols: 15,\r\n rows: 6,\r\n x: 0,\r\n y: 7,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"order-book\",\r\n },\r\n {\r\n cols: 7,\r\n rows: 6,\r\n x: 15,\r\n y: 7,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"market-depth\",\r\n isLinked: true,\r\n },\r\n {\r\n cols: 8,\r\n rows: 6,\r\n x: 22,\r\n y: 7,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"historical\",\r\n },\r\n {\r\n cols: 6,\r\n rows: 6,\r\n y: 13,\r\n x: 6,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"depth-asks\",\r\n },\r\n {\r\n cols: 6,\r\n rows: 6,\r\n y: 13,\r\n x: 0,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"depth-bids\",\r\n },\r\n {\r\n cols: 9,\r\n rows: 6,\r\n y: 13,\r\n x: 12,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: \"news\",\r\n },\r\n ];\r\n\r\n isDarkTheme: boolean;\r\n\r\n constructor() {\r\n this.initTheme();\r\n }\r\n\r\n private newGenericWidget = new Subject();\r\n\r\n addGeneric(name) {\r\n let item;\r\n if (name == \"market-watch\")\r\n item = {\r\n cols: 6,\r\n rows: 5,\r\n x: 2,\r\n y: 2,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: name,\r\n state: \"Most Active\",\r\n };\r\n else if (name == \"chart\")\r\n item = {\r\n cols: 10,\r\n rows: 6,\r\n x: 2,\r\n y: 2,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: name,\r\n isLinked: true,\r\n };\r\n else\r\n item = {\r\n cols: 6,\r\n rows: 5,\r\n x: 2,\r\n y: 2,\r\n dragEnabled: true,\r\n resizeEnabled: true,\r\n name: name,\r\n isLinked: true,\r\n };\r\n\r\n this.newGenericWidget.next(item);\r\n }\r\n\r\n saveGrid(newDashboard) {\r\n localStorage.setItem(\"dashboard\", JSON.stringify(newDashboard));\r\n }\r\n\r\n updateGridWithIndex(index, newDashboard) {\r\n let tempDashboard = this.getGrid();\r\n tempDashboard[index] = newDashboard;\r\n localStorage.setItem(\"dashboard\", JSON.stringify(tempDashboard));\r\n }\r\n\r\n resetGridWithIndex(index, newDashboard) {\r\n let tempDashboard = this.getGrid();\r\n tempDashboard[index] = newDashboard;\r\n localStorage.setItem(\"dashboard\", JSON.stringify(tempDashboard));\r\n }\r\n\r\n onNewGenericAdded(): Observable {\r\n return this.newGenericWidget.asObservable();\r\n }\r\n\r\n getGrid() {\r\n return JSON.parse(localStorage.getItem(\"dashboard\"));\r\n }\r\n\r\n addNewDashboard() {\r\n let tempDashboard: Array[] = this.getGrid();\r\n tempDashboard.push(this.defaultDash);\r\n localStorage.setItem(\"dashboard\", JSON.stringify(tempDashboard));\r\n return tempDashboard.length;\r\n }\r\n removeDashboard(index) {\r\n let tempDashboard: Array[] = this.getGrid();\r\n tempDashboard.splice(index, 1);\r\n localStorage.setItem(\"dashboard\", JSON.stringify(tempDashboard));\r\n return tempDashboard.length;\r\n }\r\n\r\n saveLang(language) {\r\n localStorage.setItem(\"lang\", language);\r\n }\r\n\r\n getLang() {\r\n return localStorage.getItem(\"lang\");\r\n }\r\n\r\n saveMarketWatchColumns(newColsList) {\r\n localStorage.setItem(\"marketCols\", JSON.stringify(newColsList));\r\n }\r\n\r\n saveTradesColumns(newColsList) {\r\n localStorage.setItem(\"tradesCols\", JSON.stringify(newColsList));\r\n }\r\n\r\n saveFavoritesView(value) {\r\n localStorage.setItem(\"favView\", value);\r\n }\r\n\r\n getFavoritesView() {\r\n return localStorage.getItem(\"favView\");\r\n }\r\n\r\n getMarketWatchColumns() {\r\n return JSON.parse(localStorage.getItem(\"marketCols\"));\r\n }\r\n\r\n getTradesColumns() {\r\n return JSON.parse(localStorage.getItem(\"tradesCols\"));\r\n }\r\n\r\n updateMarketWatchState(id: any, newState) {\r\n let dashboard = this.getGrid();\r\n if (dashboard) {\r\n if (dashboard[id]) {\r\n dashboard[id][id].state = newState;\r\n this.saveGrid(dashboard);\r\n }\r\n }\r\n }\r\n\r\n getMarketWatchState(id: any) {\r\n let dashboard = this.getGrid();\r\n let state = dashboard[id].state;\r\n return state;\r\n }\r\n\r\n resetGrid() {\r\n localStorage.setItem(\"dashboard\", JSON.stringify(this.defaultDash));\r\n localStorage.setItem(\"portfolioCols\", JSON.stringify(\"\"));\r\n }\r\n\r\n /////////////\r\n saveOrderHistoryColumns(newColsList) {\r\n localStorage.setItem(\"orderHistoryCols\", JSON.stringify(newColsList));\r\n }\r\n\r\n getOrderHistoryColumns() {\r\n return JSON.parse(localStorage.getItem(\"orderHistoryCols\"));\r\n }\r\n //////////////\r\n saveTradeHistoryColumns(newColsList) {\r\n localStorage.setItem(\"tradeHistoryCols\", JSON.stringify(newColsList));\r\n }\r\n\r\n getTradeHistoryColumns() {\r\n return JSON.parse(localStorage.getItem(\"tradeHistoryCols\"));\r\n }\r\n\r\n switchTheme() {\r\n this.isDarkTheme = !this.isDarkTheme;\r\n }\r\n\r\n initTheme() {\r\n this.isDarkTheme = localStorage.getItem(\"darktheme\") == \"light\" ? false : true;\r\n localStorage.setItem(\"darktheme\", this.isDarkTheme ? \"dark\" : \"light\");\r\n document.body.setAttribute(\r\n \"data-theme\",\r\n this.isDarkTheme ? \"dark\" : \"light\"\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n CanActivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n Router,\r\n} from \"@angular/router\";\r\nimport { AccountService } from \"./account.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class IsMarketGuard implements CanActivate {\r\n constructor(private router: Router, private accountService: AccountService) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n let isMarket;\r\n this.accountService.isFullMarketUser.subscribe((res) => {\r\n isMarket = res;\r\n });\r\n\r\n if (isMarket) {\r\n return true;\r\n }\r\n\r\n this.router.navigate([\"home\"]);\r\n return false;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { UrlConstants } from 'src/app/models/urlConstants';\r\nimport { IPO, IpoDocuments } from 'src/app/models/IPO';\r\nimport { ApiService } from 'src/app/services/api.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { IpoAccOrderModalComponent } from 'src/app/components/ipo-acc-order-modal/ipo-acc-order-modal.component';\r\nimport { NumberFormatPipe } from \"../../pipes/number-format.pipe\";\r\nimport { forkJoin } from 'rxjs';\r\n//Needs refactoring\r\n@Component({\r\n selector: 'app-ipo',\r\n templateUrl: './ipo.component.html',\r\n styleUrls: ['./ipo.component.scss'],\r\n})\r\nexport class IPOComponent implements OnInit {\r\n\r\n lang: string;\r\n numberOfAccounts: number=2;\r\n isDarkTheme: boolean;\r\n events: any[] = [\r\n { title: 'Event 1', description: 'Description for event 1', date: new Date('2020-01-01') },\r\n { title: 'Event 2', description: 'Description for event 2', date: new Date('2020-02-01') },\r\n // Add more events here\r\n ];\r\n isEGID = UrlConstants.isEGID;\r\n ipoList : IPO[] = [];\r\n selectedIPO: IPO;\r\n lastSelectedIpoIndex = -1;\r\n ipoDocuments: IpoDocuments;\r\n dialog: any;\r\n ipoAllotmentRatio : string;\r\n IPOTotalVolume: any;\r\n coverageNumber: string;\r\n isRefreshing:boolean=false;\r\n ipoId:any;\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n private apiService: ApiService,\r\n private sanitizer: DomSanitizer\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.lang = this.translate.currentLang;\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n this.GetAvailableIposList();\r\n }\r\n \r\n \r\n selectIPO(ipo: IPO, index: number){\r\n this.selectedIPO = ipo;\r\n if (this.lastSelectedIpoIndex !== index) {\r\n this.ipoList[index].selected = !this.ipoList[index].selected;\r\n if (this.lastSelectedIpoIndex !== -1) {\r\n this.ipoList[this.lastSelectedIpoIndex].selected = false;\r\n }\r\n this.lastSelectedIpoIndex = index;\r\n this.GetIpoDocuments(ipo.Id)\r\n }\r\n }\r\n \r\n GetIpoDocuments(id){\r\n this.apiService.GetIpoDocuments(id)\r\n .subscribe(\r\n (res)=>{\r\n this.ipoDocuments = res;\r\n }\r\n )\r\n }\r\n \r\n fundActionModal(isBuy:boolean) {\r\n this.dialog.open(IpoAccOrderModalComponent, {\r\n panelClass: \"modal-width\",\r\n data:{\r\n isBuy : isBuy,\r\n numberOfAccounts: this.numberOfAccounts\r\n }\r\n });\r\n }\r\n\r\n\r\n GetAvailableIposList()\r\n {\r\n\r\n this.apiService.GetAvailableIposList()\r\n .subscribe(\r\n (res) => {\r\n if(res){\r\n this.ipoList = res;\r\n \r\n this.selectedIPO = this.ipoList[0];\r\n this.GetIpoDocuments(this.selectedIPO.Id);\r\n this.ipoList[0].selected = !this.ipoList[0].selected;\r\n this.lastSelectedIpoIndex = 0; \r\n const apiCalls = this.ipoList.map(ipo =>\r\n this.apiService.fetchIPOTotalVolume(ipo.SymbolCode)\r\n );\r\n \r\n forkJoin(apiCalls).subscribe((responses: number[]) => {\r\n this.ipoList = this.ipoList.map((ipo, index) => ({\r\n ...ipo,\r\n IPOTotalVolume: responses[index],\r\n ipoAllotmentRatio: ipo.PublicStake >= responses[index] \r\n ? 100 \r\n : (ipo.PublicStake / responses[index] ) * 100\r\n }));\r\n });\r\n \r\n } else {\r\n this.ipoList = null;\r\n }\r\n }\r\n );\r\n }\r\n\r\n CalculateIPOAllotmentRatio() {\r\n const apiCalls = this.ipoList.map(ipo =>\r\n this.apiService.fetchIPOTotalVolume(ipo.SymbolCode)\r\n );\r\n\r\n this.GetAvailableIposList();\r\n }\r\n fetchIPOTotalVolume(symbolCode: any): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.apiService.fetchIPOTotalVolume(symbolCode)\r\n .subscribe(\r\n (res) => {\r\n if (res) {\r\n\r\n resolve(this.ipoList.find((ipo)=>ipo.SymbolCode == symbolCode).IPOTotalVolume); // Resolve the promise with the response\r\n } else {\r\n this.IPOTotalVolume = null; // Handle empty response\r\n resolve(null); // Resolve the promise with null\r\n }\r\n },\r\n (error) => {\r\n this.IPOTotalVolume = null;\r\n reject(error); // Reject the promise with the error\r\n }\r\n );\r\n });\r\n }\r\n\r\n\r\n CalculateIPOCoverage(ipoDetail: any, ipoOrderValue: any, symbolCode: string): number {\r\n\r\n if (ipoDetail && ipoDetail.PublicStake && ipoOrderValue[1].__zone_symbol__value) {\r\n const ipoTotalOrderQty =ipoOrderValue[1].__zone_symbol__value;\r\n const publicStake = ipoDetail.PublicStake;\r\n \r\n if( (ipoTotalOrderQty / publicStake)>1){\r\n this.ipoList = this.ipoList.map(ipo =>\r\n ipo.SymbolCode === ipo.SymbolCode \r\n ? { ...ipo, coverageRatio: (ipoTotalOrderQty / publicStake).toFixed(2)} \r\n : ipo\r\n );\r\n\r\n } \r\n\r\n } \r\n \r\n else {\r\n return null; // Handle the case where data is undefined\r\n }\r\n }\r\n refreshCLicked()\r\n {\r\n \r\n this.isRefreshing=true;\r\n const volumePromises = this.ipoList.map(ipo => this.fetchIPOTotalVolume(ipo.SymbolCode));\r\n \r\n // Wait for all volume fetches to complete\r\n Promise.all(volumePromises).then(() => {\r\n // Once all volumes are fetched, calculate allotment ratio for each IPO\r\n this.ipoList.forEach((ipo: IPO) => {\r\n ipo.Logo = this.sanitizer.bypassSecurityTrustUrl(`${ipo.Logo}`);\r\n ipo.Logo = ipo.Logo.changingThisBreaksApplicationSecurity;\r\n ipo.selected = false;\r\n this.CalculateIPOAllotmentRatio();\r\n\r\n \r\n });\r\n this.isRefreshing=false;\r\n }).catch(error => {\r\n this.isRefreshing=false;\r\n });\r\n \r\n }\r\n}\r\n","
0\" id=\"dark\" class=\"ipo-bg page-alignment\">\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ \"ipoTitle\" | translate }}

\r\n \r\n
\r\n
\r\n {{ \"ipoDesc\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{lang == 'ar'? ipo?.IpoStatusAr : ipo?.IpoStatusEn}}\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
{{lang == 'ar'? ipo?.NameAr : ipo?.NameEn}}
\r\n
{{ipo?.SectorEn}}
\r\n
{{ipo?.SectorAr}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ \"ipoPrice\" | translate }}\r\n \r\n \r\n {{ \"range-price\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{\r\n ipo?.StockPrice != null\r\n ? (ipo?.StockPrice | number: '1.2-2')\r\n : (ipo?.MinPrice | number: '1.2-2')\r\n }}\r\n \r\n \r\n {{ ipo?.MinPrice | number: '1.2-2' }} - {{ ipo?.MaxPrice | number: '1.2-2' }}\r\n \r\n {{ \"EGP\" | translate }}\r\n \r\n
\r\n
\r\n
\r\n {{ \"ipoType\" | translate }}\r\n \r\n \r\n \r\n
\r\n {{lang == 'ar'? ipo?.TypeAr : ipo?.TypeEn}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n {{ \"iPOAllocationRatio\" | translate }}\r\n \r\n \r\n \r\n \r\n

\r\n \r\n {{ \"iPOAllocationRatioDesc\" | translate }}\r\n \r\n
\r\n
\r\n {{ ipo.ipoAllotmentRatio | numberFormat }}%\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n {{ \"startDate\" | translate }}\r\n {{ipo?.StartDate | date: 'dd-MM-yyyy'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n {{ \"endDate\" | translate }}\r\n {{ipo?.EndDate | date: 'dd-MM-yyyy'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
{{'No-IPO-available'|translate}}
\r\n","import { TranslateService } from \"@ngx-translate/core\";\r\nimport { NewsDetailsModalComponent } from \"./../news-details-modal/news-details-modal.component\";\r\nimport { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport { CompanyNews } from \"src/app/models/company-news\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\n\r\n@Component({\r\n selector: \"app-news\",\r\n templateUrl: \"./news.component.html\",\r\n styleUrls: [\"./news.component.scss\"],\r\n})\r\nexport class NewsComponent implements OnInit {\r\n @Input() symbolCode: string;\r\n @Input() reuters: string;\r\n @Input() companyName: string;\r\n @Input() wasChanged: boolean;\r\n\r\n isNewsLoading: boolean;\r\n companyNews: CompanyNews[];\r\n\r\n isNewsView = true;\r\n announcements: CompanyNews[];\r\n\r\n setNewsView(value) {\r\n this.isNewsView = value;\r\n }\r\n constructor(\r\n public dialog: MatDialog,\r\n public translate: TranslateService,\r\n private _service: ApiService,\r\n signalService: SignalRService\r\n ) {\r\n // signalService.connectBidsAsksUpdates();\r\n\r\n signalService.newsChanges.subscribe((res: any) => {\r\n res.forEach((element: CompanyNews) => {\r\n if (element.SYMBOL_CODE == this.symbolCode)\r\n switch (element.TYPE) {\r\n case 1:\r\n this.companyNews?.unshift(element);\r\n default:\r\n this.announcements?.unshift(element);\r\n }\r\n // this.companyNews = res.filter((book) => book.TYPE === 1);\r\n // this.announcements = res.filter((book) => book.TYPE != 1);\r\n });\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.companyNews = [];\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) { \r\n if( (this.wasChanged == false && changes.wasChanged?.currentValue != null) || changes.wasChanged?.previousValue == null){\r\n if (changes.companyName?.currentValue != null) {\r\n if (changes.companyName?.currentValue != changes.companyName?.previousValue) {\r\n this.companyName = changes.companyName.currentValue;\r\n }\r\n }\r\n this.reuters = changes.reuters?.currentValue;\r\n this.companyName = changes.companyName?.currentValue;\r\n this.symbolCode = changes.symbolCode?.currentValue;\r\n if (this.symbolCode) this.fetchCompanyNews();\r\n }\r\n }\r\n\r\n openNewsModal(item) {\r\n this.dialog.open(NewsDetailsModalComponent, {\r\n panelClass: \"custom-dialog-container\",\r\n data: {\r\n item,\r\n },\r\n });\r\n }\r\n\r\n fetchCompanyNews() {\r\n this.isNewsLoading = true;\r\n\r\n this._service.fetchCompanyNews(this.symbolCode).subscribe((res) => {\r\n this.isNewsLoading = false;\r\n\r\n if (res) {\r\n this.companyNews = res.filter((book) => book.TYPE === 1);\r\n this.announcements = res.filter((book) => book.TYPE != 1);\r\n }\r\n });\r\n }\r\n\r\n getColor(item) {\r\n switch (item) {\r\n case 1:\r\n return {\r\n background: \"aquamarine\",\r\n color: \"black\",\r\n };\r\n case 2:\r\n return {\r\n background: \"bisque\",\r\n color: \"black\",\r\n };\r\n case 3:\r\n return {\r\n background: \"teal\",\r\n color: \"whitesmoke\",\r\n };\r\n case 4:\r\n return {\r\n background: \"greenyellow\",\r\n color: \"black\",\r\n };\r\n case 5:\r\n return {\r\n background: \"cornflowerblue\",\r\n color: \"black\",\r\n };\r\n case 6:\r\n return {\r\n background: \"darkorange\",\r\n color: \"black\",\r\n };\r\n case 7:\r\n return {\r\n background: \"darkslategrey\",\r\n color: \"white\",\r\n };\r\n case 8:\r\n return {\r\n background: \"yellow\",\r\n color: \"black\",\r\n };\r\n case 9:\r\n return {\r\n background: \"violet\",\r\n color: \"white\",\r\n };\r\n case 12: {\r\n return {\r\n background: \"lightcoral\",\r\n color: \"whitesmoke\",\r\n };\r\n }\r\n default: {\r\n return {\r\n background: \"lightgray\",\r\n color: \"black\",\r\n };\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{\"select-company-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{'no-news-hint'|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{'no-news-hint'|translate}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n","import { TranslateService } from \"@ngx-translate/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { NgxPrinterService } from \"ngx-printer\";\r\nimport { Account } from \"../client-data\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\nimport { MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport * as moment from \"moment\";\r\n\r\n@Component({\r\n selector: \"app-statement\",\r\n templateUrl: \"./statement.component.html\",\r\n styleUrls: [\"./statement.component.scss\"],\r\n})\r\nexport class StatementComponent implements OnInit {\r\n today = new Date();\r\n selectedStatement: any;\r\n statement: any;\r\n dateFrom: Date = new Date(this.today.setDate(this.today.getDate() - 3));\r\n dateTo: Date = new Date();\r\n selectedCurr = \"1\";\r\n\r\n noStatement;\r\n\r\n isInvoicesLoading: boolean = false;\r\n accList: Object;\r\n selectedClient: any;\r\n inputUser: Account;\r\n\r\n tryGenerate(item) {\r\n // this.router.navigate([\"preview-invoice\"], {\r\n // state: { invoice: this.selectedStatement },\r\n // });\r\n this.selectedStatement = item;\r\n\r\n setTimeout(() => {\r\n this.printerService.printDiv(\"print-section\");\r\n }, 500);\r\n }\r\n\r\n selectInvoice(invoicee) {\r\n this.selectedStatement = invoicee;\r\n }\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject(MAT_DIALOG_DATA) public data: string,\r\n public translate: TranslateService,\r\n private printerService: NgxPrinterService\r\n ) {\r\n this.accList = JSON.parse(localStorage.getItem(\"accList\")) as Account[];\r\n if (this.data != null && this.data[\"inputUser\"] != null) {\r\n this.selectedClient = this.data[\"inputUser\"];\r\n } else {\r\n this.selectedClient = this.accList[0].relationCode;\r\n }\r\n }\r\n\r\n fetchClientStatement() {\r\n let from = moment(this.dateFrom).format(\"MM-DD-YYYY\");\r\n let to = moment(this.dateTo).format(\"MM-DD-YYYY\");\r\n\r\n let lang = this.translate.currentLang == \"ar\" ? 1 : 2;\r\n let isRated = this.selectedCurr == \"-1\";\r\n\r\n // 01-03-2020\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Client/getClientStatementPDF?fromDate=${from}&toDate=${to}¤cy=${this.selectedCurr}&Rated=${isRated}&lang=${lang}&relationCode=${this.selectedClient}`\r\n );\r\n }\r\n\r\n onDateChange() {\r\n this.isInvoicesLoading = true;\r\n this.noStatement = null;\r\n\r\n this.fetchClientStatement().subscribe((res) => {\r\n if (res[\"Message\"] != null) {\r\n this.noStatement = res[\"Message\"];\r\n }\r\n\r\n if (res[\"fileURL\"] != null) {\r\n window.open(UrlConstants.backofficeUrl + res[\"fileURL\"], \"_blank\");\r\n }\r\n this.isInvoicesLoading = false;\r\n });\r\n }\r\n\r\n ngOnInit(): void { }\r\n}\r\n","
\r\n
{{\"my-statements\"|translate}}
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n

{{'my-statements'|translate}}

\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n ({{acc.relationCode}}) {{translate.currentLang=='en'?acc.clientNameEn:acc.clientNameAr}}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{'egp'|translate}}\r\n \r\n \r\n {{'usd'|translate}}\r\n \r\n \r\n {{'rated'|translate}}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n {{noStatement}}\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n","import { CdkDragDrop, moveItemInArray } from \"@angular/cdk/drag-drop\";\r\nimport { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Order } from \"src/app/models/order\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { GridsterService } from \"src/app/services/gridster.service\";\r\n\r\n@Component({\r\n selector: \"app-selected-order-trade\",\r\n templateUrl: \"./selected-order-trade.component.html\",\r\n styleUrls: [\"./selected-order-trade.component.scss\"],\r\n})\r\nexport class SelectedOrderTradeComponent implements OnInit {\r\n order: any;\r\n orderHistory: any;\r\n orderNumber: any;\r\n noData: boolean = false;\r\n mapFixStatusColor = new Map([\r\n [\"0\", \"white\"],\r\n [\"1\", \"#5aff55\"],\r\n [\"2\", \"darkgreen\"],\r\n [\"3\", \"yellow\"],\r\n [\"4\", \"#ff7200\"],\r\n [\"5\", \"#550eff\"],\r\n [\"6\", \"yellow\"],\r\n [\"8\", \"darkred\"],\r\n [\"9\", \"gray\"],\r\n [\"A\", \"yellow\"],\r\n [\"C\", \"darkred\"],\r\n [\"E\", \"yellow\"],\r\n [\"H\", \"darkred\"],\r\n [\"N\", \"darkred\"],\r\n [\"R\", \"yellow\"],\r\n [\"W\", \"yellow\"],\r\n [\"P\", \"yellow\"],\r\n [\"X\", \"yellow\"],\r\n [\"Y\", \"darkred\"],\r\n [\"Z\", \"cyan\"],\r\n ]);\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: string,\r\n private apiService: ApiService,\r\n public dialogRef: MatDialogRef,\r\n public translate: TranslateService\r\n ) {\r\n if (this.data[\"order\"] != null) {\r\n this.fetchHistory(this.data[\"order\"]);\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n fetchHistory(orderNumber) {\r\n this.apiService.fetchOrderHistory(orderNumber).subscribe((res) => {\r\n this.noData = true;\r\n\r\n this.order = res;\r\n\r\n this.orderHistory = this.order.OrderHistory;\r\n });\r\n }\r\n getBackgroundColor(fixStatusCode) {\r\n if (fixStatusCode) {\r\n let backgroundColor = this.mapFixStatusColor.get(fixStatusCode);\r\n return backgroundColor;\r\n }\r\n }\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n titleCancelOrder(status): boolean {\r\n if (status == 9 || status == 10 || status == 3) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","

{{\"order-history\"|translate}} ({{order?.OrderNumber}})

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ \"new-order\"|translate}}
\r\n
{{ \"cancel-req\"|translate}}
\r\n
{{'update' | translate}} |\r\n {{ \"price\"|translate}} \r\n {{ \"qty\"|translate}} \r\n {{ \"validty\"|translate}}
\r\n {{order.CreateDate | date: 'dd/MM/yyyy hh:mm'}}\r\n
\r\n
\r\n

\r\n {{ \"fix\" | translate}} | {{translate.currentLang == 'en'? order.FixStatusEn : order.FixStatusAr}}

\r\n

\r\n {{ \"order-status\" | translate}} | {{translate.currentLang == 'en'? order.OrderStatusEn : order.OrderStatusAr}}

\r\n

\r\n {{ \"validty\" | translate}} | {{translate.currentLang == 'en'? order.ChangeTiffDateFlagEn : order.ChangeTiffDateFlagAr}} {{order.ChangeTiffDateTo| date: 'dd/MM/yyyy' }}

\r\n

\r\n {{'qty' | translate}} | {{order.ChangeQtyTo| number}} \r\n - {{'price' | translate}} | {{order.ChancePriceTo}}

\r\n

{{'remark'}} | {{order.Remark}}

\r\n

{{order.FixText}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
{{\"no-history-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n","import { Router } from \"@angular/router\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n FormGroup,\r\n FormControl,\r\n Validators,\r\n AsyncValidatorFn,\r\n} from \"@angular/forms\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ReCaptchaV3Service } from \"ng-recaptcha\";\r\nimport { changePassObj } from \"src/app/models/login\";\r\nimport Swal from \"sweetalert2\";\r\nimport { CustomValidators } from \"../forget-password/custom-validators\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\n\r\n@Component({\r\n selector: \"app-change-password\",\r\n templateUrl: \"./change-password.component.html\",\r\n styleUrls: [\"./change-password.component.scss\"],\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n changePassObj: changePassObj = {} as changePassObj;\r\n resetPassWordForm: FormGroup;\r\n passwordStepper: any;\r\n showPassword1: boolean = false;\r\n showPassword2: boolean = false;\r\n lang: string;\r\n constructor(\r\n private recaptchaV3Service: ReCaptchaV3Service,\r\n private translate: TranslateService,\r\n private accService: AccountService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private apiService: ApiService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.lang = this.translate.currentLang\r\n this.passwordStepper = 1;\r\n this.resetPassWordForm = new FormGroup(\r\n {\r\n currentPassword: new FormControl(\r\n null,\r\n Validators.compose([\r\n // check whether the entered password numbers Only\r\n Validators.required,\r\n ])\r\n ),\r\n firstNewPassword: new FormControl(\r\n null,\r\n Validators.compose([\r\n Validators.required,\r\n // check whether the entered password has a number\r\n CustomValidators.patternValidator(/\\d/, {\r\n hasNumber: true,\r\n }),\r\n // check whether the entered password has upper case letter\r\n CustomValidators.patternValidator(/[A-Z]/, {\r\n hasCapitalCase: true,\r\n }),\r\n // check whether the entered password has a lower case letter\r\n CustomValidators.patternValidator(/[a-z]/, {\r\n hasSmallCase: true,\r\n }),\r\n // check whether the entered password has a special character\r\n CustomValidators.patternValidator(\r\n /[ !@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/,\r\n {\r\n hasSpecialCharacters: true,\r\n }\r\n ),\r\n Validators.minLength(8),\r\n ])\r\n ),\r\n reFirstNewPassword: new FormControl(\r\n null,\r\n Validators.compose([Validators.required])\r\n ),\r\n secondNewPassword: new FormControl(\r\n null,\r\n Validators.compose([\r\n // check whether the entered password numbers Only\r\n\r\n Validators.required,\r\n Validators.pattern(\"[-_a-zA-Z0-9]*\"),\r\n Validators.minLength(4),\r\n Validators.maxLength(6)\r\n ])\r\n ),\r\n reSecondNewPassword: new FormControl(\r\n null,\r\n Validators.compose([Validators.required])\r\n ),\r\n },\r\n [\r\n CustomValidators.firstPasswordMatchValidator as AsyncValidatorFn,\r\n CustomValidators.secondPasswordMatchValidator as AsyncValidatorFn,\r\n ]\r\n );\r\n\r\n }\r\n\r\n onSubmit() {\r\n this.changePassObj.relationCode = JSON.parse(localStorage.getItem('userProfile')).RelationCode;\r\n this.changePassObj.currentPassword = this.resetPassWordForm.value.currentPassword;\r\n this.changePassObj.password = this.resetPassWordForm.value.firstNewPassword;\r\n this.changePassObj.secondPassword =\r\n this.resetPassWordForm.value.secondNewPassword;\r\n this.recaptchaV3Service\r\n .execute(\"importantAction\")\r\n .subscribe((token: string) => {\r\n this.apiService.changePassword(this.changePassObj).subscribe(\r\n (arg) => {\r\n let resMsg :any;\r\n resMsg = arg\r\n if(resMsg.IsSuccess == true){\r\n\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"success\",\r\n title: this.translate.instant(\"pass-success-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n let username = sessionStorage.getItem(\"userName\");\r\n this.apiService.logOut(username).subscribe(res =>{\r\n this.accService.logout();\r\n this.router.navigate([\"/login\"]);\r\n })\r\n }else{\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"curr-pass-error-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n },\r\n (err) => {\r\n this.resetPassWordForm.reset()\r\n this.passwordStepper = 1;\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"pass-error-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n );\r\n });\r\n }\r\n next() {\r\n this.showPassword1 = false;\r\n this.showPassword2 = false;\r\n this.passwordStepper = this.passwordStepper + 1;\r\n }\r\n back() {\r\n this.showPassword1 = false;\r\n this.showPassword2 = false;\r\n this.passwordStepper -= 1;\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
{{'change-password' |translate}} | \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n","export interface MutualFund {\r\n SymbolCode: string;\r\n ReutersCode: string;\r\n RoundDigits: number;\r\n IconUrl: string;\r\n FundNameE: string;\r\n FundNameA: string; \r\n CurrencyAbbreviationE:string;\r\n CurrencyAbbreviationA:string;\r\n ClosePrice: number;\r\n LastYearClosePrice:number;\r\n AnnualChange: number;\r\n AnnualChangePercentage:number;\r\n lastMonthClosePrice: number;\r\n LastMonthChange: number;\r\n LastMonthChangePercentage:number;\r\n selected: boolean;\r\n}\r\n\r\nexport interface FundDetails {\r\n IconUrl: string;\r\n SymbolCode: string;\r\n ReutersCode: string;\r\n FundNameE: string;\r\n FundNameA: string; \r\n ClosePrice: number;\r\n CurencyID: number;\r\n AbbreviationE: string;\r\n AbbreviationA: string;\r\n RiskProfileEN: string;\r\n RiskProfileAR: string;\r\n FundTypeAR: string;\r\n FundTypeEN: string;\r\n ExpenseType: number;\r\n PercentValue: number;\r\n FixedValue: number;\r\n Maximum: number;\r\n Minimum: number;\r\n BuyMinimumCertificate: number;\r\n SellMinimumCertificate: number;\r\n SubscriptionFrequencyEn: string;\r\n SubscriptionFrequencyAr: string;\r\n RedemptionFrequencyEn: string;\r\n RedemptionFrequencyAr: string;\r\n AboutEn: string;\r\n AboutAr: string;\r\n PdfsUrls: string;\r\n PdfsUrlsList: string[];\r\n CutOffTime: string;\r\n}\r\n\r\nexport interface FundPriceChart{\r\n Data: FundPriceChartData[]\r\n XAxis: string[]\r\n YAxis: number[]\r\n}\r\n\r\nexport interface FundPriceChartData{\r\n ClosePrice: number;\r\n Date: String;\r\n}\r\n\r\nexport enum AccountType {\r\n FUND = 3,\r\n BASIC = 0,\r\n MINOR = 1001\r\n}","//import { OrderReviewComponent } from \"../components/order-review/order-review.component\";\r\nimport { ConfigService } from \"../services/config.service\";\r\nimport { DetailedQuotaComponent } from \"../screens/detailed-quota/detailed-quota.component\";\r\nimport { SlickMarketWatchComponent } from \"../components/slick-market-watch/slick-market-watch.component\";\r\nimport { ApiService } from \"../services/api.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { MarketNewsComponent } from \"../components/market-news/market-news.component\";\r\nimport { OrderBookComponent } from \"../components/order-book/order-book.component\";\r\nimport { MarketTradesComponent } from \"../components/market-trades/market-trades.component\";\r\nimport { MarketDepthComponent } from \"../components/market-depth/market-depth.component\";\r\nimport { GridsterService } from \"../services/gridster.service\";\r\nimport { MarketDepthBidsComponent } from \"../components/market-depth-bids/market-depth-bids.component\";\r\nimport { MarketDepthAsksComponent } from \"../components/market-depth-asks/market-depth-asks.component\";\r\nimport { TradesComponent } from \"../components/trades/trades.component\";\r\nimport { NewsComponent } from \"../components/news/news.component\";\r\nimport { HistoricalComponent } from \"../components/historical/historical.component\";\r\nimport {\r\n ChangeDetectorRef,\r\n OnInit,\r\n QueryList,\r\n ViewChildren,\r\n AfterViewInit,\r\n Component,\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n ElementRef,\r\n ViewChild,\r\n Injectable,\r\n} from \"@angular/core\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport {\r\n GridsterConfig,\r\n GridsterItem,\r\n} from \"angular-gridster2\";\r\nimport { Router } from \"@angular/router\";\r\nimport Swal from \"sweetalert2\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { UserIdleService } from \"angular-user-idle\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport 'zone.js/dist/zone';\r\nimport {\r\n IgcContentPane,\r\n IgcDockManagerComponent,\r\n IgcDockManagerLayout,\r\n IgcDockManagerPaneType,\r\n IgcPaneCloseEventArgs,\r\n IgcSplitPane,\r\n IgcSplitPaneOrientation,\r\n IgcDockManagerPane,\r\n IgcDockManagerPoint\r\n} from 'docking-egid';\r\nimport { defineCustomElements } from 'docking-egid/loader';\r\nimport { FlexLayoutService } from \"src/app/services/flex-layout.service\";\r\nimport { HubConnection, HubConnectionBuilder } from \"@microsoft/signalr\";\r\nimport { CompanyDepth } from \"../models/company-depth\";\r\nimport { UrlConstants } from \"../models/urlConstants\";\r\nimport * as signalR from \"@microsoft/signalr\";\r\nimport { MarketWatchDetailService, StockDetail } from \"./market-watch-detail.service\";\r\nimport { MarketTrades } from \"../models/company-trades\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n })\r\n\r\nexport class HomeComponentsServices \r\n{\r\n private depthConnection: HubConnection;\r\n http: any;\r\n constructor(private _service: ApiService,\r\n private signalService: SignalRService,\r\n private _marketDetail: MarketWatchDetailService\r\n ) {}\r\n\r\n fetchCompanyNews(symbolCode: string) {\r\n return this._service.fetchCompanyNews(symbolCode);\r\n }\r\n\r\n fetchDepthByOrder(symbolCode: string) {\r\n return this._service.fetchDepthByOrder(symbolCode);\r\n }\r\n \r\n fetchDepthByPrice(symbolCode: string) {\r\n return this._service.fetchDepthByPrice(symbolCode,10);///WRONG no 0 here check component\r\n }\r\n \r\n connectSignalR(symbolCode: string) {\r\n const depthConnection = new HubConnectionBuilder()\r\n .withUrl(UrlConstants.newSignalR + \"/bidsAsksHub\", {\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets,\r\n })\r\n .build();\r\n \r\n return depthConnection.start().then(() => {\r\n return depthConnection.invoke(\"JoinGroup\", symbolCode).then(() => {\r\n return depthConnection;\r\n });\r\n });\r\n }\r\n \r\n stopSignalRConnection(connection: HubConnection) {\r\n if (connection) connection.stop();\r\n }\r\n fetchMarketTrades() {\r\n return this._service.fetchMarketTrades();\r\n }\r\n \r\n subscribeToTradeUpdates(allMarketNames: StockDetail[], callback: (trade: MarketTrades) => void) {\r\n this.signalService.tradeChanges.subscribe((res) => {\r\n if (allMarketNames) {\r\n res.reverse();\r\n res.forEach((trade) => {\r\n this.updateStockDetail(trade, allMarketNames);\r\n callback(trade);\r\n });\r\n }\r\n });\r\n }\r\n \r\n updateStockDetail(trade: MarketTrades, allMarketNames: StockDetail[]) {\r\n if (trade && allMarketNames) {\r\n const companyDetail = allMarketNames.find((x) => x['SYMBOL_CODE'] === trade.SEC_BORAD_ID);\r\n if (companyDetail) {\r\n trade.ARB_Name = companyDetail['arb_shortname'];\r\n trade.ENG_Name = companyDetail['eng_shortname'];\r\n trade.REUTERS = companyDetail['Reuters'];\r\n }\r\n }\r\n }\r\n \r\n getMarketNames() {\r\n return this._marketDetail.marketNames?.getValue();\r\n }\r\n \r\n subscribeToMarketNames(callback: (names: StockDetail[]) => void) {\r\n this._marketDetail.namesSubject.subscribe((res) => {\r\n callback(res as StockDetail[]);\r\n });\r\n }\r\n\r\n fetchCompanyTradesByPrice(symbolCode: string) {\r\n return this._service.fetchCompanyTrades(symbolCode);\r\n }\r\n \r\n fetchCompanyTradesByTime(symbolCode: string) {\r\n return this._service.fetchCompanyTradesByTime(symbolCode);\r\n }\r\n\r\n fetchCompanyMarketDepth(symbolCode: string,startDate: Date, endDate: Date) {\r\n if (symbolCode) {\r\n return this.http.post(\r\n UrlConstants.feedUrl + \"/api/Feed/GetSymbolHistory\",\r\n {\r\n SymbolCode: symbolCode,\r\n Skip: 0,\r\n Take: 1000,\r\n FromDate: startDate,\r\n ToDate: endDate,\r\n }\r\n );\r\n }\r\n }\r\n \r\n // toggleOrderView(symbolCode: string, isOrder: boolean, otherComponentInstance: any) {\r\n // otherComponentInstance.isDepthLoading = true;\r\n // otherComponentInstance.isOrder = isOrder;\r\n // if (isOrder) {\r\n // this.fetchDepthByOrder(symbolCode, otherComponentInstance);\r\n // } else {\r\n // this.fetchDepthByPrice(symbolCode, otherComponentInstance);\r\n // }\r\n // } \r\n}","import { SignalRService } from \"./../../services/signalr.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ForgetPassObj } from \"./../../models/login\";\r\nimport { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ReCaptchaV3Service } from \"ng-recaptcha\";\r\nimport { TwfaComponent } from \"src/app/components/twfa/twfa.component\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { AlertService } from \"src/app/services/alert.service\";\r\nimport Swal from \"sweetalert2\";\r\nimport { environment } from \"src/environments/environment.prod\";\r\nimport {\r\n BroadcastEventListener,\r\n ISignalRConnection,\r\n SignalR,\r\n SignalRConfiguration,\r\n} from \"ng2-signalr\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\nimport { GridsterService } from \"src/app/services/gridster.service\";\r\nimport { CompanySettings } from \"src/app/models/company-settings\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\n\r\n@Component({\r\n selector: \"app-new-login\",\r\n templateUrl: \"./new-login.component.html\",\r\n styleUrls: [\"./new-login.component.scss\"],\r\n})\r\nexport class NewLoginComponent implements OnInit, OnDestroy {\r\n [x: string]: any;\r\n tfa: any;\r\n\r\n forgetPassObj: ForgetPassObj = {} as ForgetPassObj;\r\n form: FormGroup;\r\n formForget: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n forgetPass: boolean = false;\r\n resetEmail: \"\";\r\n correctEmail = false;\r\n remeberMe = false;\r\n private _subscription: Subscription;\r\n currentVersion = environment.version;\r\n private dsConnection: ISignalRConnection;\r\n companySettings: CompanySettings;\r\n isEGID = UrlConstants.isEGID;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private alertService: AlertService,\r\n private signalR: SignalR,\r\n private dialog: MatDialog,\r\n public translate: TranslateService,\r\n private accService: AccountService,\r\n private recaptchaV3Service: ReCaptchaV3Service,\r\n private gridService: GridsterService,\r\n private apiService: ApiService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n username: [\"\", Validators.required],\r\n password: [\"\", Validators.required],\r\n });\r\n this.isEGID ? null : this.GetCompanySettings();\r\n }\r\n\r\n // convenience getter for easy access to form fields\r\n get f() {\r\n return this.form.controls;\r\n }\r\n get ff() {\r\n return this.formForget.controls;\r\n }\r\n\r\n switchLang() {\r\n if (this.translate.currentLang == \"ar\") {\r\n this.translate.use(\"en\");\r\n this.translate.setDefaultLang(\"en\");\r\n this.gridService.saveLang(\"en\");\r\n } else {\r\n this.translate.use(\"ar\");\r\n this.translate.setDefaultLang(\"ar\");\r\n this.gridService.saveLang(\"ar\");\r\n }\r\n window.location.reload();\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.form.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n\r\n if (this.form.valid) {\r\n this.recaptchaV3Service\r\n .execute(\"importantAction\")\r\n .subscribe((token: string) => {\r\n this.accService\r\n .checkAuth(this.f.username.value, this.f.password.value)\r\n .subscribe(\r\n (res) => {\r\n this.loading = false;\r\n\r\n this.tfa = res;\r\n this.tfa.Username = this.f.username.value;\r\n\r\n sessionStorage.setItem(\"userName\", this.f.username.value);\r\n this.twfa(this.tfa);\r\n },\r\n (err) => {\r\n this.loading = false;\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"login-failed-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n );\r\n });\r\n }\r\n }\r\n\r\n connectOrdersSignalr() {\r\n let config: SignalRConfiguration = new SignalRConfiguration();\r\n config.url = UrlConstants.backofficeUrl;\r\n config.hubName = \"dSHub\";\r\n config.logging = false;\r\n\r\n this.signalR.connect(config).then((res) => {\r\n this.dsConnection = res;\r\n //open new tab with url\r\n var newTab = window.open(\r\n \"truckscale:\\\\\\\\\" + this.dsConnection.id,\r\n \"_blank\"\r\n );\r\n\r\n let method = new BroadcastEventListener(\"dsNotify\");\r\n\r\n this.dsConnection.listen(method);\r\n method.subscribe((update) => {\r\n if (newTab != null || newTab != undefined) {\r\n newTab.close();\r\n this.twfa(update);\r\n }\r\n });\r\n });\r\n }\r\n\r\n loginWithToken() {\r\n this.connectOrdersSignalr();\r\n }\r\n onForget() {\r\n this.recaptchaV3Service\r\n .execute(\"importantAction\")\r\n .subscribe((token: string) => {\r\n this.forgetPassObj.Email = this.formForget.value.email;\r\n this.accService.forgetPassword(this.forgetPassObj).subscribe((arg) => {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"success\",\r\n title: this.translate.instant(\"forget-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n });\r\n });\r\n }\r\n forgetPassword() {\r\n this.forgetPass = !this.forgetPass;\r\n if (this.forgetPass == true) {\r\n this.formForget = this.formBuilder.group({\r\n email: [null, [Validators.required, Validators.email]],\r\n });\r\n }\r\n }\r\n\r\n twfa(data) {\r\n const dialogRef = this.dialog.open(TwfaComponent, {\r\n // disableClose: true,\r\n width: \"350px\",\r\n data: { data: data, remeberMe: this.remeberMe },\r\n });\r\n }\r\n ngOnDestroy() {\r\n if (this._subscription) {\r\n this._subscription.unsubscribe();\r\n }\r\n const element = document.getElementsByClassName(\r\n \"grecaptcha-badge\"\r\n )[0] as HTMLElement;\r\n if (element) {\r\n element.style.visibility = \"hidden\";\r\n }\r\n }\r\n\r\n GetCompanySettings() {\r\n this.apiService.GetCompanySettings()\r\n .subscribe(\r\n (data: CompanySettings) => {\r\n this.companySettings = data;\r\n }\r\n )\r\n }\r\n\r\n get supportNumber() {\r\n return UrlConstants.supportNumber;\r\n }\r\n}\r\n","
\r\n\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n Token\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n person\r\n \r\n\r\n
\r\n \r\n
\r\n
{{'username-required'|translate}}
\r\n
\r\n
\r\n\r\n
\r\n \r\n lock\r\n \r\n\r\n \r\n
\r\n
{{'password-required'|translate}}
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n {{\"follow-us\"|translate}}\r\n \r\n
\r\n
\r\n {{supportNumber}}\r\n {{\"call-us\"|translate}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
{{currentVersion}}
\r\n
\r\n","import { ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AccountType, FundDetails, MutualFund } from 'src/app/models/mutualFund';\r\nimport { Account } from 'src/app/screens/user-profile/client-data';\r\nimport { ApiService } from 'src/app/services/api.service';\r\n\r\n@Component({\r\n selector: 'app-fund-acc-order-modal',\r\n templateUrl: './fund-acc-order-modal.component.html',\r\n styleUrls: ['./fund-acc-order-modal.component.scss']\r\n})\r\nexport class FundAccOrderModalComponent implements OnInit {\r\n\r\n lang: string;\r\n isBuy:boolean=false;\r\n numberOfAccounts: number=0;\r\n accountSelected: boolean=false;\r\n typeSelected: string=null;\r\n type: string='success';\r\n accountList:Account[];\r\n selectedAccount: Account;\r\n relationCode: string;\r\n isLoading:boolean=false;\r\n selectedFund: MutualFund;\r\n fundDetails: FundDetails;\r\n isStep1Completed: boolean = false;\r\n \r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public translate: TranslateService,\r\n public dialogRef: MatDialogRef,\r\n public dialog: MatDialog,\r\n private cdr: ChangeDetectorRef,\r\n private apiService: ApiService,\r\n private toastr: ToastrService\r\n ) {\r\n this.lang = this.translate.currentLang\r\n this.isBuy= this.data['isBuy']\r\n this.accountList = JSON.parse(localStorage.getItem(\"accList\")).filter(acc => acc.accountType === AccountType.FUND);\r\n this.numberOfAccounts = this.accountList? this.accountList.length:0;\r\n this.selectedAccount = this.numberOfAccounts == 1?this.accountList[0]:null;\r\n this.relationCode = JSON.parse(localStorage.getItem('userProfile')).RelationCode;\r\n this.selectedFund = this.data['selectedFund']\r\n this.fundDetails = this.data['fundDetails']\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openFundAccount(){\r\n const MAINCODE = 0\r\n this.apiService.OpenNewFundAccountRequest(MAINCODE, this.relationCode)\r\n .subscribe(\r\n (res)=>{\r\n this.toastr.success(\"\", this.translate.instant(\"success-msg\"), {\r\n timeOut: 15000,\r\n positionClass: \"toast-bottom-center\",\r\n closeButton: true,\r\n });\r\n }, (err)=>{\r\n this.toastr.error(\"\", this.translate.instant(\"error-msg\"), {\r\n timeOut: 15000,\r\n positionClass: \"toast-bottom-center\",\r\n closeButton: true,\r\n });\r\n }\r\n )\r\n this.dialogRef.close();\r\n }\r\n\r\n\r\n\r\n selectAccount(account :Account,stepper: any){\r\n this.accountSelected = true;\r\n this.selectedAccount = account; \r\n this.cdr.detectChanges();\r\n stepper.next();\r\n }\r\n\r\n selectType(stepper: any,event: any,type: string){\r\n this.typeSelected = type; \r\n this.cdr.detectChanges();\r\n stepper.next(); \r\n const TARGET = event.currentTarget as HTMLElement;\r\n var tabs = document.querySelectorAll('.tab-card');\r\n tabs.forEach(i => i.classList.remove('selectedType'));\r\n let element = document.getElementById(TARGET.id);\r\n element?.classList.add('selectedType');\r\n }\r\n\r\n createOrder(stepper: any){\r\n stepper.next(); \r\n }\r\n\r\n submitOrder(stepper: any){\r\n stepper.next(); \r\n }\r\n\r\n closeModal(){\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{'open-fund-acc-now'|translate}}
\r\n
{{'open-fund-acc-now-hint'|translate}}
\r\n
\r\n
\r\n \"\"\r\n
\r\n \r\n \r\n
\r\n\r\n 0\" [linear]=\"true\" #stepper> \r\n 1\" [completed]=\"accountSelected\" [label]=\"'ChooseAccount' | translate\">\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n \r\n Hey there! 🌟 \r\n \r\n
\r\n \r\n Heads up, we're accepting 'FUND' account types only for Mutual Fund orders. Simplify your investment journey with us. Let's get started!\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
{{lang == 'ar'? acc.clientNameAr: acc.clientNameEn}}
\r\n
({{acc.relationCode}})
\r\n
\r\n
\r\n {{lang == 'ar'? acc.accountTypeAr: acc.accountTypeEn}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n \r\n {{ \"buy\" | translate }}\r\n \r\n {{selectedFund?.ReutersCode}} @ {{selectedFund?.ClosePrice}} {{ lang=='ar'? selectedFund?.CurrencyAbbreviationA: selectedFund?.CurrencyAbbreviationE }} \r\n
\r\n
{{ lang=='ar'? selectedAccount?.clientNameAr:selectedAccount?.clientNameEn}}
\r\n
\r\n
\r\n
\r\n {{lang == 'ar'? selectedAccount?.accountTypeAr : selectedAccount?.accountTypeEn}}\r\n
({{selectedAccount?.relationCode}})
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{'Your Balance'|translate}}\r\n EGP 202.29871\r\n \r\n \r\n Your Certificates\r\n 100\r\n \r\n
\r\n \r\n
\r\n Enter Cash\r\n Enter Certificate Number\r\n Max\r\n
\r\n
\r\n \r\n EGP 00.00\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Market : EGY\r\n
\r\n
\r\n Date & Time : 07-12-2023 09:30 AM\r\n
\r\n
\r\n
\r\n
\r\n Quantity : 2 Certificate(s)\r\n
\r\n
\r\n Expiry : Day\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n \r\n Oops !\r\n \r\n
\r\n \r\n Don't exceed your blocked amount. Stay in check, and trade happily! Questions? Ask away! Happy trading!\"\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n \r\n {{ \"buy\" | translate }}\r\n \r\n {{selectedFund?.ReutersCode}} @ {{selectedFund?.ClosePrice}} {{ lang=='ar'? selectedFund?.CurrencyAbbreviationA: selectedFund?.CurrencyAbbreviationE }} \r\n
\r\n
{{ lang=='ar'? selectedAccount?.clientNameAr:selectedAccount?.clientNameEn}}
\r\n
\r\n
\r\n
\r\n {{lang == 'ar'? selectedAccount?.accountTypeAr : selectedAccount?.accountTypeEn}}\r\n
({{selectedAccount?.relationCode}})
\r\n
\r\n
\r\n
\r\n
\r\n Market EGY\r\n
\r\n
\r\n Quantity 2 Certificate(s)\r\n
\r\n
\r\n Order value 150000\r\n
\r\n
\r\n block 25% 5000\r\n
\r\n
\r\n Date & Time 07-12-2023 09:30 AM\r\n
\r\n
\r\n Expiry Day\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Total Fees EGP 2.00\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Estimated Total EGP 49.28\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n \r\n Hey! 🚀 \r\n \r\n
\r\n \r\n Orders checked vs. Balance 2 hrs before IPO close. If there's a negative balance, no sweat! Add cash or tweak QTY. Easy, right? Happy trading!\"\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n
\r\n
Request Sent!
\r\n
You can start your fund trading now by opening an account
\r\n
\r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n
\r\n
{{ \"Sorry\" | translate }}
\r\n
You can start your fund trading now by opening an account
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","export class Alert {\r\n id: string;\r\n type: AlertType;\r\n message: string;\r\n autoClose: boolean;\r\n keepAfterRouteChange: boolean;\r\n fade: boolean;\r\n\r\n constructor(init?: Partial) {\r\n Object.assign(this, init);\r\n }\r\n}\r\n\r\nexport enum AlertType {\r\n Success,\r\n Error,\r\n Info,\r\n Warning,\r\n}\r\n","import { SelectCompanyModalComponent } from \"./components/select-company-modal/select-company-modal.component\";\r\nimport { ConfigService } from \"src/app/services/config.service\";\r\nimport { SignalRService } from \"./services/signalr.service\";\r\nimport { NewsComponent } from \"./components/news/news.component\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport {\r\n APP_INITIALIZER,\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n Injector,\r\n NgModule,\r\n} from \"@angular/core\";\r\nimport {\r\n HttpClient,\r\n HttpClientModule,\r\n HTTP_INTERCEPTORS,\r\n} from \"@angular/common/http\";\r\n\r\nimport { RecaptchaV3Module, RECAPTCHA_V3_SITE_KEY } from \"ng-recaptcha\";\r\nimport { RecaptchaModule, RecaptchaFormsModule } from \"ng-recaptcha\";\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { HomeComponent } from \"./screens/home/home.component\";\r\nimport { LoginComponent } from \"./screens/login/login.component\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { TranslateLoader, TranslateModule } from \"@ngx-translate/core\";\r\nimport { TranslateHttpLoader } from \"@ngx-translate/http-loader\";\r\nimport { SearchPipe } from \"./screens/home/search.pipe\";\r\nimport { TradesComponent } from \"./components/trades/trades.component\";\r\nimport { MarketDepthComponent } from \"./components/market-depth/market-depth.component\";\r\nimport { NewsDetailsModalComponent } from \"./components/news-details-modal/news-details-modal.component\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { MarketWatchTableComponent } from \"./components/market-watch-table/market-watch-table.component\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { NewTradeChartComponent } from \"./components/new-trade-chart/new-trade-chart.component\";\r\nimport { NgApexchartsModule } from \"ng-apexcharts\";\r\nimport { GridsterModule } from \"angular-gridster2\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport { MatListModule } from \"@angular/material/list\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { MarketDepthAsksComponent } from \"./components/market-depth-asks/market-depth-asks.component\";\r\nimport { MarketDepthBidsComponent } from \"./components/market-depth-bids/market-depth-bids.component\";\r\nimport { DynamicModule } from \"ng-dynamic-component\";\r\nimport { MatCardModule } from \"@angular/material/card\";\r\nimport { MatTableModule } from \"@angular/material/table\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { ContextMenuModule } from \"ngx-contextmenu\";\r\nimport { CustomNumberPipe } from \"./services/custom-number.pipe\";\r\nimport { NgxMarqueeModule } from \"ngx-marquee\";\r\nimport { NgxDatatableModule } from \"@swimlane/ngx-datatable\";\r\nimport { ContextMenuComponent } from \"./components/market-watch-table/context-menu/context-menu.component\";\r\nimport { DragDropModule } from \"@angular/cdk/drag-drop\";\r\nimport { MarketGridViewComponent } from \"./components/market-grid-view/market-grid-view.component\";\r\nimport { MarketTradesComponent } from \"./components/market-trades/market-trades.component\";\r\nimport { HomeMarketSummaryComponent } from \"./components/home-market-summary/home-market-summary.component\";\r\nimport { CompanyProfileComponent } from \"./screens/company-profile/company-profile.component\";\r\nimport { NavBarComponent } from \"./components/nav-bar/nav-bar.component\";\r\nimport { SignalRConfiguration, SignalRModule } from \"ng2-signalr\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { OrderBuyComponent } from \"./components/order-buy/order-buy.component\";\r\nimport { HomeNewComponent } from \"./screens/home-new/home-new.component\";\r\nimport { KtdGridModule } from \"@katoid/angular-grid-layout\";\r\nimport { MatButtonToggleModule } from \"@angular/material/button-toggle\";\r\nimport { HistoricalComponent } from \"./components/historical/historical.component\";\r\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\r\nimport { MatNativeDateModule, MAT_DATE_LOCALE } from \"@angular/material/core\";\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\r\nimport { ExportAsModule } from \"ngx-export-as\";\r\nimport { OrderBookComponent } from \"./components/order-book/order-book.component\";\r\nimport { ConfirmationComponent } from \"./components/confirmation/confirmation.component\";\r\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\r\nimport { UpdateOrderComponent } from \"./components/update-order/update-order.component\";\r\nimport { GlobalMarketsComponent } from \"./screens/global-markets/global-markets.component\";\r\nimport { MarketNewsComponent } from \"./components/market-news/market-news.component\";\r\nimport { UserProfileComponent } from \"./screens/user-profile/user-profile.component\";\r\nimport { UserPortfolioComponent } from \"./components/user-portfolio/user-portfolio.component\";\r\nimport {\r\n NgbAccordionModule,\r\n NgbModule,\r\n NgbTooltipModule,\r\n} from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MatRadioModule } from \"@angular/material/radio\";\r\nimport { CreateAlertComponent } from \"./components/create-alert/create-alert.component\";\r\nimport { AlertManagerComponent } from \"./components/alert-manager/alert-manager.component\";\r\nimport { CommonModule, DatePipe, DecimalPipe } from \"@angular/common\";\r\nimport { UpdateFlashDirective } from \"./components/market-watch-table/update-flash.directive\";\r\nimport { CarouselModule } from \"ngx-owl-carousel-o\";\r\nimport { SlickCarouselModule } from \"ngx-slick-carousel\";\r\nimport { LocalMarketComponent } from \"./screens/local-market/local-market.component\";\r\nimport { InvoiceComponent } from \"./screens/user-profile/invoice/invoice.component\";\r\nimport { InvoiceDetailsComponent } from \"./screens/user-profile/invoice/invoice-details/invoice-details.component\";\r\nimport { NgxPrintModule } from \"ngx-print\";\r\nimport { SelectStatementDateComponent } from \"./components/select-statement-date/select-statement-date.component\";\r\nimport { PreviewInvoiceComponent } from \"./screens/user-profile/invoice/preview-invoice/preview-invoice.component\";\r\nimport { NgxPrinterModule } from \"ngx-printer\";\r\nimport { StatementComponent } from \"./screens/user-profile/statement/statement.component\";\r\nimport { StatementDetailsComponent } from \"./screens/user-profile/statement/statement-details/statement-details.component\";\r\nimport { MaterialMarketWatchComponent } from \"./components/material-market-watch/material-market-watch.component\";\r\nimport { DataTablesModule } from \"angular-datatables\";\r\nimport { DetailedQuotaComponent } from \"./screens/detailed-quota/detailed-quota.component\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { SlickMarketWatchComponent } from \"./components/slick-market-watch/slick-market-watch.component\";\r\nimport { AngularSlickgridModule } from \"angular-slickgrid\";\r\nimport { AccountHeaderComponent } from \"./components/account-header/account-header.component\";\r\nimport { MatSortModule } from \"@angular/material/sort\";\r\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\r\nimport { QuotaBidsAsksComponent } from \"./components/quota-bids-asks/quota-bids-asks.component\";\r\nimport { QuotaTradeComponent } from \"./components/quota-trade/quota-trade.component\";\r\nimport { MarginCalculatorComponent } from \"./components/margin-calculator/margin-calculator.component\";\r\nimport { TradesHistoryComponent } from \"./components/trades-history/trades-history.component\";\r\nimport { TradesOrderHistoryComponent } from \"./components/trades-order-history/trades-order-history.component\";\r\nimport { OrderHistoryComponent } from \"./components/order-history/order-history.component\";\r\nimport { TwfaComponent } from \"./components/twfa/twfa.component\";\r\nimport { CheckArrayPipe } from \"./pipes/check-array.pipe\";\r\nimport { OrdinalPipe } from \"./pipes/ordinal.pipe\";\r\nimport { ForgetPasswordComponent } from \"./components/forget-password/forget-password.component\";\r\nimport { CreateUserComponent } from \"./components/create-user/create-user.component\";\r\nimport { ChangePasswordComponent } from \"./components/change-password/change-password.component\";\r\nimport { RequestHeaderInterceptor } from \"./services/request-header.interceptor\";\r\nimport { ResetPasswordComponent } from \"./components/reset-password/reset-password.component\";\r\nimport { NgCircleProgressModule } from \"ng-circle-progress\";\r\nimport {\r\n MatMomentDateModule,\r\n MAT_MOMENT_DATE_ADAPTER_OPTIONS,\r\n} from \"@angular/material-moment-adapter\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { VerifyEmailComponent } from \"./components/verify-email/verify-email.component\";\r\nimport { PasswordValidationSectionComponent } from \"./components/password-validation-section/password-validation-section.component\";\r\nimport { SettingsComponent } from \"./components/settings-modal/settings.component\";\r\nimport { MatSlideToggleModule } from \"@angular/material/slide-toggle\";\r\nimport { TwoDigitDecimalNumberDirective } from \"./services/two-digit-decimal-number.directive\";\r\nimport { InputCommaSepreatedDirective } from \"./services/input-comma-sepreated.directive\";\r\nimport { InputCommaSepreatedPipe } from \"./services/input-comma-sepreated.pipe\";\r\nimport { ConfirmationPopoverModule } from \"angular-confirmation-popover\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\n\r\n// export function appInitializerFactory(injector: Injector) {\r\n// var appSessionService = injector.get(ConfigService);\r\n// feedUrl = appSessionService.getFeedUrl;\r\n// }\r\n\r\nimport { UserIdleModule } from \"angular-user-idle\";\r\nimport { NotFullMarketComponent } from './components/not-full-market/not-full-market.component';\r\n\r\nimport { MillionPipe } from \"./pipes/million.pipe\";\r\nimport { AnimatedTextComponent } from \"./components/animated-text/animated-text.component\";\r\nimport { TradingViewChartComponent } from \"./components/trading-view-chart/trading-view-chart.component\";\r\nimport { SelectedOrderTradeComponent } from \"./components/selected-order-trade/selected-order-trade.component\";\r\nimport { UrlConstants } from \"./models/urlConstants\";\r\nimport { NewLoginComponent } from \"./screens/new-login/new-login.component\";\r\nimport { InvoicesModalComponent } from './components/invoices-modal/invoices-modal.component';\r\nimport { UserTradesSummaryComponent } from './components/user-trades-summary/user-trades-summary.component';\r\nimport { PurchasePowerDetailsComponent } from './components/purchase-power-details/purchase-power-details.component';\r\nimport { LandingpageHomeComponent } from './screens/LandingPageScreens/landingpage-home/landingpage-home.component';\r\nimport { TechnicalReportsComponent } from './screens/technical-reports/technical-reports.component';\r\nimport { InfoModalComponent } from './components/info-Modal/info-modal.component';\r\nimport { IPOComponent } from './screens/ipo/ipo.component';\r\nimport { IpoSelectedSymbolComponent } from './components/ipo-selected-symbol/ipo-selected-symbol.component';\r\nimport { IpoSelectedSymbolTimlinePdfComponent } from './components/ipo-selected-symbol-timline-pdf/ipo-selected-symbol-timline-pdf.component';\r\nimport { TimeFormatPipe } from './pipes/time-format.pipe';\r\nimport { TestComponent } from './screens/test/test.component';\r\nimport { FavoriteMenuComponent } from './components/slick-market-watch/favorite-menu/favorite-menu.component';\r\nimport { MutualFundComponent } from './screens/mutual-fund/mutual-fund.component';\r\nimport { FundAccOrderModalComponent } from './components/fund-acc-order-modal/fund-acc-order-modal.component';\r\nimport { NgxSliderModule } from '@angular-slider/ngx-slider';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { SelectedSymbolChartsComponent } from './components/selected-symbol-charts/selected-symbol-charts.component';\r\nimport { SelectedSymbolDetailsPdfsComponent } from './components/selected-symbol-details-pdfs/selected-symbol-details-pdfs.component';\r\nimport { SearchSymbolsModalComponent } from './components/search-symbols-modal/search-symbols-modal.component';\r\nimport { SharedModule } from \"./shared/shared.module\";\r\nimport { IpoAccOrderModalComponent } from './components/ipo-acc-order-modal/ipo-acc-order-modal.component';\r\n\r\nvar url;\r\nexport function initializeApp(appInitService: ConfigService) {\r\n return (): Promise => {\r\n url = appInitService.getFeedUrl;\r\n return appInitService.Init();\r\n };\r\n}\r\n\r\nexport function createConfig(): SignalRConfiguration {\r\n const c = new SignalRConfiguration();\r\n\r\n let key = UrlConstants.appKey;\r\n c.url = UrlConstants.feedUrl;\r\n\r\n c.logging = false;\r\n\r\n c.executeEventsInZone = true; // optional, default is true\r\n c.executeErrorsInZone = false; // optional, default is false\r\n c.executeStatusChangeInZone = true; // optional, default is true\r\n\r\n return c;\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HomeComponent,\r\n LoginComponent,\r\n SearchPipe,\r\n TradesComponent,\r\n NewsComponent,\r\n MarketDepthComponent,\r\n NewsDetailsModalComponent,\r\n MarketWatchTableComponent,\r\n NewTradeChartComponent,\r\n MarketDepthAsksComponent,\r\n MarketDepthBidsComponent,\r\n CustomNumberPipe,\r\n ContextMenuComponent,\r\n MarketGridViewComponent,\r\n MarketTradesComponent,\r\n HomeMarketSummaryComponent,\r\n CompanyProfileComponent,\r\n NavBarComponent,\r\n OrderBuyComponent,\r\n HomeNewComponent,\r\n HistoricalComponent,\r\n OrderBookComponent,\r\n ConfirmationComponent,\r\n UpdateOrderComponent,\r\n GlobalMarketsComponent,\r\n MarketNewsComponent,\r\n UserProfileComponent,\r\n UserPortfolioComponent,\r\n CreateAlertComponent,\r\n AlertManagerComponent,\r\n UpdateFlashDirective,\r\n LocalMarketComponent,\r\n InvoiceComponent,\r\n InvoiceDetailsComponent,\r\n StatementDetailsComponent,\r\n SelectStatementDateComponent,\r\n PreviewInvoiceComponent,\r\n StatementComponent,\r\n MaterialMarketWatchComponent,\r\n DetailedQuotaComponent,\r\n SlickMarketWatchComponent,\r\n AccountHeaderComponent,\r\n QuotaBidsAsksComponent,\r\n QuotaTradeComponent,\r\n MarginCalculatorComponent,\r\n TradesHistoryComponent,\r\n TradesOrderHistoryComponent,\r\n SelectedOrderTradeComponent,\r\n OrderHistoryComponent,\r\n TwfaComponent,\r\n NewLoginComponent,\r\n CheckArrayPipe,\r\n OrdinalPipe,\r\n ForgetPasswordComponent,\r\n ChangePasswordComponent,\r\n ResetPasswordComponent,\r\n SelectCompanyModalComponent,\r\n CreateUserComponent,\r\n VerifyEmailComponent,\r\n PasswordValidationSectionComponent,\r\n SettingsComponent,\r\n TwoDigitDecimalNumberDirective,\r\n InputCommaSepreatedDirective,\r\n InputCommaSepreatedPipe,\r\n NotFullMarketComponent,\r\n TradingViewChartComponent,\r\n AnimatedTextComponent,\r\n MillionPipe,\r\n TradingViewChartComponent,\r\n AnimatedTextComponent,\r\n InvoicesModalComponent,\r\n UserTradesSummaryComponent,\r\n PurchasePowerDetailsComponent,\r\n LandingpageHomeComponent,\r\n TechnicalReportsComponent,\r\n InfoModalComponent,\r\n IPOComponent,\r\n IpoSelectedSymbolComponent,\r\n IpoSelectedSymbolTimlinePdfComponent,\r\n TimeFormatPipe,\r\n TestComponent,\r\n FavoriteMenuComponent,\r\n MutualFundComponent,\r\n FundAccOrderModalComponent,\r\n SelectedSymbolChartsComponent,\r\n SelectedSymbolDetailsPdfsComponent,\r\n SearchSymbolsModalComponent,\r\n IpoAccOrderModalComponent,\r\n ],\r\n imports: [\r\n SignalRModule.forRoot(createConfig),\r\n NgCircleProgressModule.forRoot(),\r\n BrowserModule,\r\n RecaptchaModule,\r\n RecaptchaFormsModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BrowserAnimationsModule,\r\n CommonModule,\r\n RecaptchaV3Module,\r\n MatFormFieldModule,\r\n MatDialogModule,\r\n MatSnackBarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatSelectModule,\r\n MatInputModule,\r\n MatCheckboxModule,\r\n MatSlideToggleModule,\r\n MatListModule,\r\n GridsterModule,\r\n DynamicModule,\r\n MatMenuModule,\r\n MatCardModule,\r\n MatButtonToggleModule,\r\n NgApexchartsModule,\r\n MatTabsModule,\r\n NgxDatatableModule,\r\n NgxMarqueeModule,\r\n MatRadioModule,\r\n MatDatepickerModule,\r\n CarouselModule,\r\n MatNativeDateModule,\r\n KtdGridModule,\r\n MatTableModule,\r\n DragDropModule,\r\n MatProgressBarModule,\r\n SlickCarouselModule,\r\n ExportAsModule,\r\n NgxPrintModule,\r\n NgSelectModule,\r\n DataTablesModule,\r\n MatSortModule,\r\n NgxPrinterModule.forRoot({ printOpenWindow: true }),\r\n AngularSlickgridModule.forRoot(),\r\n ContextMenuModule.forRoot(),\r\n NgbAccordionModule,\r\n MatMomentDateModule,\r\n MatTooltipModule,\r\n NgbTooltipModule,\r\n MatStepperModule,\r\n NgxSliderModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n NgbModule,\r\n UserIdleModule.forRoot({}),\r\n ConfirmationPopoverModule.forRoot({\r\n confirmButtonType: \"primary\", // set defaults here\r\n }),\r\n ToastrModule.forRoot(),\r\n SharedModule,\r\n ],\r\n exports: [MatButtonModule, MatTableModule, NgbAccordionModule, TranslateModule],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n providers: [\r\n SignalRService,\r\n MatDatepickerModule,\r\n DatePipe,\r\n InputCommaSepreatedPipe,\r\n UpdateFlashDirective,\r\n ConfigService,\r\n MillionPipe,\r\n DecimalPipe,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: initializeApp,\r\n deps: [ConfigService],\r\n multi: true,\r\n },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } },\r\n { provide: MAT_DATE_LOCALE, useValue: \"en-GB\" },\r\n { provide: RECAPTCHA_V3_SITE_KEY, useValue: environment.recaptcha.siteKey },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: RequestHeaderInterceptor,\r\n multi: true,\r\n },\r\n // {\r\n // provide: HTTP_INTERCEPTORS,\r\n // useClass: TokenInterceptorInterceptor,\r\n // multi: true,\r\n // },\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n\r\n// AoT requires an exported function for factories\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, \"./assets/i18n/\", \".json\");\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'customNumber'\r\n})\r\nexport class CustomNumberPipe implements PipeTransform {\r\n\r\n transform(input: any, args?: any): any {\r\n var exp, rounded,\r\n suffixes = ['k', 'M', 'G', 'T', 'P', 'E'];\r\n\r\n if (Number.isNaN(input)) {\r\n return null;\r\n }\r\n\r\n if (input < 1000) {\r\n return input;\r\n }\r\n\r\n exp = Math.floor(Math.log(input) / Math.log(1000));\r\n\r\n return (input / Math.pow(1000, exp)).toFixed(args) + suffixes[exp - 1];\r\n\r\n\r\n }\r\n\r\n}\r\n","import { ApiService } from \"src/app/services/api.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { AccountService } from \"./../../services/account.service\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport {\r\n Component,\r\n Inject,\r\n Input,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { FormGroup, FormControl, Validators } from \"@angular/forms\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { Order } from \"src/app/models/order\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\nimport { CompanyDetails } from \"src/app/models/company-details\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport Swal from \"sweetalert2\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { SharedService } from \"src/app/services/shared.service\";\r\nimport { Account } from \"src/app/screens/user-profile/client-data\";\r\nimport { MarketWatchDetailService, StockDetail } from \"src/app/services/market-watch-detail.service\";\r\n\r\n@Component({\r\n selector: \"app-update-order\",\r\n templateUrl: \"./update-order.component.html\",\r\n styleUrls: [\"./update-order.component.scss\"],\r\n})\r\nexport class UpdateOrderComponent implements OnInit {\r\n orderToUpdate: Order;\r\n today: Date = new Date();\r\n isMarket: boolean;\r\n isSubmitting = false;\r\n isLoading = false;\r\n popoverTitle = \"Popover title\";\r\n popoverMessage = this.translate.instant(\"order-update-confirm\");\r\n confirmText = this.translate.instant(\"submit\");\r\n cancelText = this.translate.instant(\"cancel\");\r\n orderTotal: any;\r\n orderFees: number;\r\n totalCost: any;\r\n clientData: any;\r\n confirmClicked = false;\r\n cancelClicked = false;\r\n avgCommission: any;\r\n minCommission: any;\r\n minCommissionUSD: any;\r\n initialQty: any;\r\n initialPrice: any;\r\n initialOrderValue: any;\r\n initialFees: any;\r\n initalTotalCost: any;\r\n isFetchingUserData: boolean;\r\n inputCustodian: number;\r\n custodianList: any;\r\n myShareSymbols: any;\r\n companies: CompanyList[];\r\n myCompanies: CompanyList[];\r\n accList: any;\r\n maxLimit: number;\r\n updateOrderForm = new FormGroup({\r\n qty: new FormControl(\"\", Validators.required),\r\n price: new FormControl(\"\", Validators.required),\r\n validTill: new FormControl(\"\", Validators.required),\r\n tiffDate: new FormControl(),\r\n });\r\n companyDetails: CompanyDetails;\r\n company: CompanyList;\r\n titleMessage: string | HTMLElement | JQuery;\r\n textConfirmMassage: string;\r\n allMarketNames: StockDetail[];\r\n selectedAccount: Account\r\n public tabIndex = 0;\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) private data: any,\r\n private dialogRef: MatDialogRef,\r\n private http: HttpClient,\r\n private accService: AccountService,\r\n public datepipe: DatePipe,\r\n public translate: TranslateService,\r\n private apiService: ApiService,\r\n private signalService: SignalRService,\r\n private sharedService: SharedService,\r\n private _marketDetail: MarketWatchDetailService\r\n ) {\r\n this.orderToUpdate = { ...this.data.order };\r\n this.accList = JSON.parse(localStorage.getItem(\"accList\")) as Account[];\r\n\r\n // if (this.data[\"currentUser\"] != null)\r\n // this.updateOrderForm.get(\"client\").patchValue(this.data[\"currentUser\"]);\r\n // else this.updateOrderForm.get(\"client\").patchValue(this.accList[0].relationCode);\r\n\r\n if (this.data[\"selectedAccount\"]) {\r\n this.selectedAccount = this.data[\"selectedAccount\"];\r\n }\r\n\r\n if (this.data[\"symbol\"]) {\r\n this.company.SYMBOL_CODE = this.data[\"symbol\"];\r\n if (this.data[\"custodianCode\"]) {\r\n this.inputCustodian = this.data[\"custodianCode\"];\r\n this.f.custodian?.patchValue(this.inputCustodian);\r\n }\r\n\r\n\r\n }\r\n if (this.data[\"price\"] != null && this.data[\"qty\"] != null) {\r\n this.updateOrderForm.get(\"price\")?.patchValue(this.data[\"price\"]);\r\n this.updateOrderForm.get(\"qty\")?.patchValue(this.data[\"qty\"]);\r\n this.maxLimit = this.companyDetails.MaxLimit;\r\n\r\n }\r\n if (this.sharedService.allMarketCompanies) {\r\n this.companies = this.sharedService.allMarketCompanies;\r\n this.onSelectClient(this.selectedAccount);\r\n } else\r\n this.apiService.fetchAllMarketWatch().subscribe((res) => {\r\n this.companies = res as CompanyList[];\r\n this.onSelectClient(this.selectedAccount);\r\n });\r\n\r\n\r\n\r\n // });\r\n\r\n this.tabIndex = this.data[\"type\"];\r\n\r\n this.signalService.marketChanges.subscribe((res: any) =>\r\n res.forEach((element) => {\r\n if (element.SYMBOL_CODE == this.company.SYMBOL_CODE) {\r\n this.updateStockDetail(element);\r\n this.company = element;\r\n return;\r\n }\r\n })\r\n );\r\n\r\n if (this._marketDetail.marketNames)\r\n this.allMarketNames = this._marketDetail.marketNames?.getValue();\r\n this._marketDetail.namesSubject.subscribe((res) => {\r\n this.allMarketNames = res as StockDetail[];\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.fetchCompany();\r\n this.fetchSymbolBO();\r\n this.fetchCommissions();\r\n //this.fetchCompany();\r\n this.isLoading = true;\r\n const interval = setInterval(() => {\r\n if (this.company && this.avgCommission) {\r\n clearInterval(interval);\r\n this.isLoading = false;\r\n this.initializeForm();\r\n this.initializeInitialValues();\r\n }\r\n }, 100);\r\n }\r\n\r\n initializeForm(): void {\r\n this.updateOrderForm.patchValue({\r\n qty: this.orderToUpdate?.OrgQty || '',\r\n price: this.orderToUpdate?.OrgPrice || '',\r\n validTill: this.orderToUpdate?.TiffFlag || '0',\r\n tiffDate: this.orderToUpdate?.TiffDate || null\r\n });\r\n }\r\n\r\n initializeInitialValues(): void {\r\n this.initialPrice = this.orderToUpdate?.OrgPrice;\r\n this.initialQty = this.orderToUpdate?.OrgQty;\r\n this.initialOrderValue = this.updateOrderForm.get(\"price\")?.value * this.updateOrderForm.get(\"qty\")?.value;\r\n this.initialFees = this.calculateFees(this.initialOrderValue);\r\n this.initalTotalCost = this.initialOrderValue + this.initialFees;\r\n\r\n // Setup the form valueChanges subscription\r\n this.setupValueChanges();\r\n }\r\n\r\n setupValueChanges(): void {\r\n this.updateOrderForm.valueChanges.subscribe((val) => {\r\n const newOrderTotal = this.updateOrderForm.get(\"price\")?.value * this.updateOrderForm.get(\"qty\")?.value;\r\n const newOrderFees = this.calculateFees(newOrderTotal);\r\n const newTotalCost = newOrderTotal + newOrderFees;\r\n\r\n if (newTotalCost > this.initalTotalCost) {\r\n this.orderTotal = newOrderTotal - this.initialOrderValue;\r\n this.orderFees = this.calculateFees(this.orderTotal);\r\n this.totalCost = this.orderTotal + this.orderFees;\r\n } else {\r\n this.orderTotal = 0;\r\n this.orderFees = 0;\r\n this.totalCost = 0;\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n\r\n this.initialPrice = this.orderToUpdate?.OrgPrice;\r\n this.initialQty = this.orderToUpdate?.OrgQty;\r\n this.initialOrderValue = this.updateOrderForm.get(\"price\")?.value * this.updateOrderForm.get(\"qty\")?.value;\r\n this.initialFees = this.calculateFees(this.initialOrderValue);\r\n this.initalTotalCost = this.initialOrderValue + this.initialFees;\r\n this.updateOrderForm.valueChanges.subscribe((val) => {\r\n const newOrderTotal = this.updateOrderForm.get(\"price\")?.value * this.updateOrderForm.get(\"qty\")?.value;\r\n const newOrderFees = this.calculateFees(newOrderTotal);\r\n const newTotalCost = newOrderTotal + newOrderFees;\r\n\r\n if (newTotalCost > this.initalTotalCost) {\r\n // Calculate only the difference from initial total cost\r\n this.orderTotal = newOrderTotal - this.initialOrderValue;\r\n this.orderFees = this.calculateFees(this.orderTotal);\r\n if (this.orderToUpdate.FixVal !== '2') {\r\n this.totalCost = this.orderTotal + this.orderFees;\r\n }\r\n else {\r\n this.totalCost = this.orderTotal - this.orderFees;\r\n }\r\n } else {\r\n // Reset to initial values if new total cost does not exceed initial total cost\r\n this.orderTotal = 0;\r\n this.orderFees = 0;\r\n this.totalCost = 0;\r\n }\r\n });\r\n }\r\n\r\n\r\n fetchCommissions() {\r\n this.http.get(`${UrlConstants.backofficeUrl}/api/Settings/GetConfiguredCommissions`)\r\n .subscribe((res) => {\r\n this.avgCommission = res.AvgCommission;\r\n this.minCommission = res.MinCommission;\r\n this.minCommissionUSD = res.MinCommissionUSD;\r\n });\r\n\r\n\r\n }\r\n submitOrder(): void {\r\n this.isSubmitting = true;\r\n let exccedingLimits = this.isExceedingLimits();\r\n if (!exccedingLimits) {\r\n this.http\r\n .post(UrlConstants.backofficeUrl + \"/api/Orders/UpdateOrder\", {\r\n OrderNumber: this.orderToUpdate.OrderNumber,\r\n Qty: this.updateOrderForm.get(\"qty\")?.value,\r\n Price: this.updateOrderForm.get(\"price\")?.value,\r\n TiffFlag: this.updateOrderForm.get(\"validTill\")?.value,\r\n TiffDate: this.updateOrderForm.get(\"tiffDate\")?.value,\r\n })\r\n .subscribe((res) => {\r\n this.isSubmitting = false;\r\n if (res[\"Errors\"]?.length > 0) {\r\n this.dialogRef.close(res[\"Errors\"][0]);\r\n } else if (res[\"Errors\"] == null) {\r\n this.dialogRef.close(true);\r\n }\r\n });\r\n }\r\n else {\r\n let title = this.translate.currentLang == \"en\"\r\n ? \"this action not allowed\"\r\n : \"خطأ فى الاستخدام\";\r\n Swal.fire({\r\n icon: 'error',\r\n title: title,\r\n confirmButtonText: 'OK',\r\n customClass: {\r\n confirmButton: 'swal-btn'\r\n }\r\n });\r\n this.isSubmitting = false;\r\n }\r\n }\r\n calculateFees(orderValue) {\r\n let feePercentage = this.avgCommission;\r\n\r\n if (orderValue == 0) {\r\n feePercentage == 0;\r\n }\r\n\r\n let totalFees = orderValue * feePercentage;\r\n\r\n if (this.company?.CURRENCY == 1) {\r\n // For EGP\r\n if (totalFees < this.minCommission) {\r\n totalFees = this.minCommission;\r\n }\r\n } else {\r\n // For USD or other currencies\r\n if (totalFees < this.minCommissionUSD) {\r\n totalFees = this.minCommissionUSD;\r\n }\r\n }\r\n\r\n return totalFees;\r\n }\r\n\r\n isExceedingLimits() {\r\n if (this.orderToUpdate.FixVal !== \"2\") {\r\n const purchasePowerLimit =\r\n this.company?.CURRENCY == 2\r\n ? this.clientData?.purchasePower?.USD\r\n : this.clientData?.purchasePower?.EGP;\r\n\r\n return (this.totalCost > purchasePowerLimit);\r\n }\r\n }\r\n\r\n\r\n numberOnly(event): boolean {\r\n const charCode = event.which ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n updateStockDetail(stock: CompanyList) {\r\n if (stock?.SYMBOL_CODE && this.allMarketNames) {\r\n let companyDetail = this.allMarketNames.find(\r\n (x) => x[\"SYMBOL_CODE\"] === stock.SYMBOL_CODE\r\n );\r\n if (companyDetail) {\r\n stock.arb_shortname = companyDetail[\"arb_shortname\"];\r\n stock.eng_shortname = companyDetail[\"eng_shortname\"];\r\n stock.Reuters = companyDetail[\"Reuters\"];\r\n }\r\n }\r\n }\r\n priceDecimalInput(event: any) {\r\n let reg;\r\n switch (this.companyDetails.RoundDigits) {\r\n case 0:\r\n reg = /^[0-9]*$/;\r\n break;\r\n case 1:\r\n reg = /^[0-9]*(\\.\\d{0,1})?$/;\r\n break;\r\n case 2:\r\n reg = /^[0-9]*(\\.\\d{0,2})?$/;\r\n break;\r\n case 3:\r\n reg = /^[0-9]*(\\.\\d{0,3})?$/;\r\n break;\r\n case 4:\r\n reg = /^[0-9]*(\\.\\d{0,4})?$/;\r\n break;\r\n case 5:\r\n reg = /^[0-9]*(\\.\\d{0,5})?$/;\r\n break;\r\n }\r\n\r\n // const reg = /^-?\\d*(\\.\\d{0,2})?$/;\r\n let input = event.target.value + String.fromCharCode(event.charCode);\r\n\r\n if (!reg.test(input)) {\r\n event.preventDefault();\r\n }\r\n }\r\n onSelectClient(relCode) {\r\n this.isFetchingUserData = true;\r\n\r\n //fetch Purchase Power\r\n this.http\r\n .get(\r\n `${UrlConstants.backofficeUrl}/api/Client/GetClientPurchasePower?relationCode=` +\r\n relCode\r\n )\r\n .subscribe((res) => {\r\n if (res) {\r\n this.isFetchingUserData = false;\r\n this.clientData = res;\r\n this.fetchMySymbols();\r\n this.fetchCompany();\r\n }\r\n });\r\n\r\n //fetch Client Custodian\r\n this.http\r\n .get(\r\n `${UrlConstants.backofficeUrl}/api/Client/GetClientCustodianList?relationCode=` +\r\n relCode\r\n )\r\n .subscribe((res) => {\r\n if (res) {\r\n this.custodianList = res;\r\n if (!this.inputCustodian)\r\n this.f.custodian?.patchValue(this.custodianList[0]?.CustodianCode); // set first custodian\r\n this.f.execRule?.patchValue(0); //set regular\r\n this.f.validTill?.patchValue(0); //set today\r\n }\r\n });\r\n }\r\n\r\n get f() {\r\n return this.updateOrderForm.controls;\r\n }\r\n fetchMySymbols() {\r\n this.apiService\r\n .fetchMySymbols(this.selectedAccount)\r\n .subscribe((res) => {\r\n this.myShareSymbols = res;\r\n if (this.myShareSymbols?.length > 0)\r\n this.myCompanies = this.companies.filter((company) => {\r\n return this.myShareSymbols.indexOf(company.SYMBOL_CODE) != -1;\r\n });\r\n });\r\n }\r\n fetchSymbolBO() {\r\n this.apiService\r\n .fetchSymbolBO(this.orderToUpdate.SymbolCode)\r\n .subscribe((res: CompanyDetails) => {\r\n this.companyDetails = res;\r\n });\r\n }\r\n\r\n fetchCompany() {\r\n this.http\r\n .get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetMarketWatchForSymbol?SYMBOL_CODE=` +\r\n this.orderToUpdate.SymbolCode\r\n )\r\n .subscribe((res) => {\r\n this.company = res as CompanyList;\r\n this.fetchSymbolBO();\r\n });\r\n\r\n // this.apiService.fetch\r\n }\r\n\r\n setMarketOrder() {\r\n if (this.orderToUpdate.FixVal == \"2\")\r\n this.updateOrderForm\r\n .get(\"price\")\r\n .patchValue(this.companyDetails?.MinLimit);\r\n else if (this.orderToUpdate.FixVal == \"1\")\r\n this.updateOrderForm\r\n .get(\"price\")\r\n .patchValue(this.companyDetails?.MaxLimit);\r\n }\r\n\r\n getColor(item) {\r\n switch (item) {\r\n case 1:\r\n return {\r\n background: \"rgb(40, 167, 69)\",\r\n color: \"white\",\r\n };\r\n case 2:\r\n return {\r\n background: \"#ff4643\",\r\n color: \"white\",\r\n };\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n

\r\n {{ \"update-order\" | translate }} {{ orderToUpdate.OrderNumber }}\r\n

\r\n\r\n {{\r\n translate.currentLang == \"en\"\r\n ? orderToUpdate[\"TransactionTypeEn\"]\r\n : orderToUpdate[\"TransactionTypeAr\"]\r\n }}\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n ({{ orderToUpdate.Reuters }})\r\n {{\r\n translate.currentLang == \"en\"\r\n ? orderToUpdate.SymbolNameEn\r\n : orderToUpdate.SymbolNameAr\r\n }}\r\n \r\n \r\n {{ orderToUpdate.RelationCode }}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"last-price\" | translate }}\r\n {{\r\n company.LAST_TRADE_PRICE | number : \"1.0\" : \"en-US\"\r\n }}\r\n
\r\n \r\n
0 ? 'green' : 'red'\" style=\"text-align: end !important\">\r\n {{ company.LAST_CHANGE | number : \"1.0\" : \"en-US\" }} ({{\r\n company.LAST_CHANGE_PRC | number : \"1.0\" : \"en-US\"\r\n }}%)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ \"min-limit\" | translate }}: {{ companyDetails?.MinLimit }}\r\n
\r\n
\r\n {{ \"max-limit\" | translate }}: {{ companyDetails?.MaxLimit }}\r\n
\r\n
\r\n
\r\n
\r\n {{ \"best-bid\" | translate }}:\r\n {{ company.BID_PRICE | number : \"1.0\" : \"en-US\" }} /\r\n {{ company.BID_VOLUME | number : \"1.0\" : \"en-US\" }}\r\n
\r\n
\r\n {{ \"best-ask\" | translate }}:\r\n {{ company.ASK_PRICE | number : \"1.0\" : \"en-US\" }} /\r\n {{ company.ASK_VOLUME | number : \"1.0\" : \"en-US\" }}\r\n
\r\n
\r\n
\r\n
\r\n {{ \"close-price\" | translate }}:\r\n {{ company.CLOSE_PRICE | number : \"1.0\" : \"en-US\" }}\r\n
\r\n
\r\n {{ \"sameday-qty\" | translate }}:\r\n {{ companyDetails?.SameDayQty | number }}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n {{ \"purchase-power\" | translate }} \r\n \r\n
\r\n {{ clientData.purchasePower.EGP | currency : \"EGP\" }}\r\n
\r\n \r\n {{ clientData.purchasePower.USD | currency : \"USD\" }}\r\n \r\n \r\n \r\n \r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n \r\n
0 || totalCost > 0) && (initalTotalCost!=totalCost)\">\r\n \r\n {{ \"order-value\" | translate }}\r\n \r\n
\r\n\r\n \r\n\r\n {{ orderTotal | number : \"1.2-2\" : \"en-US\" }}\r\n \r\n
\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n
0 || totalCost > 0) && (initalTotalCost!=totalCost) && orderToUpdate.FixVal === '1'\">\r\n \r\n {{ \"order-fees\" | translate }}\r\n \r\n
\r\n \r\n {{ orderFees | number : \"1.2-2\" : \"en-US\" }}\r\n \r\n
\r\n\r\n\r\n \r\n
0 || totalCost > 0) && (initalTotalCost!=totalCost) && orderToUpdate.FixVal === '1'\">\r\n \r\n {{ 'total-cost' | translate }}\r\n \r\n
\r\n \r\n {{ totalCost | number: '1.2-2' : 'en-US' }}\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n {{ 'order-value-exceeded-purchase' | translate }}\r\n
\r\n\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","\r\n\r\n
\r\n
{{\"local-market\"|translate}}
\r\n
\r\n \r\n EGX30\r\n EGX70\r\n EGX100\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{{\"individial-vs-institutional\"|translate}}
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
{{\"foreign-vs-domestic\"|translate}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{'investors:name'|translate}}{{'investors:type'|translate}}{{'buy'|translate}}{{'sell'|translate}}{{'turnover'|translate}}{{'investors:net'|translate}}{{'investors:side'|translate}}
\r\n {{(translate.currentLang=='en')?item['NAT_EN']:item['NAT']}}\r\n \r\n {{(translate.currentLang=='en')?item['TTYPE_EN']:item['TTYPE']}}\r\n {{item['BUY'] | million}}{{item['SELL'] | million}}{{item['TURNOVER'] | million}}0?'green':'red')\">{{item['NET'] | million}}\r\n \r\n {{(translate.currentLang=='en')?item['TRANSACTION_EN']:item['TRANSACTION']}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
{{item.DATE_STAMP|date:'mediumTime'}}{{item.ARB_HEADING}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

{{\"TOP5\"|translate}}

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{\"symbol\"|translate}}{{\"close\"|translate}}{{\"last-change-prc\"|translate}}{{\"volume\"|translate}}
{{(translate.currentLang=='en')?item.ENG_NAME:item.ARB_NAME}}{{item.CLOSE_PRICE | number: \"1.0\":\"en-US\"}}0? 'green' : 'red'\">{{item.LAST_CHANGE_PRC | number: \"1.0\":\"en-US\"}} %\r\n {{item.TOTAL_VOLUME | number: \"1.0\":\"en-US\"}}
\r\n
\r\n
\r\n
\r\n

{{\"WORST5\"|translate}}

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
{{\"symbol\"|translate}}{{\"close\"|translate}}{{\"last-change-prc\"|translate}}{{\"volume\"|translate}}
{{(translate.currentLang=='en')?item.ENG_NAME:item.ARB_NAME}}{{item.CLOSE_PRICE | number: \"1.0\":\"en-US\"}}0? 'green' : 'red'\">{{item.LAST_CHANGE_PRC | number: \"1.0\":\"en-US\"}} %\r\n {{item.TOTAL_VOLUME | number: \"1.0\":\"en-US\"}}
\r\n
\r\n
\r\n\r\n\r\n","import { TranslateService } from \"@ngx-translate/core\";\r\nimport { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { CompanyNews } from \"src/app/models/company-news\";\r\ndeclare const TradingView: any;\r\nimport {\r\n ApexNonAxisChartSeries,\r\n ApexResponsive,\r\n ApexChart,\r\n ChartComponent,\r\n ApexXAxis,\r\n ApexDataLabels,\r\n ApexAxisChartSeries,\r\n ApexFill,\r\n ApexStroke,\r\n ApexGrid,\r\n ApexYAxis,\r\n} from \"ng-apexcharts\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\n\r\nexport type ChartOptions = {\r\n series:ApexAxisChartSeries;\r\n chart: ApexChart;\r\n responsive: ApexResponsive[];\r\n labels?: any;\r\n dataLabels?: ApexDataLabels;\r\n xaxis?: ApexXAxis;\r\n yaxis?: ApexYAxis;\r\n grid?: ApexGrid;\r\n fill?: ApexFill;\r\n stroke?:ApexStroke;\r\n};\r\n@Component({\r\n selector: \"app-local-market\",\r\n templateUrl: \"./local-market.component.html\",\r\n styleUrls: [\"./local-market.component.scss\"],\r\n})\r\nexport class LocalMarketComponent implements OnInit {\r\n news: CompanyNews[];\r\n investorTradingData: any;\r\n\r\n @ViewChild(\"chart\") chart: ChartComponent;\r\n public individualChartOptions: Partial;\r\n public investorChartOptions: Partial;\r\n top5Best: any[];\r\n top5Worst: any[];\r\n colorScheme = [\"#008080\", \"#f4a261\", \"#216d95\"];\r\n isDarkTheme: boolean;\r\n\r\n activeEgx = \"EGX30\";\r\n investorSummary: any[];\r\n constructor(\r\n public translate: TranslateService,\r\n private apiService: ApiService\r\n ) {\r\n this.apiService.fetchMarketNews().subscribe((res) => {\r\n this.news = res;\r\n });\r\n\r\n this.apiService.fetchInvestorTypeIndividual().subscribe((res) => {\r\n if (res)\r\n this.individualChartOptions = {\r\n series: [res[\"Individuals\"].Value, res[\"Instituitions\"].Value],\r\n chart: {\r\n width: \"100%\",\r\n type: \"pie\",\r\n },\r\n labels:\r\n translate.currentLang == \"en\"\r\n ? [\r\n res[\"Individuals\"][\"Label_En\"],\r\n res[\"Instituitions\"][\"Label_En\"],\r\n ]\r\n : [\r\n res[\"Individuals\"][\"Label_Ar\"],\r\n res[\"Instituitions\"][\"Label_Ar\"],\r\n ],\r\n responsive: [\r\n {\r\n breakpoint: 480,\r\n options: {\r\n chart: {\r\n width: 200,\r\n },\r\n legend: {\r\n position: \"bottom\",\r\n },\r\n },\r\n },\r\n ],\r\n };\r\n });\r\n\r\n this.apiService.fetchInvestorTypes().subscribe((res) => {\r\n if (res)\r\n this.investorChartOptions = {\r\n series: [res[0].TOTAL_PERC, res[1].TOTAL_PERC, res[2].TOTAL_PERC],\r\n chart: {\r\n width: \"100%\",\r\n type: \"pie\",\r\n },\r\n labels:\r\n translate.currentLang == \"en\"\r\n ? [\r\n res[0].SELL_CLIENT_EN,\r\n res[1].SELL_CLIENT_EN,\r\n res[2].SELL_CLIENT_EN,\r\n ]\r\n : [res[0].SELL_CLIENT, res[1].SELL_CLIENT, res[2].SELL_CLIENT],\r\n responsive: [\r\n {\r\n breakpoint: 480,\r\n options: {\r\n chart: {\r\n width: 200,\r\n },\r\n legend: {\r\n position: \"bottom\",\r\n },\r\n },\r\n },\r\n ],\r\n };\r\n });\r\n\r\n this.apiService.fetchAllInvestor().subscribe((res) => {\r\n this.investorSummary = res[\"Index\"];\r\n });\r\n\r\n this.apiService.fetchTop5Best().subscribe((res) => {\r\n this.top5Best = res;\r\n });\r\n\r\n this.apiService.fetchTop5Worst().subscribe((res) => (this.top5Worst = res));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n this.fetchEgx();\r\n }\r\n\r\n slideConfig = {\r\n cssEase: \"linear\",\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n };\r\n\r\n fetchEgx() {\r\n new TradingView.widget({\r\n width: \"100%\",\r\n height: 400,\r\n symbol: this.activeEgx,\r\n // interval: \"D\",\r\n timezone: \"Africa/Cairo\",\r\n theme: this.isDarkTheme? \"Dark\" : \"Light\",\r\n style: \"3\",\r\n locale: this.translate.currentLang == \"ar\" ? \"ar_AE\" : \"en\",\r\n // toolbar_bg: \"#f1f3f6\",\r\n // enable_publishing: false,\r\n // withdateranges: true,\r\n // range: \"ytd\",\r\n hide_side_toolbar: true,\r\n hide_top_toolbar: true,\r\n // allow_symbol_change: true,\r\n // show_popup_button: true,\r\n // popup_width: \"1000\",\r\n // popup_height: \"650\",\r\n // no_referral_id: true,\r\n container_id: \"tradingview_bac65\",\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MatDialog, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { CompanyNews } from \"src/app/models/company-news\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\n\r\n@Component({\r\n selector: \"app-news-details-modal\",\r\n templateUrl: \"./news-details-modal.component.html\",\r\n styleUrls: [\"./news-details-modal.component.scss\"],\r\n})\r\nexport class NewsDetailsModalComponent implements OnInit {\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public translate: TranslateService\r\n ) { }\r\n\r\n\r\n new: CompanyNews;\r\n\r\n ngOnInit() {\r\n this.new = this.data.item;\r\n }\r\n\r\n getColor(item) {\r\n switch (item) {\r\n case 1:\r\n return {\r\n background: \"aquamarine\",\r\n color: \"black\",\r\n };\r\n case 2:\r\n return {\r\n background: \"bisque\",\r\n color: \"black\",\r\n };\r\n case 3:\r\n return {\r\n background: \"teal\",\r\n color: \"whitesmoke\",\r\n };\r\n case 4:\r\n return {\r\n background: \"greenyellow\",\r\n color: \"black\",\r\n };\r\n case 5:\r\n return {\r\n background: \"cornflowerblue\",\r\n color: \"black\",\r\n };\r\n case 6:\r\n return {\r\n background: \"darkorange\",\r\n color: \"black\",\r\n };\r\n case 7:\r\n return {\r\n background: \"darkslategrey\",\r\n color: \"white\",\r\n };\r\n case 8:\r\n return {\r\n background: \"yellow\",\r\n color: \"black\",\r\n };\r\n case 9:\r\n return {\r\n background: \"violet\",\r\n color: \"white\",\r\n };\r\n case 12: {\r\n return {\r\n background: \"lightcoral\",\r\n color: \"whitesmoke\",\r\n };\r\n }\r\n default: {\r\n return {\r\n background: \"lightgray\",\r\n color: \"black\",\r\n };\r\n }\r\n }\r\n }\r\n\r\n openAttachment(url) {\r\n window.open(UrlConstants.egxUrl + url)\r\n }\r\n}\r\n","
\r\n\r\n
\r\n \r\n
\r\n
\r\n
{{new.DATE_STAMP|date:'medium' }}
\r\n
\r\n {{(translate.currentLang=='en')?new.SECTION:new.SECTION_ARB}}\r\n
\r\n
\r\n
\r\n {{ (translate.currentLang == 'en')? new.HEADING : new.ARB_HEADING}}\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n {{new.SHORT_DESC}}\r\n
\r\n
\r\n
\r\n {{new.CONTENT}}\r\n
\r\n
\r\n {{new.ARB_CONTENT}}\r\n
\r\n\r\n
\r\n
0\" class=\"text-muted\">{{\"attachments\"|translate}}:
\r\n
\r\n
\r\n
\r\n
\r\n {{'news-attachment-link' | translate}}\r\n {{i+1}}\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
","\r\n{{key | translate}}","import { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"hint-popover\",\r\n templateUrl: \"./hint-popover.component.html\",\r\n styleUrls: [\"./hint-popover.component.scss\"],\r\n})\r\nexport class HintPopoverComponent implements OnInit {\r\n @Input() key: string;\r\n @Input() iconColor: string;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","export const environment = {\r\n production: true,\r\n backofficeUrl: \"http://41.65.131.30:9090\",\r\n globalDataApi: \"http://164.160.104.123:3030\",\r\n feedUrl: \"http://41.65.131.15:8090\",\r\n recaptcha: {\r\n siteKey: \"6LePCWEfAAAAAIbSbj1pSyTZp_UDG5ItAS4ReI24\",\r\n },\r\n version: \"V. 20241126 B.54\",\r\n};\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'timeFormat'\r\n})\r\nexport class TimeFormatPipe implements PipeTransform {\r\n\r\n transform(time: string, format: string = 'HH:mm'): string {\r\n if (!time) return '';\r\n\r\n // Split the time range into start and end times\r\n // const [startTime, endTime] = time.split('-');\r\n\r\n // Function to convert 24-hour format to 12-hour format with AM/PM\r\n const convertTo12HourFormat = (time: string): string => {\r\n const [hours, minutes] = time.split(':').map(Number);\r\n let period = 'am';\r\n let hour = hours;\r\n\r\n if (hours >= 12) {\r\n period = 'pm';\r\n if (hours > 12) {\r\n hour = hours - 12;\r\n }\r\n }\r\n\r\n if (hour === 0) {\r\n hour = 12; // 0 hour is 12 in 12-hour format\r\n }\r\n\r\n return format=='HH:mm'?`${hour}:${minutes}`:`${hour}:${minutes}${period}`;\r\n };\r\n\r\n // Convert start and end times\r\n const convertedTime = convertTo12HourFormat(time.trim());\r\n\r\n return convertedTime;\r\n}\r\n\r\n}\r\n","import { tap } from \"rxjs/operators\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport * as Bowser from \"bowser\";\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpErrorResponse,\r\n} from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { UrlConstants } from \"../models/urlConstants\";\r\nconst browser = Bowser.getParser(window.navigator.userAgent);\r\n@Injectable()\r\nexport class RequestHeaderInterceptor implements HttpInterceptor {\r\n browserName: any;\r\n constructor(private accService: AccountService) {}\r\n\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n this.browserName = browser.getBrowserName();\r\n\r\n const idToken = JSON.parse(sessionStorage.getItem(\"user\"));\r\n let modifiedRequest;\r\n let key = \"\";\r\n\r\n if (\r\n UrlConstants != null &&\r\n UrlConstants.appKey != null &&\r\n UrlConstants.appKey != undefined\r\n )\r\n key = UrlConstants.appKey;\r\n modifiedRequest = request.clone({\r\n headers: request.headers\r\n .set(\"device_type\", this.browserName)\r\n .set(\"app_Key\", key)\r\n .set(\"Content-Type\", \"application/json\"),\r\n });\r\n if (idToken) {\r\n modifiedRequest = modifiedRequest.clone({\r\n headers: modifiedRequest.headers.set(\"Authorization\", idToken),\r\n });\r\n }\r\n return next.handle(modifiedRequest).pipe(\r\n tap(\r\n () => {},\r\n (err: any) => {\r\n if (err instanceof HttpErrorResponse) {\r\n if (\r\n err.status === 401 &&\r\n err.url != UrlConstants.backofficeUrl + \"/api/Token/CheckAuthentication\"\r\n ) {\r\n // refresh token or navigate to login\r\n this.accService.logout();\r\n } else if (err.status === 404) {\r\n //not found\r\n } else if (err.status === 400) {\r\n // bad request\r\n } else {\r\n // global request\r\n }\r\n }\r\n }\r\n )\r\n );\r\n }\r\n}\r\n","import { AccountService } from \"src/app/services/account.service\";\r\nimport { GridsterService } from \"src/app/services/gridster.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { MarketTrades } from \"./../../models/company-trades\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport {\r\n MarketWatchDetailService,\r\n StockDetail,\r\n} from \"src/app/services/market-watch-detail.service\";\r\nimport { CdkDragDrop, moveItemInArray } from \"@angular/cdk/drag-drop\";\r\n\r\n@Component({\r\n selector: \"app-market-trades\",\r\n templateUrl: \"./market-trades.component.html\",\r\n styleUrls: [\"./market-trades.component.scss\"],\r\n})\r\nexport class MarketTradesComponent implements OnInit {\r\n companyTrades: MarketTrades[];\r\n isTradesLoading: boolean;\r\n\r\n tradesUpdates = [];\r\n allMarketNames: StockDetail[];\r\n isMarket: boolean;\r\n columns = [];\r\n isFrozen: boolean = false;\r\n \r\n private tradeChangesSubscription: any;\r\n private namesSubscription: any;\r\n\r\n\r\n allFilters = [\r\n { prop: \"EXEC_TIME\", name: \"time\", isChecked: true },\r\n { prop: \"ENG_Name\", name: \"symbol\", isChecked: true },\r\n { prop: \"TRADE_PRICE\", name: \"price\", isChecked: true },\r\n { prop: \"TRADE_VOLUME\", name: \"qty\", isChecked: true },\r\n { prop: \"CHANGE_PRC\", name: \"change\", isChecked: true },\r\n { prop: \"CHANGE\", name: \"change\", isChecked: false },\r\n { prop: \"REUTERS\", name: \"reuters\", isChecked: false },\r\n ];\r\n\r\n constructor(\r\n private signalService: SignalRService,\r\n private _service: ApiService,\r\n public translate: TranslateService,\r\n private _marketDetail: MarketWatchDetailService,\r\n private accService: AccountService,\r\n private _gridService: GridsterService\r\n ) {\r\n this.initialize();\r\n \r\n\r\n this.accService.isFullMarketUser.subscribe((isMarket) => {\r\n this.isMarket = isMarket;\r\n });\r\n\r\n }\r\n\r\n updateStockDetail(trade: MarketTrades) {\r\n if (trade && this.allMarketNames) {\r\n let companyDetail = this.allMarketNames.find(\r\n (x) => x[\"SYMBOL_CODE\"] === trade.SEC_BORAD_ID\r\n );\r\n if (companyDetail) {\r\n trade.ARB_Name = companyDetail[\"arb_shortname\"];\r\n trade.ENG_Name = companyDetail[\"eng_shortname\"];\r\n trade.REUTERS = companyDetail[\"Reuters\"];\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.fetchMarketTrades();\r\n }\r\n\r\n get colsss() {\r\n return this.columns.filter((col) => col.isChecked);\r\n }\r\n\r\n fetchMarketTrades() {\r\n this.isTradesLoading = true;\r\n\r\n this._service.fetchMarketTrades().subscribe((res) => {\r\n this.isTradesLoading = false;\r\n this.companyTrades = res as MarketTrades[];\r\n });\r\n }\r\n\r\n toggle(col, event) {\r\n col.isChecked = !col.isChecked;\r\n\r\n this.updateCols();\r\n }\r\n\r\n updateCols() {\r\n this._gridService.saveTradesColumns(this.columns);\r\n this.WindowResize();\r\n }\r\n\r\n WindowResize() {\r\n setTimeout(() => {\r\n window.dispatchEvent(new Event(\"resize\"));\r\n }, 50);\r\n }\r\n\r\n drop(event: CdkDragDrop) {\r\n moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\r\n this.updateCols();\r\n }\r\n\r\n toggleFrozen() {\r\n this.isFrozen = !this.isFrozen;\r\n\r\n // Clean up subscriptions before re-initializing\r\n this.cleanupSubscriptions();\r\n\r\n // Reinitialize based on the updated isFrozen value\r\n this.initialize();\r\n\r\n setInterval(() => {\r\n this.isFrozen = false;\r\n // Toggle the boolean\r\n }, 15000); // 10000ms = 10 seconds\r\n }\r\n\r\n cleanupSubscriptions() {\r\n // Unsubscribe from the SignalR and Market Watch name updates when the component is destroyed\r\n if (this.tradeChangesSubscription) {\r\n this.tradeChangesSubscription.unsubscribe();\r\n }\r\n if (this.namesSubscription) {\r\n this.namesSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n initialize() {\r\n if (!this.isFrozen) {\r\n // Subscribe to trade updates\r\n this.tradeChangesSubscription = this.signalService.tradeChanges.subscribe((res) => {\r\n if (this.allMarketNames) {\r\n res.reverse();\r\n res.forEach((trade) => {\r\n if (this.companyTrades) {\r\n this.updateStockDetail(trade);\r\n this.companyTrades.unshift(trade);\r\n }\r\n });\r\n // Limit the trade count to 100\r\n if (this.companyTrades?.length > 100) {\r\n this.companyTrades.length = 100;\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Subscribe to market name updates\r\n if (this._marketDetail.marketNames) {\r\n this.allMarketNames = this._marketDetail.marketNames.getValue();\r\n }\r\n\r\n this.namesSubscription = this._marketDetail.namesSubject.subscribe((res) => {\r\n this.allMarketNames = res as StockDetail[];\r\n });\r\n }\r\n\r\n\r\n \r\n ngOnDestroy() {\r\n // Cleanup subscriptions on component destruction\r\n this.cleanupSubscriptions();\r\n }\r\n}\r\n","
\r\n

\r\n {{ \"market-trades\" | translate }}\r\n\r\n \r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{\"select-company-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{'no-trades'|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{\"time\"|translate}}{{\"symbol\"|translate}}{{\"price\"|translate}}{{\"qty\"|translate}}{{\"change\"|translate}}
\r\n {{item.EXEC_TIME | date:'h:mm:ss'}}\r\n \r\n {{(translate.currentLang=='en')?item.ENG_Name:item.ARB_Name}}\r\n 0? 'green' : (item.CHANGE_PRC < 0)? 'red':''\">\r\n {{item.TRADE_PRICE}}\r\n \r\n {{item.TRADE_VOLUME | number: \"1.0\":\"en-US\"}}\r\n 0? 'green' : (item.CHANGE_PRC < 0)? 'red':''\">\r\n {{item.CHANGE_PRC}} %\r\n
\r\n
\r\n\r\n \r\n
\r\n","
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n EGX\r\n \r\n
\r\n
\r\n \r\n \r\n {{nowDate | date:\"dd-MM-YYYY\"}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{selectedEgx[egxIndex]}}\r\n
\r\n
\r\n
0? 'green' : 'red'\">\r\n {{egxData.CHANGEVALU30}}\r\n
\r\n
0? 'green' : 'red'\">\r\n {{egxData.CHANGEVALU70}}\r\n
\r\n
0? 'green' : 'red'\">\r\n {{egxData.CHANGEVALU100}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{egxData.CURRENTVALUE30| number}}\r\n
\r\n \r\n
0? 'green' : 'red'\">\r\n {{egxData.CHANGEPERC30| number : '1.2-2'}}\r\n %\r\n 0\">\r\n \r\n
\r\n \r\n
\r\n {{egxData.CURRENTVALUE70| number}}\r\n
\r\n \r\n
0? 'green' : 'red'\">\r\n {{egxData.CHANGEPERC70| number : '1.2-2'}}\r\n %\r\n 0\">\r\n \r\n
\r\n \r\n
\r\n {{egxData.CURRENTVALUE100| number}}\r\n
\r\n \r\n
0? 'green' : 'red'\">\r\n {{egxData.CHANGEPERC100| number : '1.2-2'}}\r\n %\r\n 0\">\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n EGX30\r\n EGX70\r\n EGX100\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n {{\"turnover\"|translate}}\r\n
\r\n
\r\n {{egxData.TURNOVER | number}}M\r\n
\r\n
\r\n
\r\n
\r\n {{'volume'|translate}}\r\n
\r\n
\r\n {{egxData.VOLUME | number}}M\r\n
\r\n
\r\n
\r\n
\r\n {{\"trades\"|translate}}\r\n
\r\n
\r\n {{egxData.TRADES_NUMBER | number}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Up\r\n
\r\n
\r\n
\r\n
\r\n {{egxData.ADVANCING}}\r\n
\r\n
\r\n UnCh.\r\n
\r\n
\r\n
\r\n {{egxData.UNCHANGED}}\r\n
\r\n
\r\n Down\r\n
\r\n
\r\n
\r\n
\r\n {{egxData.DECLINING}}\r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { EgxData } from \"src/app/models/egx-data\";\r\n\r\n@Component({\r\n selector: \"app-home-market-summary\",\r\n templateUrl: \"./home-market-summary.component.html\",\r\n styleUrls: [\"./home-market-summary.component.scss\"],\r\n})\r\nexport class HomeMarketSummaryComponent implements OnInit {\r\n egxData: EgxData;\r\n egxIndex = 0;\r\n totalCalc: number;\r\n isMarketActive: boolean;\r\n nowDate: Date;\r\n\r\n constructor(private _service: ApiService, signalR: SignalRService) {\r\n signalR.summaryChanges.subscribe((res) => {\r\n this.egxData = res as EgxData;\r\n this.totalCalc =\r\n this.egxData.UNCHANGED +\r\n this.egxData.ADVANCING +\r\n this.egxData.DECLINING;\r\n });\r\n\r\n signalR.marketStatusChanges.subscribe((res) => {\r\n this.isMarketActive = res;\r\n });\r\n\r\n this.fetchMarketSummary();\r\n this.fetchMarketStatus();\r\n }\r\n\r\n selectedEgx = [\"EGX30\", \"EGX70\", \"EGX100\"];\r\n\r\n fetchMarketSummary() {\r\n this._service.fetchMarketSummary().subscribe((res) => {\r\n this.egxData = res as EgxData;\r\n this.totalCalc =\r\n this.egxData.UNCHANGED +\r\n this.egxData.ADVANCING +\r\n this.egxData.DECLINING;\r\n });\r\n }\r\n\r\n fetchMarketStatus() {\r\n this._service.fetchMarketStatus().subscribe((res) => {\r\n if (res.length > 0) {\r\n this.isMarketActive = true;\r\n }\r\n this.nowDate = new Date();\r\n });\r\n }\r\n\r\n setEgx(number) {\r\n this.egxIndex = number;\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { OnChanges } from \"@angular/core\";\r\nimport { ColumnMode } from \"@swimlane/ngx-datatable\";\r\nimport { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { SelectedOrderTradeComponent } from \"../selected-order-trade/selected-order-trade.component\";\r\nimport { GridsterService } from \"src/app/services/gridster.service\";\r\nimport { CdkDragDrop, moveItemInArray } from \"@angular/cdk/drag-drop\";\r\nimport { Subject } from \"rxjs\";\r\n@Component({\r\n selector: \"app-order-history\",\r\n templateUrl: \"./order-history.component.html\",\r\n styleUrls: [\"./order-history.component.scss\"],\r\n})\r\nexport class OrderHistoryComponent implements OnInit {\r\n rows = [];\r\n\r\n dtTrigger: Subject = new Subject();\r\n ColumnMode = ColumnMode;\r\n\r\n dtOptions: {\r\n // scrollX: true,\r\n paging: boolean;\r\n searching: boolean;\r\n autoWidth: boolean;\r\n info: boolean;\r\n responsive: boolean;\r\n fixedHeader: boolean;\r\n select: boolean;\r\n order: any[];\r\n sorting: any[];\r\n };\r\n\r\n @Input() orderRequest: any;\r\n @Input() typesList: any;\r\n @Input() symbolList: any;\r\n DataToShow: boolean = false;\r\n getTransaction(value) {\r\n if (value != null) {\r\n if (this.translate.currentLang == \"en\") {\r\n return this.typesList.find((x) => x.TransactionId == value)\r\n .TransactionNameE;\r\n } else {\r\n return this.typesList.find((x) => x.TransactionId == value)\r\n .TransactionTypeA;\r\n }\r\n }\r\n }\r\n getSymbols(value) {\r\n if (value != null) {\r\n if (this.translate.currentLang == \"en\") {\r\n return this.symbolList.find((x) => x.SymbolCode == value).SymbolNameE;\r\n } else {\r\n return this.symbolList.find((x) => x.SymbolCode == value).SymbolNameA;\r\n }\r\n }\r\n }\r\n isDate(prop) {\r\n return prop == \"TransactionDate\";\r\n }\r\n isSymbol(prop) {\r\n return prop == \"SymbolShortNameEn\";\r\n }\r\n isNum(prop) {\r\n return (\r\n prop == \"TransactionPrice\" &&\r\n prop == \"OrderValue\" &&\r\n prop == \"TransactionQty\"\r\n );\r\n }\r\n isCustdName(prop) {\r\n return prop == \"CustodianNameEn\";\r\n }\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n public snackBar: MatSnackBar,\r\n private _gridService: GridsterService,\r\n public dialog: MatDialog\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (this._gridService.getTradeHistoryColumns()) {\r\n this.columns = this._gridService.getTradeHistoryColumns();\r\n } else {\r\n this.columns = this.allFilters;\r\n }\r\n this.dtTrigger.next();\r\n this.WindowResize();\r\n\r\n this.dtOptions = {\r\n // scrollX: true,\r\n paging: false,\r\n searching: false,\r\n autoWidth: true,\r\n info: false,\r\n responsive: true,\r\n fixedHeader: true,\r\n select: false,\r\n order: [[0, \"desc\"]],\r\n sorting: [],\r\n // ajax: (dataTablesParameters: any, callback) => {\r\n // this.fetchEGX(\"EGX30\").subscribe((res) => {\r\n // this.isCompaniesLoading = false;\r\n // this.companies = res as CompanyList[];\r\n // this.WindowResize();\r\n\r\n // callback({\r\n // recordsTotal: this.companies.length,\r\n // data: [],\r\n // });\r\n // });\r\n // },\r\n };\r\n }\r\n allFilters = [\r\n { prop: \"TransactionDate\", name: \"date\", isChecked: true },\r\n { prop: \"TicketNo\", name: \"#transaction\", isChecked: true },\r\n { prop: \"OrderNumber\", name: \"#order\", isChecked: true },\r\n { prop: \"InvoiceId\", name: \"#invoice\", isChecked: true },\r\n { prop: \"TransactionTypeID\", name: \"type\", isChecked: true },\r\n { prop: \"SymbolShortNameEn\", name: \"symbolCode\", isChecked: true },\r\n { prop: \"CustodianCode\", name: \"custodianCode\", isChecked: true },\r\n { prop: \"CustodianNameEn\", name: \"custodian-name\", isChecked: false },\r\n { prop: \"TransactionQty\", name: \"qty\", isChecked: true },\r\n { prop: \"TransactionPrice\", name: \"price\", isChecked: true },\r\n { prop: \"OrderValue\", name: \"value\", isChecked: true },\r\n ];\r\n statusValue = [\r\n {\r\n value: 1,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"LocalNew\" : \"جديد داخليا\",\r\n },\r\n {\r\n value: 2,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"LocalUpdate\" : \"تعديل داخلي\",\r\n },\r\n {\r\n value: 3,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"LocalCancel\" : \"إلغاء داخلي\",\r\n },\r\n {\r\n value: 4,\r\n viewValue: this.translate.currentLang == \"en\" ? \"Divided\" : \"مقسم\",\r\n },\r\n {\r\n value: 5,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"FIXAwaitNew\"\r\n : \"انتظار إرسال البورصة\",\r\n },\r\n {\r\n value: 6,\r\n viewValue: this.translate.currentLang == \"en\" ? \"FIXNew\" : \"تم الإرسال\",\r\n },\r\n {\r\n value: 7,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"FIXAwaitUpdate\"\r\n : \"انتظار إرسال التعديل\",\r\n },\r\n {\r\n value: 8,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"FIXUpdate\" : \"تم التعديل\",\r\n },\r\n {\r\n value: 9,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"FIXAwaitCancel\"\r\n : \"انتظار إرسال الإلغاء\",\r\n },\r\n {\r\n value: 10,\r\n viewValue: this.translate.currentLang == \"en\" ? \"FIXCancel\" : \"ملغى\",\r\n },\r\n {\r\n value: 11,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"FIXAwaitSuspend\"\r\n : \"انتظار إرسال الإيقاف\",\r\n },\r\n {\r\n value: 12,\r\n viewValue: this.translate.currentLang == \"en\" ? \"FIXSuspend\" : \"موقوف\",\r\n },\r\n {\r\n value: 13,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"UpdateDividedNoCascade\"\r\n : \"تعدبل تقسيم بدون توزيع\",\r\n },\r\n {\r\n value: 14,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"UpdateDividedCascade\"\r\n : \"تعديل تقسيم بالتوزيع\",\r\n },\r\n {\r\n value: 15,\r\n viewValue: this.translate.currentLang == \"en\" ? \"Automatic\" : \"تلقائي\",\r\n },\r\n {\r\n value: 16,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"FixPrivate\" : \"FixPrivate\",\r\n },\r\n {\r\n value: 17,\r\n viewValue: this.translate.currentLang == \"en\" ? \"FixPublic\" : \"FixPublic\",\r\n },\r\n {\r\n value: 18,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"FIXAwaitApprove\"\r\n : \"إنتظار الإعتماد للإرسال\",\r\n },\r\n {\r\n value: 20,\r\n viewValue: this.translate.currentLang == \"en\" ? \"HubNew\" : \"HubNew\",\r\n },\r\n {\r\n value: 21,\r\n viewValue: this.translate.currentLang == \"en\" ? \"HubUpdate\" : \"HubUpdate\",\r\n },\r\n {\r\n value: 22,\r\n viewValue: this.translate.currentLang == \"en\" ? \"HubCancel\" : \"HubCancel\",\r\n },\r\n {\r\n value: 23,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"HubRejected\" : \"HubRejected\",\r\n },\r\n {\r\n value: 24,\r\n viewValue: this.translate.currentLang == \"en\" ? \"FixRejected\" : \"رفض\",\r\n },\r\n {\r\n value: 25,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"FixRupdate\" : \"FixRupdate\",\r\n },\r\n {\r\n value: 26,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"FixExpired\" : \"FixExpired\",\r\n },\r\n {\r\n value: 27,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"DisApproved\" : \"رفض ائتمان\",\r\n },\r\n ];\r\n columns = [];\r\n\r\n drop(event: CdkDragDrop) {\r\n moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\r\n this.updateCols();\r\n }\r\n updateCols() {\r\n this._gridService.saveTradeHistoryColumns(this.columns);\r\n this.WindowResize();\r\n }\r\n WindowResize() {\r\n setTimeout(() => {\r\n window.dispatchEvent(new Event(\"resize\"));\r\n }, 250);\r\n }\r\n\r\n toggle(col, event) {\r\n col.isChecked = !col.isChecked;\r\n this.WindowResize();\r\n this.updateCols();\r\n }\r\n get colsss() {\r\n return this.columns.filter((col) => col.isChecked);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.orderRequest != null && changes.orderRequest != null) {\r\n if (\r\n changes.orderRequest.currentValue != changes.orderRequest.previousValue\r\n ) {\r\n this.DataToShow = true;\r\n this.orderRequest = changes.orderRequest.currentValue;\r\n } else {\r\n this.DataToShow = false;\r\n }\r\n } else {\r\n this.DataToShow = false;\r\n }\r\n }\r\n\r\n getStatus(value) {\r\n return this.statusValue.find((x) => x.value == value).viewValue;\r\n }\r\n\r\n viewOrder(row) {\r\n const dialogRef = this.dialog.open(SelectedOrderTradeComponent, {\r\n panelClass: \"custom-dialog-container\",\r\n data: { order: row },\r\n width: \"400px\",\r\n });\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n if (confirmed) {\r\n this.snackBar\r\n .open(\"Order Updated Successfully\", \"Ok\", {\r\n duration: 2000,\r\n })\r\n .afterDismissed()\r\n .subscribe((res) => {});\r\n } else {\r\n this.snackBar.open(\"Order Update Failed\", \"Close\", {\r\n duration: 2000,\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
{{\"history\"|translate}}
\r\n \r\n \r\n
\r\n
\r\n {{\"aval-cols\" | translate}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ item.name | translate}}
\r\n {{ item[x.prop]| date: 'M/d/yy h:mm a' }}\r\n \r\n {{(translate.currentLang == 'en')?item.SymbolShortNameEn:item.SymbolShortNameAr}}\r\n {{(translate.currentLang == 'en')?item.SymbolNameEn:item.SymbolNameAr}}\r\n \r\n {{(translate.currentLang == 'en')?item.CustodianNameEn:item.CustodianNameAr}}\r\n {{ item[x.prop] | number: \"1.2-2\":\"en-US\"}}\r\n {{ item[x.prop]}}\r\n
{{\"no-data-available\" |translate}}
\r\n\r\n
\r\n
\r\n","
\r\n\r\n

\r\n {{\"market\" | translate}} | {{state}}\r\n \r\n \r\n {{\"SetDefault\" | translate}}\r\n \r\n \r\n \r\n

\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n grid_view\r\n \r\n \r\n \r\n \r\n table_rows\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{\"aval-cols\" | translate}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {{ watch.MarketWatchName }}\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n 0 ? searchComp : favCompanies\"\r\n class=\"mat-elevation-z8\">\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n {{'reuters'|translate}} \r\n
{{element.Reuters}}\r\n
\r\n
\r\n {{'symbol' | translate}}\r\n \r\n\r\n
{{(translate.currentLang=='en')?element.eng_shortname:element.arb_shortname}}
\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n
{{column.name | translate}}\r\n \r\n \r\n {{element[column.prop] % 1==0 ? (element[column.prop] | number) : (element[column.prop] | number:\r\n \"1.2-3\":\"en-US\") }}\r\n %\r\n \r\n \r\n \r\n {{element[column.prop]}}\r\n {{ element[column.prop] |\r\n date:'h:mm:ss'}}\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n 0 ? searchComp : companies\" class=\"mat-elevation-z8\">\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n {{'reuters'|translate}} \r\n
{{element.Reuters}}\r\n
\r\n
\r\n {{'symbol' | translate}}\r\n \r\n
{{(translate.currentLang=='en')?element.eng_shortname:element.arb_shortname}}
\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n
{{column.name | translate}}\r\n \r\n \r\n {{element[column.prop] | number: \"1.2-3\":\"en-US\"}}\r\n %\r\n \r\n \r\n \r\n {{element[column.prop]}}\r\n {{ element[column.prop] | date:'h:mm:ss'}}\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
","import {\r\n MarketWatchDetailService,\r\n StockDetail,\r\n} from \"./../../services/market-watch-detail.service\";\r\nimport { CdkDragDrop, moveItemInArray } from \"@angular/cdk/drag-drop\";\r\nimport { Component, ElementRef, Input, OnInit, ViewChild, Renderer2 } from \"@angular/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ColumnMode, SelectionType } from \"@swimlane/ngx-datatable\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { FavService } from \"src/app/services/fav.service\";\r\nimport { GridsterService } from \"src/app/services/gridster.service\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { OrderBuyComponent } from \"../order-buy/order-buy.component\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { FlexLayoutService } from \"src/app/services/flex-layout.service\";\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: \"app-slick-market-watch\",\r\n templateUrl: \"./slick-market-watch.component.html\",\r\n styleUrls: [\"./slick-market-watch.component.scss\"],\r\n})\r\nexport class SlickMarketWatchComponent implements OnInit {\r\n\r\n fireFunction: any;\r\n addWidget: any;\r\n @Input() state;\r\n @Input() id;\r\n isCompaniesLoading: boolean;\r\n egxCompanies: CompanyList[] = [];\r\n favCompanies = new MatTableDataSource();\r\n searchText = \"\";\r\n selectedSymbol: any;\r\n ColumnMode = ColumnMode;\r\n searchComp = new MatTableDataSource();\r\n selected;\r\n SelectionType = SelectionType;\r\n isShow: boolean = false;\r\n @ViewChild(\"myWidget\") myWidget: ElementRef;\r\n\r\n @ViewChild(MatSort) sort: MatSort;\r\n @ViewChild('favMenu') favMenu: ElementRef | undefined;\r\n dropdownX = 0;\r\n dropdownY = 0;\r\n selectedItem = null;\r\n public contextmenuX: any;\r\n public contextmenuY: any;\r\n public contextmenu = false;\r\n addWidgetSymbolCode: any;\r\n isDarkTheme: boolean;\r\n marketWatches: any[] = [];\r\n activeMarketWatch: any = null;\r\n favSymbols: string[] = [];\r\n openDropdowns: { [key: string]: boolean } = {};\r\n dropdownOpen:boolean=false;\r\n deletingMarketWatch:boolean=false;\r\n defaultMarketWatch:any;\r\n\r\n columns = [];\r\n\r\n matColumns = [\r\n \"Reuters\",\r\n \"ENG_NAME\",\r\n \"LAST_TRADE_PRICE\",\r\n \"LAST_TRADE_VOLUME\",\r\n \"LAST_CHANGE\",\r\n \"LAST_CHANGE_PRC\",\r\n \"OPEN_PRICE\",\r\n \"CLOSE_PRICE\",\r\n \"LOW_PRICE\",\r\n \"HIGH_PRICE\",\r\n \"TOTAL_VALUE\",\r\n \"TOTAL_VOLUME\",\r\n \"LAST_TRADE_DATE\",\r\n \"BID_PRICE\",\r\n \"BID_VOLUME\",\r\n \"TOTAL_BIDS\",\r\n \"TOTAL_ASKS\",\r\n \"ASK_VOLUME\",\r\n \"ASK_PRICE\",\r\n \"ENG_DESC\",\r\n \"MARKET_ID\",\r\n \"PREVIOUS_CLOSE\",\r\n \"REF_PRICE\",\r\n ];\r\n\r\n allFilters = [\r\n { prop: \"LAST_TRADE_PRICE\", name: \"last-price\", isChecked: true },\r\n { prop: \"LAST_TRADE_VOLUME\", name: \"last-volume\", isChecked: true },\r\n { prop: \"LAST_CHANGE\", name: \"last-change\", isChecked: true },\r\n { prop: \"LAST_CHANGE_PRC\", name: \"last-change-prc\", isChecked: true },\r\n { prop: \"OPEN_PRICE\", name: \"open\", isChecked: true },\r\n { prop: \"CLOSE_PRICE\", name: \"close\", isChecked: true },\r\n { prop: \"LOW_PRICE\", name: \"low\", isChecked: true },\r\n { prop: \"HIGH_PRICE\", name: \"high\", isChecked: true },\r\n { prop: \"TOTAL_VALUE\", name: \"value\", isChecked: true },\r\n { prop: \"TOTAL_VOLUME\", name: \"volume\", isChecked: true },\r\n { prop: \"BID_PRICE\", name: \"bid-price\", isChecked: true },\r\n { prop: \"BID_VOLUME\", name: \"bid-qty\", isChecked: true },\r\n { prop: \"TOTAL_BIDS\", name: \"total-bids\", isChecked: true },\r\n { prop: \"TOTAL_ASKS\", name: \"total-asks\", isChecked: true },\r\n { prop: \"ASK_VOLUME\", name: \"ask-qty\", isChecked: true },\r\n { prop: \"ASK_PRICE\", name: \"ask-price\", isChecked: true },\r\n { prop: \"LAST_TRADE_DATE\", name: \"last-trade-date\", isChecked: false },\r\n { prop: \"ENG_DESC\", name: \"sector\", isChecked: false },\r\n { prop: \"MARKET_ID\", name: \"market\", isChecked: false },\r\n { prop: \"PREVIOUS_CLOSE\", name: \"prev-close\", isChecked: false },\r\n { prop: \"REF_PRICE\", name: \"ref-price\", isChecked: false },\r\n // {\r\n // prop: \"ARB_NAME\",\r\n // name: \"shortname\",\r\n // isChecked: false,\r\n // },\r\n { prop: \"INDICATIVEPRICE\", name: \"indicative-price\", isChecked: true },\r\n { prop: \"INDICATIVEVOLUME\", name: \"indicative-volume\", isChecked: true },\r\n ];\r\n\r\n tableView = \"market\";\r\n favView = \"grid\";\r\n\r\n companiesUpdates: CompanyList[] = [];\r\n isFavsLoading: boolean = false;\r\n layerX: any;\r\n layerY: any;\r\n screenX: any;\r\n screenY: any;\r\n\r\n companies = new MatTableDataSource();\r\n allMarketNames: StockDetail[];\r\n isMarketUser: boolean;\r\n showAddFavorite = false;\r\n newFavoriteName = '';\r\n\r\n private outsideClickUnlistener: () => void;\r\n\r\n addWidgets(name) {\r\n this._gridService.addGeneric(name, true);\r\n }\r\n\r\n public onFavViewChange(val: string) {\r\n this.favView = val;\r\n this.fetchFavs();\r\n }\r\n toggleFavMenu() {\r\n this.isShow = !this.isShow;\r\n }\r\n clickedOutsideMenu() {\r\n this.contextmenu = false;\r\n }\r\n\r\n\r\n public onTableContextMenu(event, company) {\r\n\r\n const tableContainer = this.myWidget.nativeElement;\r\n const rect = tableContainer.getBoundingClientRect();\r\n\r\n // Calculate the context menu position\r\n this.contextmenuX = event.clientX;\r\n this.contextmenuY = event.clientY;\r\n\r\n this.contextmenu = true;\r\n this.addWidgetSymbolCode = {\r\n symbol: company.SYMBOL_CODE,\r\n reuters: company.Reuters,\r\n name: company.ARB_NAME,\r\n nameEn: company.ENG_NAME,\r\n };\r\n const existingMenu = document.querySelector('.contextmenu') as HTMLElement;\r\n if (existingMenu) {\r\n // Update position\r\n existingMenu.style.left = `${this.contextmenuX}px`;\r\n existingMenu.style.top = `${this.contextmenuY}px`;\r\n\r\n // Ensure it's appended to the body\r\n if (existingMenu.parentNode) {\r\n existingMenu.parentNode.removeChild(existingMenu);\r\n }\r\n document.body.appendChild(existingMenu);\r\n }\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n public onDropdownClick(event: MouseEvent, symbol: string): void {\r\n this.openDropdowns = {};\r\n this.openDropdowns[symbol] = !this.openDropdowns[symbol];\r\n this.isShow = !this.isShow;\r\n\r\n\r\n const dropdownMenu = document.querySelector('.dropdown-menu-fav') as HTMLElement;\r\n if (dropdownMenu) {\r\n dropdownMenu.style.left = `${event.clientX -60}px`;\r\n dropdownMenu.style.top = `${event.clientY}px`;\r\n if (dropdownMenu.parentNode) {\r\n dropdownMenu.parentNode.removeChild(dropdownMenu);\r\n }\r\n document.body.appendChild(dropdownMenu);\r\n }\r\n if (this.outsideClickUnlistener) {\r\n this.outsideClickUnlistener();\r\n }\r\n this.outsideClickUnlistener = this.renderer.listen('document', 'click', (e: MouseEvent) => this.handleOutsideClick(e, symbol));\r\n }\r\n\r\n private handleOutsideClick(event: MouseEvent, symbol: string): void {\r\n const clickedInsideDropdown = (event.target as HTMLElement).closest('.dropdown-menu-fav');\r\n const clickedDropdownToggle = (event.target as HTMLElement).classList.contains('dropdown-toggle');\r\n\r\n if (!clickedInsideDropdown && !clickedDropdownToggle) {\r\n const dropdownMenu = document.querySelector('.dropdown-menu-fav');\r\n if (dropdownMenu && dropdownMenu.parentNode) {\r\n dropdownMenu.parentNode.removeChild(dropdownMenu);\r\n }\r\n\r\n this.openDropdowns[symbol] = false;\r\n if (this.outsideClickUnlistener) {\r\n this.outsideClickUnlistener(); \r\n this.outsideClickUnlistener = null;\r\n }\r\n }\r\n }\r\n isNumber(val): boolean {\r\n return typeof val === \"number\";\r\n }\r\n\r\n getColumnClass(column, value) {\r\n if (\r\n (column.prop == \"LAST_CHANGE_PRC\" && value > 0) ||\r\n (column.prop == \"LAST_CHANGE\" && value > 0)\r\n )\r\n return \"green\";\r\n else if (\r\n (column.prop == \"LAST_CHANGE_PRC\" && value < 0) ||\r\n (column.prop == \"LAST_CHANGE\" && value < 0)\r\n )\r\n return \"red\";\r\n else if (column.prop == \"LAST_TRADE_PRICE\") return \"last-price-color\";\r\n else if (\r\n column.prop == \"BID_PRICE\" ||\r\n column.prop == \"BID_VOLUME\" ||\r\n column.prop == \"TOTAL_BIDS\"\r\n )\r\n return \"table-bids-color\";\r\n else if (\r\n column.prop == \"ASK_PRICE\" ||\r\n column.prop == \"ASK_VOLUME\" ||\r\n column.prop == \"TOTAL_ASKS\"\r\n )\r\n return \"table-asks-color\";\r\n return;\r\n }\r\n\r\n onSelect(item) {\r\n this.selected = item;\r\n this.sendCompanySymbol(\r\n item.SYMBOL_CODE,\r\n item.Reuters,\r\n item.eng_shortname,\r\n item.arb_shortname,\r\n false\r\n );\r\n }\r\n\r\n drop(event: CdkDragDrop) {\r\n moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\r\n this.updateCols();\r\n }\r\n\r\n updateFilter(event) {\r\n const val = event.target.value.toLowerCase();\r\n\r\n let temp;\r\n if (this.tableView == \"market\")\r\n temp = this.companies?.data.filter(function (d) {\r\n return (\r\n d.eng_shortname &&\r\n (d.eng_shortname\r\n .toLocaleLowerCase()\r\n .includes(val.toLocaleLowerCase()) ||\r\n d.arb_shortname\r\n .toLocaleLowerCase()\r\n .includes(val.toLocaleLowerCase()) ||\r\n d.SYMBOL_CODE.toLocaleLowerCase().includes(\r\n val.toLocaleLowerCase()\r\n ) ||\r\n d.Reuters.toLocaleLowerCase().includes(val.toLocaleLowerCase()))\r\n );\r\n });\r\n else\r\n temp = this.favCompanies?.data.filter(function (d) {\r\n return (\r\n d.ENG_NAME &&\r\n (d.ENG_NAME.toLocaleLowerCase().includes(val.toLocaleLowerCase()) ||\r\n d.ARB_NAME.toLocaleLowerCase().includes(val.toLocaleLowerCase()) ||\r\n d.SYMBOL_CODE.toLocaleLowerCase().includes(\r\n val.toLocaleLowerCase()\r\n ) ||\r\n d.Reuters.toLocaleLowerCase().includes(val.toLocaleLowerCase()))\r\n );\r\n });\r\n // update the rows\r\n this.searchComp.data = temp;\r\n this.searchComp.sort = this.sort;\r\n\r\n this.WindowResize();\r\n\r\n if (val == \"\") {\r\n this.searchComp = new MatTableDataSource();\r\n }\r\n }\r\n\r\n constructor(\r\n private _gridService: FlexLayoutService,\r\n signalService: SignalRService,\r\n public dialog: MatDialog,\r\n public translate: TranslateService,\r\n private favService: FavService,\r\n public accService: AccountService,\r\n private _service: ApiService,\r\n private _marketDetail: MarketWatchDetailService,\r\n private renderer: Renderer2\r\n ) {\r\n signalService.marketStatusChanges.subscribe((isActive) => {\r\n if (\r\n isActive &&\r\n this.state == \"Most Active\" &&\r\n this.companies.data.length == 0\r\n )\r\n this.fetchTodayActive();\r\n });\r\n signalService.marketChanges.subscribe((res) => {\r\n if (this.allMarketNames)\r\n res.forEach((update) => {\r\n switch (this.tableView) {\r\n case \"market\": {\r\n if (this.searchComp.data.length > 0) {\r\n let itemIndex = this.searchComp?.data.findIndex(\r\n (item) => item.SYMBOL_CODE == update.SYMBOL_CODE\r\n );\r\n if (\r\n this.searchComp.data[itemIndex] != update &&\r\n itemIndex != -1\r\n ) {\r\n this.searchComp.data[itemIndex] = update;\r\n this.searchComp.data[itemIndex].isUpdate = true;\r\n }\r\n this.updateStockDetail(this.searchComp.data[itemIndex]);\r\n } else {\r\n let itemIndex = this.companies?.data.findIndex(\r\n (item) => item.SYMBOL_CODE == update.SYMBOL_CODE\r\n );\r\n if (\r\n this.companies.data[itemIndex] != update &&\r\n itemIndex != -1\r\n ) {\r\n this.companies.data[itemIndex] = update;\r\n this.companies.data[itemIndex].isUpdate = true;\r\n }\r\n this.updateStockDetail(this.companies.data[itemIndex]);\r\n }\r\n }\r\n case \"favorites\": {\r\n let itemIndex = this.favCompanies?.data.findIndex(\r\n (item) => item.SYMBOL_CODE == update.SYMBOL_CODE\r\n );\r\n if (\r\n this.favCompanies.data[itemIndex] != update &&\r\n itemIndex != -1\r\n ) {\r\n this.favCompanies.data[itemIndex] = update;\r\n this.favCompanies.data[itemIndex].isUpdate = true;\r\n this.updateStockDetail(this.favCompanies.data[itemIndex]);\r\n }\r\n this.favCompanies.sort = this.sort;\r\n }\r\n }\r\n });\r\n else if (this._marketDetail.marketNames)\r\n this.allMarketNames = this._marketDetail.marketNames.getValue();\r\n this._marketDetail.namesSubject.subscribe((res) => {\r\n this.allMarketNames = res as StockDetail[];\r\n });\r\n\r\n if (this.tableView == \"market\" && this.searchComp.data.length > 0)\r\n this.searchComp.data = [...this.searchComp?.data];\r\n else if (this.tableView == \"market\")\r\n this.companies.data = [...this.companies?.data];\r\n\r\n if (this.tableView == \"favorites\" && this.favCompanies)\r\n this.favCompanies.data = [...this.favCompanies?.data];\r\n });\r\n }\r\n\r\n updateStockDetail(stock: CompanyList) {\r\n if (stock?.SYMBOL_CODE && this.allMarketNames) {\r\n let companyDetail = this.allMarketNames.find(\r\n (x) => x[\"SYMBOL_CODE\"] === stock.SYMBOL_CODE\r\n );\r\n if (companyDetail) {\r\n stock.arb_shortname = companyDetail[\"arb_shortname\"];\r\n stock.eng_shortname = companyDetail[\"eng_shortname\"];\r\n stock.Reuters = companyDetail[\"Reuters\"];\r\n }\r\n }\r\n }\r\n\r\n setMarketWatchDefault(watch:any):void\r\n {\r\n const symbols = [...this.favService.favCompaniesSymbols.getValue()]; \r\n this.favService.updateFavs(symbols, watch.MarketWatchID, watch.MarketWatchName,true);\r\n }\r\n\r\n async selectMarketWatch(watch: any, symbol: string): Promise {\r\n\r\n this.openDropdowns[symbol] = false;\r\n try {\r\n await this.favService.fetchFavs(watch);\r\n \r\n const symbols = [...this.favService.favCompaniesSymbols.getValue()]; \r\n if (symbols.includes(symbol)) {\r\n const index = symbols.indexOf(symbol);\r\n if (index > -1) {\r\n symbols.splice(index, 1); \r\n }\r\n } else {\r\n symbols.push(symbol);\r\n }\r\n if(this.deletingMarketWatch==false)\r\n {\r\n this.favService.updateFavs(symbols, watch.MarketWatchID, watch.MarketWatchName,false);\r\n }\r\n else\r\n {\r\n this.deletingMarketWatch=false;\r\n }\r\n } catch (error) {\r\n }\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n if (this._gridService.getMarketWatchColumns()) {\r\n this.columns = this._gridService.getMarketWatchColumns();\r\n } else {\r\n this.columns = this.allFilters;\r\n }\r\n\r\n this.accService.isFullMarketUser.subscribe((isMarket) => {\r\n this.isMarketUser = isMarket;\r\n if (!isMarket) {\r\n this.state = \"Favorites\";\r\n this.favView = \"table\";\r\n }\r\n });\r\n this.favService.fetchAllMarketWatches(this.activeMarketWatch);\r\n this.favService.marketWatches.subscribe((watches) => {\r\n this.marketWatches = watches;\r\n if (watches.length > 0) {\r\n this.activeMarketWatch = watches[0];\r\n this.favSymbols = this.activeMarketWatch?.symbols || [];\r\n this.defaultMarketWatch = this.marketWatches.find(watch => watch.IsDefault === true);\r\n }\r\n });\r\n\r\n switch (this.state) {\r\n case \"EGX30\":\r\n case \"EGX70\":\r\n case \"EGX100\":\r\n this.fetchEGX(this.state);\r\n break;\r\n case \"NOPL\":\r\n case \"sme\":\r\n case \"OTC\":\r\n case \"SAMEDAY\":\r\n case \"D\":\r\n this.fetchMarket(this.state);\r\n break;\r\n case \"Most Active\":\r\n this.fetchTodayActive();\r\n break;\r\n case \"All Market\":\r\n this.fetchCompanies();\r\n break;\r\n case \"Favorites\":\r\n this.fetchFavs();\r\n break;\r\n }\r\n }\r\n\r\n updateCols() {\r\n this._gridService.saveMarketWatchColumns(this.columns);\r\n this.WindowResize();\r\n }\r\n\r\n sendCompanySymbol(symbol, reuters, nameEn, nameAr, wasChanged) {\r\n this.selectedSymbol = symbol;\r\n this.fireFunction(symbol, reuters, nameEn, nameAr, wasChanged);\r\n }\r\n\r\n addWidgett(event) {\r\n let obj = JSON.parse(event);\r\n this._gridService.addGeneric(obj.name, false);\r\n this.addWidget(obj.name, obj.companyData, obj.isLinked);\r\n }\r\n bidsAsks(company) {\r\n let obj = {\r\n reuters: company.Reuters,\r\n symbol: company.SYMBOL_CODE,\r\n nameEn: company.ENG_NAME,\r\n name: company.ARB_NAME,\r\n };\r\n this._gridService.addGeneric(\"market-depth\", false);\r\n this.addWidget(\"market-depth\", obj, false);\r\n }\r\n\r\n openChart(company, e) {\r\n e.stopPropagation();\r\n let obj = {\r\n reuters: company.Reuters,\r\n symbol: company.SYMBOL_CODE,\r\n nameEn: company.ENG_NAME,\r\n name: company.ARB_NAME,\r\n };\r\n this.addWidget(\"chart\", obj, false);\r\n }\r\n\r\n fetchFavs() {\r\n this.tableView = \"favorites\";\r\n this.state = \"Favorites\";\r\n this.saveState();\r\n\r\n this.isFavsLoading = true;\r\n this.favService.fetchFavs(this.activeMarketWatch);\r\n this.favService.favCompanies.subscribe((res) => {\r\n this.favCompanies.data = res;\r\n this.favCompanies.sort = this.sort;\r\n this.isFavsLoading = false;\r\n });\r\n this.favCompanies.sort = this.sort;\r\n }\r\n toggleDropdown(): void {\r\n this.dropdownOpen = !this.dropdownOpen;\r\n }\r\n toggleAddFavorite(): void {\r\n this.showAddFavorite = !this.showAddFavorite;\r\n }\r\n\r\n createFavorite(symbol: string, favName: string): void {\r\n if (favName.trim()) {\r\n this.openDropdowns[symbol] = false;\r\n const symbols = [symbol];\r\n this.favService.updateFavs(symbols, 0,favName.trim(),false);\r\n var title='';\r\n this.translate.currentLang != \"ar\" ? title = `${favName} Favorite list has been created`: title = `${favName} تم إنشاء القائمة المفضلة`;\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"success\",\r\n title: title,\r\n showConfirmButton: false,\r\n timer: 1500,\r\n timerProgressBar: true,\r\n customClass: {\r\n popup: this.isDarkTheme? 'swal-toast-dark' :'swal-toast',\r\n },\r\n showCloseButton: true\r\n });\r\n \r\n }\r\n }\r\n\r\n selectMarketWatchList(watch: any): void {\r\n this.activeMarketWatch = watch;\r\n this.dropdownOpen = false;\r\n this.fetchFavs();\r\n }\r\n onStarClick(event: MouseEvent, symbol: string) {\r\n this.selectedItem = { symbol }; \r\n this.dropdownX = event.clientX;\r\n this.dropdownY = event.clientY;\r\n this.dropdownOpen = true;\r\n event.stopPropagation();\r\n }\r\n\r\ndeleteMarketWatch(marketWatchID: string): void {\r\n\r\n\r\n const title = this.translate.currentLang !== \"ar\" ? 'Are you sure?' : 'هل انت متأكد؟';\r\n const text = this.translate.currentLang !== \"ar\" ? 'Do you want to delete this favorite list?' : 'هل تريد حذف هذه القائمة المفضلة؟';\r\n const confirmBtn = this.translate.currentLang !== \"ar\" ? 'Yes, delete it!' : 'نعم، احذفه!';\r\n const cancelBtn = this.translate.currentLang !== \"ar\" ? 'Cancel' : 'إلغاء';\r\n const successTitle = this.translate.currentLang !== \"ar\" ? 'Deleted!' : 'تم الحذف!';\r\n const successText = this.translate.currentLang !== \"ar\" ? 'Favorite List deleted successfully.' : `تم حذف القائمة بنجاح`;\r\n const errorTitle = this.translate.currentLang !== \"ar\" ? 'Error!' : 'خطأ!';\r\n const errorText = this.translate.currentLang !== \"ar\" ? 'Failed to delete favorite list.' : 'فشل في حذف القائمة المفضلة.';\r\n const confirmBtnText = this.translate.currentLang !== \"ar\" ? 'OK' : 'حسنا';\r\n \r\n\r\n Swal.fire({\r\n title: title,\r\n text: text,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: confirmBtn,\r\n cancelButtonText: cancelBtn\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.favService.deleteMarketWatch(marketWatchID).subscribe(\r\n (response) => {\r\n this.marketWatches = this.marketWatches.filter(\r\n (watch) => watch.MarketWatchID !== marketWatchID\r\n );\r\n this.deletingMarketWatch = true;\r\n Swal.fire({\r\n title: successTitle,\r\n text: successText,\r\n icon: 'success',\r\n confirmButtonText: confirmBtnText\r\n });\r\n },\r\n (error) => {\r\n Swal.fire({\r\n title: errorTitle,\r\n text: errorText,\r\n icon: 'error',\r\n confirmButtonText: confirmBtnText\r\n });\r\n }\r\n );\r\n }\r\n });\r\n}\r\n\r\n\r\n closeDropdown() {\r\n this.dropdownOpen = false;\r\n }\r\n\r\n addFavoriteList({symbol,name}) {\r\n this.createFavorite(symbol,name);\r\n this.closeDropdown();\r\n }\r\n\r\n handleMarketWatchSelection({ watch,symbol }) {\r\n this.selectMarketWatch(watch,symbol)\r\n this.closeDropdown();\r\n }\r\n\r\n WindowResize() {\r\n setTimeout(() => {\r\n window.dispatchEvent(new Event(\"resize\"));\r\n }, 10);\r\n }\r\n\r\n fetchEGX(egx) {\r\n this.tableView = \"market\";\r\n this.state = egx;\r\n this.saveState();\r\n\r\n this.isCompaniesLoading = true;\r\n\r\n this.companies.data = [];\r\n\r\n this._service.fetchEGX(egx).subscribe((res) => {\r\n this.isCompaniesLoading = false;\r\n this.companies.data = res as CompanyList[];\r\n this.companies.sort = this.sort;\r\n\r\n this.WindowResize();\r\n });\r\n }\r\n\r\n fetchTodayActive() {\r\n this.tableView = \"market\";\r\n this.state = \"Most Active\";\r\n this.saveState();\r\n\r\n this.companies.data = [];\r\n this.isCompaniesLoading = true;\r\n\r\n this._service.fetchTodayMarketWatch().subscribe((res) => {\r\n this.isCompaniesLoading = false;\r\n this.companies.data = res as CompanyList[];\r\n this.companies.sort = this.sort;\r\n\r\n this.WindowResize();\r\n });\r\n }\r\n\r\n fetchCompanies() {\r\n this.tableView = \"market\";\r\n this.state = \"All Market\";\r\n this.saveState();\r\n\r\n this.isCompaniesLoading = true;\r\n this.companies.data = [];\r\n\r\n this._service.fetchAllMarketWatch().subscribe((res: CompanyList[]) => {\r\n this.isCompaniesLoading = false;\r\n this.companies.data = res.filter(\r\n (company) => company.MARKET_ID != \"INDX\"\r\n );\r\n this.companies.sort = this.sort;\r\n\r\n this.WindowResize();\r\n });\r\n }\r\n\r\n fetchMarket(x) {\r\n this.tableView = \"market\";\r\n this.state = x;\r\n this.saveState();\r\n\r\n this.isCompaniesLoading = true;\r\n this.companies.data = [];\r\n\r\n this._service.fetchEgxMarket(x).subscribe((res: CompanyList[]) => {\r\n this.isCompaniesLoading = false;\r\n this.companies.data = res;\r\n this.companies.sort = this.sort;\r\n\r\n this.WindowResize();\r\n });\r\n }\r\n\r\n saveState() {\r\n this._gridService.updateMarketWatchState(this.state);\r\n }\r\n\r\n get colsss() {\r\n return this.columns.filter((col) => col.isChecked);\r\n }\r\n\r\n get colss() {\r\n return [\r\n \"Reuters\",\r\n this.translate.currentLang == \"ar\" ? \"arb_shortname\" : \"eng_shortname\",\r\n ...this.colsss.map((col) => col.prop),\r\n ];\r\n }\r\n\r\n toggle(col, event) {\r\n col.isChecked = !col.isChecked;\r\n\r\n this.WindowResize();\r\n this.updateCols();\r\n }\r\n\r\n // get statee() {\r\n // return this._gridService.getMarketWatchState(this.id);\r\n // }\r\n\r\n // isFav(symbol) {\r\n // return this.favService.isFav(symbol);\r\n // }\r\n isFav(symbol: any): boolean {\r\n \r\n // Check if the favorites list exists and is an array\r\n if (!this.favService.favCompaniesSymbols || !Array.isArray(this.favService.favCompaniesSymbols)) {\r\n return false;\r\n }\r\n \r\n return this.favService.favCompaniesSymbols.includes(symbol); // Check if symbol is in the favorites list\r\n }\r\n\r\n toggleDropDown(symbol) {\r\n this.openDropdowns[symbol] = !this.openDropdowns[symbol];\r\n }\r\n\r\n toggleFav(symbol, marketWatchId) {\r\n this.openDropdowns[symbol] = !this.openDropdowns[symbol];\r\n this.favService.toggleFav(symbol, marketWatchId);\r\n }\r\n\r\n orderBuy(company, isSell) {\r\n const dialogRef = this.dialog.open(OrderBuyComponent, {\r\n disableClose: true,\r\n panelClass: \"order-dialog-container\",\r\n data: { symbol: company, type: isSell },\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => { });\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { BehaviorSubject, Observable, Subject } from \"rxjs\";\r\nimport { User } from \"../models/user\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { SECAuth } from \"../models/login\";\r\nimport { UrlConstants } from \"../models/urlConstants\";\r\n\r\nexport interface UserProfile {\r\n RelationCode: string;\r\n ExchangeCode: string;\r\n UnifiedCode: string;\r\n SubNameE: string;\r\n SubNameA: string;\r\n UserName: string;\r\n Phone: string;\r\n Email: string;\r\n IdNumber: string;\r\n Address: string;\r\n AccountManagerNameE: string;\r\n AccountManagerNameA: string;\r\n BranchNameA: string;\r\n BranchNameE: string;\r\n IsMargin: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AccountService {\r\n private userSubject: BehaviorSubject;\r\n public user: Observable;\r\n public twfa: Observable;\r\n private showTicker: BehaviorSubject;\r\n private showQuickButton: BehaviorSubject;\r\n isFullMarketUser: BehaviorSubject = new BehaviorSubject(\r\n null\r\n );\r\n\r\n constructor(private router: Router, private http: HttpClient) {\r\n this.userSubject = new BehaviorSubject(\r\n JSON.parse(sessionStorage.getItem(\"user\"))\r\n );\r\n this.showTicker = new BehaviorSubject(\r\n JSON.parse(localStorage.getItem(\"showTicker\"))\r\n );\r\n this.showQuickButton = new BehaviorSubject(\r\n JSON.parse(localStorage.getItem(\"showQuickButton\")) || true\r\n );\r\n\r\n this.user = this.userSubject.asObservable();\r\n }\r\n\r\n public get userValue(): User {\r\n return this.userSubject.value;\r\n }\r\n\r\n public get Ticker(): any {\r\n return this.showTicker.value;\r\n }\r\n\r\n setTicker(show: any) {\r\n this.showTicker.next(show);\r\n }\r\n public get quickButton(): any {\r\n return this.showQuickButton.value;\r\n }\r\n\r\n setQuickButton(show: any) {\r\n this.showQuickButton.next(show);\r\n }\r\n\r\n\r\n\r\n // login(username, password) {\r\n // return this.http\r\n // .post(`${UrlConstants.backofficeUrl}/api/Token/GetToken`, {\r\n // UserName: username,\r\n // Password: password,\r\n // })\r\n // .pipe(\r\n // map((user) => {\r\n // // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n\r\n // let TOKEN = user[\"Token\"].toString();\r\n // sessionStorage.setItem(\"user\", TOKEN);\r\n // this.userSubject.next(TOKEN);\r\n // // this.getAccountList(user);\r\n // return user;\r\n // })\r\n // );\r\n // }\r\n checkAuth(username, password) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/Token/CheckAuthentication`,\r\n {\r\n UserName: username,\r\n Password: password,\r\n }\r\n );\r\n }\r\n checkSecondAuth(req: SECAuth) {\r\n return this.http\r\n .post(\r\n `${UrlConstants.backofficeUrl}/api/Token/CheckSecondAuthentication`,\r\n req\r\n )\r\n .pipe(\r\n map((user) => {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n\r\n let TOKEN = user[\"Token\"];\r\n\r\n sessionStorage.setItem(\"user\", '\"' + TOKEN + '\"');\r\n this.userSubject.next(TOKEN);\r\n // this.getAccountList(user);\r\n return user;\r\n })\r\n );\r\n }\r\n\r\n logout() {\r\n // remove user from local storage and set current user to null\r\n sessionStorage.removeItem(\"user\");\r\n localStorage.removeItem(\"userProfile\");\r\n sessionStorage.removeItem(\"userName\");\r\n localStorage.removeItem(\"accList\");\r\n\r\n this.userSubject.next(null);\r\n window.location.reload();\r\n this.router.navigateByUrl(\"/login\");\r\n }\r\n\r\n VerifyEmail(email) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/Token/VerifyEmail?email=` + email,\r\n null\r\n );\r\n }\r\n forgetPassword(forgetPassObj) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/Token/ForgetPassword`,\r\n forgetPassObj\r\n );\r\n }\r\n resetPassword(resetPassObj) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/Token/SetNewPassword`,\r\n resetPassObj\r\n );\r\n }\r\n\r\n getAccountList(token) {\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Client/GetAccountList`\r\n );\r\n }\r\n\r\n create(user) {\r\n return this.http.post(\r\n `${UrlConstants.backofficeUrl}/api/Token/CreateOnlineAccount`,\r\n user\r\n );\r\n }\r\n\r\n saveUserProfile(relCode) {\r\n this.http\r\n .get(\r\n `${UrlConstants.backofficeUrl}/api/Client/GetClientProfile?relationCode=${relCode}`\r\n )\r\n .subscribe((res) =>\r\n localStorage.setItem(\"userProfile\", JSON.stringify(res))\r\n );\r\n }\r\n\r\n getUserProfile(): UserProfile {\r\n return JSON.parse(localStorage.getItem(\"userProfile\")) as UserProfile;\r\n }\r\n\r\n getAll() {\r\n return this.http.get(`${UrlConstants.backofficeUrl}/users`);\r\n }\r\n\r\n getById(id: string) {\r\n return this.http.get(`${UrlConstants.backofficeUrl}/users/${id}`);\r\n }\r\n\r\n setIsFullMarket(value) {\r\n this.isFullMarketUser.next(value);\r\n }\r\n\r\n // update(id, params) {\r\n // return this.http\r\n // .put(`${UrlConstants.backofficeUrl}/users/${id}`, params)\r\n // .pipe(\r\n // map((x) => {\r\n // // update stored user if the logged in user updated their own record\r\n // if (id == this.userValue.id) {\r\n // // update local storage\r\n // const user = { ...this.userValue, ...params };\r\n // sessionStorage.setItem(\"user\", JSON.stringify(user));\r\n\r\n // // publish updated user to subscribers\r\n // this.userSubject.next(user);\r\n // }\r\n // return x;\r\n // })\r\n // );\r\n // }\r\n}\r\n","import { filter } from \"rxjs/operators\";\r\nimport { SharedService } from \"./../../services/shared.service\";\r\nimport { ConfigService } from \"src/app/services/config.service\";\r\nimport { SelectStatementDateComponent } from \"./../select-statement-date/select-statement-date.component\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { GridsterService } from \"./../../services/gridster.service\";\r\nimport { FavService } from \"./../../services/fav.service\";\r\nimport { OrderBuyComponent } from \"./../order-buy/order-buy.component\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\nimport { SelectCompanyModalComponent } from \"../select-company-modal/select-company-modal.component\";\r\nimport { StatementComponent } from \"src/app/screens/user-profile/statement/statement.component\";\r\nimport { SettingsComponent } from \"../settings-modal/settings.component\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\nimport { FlexLayoutService } from \"src/app/services/flex-layout.service\";\r\n\r\n@Component({\r\n selector: \"app-nav-bar\",\r\n templateUrl: \"./nav-bar.component.html\",\r\n styleUrls: [\"./nav-bar.component.scss\"],\r\n})\r\nexport class NavBarComponent implements OnInit {\r\n userName: string;\r\n toggleBool: boolean;\r\n records: any = [];\r\n companies: CompanyList[];\r\n elem;\r\n isFullscreen: boolean = false;\r\n favCompanies: CompanyList[];\r\n favCompaniesSymbols: string[] = [];\r\n searchValue;\r\n dashboard: any;\r\n hasTechnicalAnalysis: boolean = UrlConstants.hasTechnicalAnalysis;\r\n isMarket: boolean;\r\n currentUrl: string;\r\n isEGID = UrlConstants.isEGID;\r\n logoLink = UrlConstants.logoLink;\r\n enableIPO = UrlConstants.enableIPO;\r\n enableMutualFund = UrlConstants.enableMutualFund;\r\n isDarkTheme: boolean;\r\n showMenu=true;\r\n\r\n addWidget(name) {\r\n this.gridService.addGeneric(name,true);\r\n }\r\n\r\n // fetchAllMarketWatch() {\r\n // this.companies = null;\r\n\r\n // this._service.fetchAllMarketWatch().subscribe((res) => {\r\n // this.companies = res as CompanyList;\r\n // });\r\n // }\r\n\r\n ngAfterViewInit() {\r\n if (this.isMarket)\r\n this.sharedService.isDataLoaded.subscribe((res) => {\r\n if (res) this.companies = this.sharedService.allMarketCompanies;\r\n\r\n // this.orderBuy(this.companies[0], false);\r\n });\r\n else\r\n this._service.fetchNotMarketSymbols().subscribe((res: any) => {\r\n this.companies = res.filter((item) => item.ENG_NAME != null);\r\n });\r\n this.favService.favCompanies.subscribe((res) => {\r\n this.favCompanies = res;\r\n });\r\n }\r\n\r\n toggleMenu(){\r\n this.showMenu=!this.showMenu\r\n }\r\n\r\n WindowResize() {\r\n setTimeout(() => {\r\n window.dispatchEvent(new Event(\"resize\"));\r\n }, 250);\r\n }\r\n\r\n isFav(symbol) {\r\n return this.favService.isFav(symbol);\r\n }\r\n\r\n toggleFav(symbol) {\r\n this.favService.toggleFav(symbol,this.favService.selectedMarketWatchId);\r\n }\r\n\r\n statmentDialog() {\r\n const dialogRef = this.dialog.open(StatementComponent, {\r\n width: \"700px\",\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n }\r\n\r\n openTechAnalysisModal() {\r\n this.dialog.open(SelectCompanyModalComponent, {\r\n panelClass: \"news-details-modal\",\r\n });\r\n }\r\n\r\n navigateProfile(item) {\r\n this.searchValue = \"\";\r\n this.nav\r\n .navigate([\"/company-profile\", item.SYMBOL_CODE, item.Reuters])\r\n .then(() => (this.toggleBool = false));\r\n }\r\n settings() {\r\n const dialogRef = this.dialog.open(SettingsComponent, {\r\n width: \"700px\",\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n }\r\n\r\n orderBuy(company, isSell) {\r\n this.searchValue = \"\";\r\n\r\n const dialogRef = this.dialog.open(OrderBuyComponent, {\r\n disableClose: true,\r\n panelClass: \"order-dialog-container\",\r\n data: { symbol: company.SYMBOL_CODE, type: isSell },\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => { });\r\n }\r\n\r\n credentialsSearchFilter(event: any) {\r\n const val = event.target.value.toLowerCase();\r\n\r\n if (val != \"\") {\r\n this.toggleBool = true;\r\n } else {\r\n this.toggleBool = false;\r\n }\r\n\r\n this.records = this.companies.filter(function (d) {\r\n return (\r\n d.ENG_NAME?.toLowerCase().includes(val) ||\r\n d.ARB_NAME?.toLowerCase().includes(val) ||\r\n d.Reuters?.toLowerCase().includes(val)\r\n );\r\n });\r\n }\r\n\r\n logout() {\r\n this._service.logOut(this.userName).subscribe(\r\n (res) => {\r\n this.accService.logout();\r\n },\r\n (err) => {\r\n }\r\n );\r\n }\r\n\r\n hideList() {\r\n this.records = [];\r\n this.toggleBool = false;\r\n }\r\n\r\n openFullscreen() {\r\n if (this.elem.requestFullscreen) {\r\n this.elem.requestFullscreen();\r\n } else if (this.elem.mozRequestFullScreen) {\r\n /* Firefox */\r\n this.elem.mozRequestFullScreen();\r\n } else if (this.elem.webkitRequestFullscreen) {\r\n /* Chrome, Safari and Opera */\r\n this.elem.webkitRequestFullscreen();\r\n } else if (this.elem.msRequestFullscreen) {\r\n /* IE/Edge */\r\n this.elem.msRequestFullscreen();\r\n }\r\n this.isFullscreen = !this.isFullscreen;\r\n }\r\n\r\n closeFullscreen() {\r\n if (this.document.exitFullscreen) {\r\n this.document.exitFullscreen();\r\n } else if (this.document.mozCancelFullScreen) {\r\n /* Firefox */\r\n this.document.mozCancelFullScreen();\r\n } else if (this.document.webkitExitFullscreen) {\r\n /* Chrome, Safari and Opera */\r\n this.document.webkitExitFullscreen();\r\n } else if (this.document.msExitFullscreen) {\r\n /* IE/Edge */\r\n this.document.msExitFullscreen();\r\n }\r\n this.isFullscreen = !this.isFullscreen;\r\n }\r\n\r\n switchLang() {\r\n if (this.translate.currentLang == \"ar\") {\r\n this.translate.use(\"en\");\r\n this.translate.setDefaultLang(\"en\");\r\n this.gridService.saveLang(\"en\");\r\n } else {\r\n this.translate.use(\"ar\");\r\n this.translate.setDefaultLang(\"ar\");\r\n this.gridService.saveLang(\"ar\");\r\n }\r\n window.location.reload();\r\n }\r\n\r\n onStatementClick() {\r\n this.dialog.open(SelectStatementDateComponent);\r\n }\r\n\r\n constructor(\r\n private accService: AccountService,\r\n public dialog: MatDialog,\r\n private favService: FavService,\r\n public translate: TranslateService,\r\n @Inject(DOCUMENT) private document: any,\r\n private nav: Router,\r\n private gridService: FlexLayoutService,\r\n private _service: ApiService,\r\n private sharedService: SharedService,\r\n private router: Router\r\n ) {\r\n this.showMenu = window.innerWidth<992? false : true; \r\n this.dashboard = this.gridService.getGrid();\r\n this.elem = document.documentElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n\r\n this.router.events.pipe(\r\n filter(event => event instanceof NavigationEnd)\r\n ).subscribe((event: NavigationEnd) => {\r\n this.currentUrl = event.url;\r\n });\r\n this.userName = sessionStorage.getItem(\"userName\");\r\n this.accService.isFullMarketUser.subscribe((isMarket) => {\r\n this.isMarket = isMarket;\r\n });\r\n }\r\n\r\n get navButtonColor() {\r\n return UrlConstants.navButtonColor;\r\n }\r\n\r\n resetDashboard() {\r\n this.gridService.resetGrid();\r\n window.location.reload();\r\n }\r\n}\r\n","
\r\n\r\n
\r\n

\r\n {{'not-full-market-title'|translate}}\r\n

\r\n
","import { HttpClient } from \"@angular/common/http\";\r\nimport { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport * as moment from \"moment\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\nimport { Account } from \"src/app/screens/user-profile/client-data\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\n\r\n@Component({\r\n selector: \"app-invoices-modal\",\r\n templateUrl: \"./invoices-modal.component.html\",\r\n styleUrls: [\"./invoices-modal.component.scss\"],\r\n})\r\nexport class InvoicesModalComponent implements OnInit {\r\n today = new Date();\r\n selectedInvoice: any;\r\n invoices: any[];\r\n dateFrom: Date = new Date(this.today.setDate(this.today.getDate() - 3));\r\n dateTo: Date = new Date();\r\n selectedClient: any;\r\n accList: Object;\r\n\r\n isInvoicesLoading = false;\r\n inputUser: Account;\r\n\r\n tryGenerate(invoice) {\r\n this.apiService\r\n .fetchInvoiceById(this.selectedClient, invoice.InvoiceID)\r\n .subscribe((res) => {\r\n window.open(UrlConstants.backofficeUrl + res[\"fileURL\"], \"_blank\");\r\n this.isInvoicesLoading = false;\r\n });\r\n }\r\n\r\n selectInvoice(invoicee) {\r\n this.selectedInvoice = invoicee;\r\n }\r\n\r\n constructor(\r\n private http: HttpClient,\r\n public activatedRoute: ActivatedRoute,\r\n public translate: TranslateService,\r\n private apiService: ApiService,\r\n @Inject(MAT_DIALOG_DATA) public data: string\r\n ) {\r\n this.accList = JSON.parse(localStorage.getItem(\"accList\")) as Account[];\r\n\r\n if (this.data != null && this.data[\"inputUser\"] != null) {\r\n {\r\n this.selectedClient = this.data[\"inputUser\"];\r\n this.onDateChange();\r\n }\r\n }\r\n }\r\n\r\n fetchClientInvoices() {\r\n let from = moment(this.dateFrom).format(\"YYYY/MM/DD\");\r\n let to = moment(this.dateTo).format(\"YYYY/MM/DD\");\r\n\r\n // 01-03-2020\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Invoice/getClientInvoice?fromDate=${from}&toDate=${to}&lang=1&relationCode=${this.selectedClient}`\r\n );\r\n }\r\n\r\n onSelectClient(event) {}\r\n\r\n onDateChange() {\r\n this.isInvoicesLoading = true;\r\n this.fetchClientInvoices().subscribe((res) => {\r\n this.invoices = res;\r\n this.isInvoicesLoading = false;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.paramMap\r\n .pipe(map(() => window.history.state))\r\n .subscribe((res) => {\r\n if (res.user != null) {\r\n this.inputUser = res.user;\r\n this.selectedClient = this.inputUser.relationCode;\r\n this.onDateChange();\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
{{\"my-invoices\"|translate}}
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n ({{acc.relationCode}}) {{translate.currentLang=='en'?acc.clientNameEn:acc.clientNameAr}}\r\n \r\n \r\n\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
{{'no-invoice'|translate}}
\r\n
{{'choose-client'|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
نوع العملية: {{item.TransactionType}}
\r\n
\r\n\r\n
\r\n
السوق: {{item.Market}}
\r\n
الفرع: {{item.Branch}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
رقم الفاتورةتاريخ الفاتورةالورقةالكميةم. السعرالقيمة
{{invoice.PostedSerial}}{{invoice.InvoiceDate|date}}{{invoice.Symbolname}}{{invoice.Qty | number}}{{invoice.AvgPrice| number: \"1.2-2\":\"en-US\"}}{{invoice.NetAmount | number: \"1.2-2\":\"en-US\"}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { environment } from \"./../../../environments/environment.prod\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { AlertService } from \"src/app/services/alert.service\";\r\nimport {\r\n BroadcastEventListener,\r\n ISignalRConnection,\r\n SignalR,\r\n SignalRConfiguration,\r\n} from \"ng2-signalr\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\nimport { TwfaComponent } from \"src/app/components/twfa/twfa.component\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { GridsterService } from \"src/app/services/gridster.service\";\r\nimport { ReCaptchaV3Service } from \"ng-recaptcha\";\r\nimport Swal from \"sweetalert2\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ForgetPassObj } from \"src/app/models/login\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { CompanySettings } from \"src/app/models/company-settings\";\r\n@Component({\r\n selector: \"app-login\",\r\n templateUrl: \"./login.component.html\",\r\n styleUrls: [\"./login.component.scss\"],\r\n})\r\nexport class LoginComponent implements OnInit {\r\n form: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n currentVersion = environment.version;\r\n formForget: FormGroup;\r\n remeberMe = false;\r\n private dsConnection: ISignalRConnection;\r\n private _subscription: Subscription;\r\n forgetPass: boolean = false;\r\n forgetPassObj: ForgetPassObj = {} as ForgetPassObj;\r\n companySettings: CompanySettings;\r\n tfa: any;\r\n isEGID = UrlConstants.isEGID;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private accountService: AccountService,\r\n private alertService: AlertService,\r\n private signalR: SignalR,\r\n private dialog: MatDialog,\r\n public translate: TranslateService,\r\n private gridService: GridsterService,\r\n private recaptchaV3Service: ReCaptchaV3Service,\r\n private accService: AccountService,\r\n private apiService: ApiService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.form = this.formBuilder.group({\r\n username: [\"\", Validators.required],\r\n password: [\"\", Validators.required],\r\n });\r\n this.isEGID ? this.GetCompanySettings() : null;\r\n }\r\n\r\n // convenience getter for easy access to form fields\r\n get f() {\r\n return this.form.controls;\r\n }\r\n get ff() {\r\n return this.formForget.controls;\r\n }\r\n\r\n onSubmit() {\r\n this.submitted = true;\r\n\r\n // reset alerts on submit\r\n this.alertService.clear();\r\n\r\n // stop here if form is invalid\r\n if (this.form.invalid) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n\r\n if (this.form.valid) {\r\n this.recaptchaV3Service\r\n .execute(\"importantAction\")\r\n .subscribe((token: string) => {\r\n this.accService\r\n .checkAuth(this.f.username.value, this.f.password.value)\r\n .subscribe(\r\n (res) => {\r\n this.loading = false;\r\n\r\n this.tfa = res;\r\n this.tfa.Username = this.f.username.value;\r\n\r\n sessionStorage.setItem(\"userName\", this.f.username.value);\r\n this.twfa(this.tfa);\r\n },\r\n (err) => {\r\n this.loading = false;\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"login-failed-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n );\r\n });\r\n }\r\n }\r\n\r\n twfa(data) {\r\n const dialogRef = this.dialog.open(TwfaComponent, {\r\n // disableClose: true,\r\n width: \"350px\",\r\n data: { data: data, remeberMe: this.remeberMe },\r\n });\r\n }\r\n\r\n connectOrdersSignalr() {\r\n let config: SignalRConfiguration = new SignalRConfiguration();\r\n config.url = UrlConstants.backofficeUrl;\r\n config.hubName = \"dSHub\";\r\n config.logging = false;\r\n\r\n this.signalR.connect(config).then((res) => {\r\n this.dsConnection = res;\r\n //open new tab with url\r\n var newTab = window.open(\r\n \"truckscale:\\\\\\\\\" + this.dsConnection.id,\r\n \"_blank\"\r\n );\r\n\r\n let method = new BroadcastEventListener(\"dsNotify\");\r\n\r\n this.dsConnection.listen(method);\r\n method.subscribe((update) => {\r\n if (newTab != null || newTab != undefined) {\r\n newTab.close();\r\n this.twfa(update);\r\n }\r\n });\r\n });\r\n }\r\n\r\n switchLang() {\r\n if (this.translate.currentLang == \"ar\") {\r\n this.translate.use(\"en\");\r\n this.translate.setDefaultLang(\"en\");\r\n this.gridService.saveLang(\"en\");\r\n } else {\r\n this.translate.use(\"ar\");\r\n this.translate.setDefaultLang(\"ar\");\r\n this.gridService.saveLang(\"ar\");\r\n }\r\n window.location.reload();\r\n }\r\n\r\n loginWithToken() {\r\n this.connectOrdersSignalr();\r\n }\r\n\r\n\r\n get supportNumber() {\r\n return UrlConstants.supportNumber;\r\n }\r\n\r\n onForget() {\r\n this.recaptchaV3Service\r\n .execute(\"importantAction\")\r\n .subscribe((token: string) => {\r\n this.forgetPassObj.Email = this.formForget.value.email;\r\n this.accService.forgetPassword(this.forgetPassObj).subscribe((arg) => {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"success\",\r\n title: this.translate.instant(\"forget-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n });\r\n });\r\n }\r\n\r\n forgetPassword() {\r\n this.forgetPass = !this.forgetPass;\r\n if (this.forgetPass == true) {\r\n this.formForget = this.formBuilder.group({\r\n email: [null, [Validators.required, Validators.email]],\r\n });\r\n }\r\n }\r\n\r\n GetCompanySettings() {\r\n this.apiService.GetCompanySettings()\r\n .subscribe(\r\n (data: CompanySettings) => {\r\n this.companySettings = data;\r\n }\r\n )\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this._subscription) {\r\n this._subscription.unsubscribe();\r\n }\r\n const element = document.getElementsByClassName(\r\n \"grecaptcha-badge\"\r\n )[0] as HTMLElement;\r\n if (element) {\r\n element.style.visibility = \"hidden\";\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
{{'username-required'|translate}}
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
{{'password-required'|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{supportNumber}}

\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Token\r\n
\r\n\r\n
\r\n {{\"follow-us\"|translate}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{currentVersion}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n","import { Component, Input, OnInit, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { UrlConstants } from 'src/app/models/urlConstants';\r\nimport { ChartOptions } from 'src/app/screens/local-market/local-market.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { FundAccOrderModalComponent } from 'src/app/components/fund-acc-order-modal/fund-acc-order-modal.component';\r\nimport { FundDetails, FundPriceChart, MutualFund } from 'src/app/models/mutualFund';\r\n@Component({\r\n selector: 'app-selected-symbol-charts',\r\n templateUrl: './selected-symbol-charts.component.html',\r\n styleUrls: ['./selected-symbol-charts.component.scss']\r\n})\r\nexport class SelectedSymbolChartsComponent implements OnInit {\r\n\r\n @Input() fundDetails: FundDetails;\r\n @Input() fundPriceChartData: FundPriceChart;\r\n @Input() selectedFund: MutualFund;\r\n lang: string;\r\n isDarkTheme: boolean;\r\n isEGID = UrlConstants.isEGID;\r\n chartOptions: ChartOptions;\r\n chartDataXaxis: string[];\r\n chartDataYaxis: number[];\r\n\r\n showSlider: boolean=false;\r\n\r\n highValue:number=20;\r\n value: number = 0;\r\n options = {\r\n floor: 0,\r\n ceil: 30,\r\n step: 10,\r\n showTicks: true,\r\n showTicksValues: true,\r\n };\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n public translate: TranslateService,\r\n ) { \r\n this.lang = this.translate.currentLang\r\n this.isDarkTheme = localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['fundPriceChartData']) {\r\n this.chartConfiguration()\r\n }\r\n }\r\n\r\n chartTextColor(color: string): string[]{\r\n return new Array(this.chartDataXaxis?.length).fill(color)\r\n }\r\n\r\n chartConfiguration()\r\n {\r\n this.chartDataXaxis = this.fundPriceChartData?.Data.map((item) => item.Date.toString());\r\n this.chartDataYaxis = this.fundPriceChartData?.Data.map((item) => item.ClosePrice);\r\n\r\n if (this.fundPriceChartData && this.fundPriceChartData.Data) {\r\n this.chartOptions = {\r\n chart: {\r\n type: 'area',\r\n height: 350,\r\n },\r\n series: [\r\n {\r\n name: 'Close Price',\r\n data: this.chartDataXaxis.map((date, index) => ({\r\n x: new Date(date).toLocaleDateString('en-CA'),\r\n y: this.chartDataYaxis[index],\r\n })),\r\n },\r\n ],\r\n xaxis: {\r\n type: 'datetime',\r\n axisBorder: {\r\n show: false, \r\n },\r\n labels: {\r\n style: {\r\n colors:this.isDarkTheme?this.chartTextColor('#ffffff'):this.chartTextColor('#000000')\r\n }\r\n },\r\n },\r\n yaxis: {\r\n labels: {\r\n style: {\r\n colors:this.isDarkTheme?this.chartTextColor('#ffffff'):this.chartTextColor('#000000')\r\n }\r\n },\r\n },\r\n grid:{\r\n yaxis:{\r\n lines: {\r\n show: false, \r\n }\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n fill: {\r\n type: \"gradient\",\r\n colors: this.isEGID?['#2988a0']:['#ffa726'],\r\n gradient: {\r\n shadeIntensity: 1,\r\n opacityFrom: 1,\r\n opacityTo: 0.9,\r\n stops: [0, 100],\r\n gradientToColors: this.isEGID?this.isDarkTheme?['#131722']:['#fff']:this.isDarkTheme?['#3d3d3d']:['#fff']\r\n }\r\n },\r\n stroke: {\r\n show: false,\r\n curve: 'smooth',\r\n },\r\n responsive: [\r\n {\r\n breakpoint: 480,\r\n options: {\r\n chart: {\r\n height: 300,\r\n },\r\n },\r\n },\r\n ],\r\n };\r\n }\r\n }\r\n \r\n saveTabState(event: any) {\r\n let id = event.target.attributes.id;\r\n var tabs = document.querySelectorAll('.selection-tab');\r\n tabs.forEach(i => i.classList.remove('chart-tabs-active'));\r\n let element = document.getElementById(id.value);\r\n element?.classList.add('chart-tabs-active');\r\n }\r\n\r\n fundActionModal(isBuy:boolean) {\r\n this.dialog.open(FundAccOrderModalComponent, {\r\n panelClass: \"modal-width\",\r\n data:{\r\n isBuy : isBuy,\r\n selectedFund: this.selectedFund,\r\n fundDetails: this.fundDetails\r\n }\r\n });\r\n }\r\n}\r\n","\r\n \r\n \"\"\r\n {{'fundMakeSure'|translate}}: {{fundDetails?.CutOffTime | date:'shortTime':'UTC' }} {{'tradeWisley'|translate}} \r\n \r\n\r\n
\r\n
\r\n {{lang=='ar'?fundDetails?.FundTypeAR:fundDetails?.FundTypeEN}}\r\n
\r\n
\r\n
\r\n

{{selectedFund?.ClosePrice}} {{ lang=='ar'? selectedFund?.CurrencyAbbreviationA: selectedFund?.CurrencyAbbreviationE }}

\r\n
\r\n 0, \r\n 'red-text':selectedFund?.AnnualChangePercentage<0,\r\n 'text-color-theme':selectedFund?.AnnualChangePercentage==0 }\"\r\n >\r\n {{ lang=='ar'? selectedFund?.CurrencyAbbreviationA: selectedFund?.CurrencyAbbreviationE }} {{selectedFund?.AnnualChange}} ( % {{selectedFund?.AnnualChangePercentage}} ) {{'past-year'|translate}}\r\n \r\n 0?'assets/img/up-arrow.svg':'assets/img/down-arrow.svg'\" alt=\"\">\r\n
\r\n
\r\n
\r\n\r\n 2) && (fundDetails?.FundTypeEN != 'Fixed Income') \">\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
{{'no-data-available'|translate}}
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n {{'returns-past-month' | translate}} : %{{selectedFund?.LastMonthChangePercentage}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{'annual-revenue' | translate}} : %{{selectedFund?.AnnualChangePercentage}}\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
{{'mutualFundAbout'|translate}}
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
{{'no-data-available'|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { ApiService } from \"src/app/services/api.service\";\r\nimport { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport { CompanyQuota } from \"src/app/models/company-quota\";\r\n\r\n@Component({\r\n selector: \"app-detailed-quota\",\r\n templateUrl: \"./detailed-quota.component.html\",\r\n styleUrls: [\"./detailed-quota.component.scss\"],\r\n})\r\nexport class DetailedQuotaComponent implements OnInit {\r\n @Input() symbolCode: string;\r\n company: any;\r\n companyQuota: CompanyQuota;\r\n setCode: string;\r\n\r\n constructor(private apiService: ApiService) {\r\n this.fetchCompany();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.symbolCode != null && changes.symbolCode != null) {\r\n if (changes.symbolCode.currentValue != changes.symbolCode.previousValue) {\r\n this.symbolCode = changes.symbolCode.currentValue;\r\n if (this.symbolCode) {\r\n this.fetchCompany();\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n fetchCompany() {\r\n this.apiService.fetchCompany(this.symbolCode).subscribe((res) => {\r\n this.company = res;\r\n this.companyQuota = this.company;\r\n });\r\n }\r\n setSymbolCode() {\r\n if (this.setCode != null) {\r\n this.symbolCode = this.setCode;\r\n }\r\n }\r\n}\r\n","
\r\n

{{\"detailed-quota\"|translate}}

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n {{companyQuota?.ENG_NAME}}\r\n \r\n {{companyQuota?.SYMBOL_CODE}}\r\n \r\n {{companyQuota?.Reuters}}\r\n \r\n \r\n
{{'Last Price'|translate}}\r\n {{companyQuota?.LAST_TRADE_PRICE| number: \"1.0\":\"en-US\"}}\r\n {{'Prev. Close'|translate}}\r\n {{companyQuota?.PREVIOUS_CLOSE| number: \"1.0\":\"en-US\"}}\r\n
{{'High'|translate}}\r\n {{companyQuota?.HIGH_PRICE| number: \"1.0\":\"en-US\"}}\r\n {{'Low'|translate}}\r\n {{companyQuota?.LOW_PRICE| number: \"1.0\":\"en-US\"}}\r\n
{{'Open'|translate}}\r\n {{companyQuota?.OPEN_PRICE| number: \"1.0\":\"en-US\"}}\r\n {{'Close'|translate}}\r\n {{companyQuota?.CLOSE_PRICE| number: \"1.0\":\"en-US\"}}\r\n
{{'Change'|translate}}0? 'green' : 'red'\">\r\n {{companyQuota?.AVG_CHANGE}}\r\n {{'Change'|translate}}%0? 'green' : 'red'\">\r\n {{companyQuota?.AVG_CHANGE_PRC}}\r\n
{{'Volume'|translate}}\r\n {{companyQuota?.TOTAL_VOLUME}}\r\n TurnOver{{'TurnOver'|translate}}\r\n {{companyQuota?.TOTAL_VALUE| number: \"1.0\":\"en-US\"}}\r\n
{{'Highest Bid'|translate}}\r\n {{companyQuota?.BID_PRICE| number: \"1.0\":\"en-US\"}}\r\n {{'Lowest Ask'|translate}}\r\n {{companyQuota?.ASK_PRICE| number: \"1.0\":\"en-US\"}}\r\n
{{'Bids'|translate}}\r\n {{companyQuota?.TOTAL_BIDS| number: \"1.0\":\"en-US\"}}\r\n {{'Asks'|translate}}\r\n {{companyQuota?.TOTAL_ASKS| number: \"1.0\":\"en-US\"}}\r\n
{{'Low 52 Week'|translate}}\r\n {{companyQuota?.LOW_52_WEEk| number: \"1.0\":\"en-US\"}}\r\n {{'High 52 Week'|translate}}\r\n {{companyQuota?.HIGH_52_WEEK| number: \"1.0\":\"en-US\"}}\r\n
{{'Market'|translate}}\r\n {{companyQuota?.MARKET_ID}}\r\n {{'Currency'|translate}}\r\n {{companyQuota?.CURRENCY| number: \"1.0\":\"en-US\"}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n {{\"order-book\"|translate}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n {{(item.IsMarketPrice)?(\"market-price\"| translate):(\"limit-price\" | translate)}}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
{{\"status\"|translate}}{{ 'symbol' | translate }}{{\"order#\"|translate}}{{\"last-update\"|translate}}{{\"transaction\" | translate}}{{\"remaining-qty\"|translate}}{{\"qty\"|translate}}{{\"price\"|translate}}{{\"filled\"|translate}}{{\"type\"|translate}}{{\"duration\"|translate}}{{\"demand-method\" | translate}}{{\"source\"|translate}}
\r\n
\r\n \r\n {{\r\n translate.currentLang == \"en\"\r\n ? item?.FixStatusEn\r\n : item?.FixStatusAr || \"جاري الارسال\"\r\n }}\r\n \r\n \r\n {{'IPO' | translate}}\r\n \r\n \r\n {{'fIXAwaitUpdate' | translate}}\r\n \r\n \r\n {{'fIXAwaitCancel' | translate}}\r\n \r\n \r\n {{'fIXAwaitSuspend' | translate}}\r\n \r\n \r\n {{ \"suspended\" | translate }}\r\n \r\n \r\n {{ \"waiting-mscd\" | translate }}\r\n \r\n \r\n
\r\n
\r\n {{(translate.currentLang=='en')?item.SymbolNameEn:item.SymbolNameAr}}\r\n \r\n \r\n \r\n \r\n \r\n {{item.OrderNumber}}{{item.CreateDate| date:'medium'}}{{item.LastUpdateDate| date:'medium'}}\r\n {{translate.currentLang=='en'?item.TransactionTypeEn:item.TransactionTypeAr}}\r\n {{remainingQty(item)}}{{item.OrgQty}}{{item.OrgPrice}}{{item.TradedQty}}\r\n {{getTiffFlag(item.TiffFlag)}}\r\n -\r\n {{item.TiffDate | date:'d/M/yyyy'}}\r\n {{demandEnum(item.DemandMethod)}}{{(item.Origin ==1)?'OMS':'Online'}}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
{{'no-order'|translate}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Profile } from \"./../../screens/user-profile/client-data\";\r\nimport { AccountService } from \"./../../services/account.service\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { UpdateOrderComponent } from \"./../update-order/update-order.component\";\r\nimport { ConfirmationComponent } from \"./../confirmation/confirmation.component\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport {\r\n Component,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { Order } from \"src/app/models/order\";\r\nimport { ColumnMode } from \"@swimlane/ngx-datatable\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { Account } from \"src/app/screens/user-profile/client-data\";\r\nimport {\r\n BroadcastEventListener,\r\n ISignalRConnection,\r\n SignalR,\r\n SignalRConfiguration,\r\n} from \"ng2-signalr\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\nimport { OrderBuyComponent } from \"../order-buy/order-buy.component\";\r\nimport { FavService } from \"src/app/services/fav.service\";\r\nimport { SelectedOrderTradeComponent } from \"../selected-order-trade/selected-order-trade.component\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { Sort } from \"@angular/material/sort\";\r\n\r\ninterface OMSFilterDto {\r\n relationCode;\r\n custodianCode;\r\n symbolCode;\r\n transactionType;\r\n orderNumber;\r\n marketId;\r\n fixStatus;\r\n fixStatusGroup;\r\n clientName;\r\n skip;\r\n take;\r\n}\r\n\r\n@Component({\r\n selector: \"app-order-book\",\r\n templateUrl: \"./order-book.component.html\",\r\n styleUrls: [\"./order-book.component.scss\"],\r\n})\r\nexport class OrderBookComponent implements OnInit, OnDestroy {\r\n isOrdersLoading: boolean = false;\r\n @Input() isFromProfile = false;\r\n userOrders: Order[] = [];\r\n rows = [];\r\n selectedOrder: Order;\r\n filter: OMSFilterDto = {} as OMSFilterDto;\r\n searchUserOrders: Order[] = [];\r\n isDarkTheme: boolean;\r\n\r\n dtOptions: {\r\n // scrollX: true,\r\n paging: boolean;\r\n searching: boolean;\r\n autoWidth: boolean;\r\n info: boolean;\r\n responsive: boolean;\r\n fixedHeader: boolean;\r\n select: boolean;\r\n ordering: boolean;\r\n // order: any[];\r\n // sorting: any[];\r\n columnDefs: any[];\r\n };\r\n\r\n mapFixStatusColor = new Map([\r\n [\"0\", \"#007bff\"],\r\n [\"1\", \"#5aff55\"],\r\n [\"2\", \"darkgreen\"],\r\n [\"3\", \"yellow\"],\r\n [\"4\", \"#ff7200\"],\r\n [\"5\", \"#550eff\"],\r\n [\"6\", \"yellow\"],\r\n [\"8\", \"darkred\"],\r\n [\"9\", \"gray\"],\r\n [\"A\", \"yellow\"],\r\n [\"C\", \"darkred\"],\r\n [\"E\", \"yellow\"],\r\n [\"H\", \"darkred\"],\r\n [\"N\", \"darkred\"],\r\n [\"R\", \"yellow\"],\r\n [\"W\", \"yellow\"],\r\n [\"P\", \"yellow\"],\r\n [\"X\", \"yellow\"],\r\n [\"Y\", \"darkred\"],\r\n [\"Z\", \"cyan\"],\r\n ]);\r\n\r\n ColumnMode = ColumnMode;\r\n accList: any;\r\n selectedAccount;\r\n @Input() acc;\r\n private ordersConnection: ISignalRConnection;\r\n backgrounColor: boolean;\r\n sortedData: Order[] = [];\r\n userOrderList;\r\n sortDirection;\r\n sortActive;\r\n switchedAccount: boolean = false;\r\n\r\n demandMethods = [\r\n {\r\n Id: \"Written\",\r\n Value: 0,\r\n NameE: \"Written\",\r\n NameA: \"كتابة\",\r\n },\r\n {\r\n Id: \"Phone\",\r\n Value: 1,\r\n NameE: \"Phone\",\r\n NameA: \"تليفون\",\r\n },\r\n {\r\n Id: \"Fax\",\r\n Value: 2,\r\n NameE: \"Fax\",\r\n NameA: \"فاكس\",\r\n },\r\n {\r\n Id: \"Online\",\r\n Value: 3,\r\n NameE: \"Online\",\r\n NameA: \"اونلاين\",\r\n },\r\n {\r\n Id: \"Email\",\r\n Value: 4,\r\n NameE: \"Email\",\r\n NameA: \"بريد إلكتروني\",\r\n },\r\n ];\r\n\r\n demandEnum(value) {\r\n return this.demandMethods.find((item) => item.Value == value).NameA;\r\n }\r\n\r\n getBackgroundColor(fixStatusCode) {\r\n if (fixStatusCode) {\r\n let backgroundColor = this.mapFixStatusColor.get(fixStatusCode);\r\n return backgroundColor;\r\n }\r\n }\r\n getColor(fixStatusCode) {\r\n if (fixStatusCode) {\r\n let colorMatch = this.mapFixStatusColor.get(fixStatusCode);\r\n if (\r\n colorMatch == \"white\" ||\r\n colorMatch == \"yellow\" ||\r\n colorMatch == \"#ff7200\" ||\r\n colorMatch == \"darkred\" ||\r\n colorMatch == \"darkgreen\" ||\r\n colorMatch == \"cyan\" ||\r\n colorMatch == \"#007bff\"\r\n ) {\r\n return \"white\";\r\n }\r\n }\r\n }\r\n\r\n getTransaction(value) {\r\n if (value)\r\n return this.transactionIdValue.find((x) => x.value == value).viewValue;\r\n else return null;\r\n }\r\n getTiffFlag(value) {\r\n if (value != null)\r\n return this.tiffFlagValue.find((x) => x.value == value).viewValue;\r\n else return null;\r\n }\r\n getStatus(value) {\r\n if (value) return this.statusValue.find((x) => x.value == value).viewValue;\r\n else return null;\r\n }\r\n fixStatusValues = [\r\n {\r\n Id: \"New\",\r\n Value: \"0\",\r\n NameE: \"New\",\r\n NameA: \"جديد\",\r\n },\r\n {\r\n Id: \"PartialFill\",\r\n Value: \"0\",\r\n NameE: \"Partial Fill\",\r\n NameA: \"تنفيذ جزئي\",\r\n },\r\n {\r\n Id: \"Fill\",\r\n Value: \"0\",\r\n NameE: \"Fill\",\r\n NameA: \"تنفيذ كلي\",\r\n },\r\n {\r\n Id: \"Cancelled\",\r\n Value: \"0\",\r\n NameE: \"Cancelled\",\r\n NameA: \"ملغى\",\r\n },\r\n {\r\n Id: \"Replace\",\r\n Value: \"0\",\r\n NameE: \"Replace\",\r\n NameA: \"معدل\",\r\n },\r\n {\r\n Id: \"PendingCancel\",\r\n Value: \"0\",\r\n NameE: \"Pending Cancel\",\r\n NameA: \"قيد الالغاء\",\r\n },\r\n {\r\n Id: \"Rejected\",\r\n Value: \"0\",\r\n NameE: \"Rejected\",\r\n NameA: \"مرفوض\",\r\n },\r\n {\r\n Id: \"Suspended\",\r\n Value: \"0\",\r\n NameE: \"Suspended\",\r\n NameA: \"موقوف\",\r\n },\r\n {\r\n Id: \"PendingNew\",\r\n Value: \"0\",\r\n NameE: \"Pending New\",\r\n NameA: \"قيد التسجيل\",\r\n },\r\n {\r\n Id: \"Expired\",\r\n Value: \"0\",\r\n NameE: \"Expired\",\r\n NameA: \"غير ساري\",\r\n },\r\n {\r\n Id: \"PendingReplace\",\r\n Value: \"0\",\r\n NameE: \"PendingReplace\",\r\n NameA: \"قيد التعديل\",\r\n },\r\n {\r\n Id: \"PartiallyCancelled\",\r\n Value: \"0\",\r\n NameE: \"Partially Cancelled\",\r\n NameA: \"ملغى جزئيا\",\r\n },\r\n {\r\n Id: \"PendingMCSD\",\r\n Value: \"0\",\r\n NameE: \"Pending MCSD\",\r\n NameA: \"قيد التسجيل\",\r\n },\r\n {\r\n Id: \"RejectedByMCSD\",\r\n Value: \"0\",\r\n NameE: \"Rejected by MCSD\",\r\n NameA: \"مرفوض من المقاصة\",\r\n },\r\n {\r\n Id: \"ApprovedByMCSD\",\r\n Value: \"0\",\r\n NameE: \"Approved by MCSD\",\r\n NameA: \"مقبول من المقاصة\",\r\n },\r\n {\r\n Id: \"NotApprovedByMCSD\",\r\n Value: \"0\",\r\n NameE: \"Not approved by MCSD\",\r\n NameA: \"غير مقبول من المقاصة\",\r\n },\r\n {\r\n Id: \"InternalError\",\r\n Value: \"0\",\r\n NameE: \"Internal Error\",\r\n NameA: \"خطأ داخلي\",\r\n },\r\n {\r\n Id: \"ExternalError\",\r\n Value: \"0\",\r\n NameE: \"External Error\",\r\n NameA: \"خطأ خارجي\",\r\n },\r\n {\r\n Id: \"TradeCancelled\",\r\n Value: \"0\",\r\n NameE: \"Trade Cancelled\",\r\n NameA: \"تنفيذ ملغي\",\r\n },\r\n {\r\n Id: \"None\",\r\n Value: \"0\",\r\n NameE: \"None\",\r\n NameA: \"لا يوجد\",\r\n },\r\n {\r\n Id: \"Pending\",\r\n Value: \"0\",\r\n NameE: \"Pending\",\r\n NameA: \"جاري الإرسال\",\r\n },\r\n ];\r\n statusValue = [\r\n {\r\n value: 1,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"LocalNew\" : \"جديد داخليا\",\r\n },\r\n {\r\n value: 2,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"LocalUpdate\" : \"تعديل داخلي\",\r\n },\r\n {\r\n value: 3,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"LocalCancel\" : \"إلغاء داخلي\",\r\n },\r\n {\r\n value: 4,\r\n viewValue: this.translate.currentLang == \"en\" ? \"Divided\" : \"مقسم\",\r\n },\r\n {\r\n value: 5,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"FIXAwaitNew\"\r\n : \"انتظار إرسال البورصة\",\r\n },\r\n {\r\n value: 6,\r\n viewValue: this.translate.currentLang == \"en\" ? \"FIXNew\" : \"تم الإرسال\",\r\n },\r\n {\r\n value: 7,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"FIXAwaitUpdate\"\r\n : \"انتظار إرسال التعديل\",\r\n },\r\n {\r\n value: 8,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"FIXUpdate\" : \"تم التعديل\",\r\n },\r\n {\r\n value: 9,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"FIXAwaitCancel\"\r\n : \"انتظار إرسال الإلغاء\",\r\n },\r\n {\r\n value: 10,\r\n viewValue: this.translate.currentLang == \"en\" ? \"FIXCancel\" : \"ملغى\",\r\n },\r\n {\r\n value: 11,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"FIXAwaitSuspend\"\r\n : \"انتظار إرسال الإيقاف\",\r\n },\r\n {\r\n value: 12,\r\n viewValue: this.translate.currentLang == \"en\" ? \"FIXSuspend\" : \"موقوف\",\r\n },\r\n {\r\n value: 13,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"UpdateDividedNoCascade\"\r\n : \"تعدبل تقسيم بدون توزيع\",\r\n },\r\n {\r\n value: 14,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"UpdateDividedCascade\"\r\n : \"تعديل تقسيم بالتوزيع\",\r\n },\r\n {\r\n value: 15,\r\n viewValue: this.translate.currentLang == \"en\" ? \"Automatic\" : \"تلقائي\",\r\n },\r\n {\r\n value: 16,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"FixPrivate\" : \"FixPrivate\",\r\n },\r\n {\r\n value: 17,\r\n viewValue: this.translate.currentLang == \"en\" ? \"FixPublic\" : \"FixPublic\",\r\n },\r\n {\r\n value: 18,\r\n viewValue:\r\n this.translate.currentLang == \"en\"\r\n ? \"FIXAwaitApprove\"\r\n : \"إنتظار الإعتماد للإرسال\",\r\n },\r\n {\r\n value: 20,\r\n viewValue: this.translate.currentLang == \"en\" ? \"HubNew\" : \"HubNew\",\r\n },\r\n {\r\n value: 21,\r\n viewValue: this.translate.currentLang == \"en\" ? \"HubUpdate\" : \"HubUpdate\",\r\n },\r\n {\r\n value: 22,\r\n viewValue: this.translate.currentLang == \"en\" ? \"HubCancel\" : \"HubCancel\",\r\n },\r\n {\r\n value: 23,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"HubRejected\" : \"HubRejected\",\r\n },\r\n {\r\n value: 24,\r\n viewValue: this.translate.currentLang == \"en\" ? \"FixRejected\" : \"رفض\",\r\n },\r\n {\r\n value: 25,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"FixRupdate\" : \"FixRupdate\",\r\n },\r\n {\r\n value: 26,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"FixExpired\" : \"FixExpired\",\r\n },\r\n {\r\n value: 27,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"DisApproved\" : \"رفض ائتمان\",\r\n },\r\n ];\r\n tiffFlagValue = [\r\n { value: 0, viewValue: \"Day\" },\r\n { value: 1, viewValue: \"Good Till Cancel\" },\r\n { value: 6, viewValue: \"Good Till Date\" },\r\n { value: 3, viewValue: \"Immediate\" },\r\n ];\r\n transactionIdValue = [\r\n {\r\n value: 1,\r\n viewValue: this.translate.currentLang == \"en\" ? \"Buy\" : \"شراء\",\r\n },\r\n {\r\n value: 2,\r\n viewValue: this.translate.currentLang == \"en\" ? \"Sell\" : \"بيع\",\r\n },\r\n {\r\n value: 3,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"Sell Same Day\" : \"بيع نفس اليوم\",\r\n },\r\n {\r\n value: 4,\r\n viewValue:\r\n this.translate.currentLang == \"en\" ? \"Buy Same Day\" : \"شراء نفس اليوم\",\r\n },\r\n {\r\n value: 5,\r\n viewValue: this.translate.currentLang == \"en\" ? \"Sell T+1\" : \"بيع t+1\",\r\n },\r\n {\r\n value: 6,\r\n viewValue: this.translate.currentLang == \"en\" ? \"Buy T+1\" : \"شراء t+1\",\r\n },\r\n ];\r\n priceTypeValue = [\r\n {\r\n value: 1,\r\n viewValue: this.translate.currentLang == \"en\" ? \"Buy\" : \"شراء\",\r\n },\r\n {\r\n value: 2,\r\n viewValue: this.translate.currentLang == \"en\" ? \"Sell\" : \"بيع\",\r\n },\r\n ];\r\n\r\n constructor(\r\n public translate: TranslateService,\r\n public dialog: MatDialog,\r\n public snackBar: MatSnackBar,\r\n private _service: ApiService,\r\n private signalR: SignalR,\r\n private toastr: ToastrService,\r\n public accService: AccountService\r\n ) { }\r\n\r\n ngOnDestroy() {\r\n if (this.ordersConnection) this.ordersConnection.stop();\r\n }\r\n\r\n connectOrdersSignalr() {\r\n let config: SignalRConfiguration = new SignalRConfiguration();\r\n config.url = UrlConstants.backofficeUrl;\r\n config.hubName = \"ordersHub\";\r\n config.logging = false;\r\n\r\n this.accService.saveUserProfile(this.selectedAccount);\r\n let currentProfile = JSON.parse(\r\n localStorage.getItem(\"userProfile\")\r\n ) as Profile;\r\n const selectedAccountObject = this.accList?.find(acc => acc.relationCode === this.selectedAccount);\r\n if (selectedAccountObject != undefined) {\r\n this.signalR.connect(config).then((res) => {\r\n this.ordersConnection = res;\r\n this.ordersConnection.invoke(\"JoinGroup\", selectedAccountObject?.ExchangeCode);\r\n\r\n let method = new BroadcastEventListener(\"sendOrders\");\r\n\r\n this.ordersConnection.listen(method);\r\n method.subscribe((updateList) => {\r\n setTimeout(() => {\r\n updateList.forEach((order) => {\r\n let index;\r\n if (this.userOrders != undefined && this.userOrders?.length > 0) {\r\n index = this.userOrders\r\n .map((e) => e.OrderNumber)\r\n .indexOf(order.OrderNumber);\r\n } else index = -1;\r\n if (index >= 0) {\r\n this.userOrders[index].OrgQty = order.OrgQty;\r\n this.userOrders[index].OrgPrice = order.OrgPrice;\r\n this.userOrders[index].OrderStatus = order.OrderStatus;\r\n this.userOrders[index].FixStatus = order.FixStatus;\r\n this.userOrders[index].LastUpdateDate = order.LastUpdateDate;\r\n this.userOrders[index].TradedQty = order.TradedQty;\r\n this.userOrders[index].IsMarketPrice = order.IsMarketPrice;\r\n this.userOrders[index].TiffDate = order.TiffDate;\r\n this.userOrders[index].TiffFlag = order.TiffFlag;\r\n this.userOrders[index].FixStatusEn = order.FixStatusEn;\r\n this.userOrders[index].FixStatusAr = order.FixStatusAr;\r\n this.userOrders[index].FixVal = order.FixVal;\r\n this.userOrders[index].ISMSCDSucceeded = order.ISMSCDSucceeded;\r\n this.userOrders[index].ISMSCDBook = order.ISMSCDBook;\r\n this.userOrders[index].Remark = order.Remark;\r\n\r\n this.userOrders[index].isUpdate = true;\r\n } else if (index == -1) this.getOrders();\r\n });\r\n // this.fetchOrders();\r\n }, 500);\r\n\r\n // updateList.forEach((update) => {\r\n // let isNewOrder = this.userOrders.findIndex((order) => {\r\n // return order.OrderNumber == update.OrderNumber;\r\n // });\r\n\r\n // if (isNewOrder) this.userOrders.unshift(update);\r\n // else this.userOrders[isNewOrder] = update;\r\n // });\r\n });\r\n });\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.acc && changes.acc != null) {\r\n if (!this.acc) {\r\n this.accList = JSON.parse(localStorage.getItem(\"accList\")) as Account[];\r\n this.selectedAccount = this.accList[0].relationCode;\r\n } else {\r\n this.selectedAccount = this.acc;\r\n if (this.ordersConnection) {\r\n this.ordersConnection.stop();\r\n this.switchedAccount = true;\r\n }\r\n\r\n }\r\n this.getOrders();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.accList = JSON.parse(localStorage.getItem(\"accList\")) as Account[];\r\n this.isDarkTheme = localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n this.dtOptions = {\r\n // scrollX: true,\r\n paging: false,\r\n searching: false,\r\n autoWidth: true,\r\n info: false,\r\n responsive: true,\r\n fixedHeader: true,\r\n select: true,\r\n ordering: false,\r\n // order: [[2, \"desc\"]],\r\n // sorting: [],\r\n columnDefs: [{ type: \"date\", targets: [2] }],\r\n\r\n // ajax: (dataTablesParameters: any, callback) => {\r\n // this.fetchEGX(\"EGX30\").subscribe((res) => {\r\n // this.isCompaniesLoading = false;\r\n // this.companies = res as CompanyList[];\r\n // this.WindowResize();\r\n\r\n // callback({\r\n // recordsTotal: this.companies.length,\r\n // data: [],\r\n // });\r\n // });\r\n // },\r\n };\r\n if (!this.acc) {\r\n this.accList = JSON.parse(localStorage.getItem(\"accList\")) as Account[];\r\n this.selectedAccount = this.accList[0].relationCode;\r\n } else {\r\n this.selectedAccount = this.acc;\r\n }\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.getOrders();\r\n }\r\n\r\n updateOrder(row) {\r\n this.selectedOrder = row;\r\n const dialogRef = this.dialog.open(UpdateOrderComponent, {\r\n panelClass: \"custom-dialog-container\",\r\n data: { order: row, type: 0, selectedAccount: this.selectedAccount },\r\n width: \"500px\",\r\n });\r\n dialogRef.afterClosed().subscribe((confirmed) => {\r\n if (confirmed == true) {\r\n this.toastr.info(\"\", this.translate.instant(\"order-update-success\"), {\r\n timeOut: 15000,\r\n positionClass: \"toast-bottom-center\",\r\n closeButton: true,\r\n });\r\n } else {\r\n if (confirmed != null)\r\n this.toastr?.error(\r\n this.translate?.instant(confirmed),\r\n this.translate?.instant(\"error-msg\"),\r\n {\r\n timeOut: 15000,\r\n positionClass: \"toast-bottom-center\",\r\n closeButton: true,\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n deleteOrder(row) {\r\n this.selectedOrder = row;\r\n\r\n const dialogRef = this.dialog.open(ConfirmationComponent, {\r\n data: {\r\n message:\r\n this.translate.instant(\"confirm-order-deletion\") +\r\n this.selectedOrder.OrderNumber +\r\n \"\\n\" +\r\n this.translate.instant(\"confirm-order-deletion-name\") +\r\n \" \" +\r\n (this.translate.currentLang == \"en\"\r\n ? this.selectedOrder.SymbolNameEn\r\n : this.selectedOrder.SymbolNameAr) +\r\n \" \" +\r\n this.translate.instant(\"confirm-order-deletion-type\") +\r\n \" \" +\r\n (this.translate.currentLang == \"ar\"\r\n ? this.selectedOrder.TransactionTypeAr\r\n : this.selectedOrder.TransactionTypeEn) +\r\n (this.translate.currentLang == \"en\" ? \"?\" : \"؟\"),\r\n // this.translate.instant(\"confirm-order-deletion-name\") +\r\n // this.translate.currentLang ==\r\n // \"ar\"\r\n // ? this.selectedOrder.TransactionTypeAr\r\n // : this.selectedOrder.TransactionTypeEn,\r\n buttonText: {\r\n ok: this.translate.instant(\"submit\"),\r\n cancel: this.translate.instant(\"cancel\"),\r\n },\r\n },\r\n width: \"400px\",\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((confirmed: boolean) => {\r\n if (confirmed) {\r\n this._service.cancelOrder(row.OrderNumber).subscribe(\r\n (res) => {\r\n if (res) {\r\n this.toastr.info(\r\n \"\",\r\n this.translate.instant(\"order-cancel-success\"),\r\n {\r\n timeOut: 15000,\r\n positionClass: \"toast-bottom-center\",\r\n closeButton: true,\r\n }\r\n );\r\n }\r\n },\r\n (err) => {\r\n this.toastr.error(\"\", this.translate.instant(\"error-msg\"), {\r\n timeOut: 15000,\r\n positionClass: \"toast-bottom-center\",\r\n closeButton: true,\r\n });\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n isWaitingMSCD(order: Order) {\r\n return order.ISMSCDBook && !order.ISMSCDSucceeded && order.FixVal == \"2\";\r\n }\r\n\r\n remainingQty(row: Order) {\r\n let result = row.OrgQty - row.TradedQty;\r\n if (result < 0) return 0;\r\n else return result;\r\n }\r\n\r\n orderDoubleClicked(order: Order) {\r\n if (this.CanBeFIXUpdated(order)) this.updateOrder(order);\r\n }\r\n CanBeFIXUpdated(order: Order) {\r\n if (order.FixStatus != null) {\r\n ``;\r\n if (\r\n (order.FixStatus == \"0\" ||\r\n order.FixStatus == \"1\" ||\r\n order.FixStatus == \"5\" ||\r\n order.FixStatus == \"A\" ||\r\n order.FixStatus == \"E\" ||\r\n order.FixStatus == \"X\" ||\r\n order.FixStatus == \"Z\" ||\r\n order.FixStatus == \"H\" ||\r\n order.FixStatus == \"W\")\r\n && (\r\n order.OrderStatus != 7 &&\r\n order.OrderStatus != 9 &&\r\n order.OrderStatus != 11\r\n )\r\n\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n if (\r\n order.OrderStatus == 5 ||\r\n order.OrderStatus == 6 ||\r\n order.OrderStatus == 8\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n getOrders() {\r\n\r\n this.userOrders = [];\r\n\r\n this.filter.skip = 0;\r\n this.filter.take = this.isFromProfile ? 1000 : 10;\r\n\r\n this.isOrdersLoading = true;\r\n\r\n this._service.fetchOrders(this.selectedAccount, 0).subscribe((res) => {\r\n this.isOrdersLoading = false;\r\n this.userOrders = res as Order[];\r\n\r\n });\r\n if (!this.ordersConnection) {\r\n this.connectOrdersSignalr();\r\n }\r\n if (this.switchedAccount) {\r\n this.connectOrdersSignalr();\r\n this.switchedAccount = false;\r\n }\r\n }\r\n newOrder() {\r\n const dialogRef = this.dialog.open(OrderBuyComponent, {\r\n disableClose: true,\r\n panelClass: \"order-dialog-container\",\r\n data: { type: 0 },\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n dialogRef.afterClosed().subscribe((result) => {\r\n this.getOrders;\r\n });\r\n }\r\n viewOrder(orderNum) {\r\n const dialogRef = this.dialog.open(SelectedOrderTradeComponent, {\r\n panelClass: \"custom-dialog-container\",\r\n data: { order: orderNum },\r\n width: \"464px\",\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n dialogRef.afterClosed().subscribe(() => { });\r\n }\r\n\r\n setFilter(filter) {\r\n this.isOrdersLoading = true;\r\n this._service.fetchOrders(this.selectedAccount, filter).subscribe((res) => {\r\n this.isOrdersLoading = false;\r\n this.userOrders = res as Order[];\r\n if (!this.ordersConnection) this.connectOrdersSignalr();\r\n });\r\n }\r\n\r\n get userOrdersData() {\r\n if (this.searchUserOrders?.length > 0) {\r\n if (JSON.stringify(this.searchUserOrders[0]) === \"{}\") {\r\n return [];\r\n } else {\r\n if (this.sortedData?.length > 0) {\r\n this.userOrderList = this.sortAfterSearch(this.searchUserOrders);\r\n } else {\r\n this.userOrderList = this.searchUserOrders;\r\n }\r\n // return this.searchUserOrders;\r\n }\r\n } else if (this.userOrders?.length > 0) {\r\n if (this.sortedData?.length > 0) {\r\n this.userOrderList = this.sortAfterSearch(this.userOrders);\r\n } else {\r\n this.userOrderList = this.userOrders;\r\n }\r\n // return this.userOrders;\r\n } else {\r\n this.userOrderList = null;\r\n }\r\n return this.userOrderList;\r\n }\r\n\r\n updateFilter(event) {\r\n const val = event.target.value.toLowerCase();\r\n if (val != \"\") {\r\n let temp;\r\n temp = this.userOrders;\r\n temp =\r\n temp.filter(function (d) {\r\n return (\r\n d.SymbolNameEn.toLocaleLowerCase().includes(\r\n val.toLocaleLowerCase()\r\n ) ||\r\n d.SymbolNameAr.toLocaleLowerCase().includes(\r\n val.toLocaleLowerCase()\r\n ) ||\r\n (d.OrderNumber + \"\").indexOf(val.toLocaleLowerCase()) > -1 ||\r\n d.Reuters.toLocaleLowerCase().includes(val.toLocaleLowerCase()) ||\r\n d.SymbolShortNameAr.toLocaleLowerCase().includes(\r\n val.toLocaleLowerCase()\r\n ) ||\r\n d.SymbolShortNameEn.toLocaleLowerCase().includes(\r\n val.toLocaleLowerCase()\r\n )\r\n );\r\n }) || [];\r\n this.searchUserOrders = temp.length > 0 ? temp : [{}];\r\n } else this.searchUserOrders = this.userOrders;\r\n }\r\n\r\n sortAfterSearch(list) {\r\n const data = list.slice();\r\n\r\n if (!this.sortActive || this.sortDirection === '') {\r\n this.userOrderList = data;\r\n this.sortedData = null;\r\n return;\r\n }\r\n\r\n this.sortedData = data.sort((a, b) => {\r\n const isAsc = this.sortDirection === 'asc';\r\n const isDec = this.sortDirection !== 'asc';\r\n switch (this.sortActive) {\r\n case 'symbol':\r\n return this.compare(this.translate.currentLang == \"ar\" ? a.SymbolShortNameAr : a.SymbolShortNameEn, this.translate.currentLang == \"ar\" ? b.SymbolShortNameAr : b.SymbolShortNameEn, isAsc);\r\n case 'order':\r\n return this.compare(a.OrderNumber, b.OrderNumber, isAsc);\r\n case 'last-update':\r\n return this.compare(a.LastUpdateDate, b.LastUpdateDate, isDec);\r\n case 'remaining-qty':\r\n return this.compare(a.OrgQty - a.TradedQty < 0 ? 0 : a.OrgQty - a.TradedQty, b.OrgQty - b.TradedQty < 0 ? 0 : b.OrgQty - b.TradedQty, isAsc);\r\n case 'qty':\r\n return this.compare(a.OrgQty, b.OrgQty, isAsc);\r\n case 'price':\r\n return this.compare(a.OrgPrice, b.OrgPrice, isAsc);\r\n case 'filled':\r\n return this.compare(a.TradedQty, b.TradedQty, isAsc);\r\n default:\r\n return 0;\r\n }\r\n });\r\n return this.sortedData;\r\n }\r\n\r\n sortData(sort: Sort) {\r\n\r\n this.sortDirection = sort.direction;\r\n this.sortActive = sort.active;\r\n const data = this.userOrderList?.slice();\r\n\r\n if (!sort.active || sort.direction === '') {\r\n this.userOrderList = data;\r\n this.sortedData = null;\r\n return;\r\n }\r\n\r\n\r\n this.sortedData = data?.sort((a, b) => {\r\n const isAsc = sort.direction === 'asc';\r\n const isDec = this.sortDirection !== 'asc';\r\n switch (sort.active) {\r\n case 'symbol':\r\n return this.compare(this.translate.currentLang == \"ar\" ? a.SymbolShortNameAr : a.SymbolShortNameEn, this.translate.currentLang == \"ar\" ? b.SymbolShortNameAr : b.SymbolShortNameEn, isAsc);\r\n case 'order':\r\n return this.compare(a.OrderNumber, b.OrderNumber, isAsc);\r\n case 'last-update':\r\n return this.compare(a.LastUpdateDate, b.LastUpdateDate, isDec);\r\n case 'remaining-qty':\r\n return this.compare(a.OrgQty - a.TradedQty < 0 ? 0 : a.OrgQty - a.TradedQty, b.OrgQty - b.TradedQty < 0 ? 0 : b.OrgQty - b.TradedQty, isAsc);\r\n case 'qty':\r\n return this.compare(a.OrgQty, b.OrgQty, isAsc);\r\n case 'price':\r\n return this.compare(a.OrgPrice, b.OrgPrice, isAsc);\r\n case 'filled':\r\n return this.compare(a.TradedQty, b.TradedQty, isAsc);\r\n default:\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n\r\n compare(a: number | string, b: number | string, isAsc: boolean) {\r\n var aValue = (typeof a === 'string') ? a.toLowerCase() : a;\r\n var bValue = (typeof b === 'string') ? b.toLowerCase() : b;\r\n return (aValue < bValue ? -1 : 1) * (isAsc ? 1 : -1);\r\n }\r\n\r\n async cloneOrder(qty: number, price: number, companySymbol: string, isSell: boolean) {\r\n try {\r\n // Assuming you have a method to get the current user data\r\n const currentUser = await this.getCurrentUserData(this.selectedAccount);\r\n\r\n // Open the dialog with the retrieved user data\r\n const dialogRef = this.dialog.open(OrderBuyComponent, {\r\n disableClose: true,\r\n panelClass: \"order-dialog-container\",\r\n data: {\r\n currentUser: currentUser,\r\n symbol: companySymbol,\r\n type: !isSell,\r\n price: price,\r\n qty: qty,\r\n },\r\n direction: this.translate.currentLang === \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n\r\n // Handle the dialog result\r\n dialogRef.afterClosed().subscribe((result) => {\r\n if (result) {\r\n // Handle the result if necessary\r\n }\r\n });\r\n } catch (error) {\r\n // Optionally show a notification to the user\r\n this.toastr.error(\"Failed to retrieve user data.\");\r\n }\r\n }\r\n private async getCurrentUserData(account: any): Promise {\r\n // Replace with your actual data fetching logic\r\n return new Promise((resolve, reject) => {\r\n // Simulating an asynchronous operation\r\n setTimeout(() => {\r\n if (account) {\r\n resolve(account); // Mock data resolution\r\n } else {\r\n reject(\"No account found\");\r\n }\r\n }, 1000); // Simulate a delay\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
{{\"select-company-hintt\" |translate}}
\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{company.Reuters}}\r\n - \r\n {{(translate.currentLang=='en')?company.ENG_NAME:company.ARB_NAME}}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { MatDialog } from \"@angular/material/dialog\";\r\nimport { Router } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { SharedService } from \"./../../services/shared.service\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\n\r\n@Component({\r\n selector: \"app-select-company-modal\",\r\n templateUrl: \"./select-company-modal.component.html\",\r\n styleUrls: [\"./select-company-modal.component.scss\"],\r\n})\r\nexport class SelectCompanyModalComponent implements OnInit {\r\n companies: CompanyList[];\r\n company: CompanyList;\r\n\r\n constructor(\r\n private _service: SharedService,\r\n public translate: TranslateService,\r\n private router: Router,\r\n private dialog: MatDialog\r\n ) {\r\n this.companies = this._service.allMarketCompanies;\r\n }\r\n\r\n customSearchFn(term: string, item: CompanyList) {\r\n term = term.toLowerCase();\r\n return (\r\n item?.ENG_NAME?.toLowerCase().includes(term) ||\r\n item?.ARB_NAME?.toLowerCase().includes(term) ||\r\n item?.Reuters?.toLowerCase().includes(term)\r\n );\r\n }\r\n\r\n navigateDetails() {\r\n this.dialog.closeAll();\r\n this.router\r\n .navigate([\r\n \"/company-profile\",\r\n this.company.SYMBOL_CODE,\r\n this.company.Reuters,\r\n ])\r\n .finally(() => {\r\n window.scrollTo(0, document.body.scrollHeight);\r\n });\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","import { formatDate } from \"@angular/common\";\r\nimport { Component, Input, SimpleChanges } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { OrderFilter, OrderTradeWidget } from \"src/app/models/order\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport {\r\n MarketWatchDetailService,\r\n StockDetail,\r\n} from \"src/app/services/market-watch-detail.service\";\r\n\r\n@Component({\r\n selector: \"user-trades-summary\",\r\n templateUrl: \"./user-trades-summary.component.html\",\r\n styleUrls: [\"./user-trades-summary.component.scss\"],\r\n})\r\nexport class UserTradesSummaryComponent {\r\n isTradesLoading: boolean;\r\n today = formatDate(new Date(), \"YYYY-MM-dd\", \"en_US\");\r\n tradeRequest: OrderFilter = {} as OrderFilter;\r\n allMarketNames: StockDetail[];\r\n @Input() acc;\r\n selectedAccount: any;\r\n\r\n trades: OrderTradeWidget[] = [];\r\n\r\n constructor(\r\n private _service: ApiService,\r\n public translate: TranslateService,\r\n private _marketDetail: MarketWatchDetailService\r\n ) {}\r\n\r\n ngOnInit(){\r\n if (this._marketDetail.marketNames)\r\n this.allMarketNames = this._marketDetail.marketNames.getValue();\r\n this._marketDetail.namesSubject.subscribe((res) => {\r\n this.allMarketNames = res as StockDetail[];\r\n this.updateStockDetail()\r\n\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.acc && this.acc != 0) {\r\n this.selectedAccount = this.acc;\r\n this.tradeRequest.fromDate = this.tradeRequest.toDate = this.today;\r\n this.tradeRequest.relationCode = this.selectedAccount;\r\n this.fetchTradesSummary(this.tradeRequest);\r\n }\r\n if (this._marketDetail.marketNames)\r\n this.allMarketNames = this._marketDetail.marketNames.getValue();\r\n this._marketDetail.namesSubject.subscribe((res) => {\r\n this.allMarketNames = res as StockDetail[];\r\n });\r\n }\r\n\r\n fetchTradesSummary(request: OrderFilter) {\r\n this.isTradesLoading = true;\r\n this._service.fetchWidgetfilteredTransactions(request).subscribe((res) => {\r\n this.isTradesLoading = false;\r\n if (res) this.trades = res as OrderTradeWidget[];\r\n else this.trades = [];\r\n this.updateStockDetail();\r\n });\r\n }\r\n\r\n updateStockDetail() {\r\n if (this.trades && this.allMarketNames) {\r\n this.trades.forEach((item) => {\r\n let tradeDetail = this.allMarketNames.find(\r\n (x) => x[\"SYMBOL_CODE\"] === item.SymbolCode\r\n );\r\n if (tradeDetail) {\r\n item.ArbName = tradeDetail[\"arb_shortname\"];\r\n item.EngName = tradeDetail[\"eng_shortname\"];\r\n }\r\n });\r\n }\r\n }\r\n\r\n getColor(item) {\r\n switch (item) {\r\n case 1:\r\n return {\r\n background: \"#2cac6c\",\r\n color: \"white\",\r\n width: \"3vw\",\r\n lineHeight: \"1.25\",\r\n fontSize: \"75%\",\r\n };\r\n case 2:\r\n return {\r\n background: \"#dc3545\",\r\n color: \"white\",\r\n width: \"3vw\",\r\n lineHeight: \"1.25\",\r\n fontSize: \"75%\",\r\n };\r\n default: {\r\n return {\r\n background: \"lightgray\",\r\n color: \"black\",\r\n };\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n

\r\n {{\"transactions-summary\"|translate}}\r\n 0\" >\r\n {{trades.length}}\r\n \r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{\"no-trades-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{'no-trades-hint'|translate}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
0\" style=\"height: 100% !important;\">\r\n
    \r\n
  • \r\n
    \r\n \r\n {{(translate.currentLang=='en')?item.EngName:item.ArbName}}\r\n \r\n
    \r\n \r\n {{(item.TransactionTypeID ==2 || item.TransactionTypeID == 3 || item.TransactionTypeID == 5\r\n )?(\"sell\"|translate):(\"buy\"|translate)}}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {{(translate.currentLang=='en')?item.AbbreviationE:item.AbbreviationA}}\r\n \r\n
    \r\n \r\n {{\"gross-sales\"|translate}}\r\n \r\n
    \r\n \r\n {{item.TransactionQty|number}}\r\n @\r\n {{item.TransactionPrice }} = {{item.OrderValue | number: \"1.0\"}}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {{\"estimated-sales\"|translate}}\r\n\r\n \r\n
    \r\n \r\n {{item.TransactionQty|number}}\r\n @\r\n {{item.EstimatedPrice }} =\r\n {{item.EstimatedValue | number: \"1.0\"}}\r\n \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n SimpleChanges,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { trigger, transition, style, animate } from \"@angular/animations\";\r\nimport { FormControl, FormGroup } from \"@angular/forms\";\r\nimport * as XLSX from \"xlsx\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\n\r\nexport interface historicalData {\r\n CLOSE_PRICE: number;\r\n HIGH_PRICE: number;\r\n LOW_PRICE: number;\r\n OPEN_PRICE: number;\r\n SYMBOL_CODE: string;\r\n TRADE_COUNT: number;\r\n TRADE_DATE: Date;\r\n TRADE_VALUE: number;\r\n TRADE_VOLUME: number;\r\n}\r\n\r\n@Component({\r\n selector: \"app-historical\",\r\n templateUrl: \"./historical.component.html\",\r\n styleUrls: [\"./historical.component.scss\"],\r\n animations: [\r\n trigger(\"enterAnimation\", [\r\n transition(\":enter\", [\r\n style({ transform: \"translateX(100%)\", opacity: 0 }),\r\n animate(\"500ms\", style({ transform: \"translateX(0)\", opacity: 1 })),\r\n ]),\r\n transition(\":leave\", [\r\n style({ transform: \"translateX(0)\", opacity: 1 }),\r\n animate(\"500ms\", style({ transform: \"translateX(100%)\", opacity: 0 })),\r\n ]),\r\n ]),\r\n ],\r\n})\r\nexport class HistoricalComponent implements OnInit {\r\n @Input() symbolCode: string;\r\n @Input() reuters: string;\r\n @Input() companyName: string;\r\n isDepthLoading: boolean;\r\n data: historicalData[] = [];\r\n show: boolean = false;\r\n isDarkTheme: boolean;\r\n\r\n range = new FormGroup({\r\n start: new FormControl(),\r\n end: new FormControl(new Date()),\r\n });\r\n\r\n constructor(private accService: AccountService, private http: HttpClient) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.symbolCode = changes?.symbolCode?.currentValue;\r\n if (this.symbolCode) {\r\n this.isDepthLoading = true;\r\n this.fetchCompanyMarketDepth().subscribe((res) => {\r\n this.data = [];\r\n this.data = res as historicalData[];\r\n this.isDepthLoading = false;\r\n });\r\n }\r\n this.range.valueChanges.subscribe((value) => {\r\n this.fetchCompanyMarketDepth().subscribe((res) => {\r\n this.data = [];\r\n this.data = res as historicalData[];\r\n this.isDepthLoading = false;\r\n });\r\n });\r\n }\r\n\r\n @ViewChild(\"TABLE\") table: ElementRef;\r\n exportAsExcel() {\r\n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(\r\n this.table.nativeElement\r\n ); //converts a DOM TABLE element to a worksheet\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, \"Historical\");\r\n\r\n /* save to file */\r\n XLSX.writeFile(wb, \"Historical - \" + this.data[0].SYMBOL_CODE + \".xlsx\");\r\n }\r\n\r\n fetchCompanyMarketDepth() {\r\n if (this.symbolCode) {\r\n return this.http.post(\r\n UrlConstants.feedUrl + \"/api/Feed/GetSymbolHistory\",\r\n {\r\n SymbolCode: this.symbolCode,\r\n Skip: 0,\r\n Take: 1000,\r\n FromDate: this.range.controls.start.value,\r\n ToDate: this.range.controls.end.value,\r\n }\r\n );\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;}\r\n}\r\n","
\r\n\r\n

\r\n \r\n\r\n {{\"historical-data\"|translate}}\r\n \r\n \r\n \r\n \r\n {{reuters}}\r\n \r\n

\r\n\r\n
\r\n\r\n
\r\n \r\n Select Date Range\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n Invalid start date\r\n Invalid end date\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{\"select-company-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n
{{\"date\"|translate}}{{\"val&vol\"|translate}}{{\"open&close\"|translate}}{{\"high&low\"|translate}}
{{depth.TRADE_DATE | date}}{{depth.TRADE_VALUE| customNumber}}
{{depth.TRADE_VOLUME|\r\n customNumber}}
{{depth.OPEN_PRICE| number}}
{{depth.CLOSE_PRICE|\r\n number}}
{{depth.HIGH_PRICE| number}}
{{depth.LOW_PRICE| number}}\r\n
\r\n
\r\n\r\n
\r\n \r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 && !isDepthLoading\">\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SYMBOLDateValueVolumeOpenCloseHighLow
{{depth.SYMBOL_CODE}}{{depth.TRADE_DATE | date: 'dd/MM/yyyy'}}{{depth.TRADE_VALUE| number}}{{depth.TRADE_VOLUME| number}}{{depth.OPEN_PRICE| number}}{{depth.CLOSE_PRICE| number}}{{depth.HIGH_PRICE| number}}{{depth.LOW_PRICE| number}}
\r\n
\r\n\r\n
\r\n
\r\n","import { TranslateService } from \"@ngx-translate/core\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { Account } from \"../client-data\";\r\nimport * as moment from \"moment\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\n\r\n@Component({\r\n selector: \"app-invoice\",\r\n templateUrl: \"./invoice.component.html\",\r\n styleUrls: [\"./invoice.component.scss\"],\r\n})\r\nexport class InvoiceComponent implements OnInit {\r\n today = new Date();\r\n selectedInvoice: any;\r\n invoices: any[];\r\n dateFrom: Date = new Date(this.today.setMonth(this.today.getMonth() - 1));\r\n dateTo: Date = new Date();\r\n selectedClient: any;\r\n accList: Object;\r\n\r\n isInvoicesLoading = false;\r\n\r\n tryGenerate(invoice) {\r\n this.apiService\r\n .fetchInvoiceById(this.selectedClient, invoice.InvoiceID)\r\n .subscribe((res) => {\r\n window.open(UrlConstants.backofficeUrl + res[\"fileURL\"], \"_blank\");\r\n this.isInvoicesLoading = false;\r\n });\r\n }\r\n\r\n selectInvoice(invoicee) {\r\n this.selectedInvoice = invoicee;\r\n }\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private accService: AccountService,\r\n public translate: TranslateService,\r\n private apiService: ApiService\r\n ) {\r\n this.accList = JSON.parse(localStorage.getItem(\"accList\")) as Account[];\r\n this.selectedClient = this.accList[0].relationCode;\r\n\r\n this.isInvoicesLoading = true;\r\n this.fetchClientInvoices().subscribe((res) => {\r\n this.invoices = res;\r\n this.isInvoicesLoading = false;\r\n });\r\n }\r\n\r\n fetchClientInvoices() {\r\n let from = moment(this.dateFrom).format(\"YYYY/MM/DD\");\r\n let to = moment(this.dateTo).format(\"YYYY/MM/DD\");\r\n\r\n // 01-03-2020\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Invoice/getClientInvoice?fromDate=${from}&toDate=${to}&lang=1&relationCode=${this.selectedClient}`\r\n );\r\n }\r\n\r\n onSelectClient(event) {}\r\n\r\n onDateChange() {\r\n this.isInvoicesLoading = true;\r\n this.fetchClientInvoices().subscribe((res) => {\r\n this.invoices = res;\r\n this.isInvoicesLoading = false;\r\n });\r\n }\r\n\r\n ngOnInit(): void {}\r\n}\r\n","\r\n
\r\n

{{'my-invoices'|translate}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n ({{acc.relationCode}}) {{translate.currentLang=='en'?acc.clientNameEn:acc.clientNameAr}}\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
{{'no-invoice'|translate}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
نوع العملية: {{item.TransactionType}}
\r\n
\r\n\r\n
\r\n
السوق: {{item.Market}}
\r\n
الفرع: {{item.Branch}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
رقم الفاتورةتاريخ الفاتورةالورقةالكميةم. السعرالقيمة
{{invoice.PostedSerial}}{{invoice.InvoiceDate|date}}{{invoice.Symbolname}}{{invoice.Qty | number}}{{invoice.AvgPrice| number: \"1.2-2\":\"en-US\"}}{{invoice.NetAmount | number: \"1.2-2\":\"en-US\"}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n","import { ConfigService } from \"./../../services/config.service\";\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n transition,\r\n animate,\r\n} from \"@angular/animations\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\n\r\nexport interface AlertObject {\r\n symbol;\r\n status;\r\n notifications;\r\n expirationDate;\r\n triggeredDate;\r\n id;\r\n}\r\n\r\n@Component({\r\n selector: \"app-alert-manager\",\r\n templateUrl: \"./alert-manager.component.html\",\r\n styleUrls: [\"./alert-manager.component.scss\"],\r\n animations: [\r\n trigger(\"detailExpand\", [\r\n state(\"collapsed\", style({ height: \"0px\", minHeight: \"0\" })),\r\n state(\"expanded\", style({ height: \"*\" })),\r\n transition(\r\n \"expanded <=> collapsed\",\r\n animate(\"225ms cubic-bezier(0.4, 0.0, 0.2, 1)\")\r\n ),\r\n ]),\r\n ],\r\n})\r\nexport class AlertManagerComponent implements OnInit {\r\n isAlertsLoading: boolean = false;\r\n\r\n columnsToDisplay = [\r\n \"symbol\",\r\n \"status\",\r\n \"notifications\",\r\n \"expirationDate\",\r\n \"triggeredDate\",\r\n \"id\",\r\n ];\r\n expandedElement: AlertObject | null;\r\n\r\n activeAlerts = [\r\n {\r\n symbol: \"EGS65091C018\",\r\n status: \"Expired\",\r\n notifications: \"All\",\r\n expirationDate: new Date(),\r\n triggeredDate: new Date(),\r\n id: \"124124124\",\r\n },\r\n {\r\n symbol: \"EGS65091C018\",\r\n status: \"Expired\",\r\n notifications: \"All\",\r\n expirationDate: new Date(),\r\n triggeredDate: new Date(),\r\n id: \"124124124\",\r\n },\r\n {\r\n symbol: \"EGS65091C018\",\r\n status: \"Expired\",\r\n notifications: \"All\",\r\n expirationDate: new Date(),\r\n triggeredDate: new Date(),\r\n id: \"124124124\",\r\n },\r\n ];\r\n\r\n constructor(private http: HttpClient, private accService: AccountService) {\r\n // this.fetchUserAlerts();\r\n }\r\n\r\n fetchUserAlerts() {\r\n this.isAlertsLoading = true;\r\n\r\n this.http\r\n .get(\r\n `${UrlConstants.backofficeUrl}/api/Client/GetClientInformation?relationCode=1001-1`\r\n )\r\n .subscribe((res) => {\r\n this.isAlertsLoading = false;\r\n // this.activeAlerts = res;\r\n });\r\n }\r\n ngOnInit(): void {}\r\n}\r\n","
\r\n Alert Manager\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
{{column}} {{ column === 'expirationDate' || column === 'triggeredDate' ? (element[column]| date: 'mediumDate') : element[column] }}\r\n
\r\n
\r\n
{{element.position}}
\r\n
{{element.symbol}}
\r\n
{{element.name}}
\r\n
{{element.weight}}
\r\n
\r\n
\r\n {{element.description}}\r\n -- Wikipedia \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n \r\n Hey! 🚀 \r\n \r\n
\r\n \r\n Orders checked vs. Balance 2 hrs before IPO close. If there's a negative balance, no sweat! Add cash or tweak QTY. Easy, right? Happy trading!\"\r\n \r\n
\r\n
\r\n
\r\n
{{'fact-sheet'|translate}}
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{'risk-profile'|translate}}\r\n \r\n \r\n \r\n \r\n {{lang=='ar'?fundDetails?.RiskProfileAR:fundDetails?.RiskProfileEN}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{'subscription-freq'|translate}}\r\n \r\n \r\n \r\n \r\n {{lang=='ar'?fundDetails?.SubscriptionFrequencyAr:fundDetails?.SubscriptionFrequencyEn}} (Sunday)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{'expense-ratio'|translate}}\r\n \r\n \r\n \r\n \r\n {{fundDetails?.PercentValue}} %\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{'redemption-freq'|translate}}\r\n \r\n \r\n \r\n \r\n {{lang=='ar'?fundDetails?.RedemptionFrequencyAr:fundDetails?.RedemptionFrequencyEn}} (Sunday)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ \"pdf\" | translate }}
\r\n
\r\n 0\" >\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
{{ \"noPDF\" | translate }}
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FundDetails } from 'src/app/models/mutualFund';\r\n\r\n@Component({\r\n selector: 'app-selected-symbol-details-pdfs',\r\n templateUrl: './selected-symbol-details-pdfs.component.html',\r\n styleUrls: ['./selected-symbol-details-pdfs.component.scss']\r\n})\r\nexport class SelectedSymbolDetailsPdfsComponent implements OnInit {\r\n\r\n lang: string;\r\n isDarkTheme: boolean;\r\n @Input() fundDetails: FundDetails;\r\n\r\n constructor(\r\n public translate: TranslateService\r\n ) {\r\n this.isDarkTheme = localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n getRowIndexes(length: number): number[] {\r\n return Array.from({ length: Math.ceil(length / 2) }, (_, i) => i * 2);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n//________________________________________________________________________________________________________________________________________________\r\n//This service handles the assignment of the ids for the docked and floating panes \r\n//It also serves that purpose for all the floating panes along the different layouts by using the local storage\r\n//________________________________________________________________________________________________________________________________________________\r\nexport class IdService {\r\n private idCounter: number;\r\n private defaultPaneCount: number;\r\n\r\n constructor() {\r\n this.idCounter = this.getFromLocalStorage('idCounter', 0);\r\n //Initial docked panes are 6 and have to be 6, changing this will require you to change all occurences of this.\r\n //It is done this was as it was mentioned that 6 will not be changing \r\n this.defaultPaneCount = this.getFromLocalStorage('defaultPaneCount', 6);\r\n }\r\n\r\n private getFromLocalStorage(key: string, defaultValue: number): number {\r\n const storedValue = localStorage.getItem(key);\r\n return storedValue !== null ? parseInt(storedValue, 10) : defaultValue;\r\n }\r\n\r\n private setToLocalStorage(key: string, value: number): void {\r\n localStorage.setItem(key, value.toString());\r\n }\r\n\r\n generateId(prefix: string): string {\r\n this.idCounter++;\r\n this.setToLocalStorage('idCounter', this.idCounter);\r\n return `${prefix}${this.idCounter}`;\r\n }\r\n\r\n generateFloatingId(floatingPanePrefix: string): string {\r\n this.defaultPaneCount++;\r\n this.setToLocalStorage('defaultPaneCount', this.defaultPaneCount);\r\n return `${floatingPanePrefix}${this.defaultPaneCount}`;\r\n }\r\n\r\n revertLastGeneratedFloatingId(): void {\r\n this.defaultPaneCount--;\r\n this.setToLocalStorage('defaultPaneCount', this.defaultPaneCount);\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport * as moment from \"moment\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\n\r\n@Component({\r\n selector: \"app-select-statement-date\",\r\n templateUrl: \"./select-statement-date.component.html\",\r\n styleUrls: [\"./select-statement-date.component.scss\"],\r\n})\r\nexport class SelectStatementDateComponent implements OnInit {\r\n today = new Date();\r\n dateFrom: Date = new Date(this.today.setMonth(this.today.getMonth() - 13));\r\n dateTo: Date = new Date();\r\n statement;\r\n loadingStatement = false;\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n viewStatement() {\r\n this.loadingStatement = true;\r\n this.fetchClientStatement().subscribe((res) => {\r\n this.statement = res[0];\r\n this.loadingStatement = false;\r\n });\r\n }\r\n\r\n fetchClientStatement() {\r\n let from = moment(this.dateFrom).format(\"MM-DD-YYYY\");\r\n let to = moment(this.dateTo).format(\"MM-DD-YYYY\");\r\n // 01-03-2020\r\n return this.http.get(\r\n `${UrlConstants.backofficeUrl}/api/Client/getClientStatement?fromDate=${from}&toDate=${to}&lang=1&relationCode=1001-1`\r\n );\r\n }\r\n}\r\n","
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n\r\n\r\n","import { Subscription } from 'rxjs';\r\n\r\nimport { ForgetPassObj, ForgetPassResponseDTO } from './../../models/login';\r\nimport { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { FormGroup, FormBuilder, Validators } from \"@angular/forms\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ReCaptchaV3Service } from \"ng-recaptcha\";\r\nimport { TwfaComponent } from \"src/app/components/twfa/twfa.component\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { AlertService } from \"src/app/services/alert.service\";\r\nimport Swal from \"sweetalert2\";\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n styleUrls: ['./reset-password.component.scss']\r\n})\r\nexport class ResetPasswordComponent implements OnInit, OnDestroy {\r\n\r\n\r\n\r\n forgetPassObj: ForgetPassObj = {} as ForgetPassObj\r\n formForget: FormGroup;\r\n resetEmail: '';\r\n private _subscription: Subscription;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private alertService: AlertService,\r\n private dialog: MatDialog,\r\n private translate: TranslateService,\r\n private accService: AccountService,\r\n private recaptchaV3Service: ReCaptchaV3Service,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.formForget = this.formBuilder.group({\r\n email: [null, [Validators.required, Validators.email]],\r\n });\r\n }\r\n\r\n // convenience getter for easy access to form fields\r\n\r\n get ff() {\r\n return this.formForget.controls;\r\n }\r\n\r\n\r\n\r\n\r\n onForget() {\r\n\r\n this.recaptchaV3Service.execute('importantAction')\r\n .subscribe((token: string) => {\r\n this.forgetPassObj.Email = this.formForget.value.email;\r\n this.accService.forgetPassword(this.forgetPassObj)\r\n .subscribe((arg: ForgetPassResponseDTO )=> {\r\n if (arg.IsValid == true)\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"success\",\r\n title: this.translate.instant(\"success-email-sent\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n }).finally(() => {\r\n this.router.navigateByUrl('/ForgetPassword')\r\n });\r\n else\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"error-email-sent\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n },\r\n );\r\n\r\n });\r\n }\r\n login() {\r\n this.router.navigateByUrl('/login');\r\n\r\n }\r\n ngOnDestroy() {\r\n if (this._subscription) {\r\n this._subscription.unsubscribe();\r\n }\r\n const element = document.getElementsByClassName('grecaptcha-badge')[0] as HTMLElement;\r\n if (element) {\r\n element.style.visibility = 'hidden';\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { UrlConstants } from \"../models/urlConstants\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class ConfigService {\r\n private configUrl = \"assets/identity/config.json\";\r\n\r\n feedUrl: string;\r\n backofficeUrl: string;\r\n egxUrl: string;\r\n newSignalR: string;\r\n globalDataApi: string;\r\n appKey: string;\r\n idleTime: number;\r\n isEGID: boolean;\r\n enableIPO:boolean;\r\n enableMutualFund:boolean;\r\n\r\n constructor(private http: HttpClient) {\r\n this.getConfigServers().subscribe((res) => {\r\n this.feedUrl = res[\"feedUrl\"];\r\n this.backofficeUrl = res[\"backofficeUrl\"];\r\n this.newSignalR = res[\"newSignalR\"];\r\n this.egxUrl = res[\"egxUrl\"];\r\n this.globalDataApi = res[\"globalDataApi\"];\r\n this.appKey = res[\"appKey\"];\r\n this.idleTime = res[\"idleTime\"];\r\n this.isEGID = res['isEGID'];\r\n this.enableIPO = res['enableIPO'];\r\n this.enableMutualFund = res['enableMutualFund'];\r\n });\r\n }\r\n\r\n Init() {\r\n return new Promise((resolve, reject) => {\r\n this.getConfigServers().subscribe((data) => {\r\n UrlConstants.backofficeUrl = data[\"backofficeUrl\"];\r\n UrlConstants.feedUrl = data[\"feedUrl\"];\r\n UrlConstants.egxUrl = data[\"egxUrl\"];\r\n UrlConstants.newSignalR = data[\"newSignalR\"];\r\n UrlConstants.globalDataApi = data[\"globalDataApi\"];\r\n UrlConstants.appKey = data[\"appKey\"];\r\n UrlConstants.idleTime = data[\"idleTime\"];\r\n UrlConstants.supportNumber = data[\"supportNumber\"];\r\n UrlConstants.navButtonColor = data[\"navButtonColor\"];\r\n UrlConstants.companyName = data[\"companyName\"];\r\n UrlConstants.hasTechnicalAnalysis = data[\"hasTechnicalAnalysis\"];\r\n UrlConstants.isEGID = data[\"isEGID\"];\r\n UrlConstants.logoLink = data[\"logoLink\"];\r\n UrlConstants.enableIPO = data[\"enableIPO\"];\r\n UrlConstants.enableMutualFund = data[\"enableMutualFund\"];\r\n resolve();\r\n });\r\n });\r\n }\r\n\r\n public getConfigServers() {\r\n return this.http.get(this.configUrl);\r\n }\r\n\r\n fetchServers() {\r\n this.getConfigServers().subscribe((res) => {\r\n this.feedUrl = res[\"feedUrl\"];\r\n this.backofficeUrl = res[\"backofficeUrl\"];\r\n this.globalDataApi = res[\"globalDataApi\"];\r\n this.newSignalR = res[\"newSignalR\"];\r\n this.egxUrl = res[\"egxUrl\"];\r\n this.appKey = res[\"appKey\"];\r\n this.idleTime = res[\"idleTime\"];\r\n this.enableIPO = res[\"enableIPO\"];\r\n this.enableMutualFund = res[\"enableMutualFund\"];\r\n });\r\n }\r\n\r\n public get getFeedUrl() {\r\n return this.feedUrl;\r\n }\r\n get getBackofficeUrl() {\r\n return this.backofficeUrl;\r\n }\r\n get getGlobalDataApi() {\r\n return this.globalDataApi;\r\n }\r\n get getAppKey() {\r\n return this.appKey;\r\n }\r\n public get getIdleTime() {\r\n return this.idleTime;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output, ElementRef, HostListener } from \"@angular/core\";\r\nimport { FavService } from \"src/app/services/fav.service\";\r\n\r\n@Component({\r\n selector: \"app-favorite-menu\",\r\n templateUrl: \"./favorite-menu.component.html\",\r\n styleUrls: [\"./favorite-menu.component.scss\"]\r\n})\r\nexport class FavoriteMenuComponent {\r\n @Input() x = 0;\r\n @Input() y = 0;\r\n @Input() isShow: boolean = false;\r\n @Input() item: any;\r\n @Input() marketWatches = [];\r\n @Output() clickedOutside = new EventEmitter();\r\n @Output() addNewFavorite = new EventEmitter<{symbol: string, name: string}>();\r\n @Output() selectMarketWatchEvent = new EventEmitter<{watch: any,symbol:string}>();\r\n @Output() deleteMarketWatchEvent = new EventEmitter<{marketWatchID: string}>();\r\n isDarkTheme : boolean ;\r\n showAddFavorite: boolean = false;\r\n newFavoriteName: string = \"\";\r\n errorMessage: string = \"\";\r\n\r\n constructor(private eRef: ElementRef,\r\n private favService : FavService,\r\n ) {}\r\n @HostListener(\"document:click\", [\"$event\"])\r\n clickOutside(event: MouseEvent) {\r\n if (!this.eRef.nativeElement.contains(event.target)) {\r\n this.clickedOutside.emit(); \r\n }\r\n }\r\n\r\n toggleAddFavorite(event: MouseEvent) {\r\n event.stopPropagation(); \r\n if (this.marketWatches.length >= 5) {\r\n alert('You can only have 5 watchlists.');\r\n return;\r\n }\r\n this.showAddFavorite = !this.showAddFavorite;\r\n this.errorMessage = ''; \r\n }\r\n\r\n preventCloseOnInternalClick(event: MouseEvent) {\r\n event.stopPropagation(); \r\n }\r\n\r\n createFavorite(symbol: string) {\r\n if (this.marketWatches.length >= 5) {\r\n alert('You can only have 5 watchlists.');\r\n return;\r\n }\r\n\r\n if (this.newFavoriteName.trim()) {\r\n const name= this.newFavoriteName;\r\n this.addNewFavorite.emit({symbol,name});\r\n this.newFavoriteName = \"\";\r\n this.showAddFavorite = false;\r\n }\r\n else{\r\n alert('Please enter a name for the new favorite list.');\r\n\r\n }\r\n }\r\n\r\n selectMarketWatch(watch:any, symbol: string) {\r\n this.selectMarketWatchEvent.emit({ watch, symbol });\r\n }\r\n\r\n deleteMarketWatch(marketWatchID: string) {\r\n this.deleteMarketWatchEvent.emit({marketWatchID});\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n }\r\n}\r\n","
\r\n
    \r\n
  • \r\n \r\n {{\"AddNewFavoriteList\" | translate}}\r\n\r\n \r\n\r\n \r\n\r\n
    \r\n {{ errorMessage }}\r\n
    \r\n
  • \r\n\r\n
  • \r\n {{\"NoFavoriteLists\" | translate}}\r\n
  • \r\n
  • \r\n \r\n {{ watch.MarketWatchName }}\r\n \r\n
  • \r\n\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n لتداول الاوراق المالية\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

فاتورة

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n فاتورة {{invoice.TransactionType}}: \r\n
\r\n
\r\n {{invoice.PostedSerial}}\r\n
\r\n
\r\n
\r\n
\r\n تاريخ الفاتورة: \r\n
\r\n
\r\n {{invoice.InvoiceDate | date:'shortDate' }}\r\n
\r\n
\r\n
\r\n
\r\n تاريخ التسوية: \r\n
\r\n
\r\n --------\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n اسم العميل: \r\n
\r\n
\r\n {{profile.SubNameA}}\r\n
\r\n
\r\n
\r\n
\r\n كود التداول:\r\n
\r\n
\r\n {{profile.ExchangeCode}}\r\n
\r\n
\r\n
\r\n
\r\n كود العميل:\r\n
\r\n
\r\n {{profile.RelationCode}}\r\n
\r\n
\r\n
\r\n
\r\n امين حفظ:\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n نتشرف بالافادة انه تم {{invoice.TransactionType}} الاوراق المالية التالية لحسابكم\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n سهم:\r\n
\r\n
\r\n {{invoice.Symbolname}}\r\n
\r\n
\r\n {{invoice.SymbolCode}}\r\n
\r\n
\r\n {{invoice.MarketId}}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
رقم العمليةالكميةالسعرالقيمة
{{invoice.TicketNo}}{{invoice.TransactionQty}}{{invoice.TransactionPrice| number: \"1.0\":\"en-US\"}}{{invoice.OrderNumber}}
\r\n
{{'total'|translate}}
\r\n
{{invoice.Qty}}
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    {{item.CommName}}
    \r\n
    {{item.CommValue| number: \"1.0\":\"en-US\"}}
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
اجمالي الخدمات:
\r\n
{{totalInvoiceComm}}
\r\n
\r\n
\r\n
متوسط التكلفة:
\r\n
{{invoice.AvgPrice | number: \"1.0\":\"en-US\"}}
\r\n
\r\n
\r\n
صافي القيمة:
\r\n
{{invoice.NetAmount}}
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
طبع بواسطة
\r\n
{{profile.SubNameA}}
\r\n
\r\n
\r\n
\r\n
\r\n
تاريخ الطباعة
\r\n
{{today |date:'medium'}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { AccountService, UserProfile } from \"src/app/services/account.service\";\r\nimport { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"app-invoice-details\",\r\n templateUrl: \"./invoice-details.component.html\",\r\n styleUrls: [\"./invoice-details.component.scss\"],\r\n})\r\nexport class InvoiceDetailsComponent implements OnInit {\r\n today = new Date();\r\n @Input() invoice;\r\n profile: UserProfile;\r\n\r\n constructor(private _accService: AccountService) {\r\n this.profile = _accService.getUserProfile();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n get totalInvoiceComm() {\r\n return this.invoice.InvoiceComm.reduce(function (a, b) {\r\n return a + b.CommValue;\r\n }, 0);\r\n }\r\n\r\n // invoice =\r\n // {\r\n // Symbolname: \"فوري للمدفوعات\",\r\n // InvoiceComm: [\r\n // {\r\n // CommName: \"خدمات البورصة\",\r\n // CommValue: 0.47,\r\n // },\r\n // {\r\n // CommName: \"خدمات المقاصة \",\r\n // CommValue: 0.47,\r\n // },\r\n // {\r\n // CommName: \"خدمات الهيئة \",\r\n // CommValue: 3,\r\n // },\r\n // {\r\n // CommName: \"تامين المخاطر\",\r\n // CommValue: 0.23,\r\n // },\r\n // {\r\n // CommName: \"ضريبة الدمغة على التداول \",\r\n // CommValue: 7,\r\n // },\r\n // {\r\n // CommName: \"أمين الحفظ\",\r\n // CommValue: 0.47,\r\n // },\r\n // ],\r\n // PostedSerial: \"20/6\",\r\n // InvoiceID: 6,\r\n // InvoiceDate: \"2020-10-01T00:00:00\",\r\n // GrossAmount: 4665.81,\r\n // NetAmount: 4677.45,\r\n // AvgPrice: 26.97,\r\n // CostPrice: 27.03728323699422,\r\n // Qty: 173,\r\n // SymbolCode: \"EGS745L1C014\",\r\n // TransactionType: \"شراء\",\r\n // MarketId: \"البورصة المصرية\",\r\n // BranchID: \"( الفرع الرئيسي )\",\r\n // Orders: [\r\n // {\r\n // OrderNumber: 18,\r\n // TransactionQty: 40,\r\n // TransactionPrice: 26.97,\r\n // TicketNo: \"N000124344593\",\r\n // },\r\n // {\r\n // OrderNumber: 19,\r\n // TransactionQty: 40,\r\n // TransactionPrice: 26.97,\r\n // TicketNo: \"N000124344627\",\r\n // },\r\n // {\r\n // OrderNumber: 20,\r\n // TransactionQty: 93,\r\n // TransactionPrice: 26.97,\r\n // TicketNo: \"N000124344693\",\r\n // },\r\n // ],\r\n // }\r\n\r\n}\r\n","
\r\n\r\n

\r\n \r\n\r\n {{\"chart\"|translate}}\r\n \r\n {{reuters}}\r\n \r\n

\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
{{\"select-company-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n","import { TranslateService } from '@ngx-translate/core';\r\nimport { Component, Input, OnInit, SimpleChanges } from '@angular/core';\r\ndeclare const TradingView: any;\r\n\r\n@Component({\r\n selector: 'app-trading-view-chart',\r\n templateUrl: './trading-view-chart.component.html',\r\n styleUrls: ['./trading-view-chart.component.scss']\r\n})\r\nexport class TradingViewChartComponent {\r\n\r\n @Input() reuters;\r\n @Input() symbolCode;\r\n @Input() companyName;\r\n @Input() isLinked;\r\n isDarkTheme: boolean;\r\n\r\n constructor(private translate: TranslateService) { }\r\n\r\n ngOnInit(){\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (!this.isLinked) {\r\n this.initChart();\r\n }\r\n }\r\n\r\n initChart() {\r\n new TradingView.widget({\r\n width: \"100%\",\r\n height: \"100%\",\r\n symbol: \"EGX:\" + this.symbolCode,\r\n interval: \"D\",\r\n timezone: \"Africa/Cairo\",\r\n theme: this.isDarkTheme?\"Dark\":\"Light\",\r\n style: \"1\",\r\n locale: this.translate.currentLang == \"ar\" ? \"ar_AE\" : \"en\",\r\n toolbar_bg: \"#f1f3f6\",\r\n enable_publishing: false,\r\n withdateranges: false,\r\n // range: \"ytd\",\r\n hide_side_toolbar: true,\r\n allow_symbol_change: false,\r\n show_popup_button: false,\r\n autosize: true,\r\n hide_legend: true,\r\n save_image: false,\r\n no_referral_id: true,\r\n container_id: this.symbolCode,\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.isLinked && changes.reuters.currentValue != changes.reuters.previousValue) {\r\n this.symbolCode = changes.symbolCode.currentValue;\r\n setTimeout(() => {\r\n this.initChart();\r\n }, 200);\r\n\r\n\r\n }\r\n }\r\n\r\n get symbol() {\r\n if (this.symbolCode)\r\n return this.symbolCode;\r\n }\r\n}\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, Input } from '@angular/core';\r\n\r\nexport const fadeInOutTimeout = 250;\r\nexport const fadeInOut = trigger('fadeInOut', [\r\n transition('void => *', [style({ opacity: '0', transform: 'translateX(-10%)' }), animate(fadeInOutTimeout)]),\r\n transition('* => void', [animate(fadeInOutTimeout, style({ opacity: '0' }))]),\r\n transition('* => *', [\r\n style({ opacity: '0', transform: 'translateX(-10%)' }),\r\n animate(fadeInOutTimeout, style({ opacity: '1', transform: 'translateX(0%)' })),\r\n ]),\r\n]);\r\n\r\n@Component({\r\n selector: 'app-animated-text',\r\n template: `\r\n
\r\n {{ number }}\r\n
\r\n `,\r\n styles: [],\r\n animations: [fadeInOut],\r\n})\r\nexport class AnimatedTextComponent {\r\n @Input() number;\r\n}\r\n","
\r\n \r\n
Symbol Pick! 🚀
\r\n
Select a symbol to kickstart your trading journey.
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
0 && searchValue\" class=\"suggestion-list\">\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
AZG
\r\n
Azimut Gold
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-search-symbols-modal',\r\n templateUrl: './search-symbols-modal.component.html',\r\n styleUrls: ['./search-symbols-modal.component.scss']\r\n})\r\nexport class SearchSymbolsModalComponent implements OnInit {\r\n\r\n records=['sha', 'hk', 'fhg','ss']\r\n searchValue;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n searchCompany(event: any){\r\n }\r\n\r\n closeModal(){\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-not-full-market',\r\n templateUrl: './not-full-market.component.html',\r\n styleUrls: ['./not-full-market.component.scss']\r\n})\r\nexport class NotFullMarketComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
{{\"not-full-market-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n","import { ApiService } from \"./../../services/api.service\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport { CompanyDepth } from \"src/app/models/company-depth\";\r\n\r\nimport { HubConnection, HubConnectionBuilder } from \"@microsoft/signalr\";\r\nimport * as signalR from \"@microsoft/signalr\";\r\n\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\n\r\n@Component({\r\n selector: \"app-market-depth-asks\",\r\n templateUrl: \"./market-depth-asks.component.html\",\r\n styleUrls: [\"./market-depth-asks.component.scss\"],\r\n})\r\nexport class MarketDepthAsksComponent implements OnInit {\r\n @Input() symbolCode: string;\r\n @Input() reuters: string;\r\n @Input() companyName: string;\r\n\r\n isDepthLoading: boolean;\r\n companyDepth: CompanyDepth;\r\n isOrder: boolean = false;\r\n\r\n private depthConnection: HubConnection;\r\n\r\n constructor(private _service: ApiService) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes?.reuters) {\r\n this.symbolCode = changes?.symbolCode?.currentValue;\r\n this.reuters = changes.reuters?.currentValue;\r\n }\r\n if (this.symbolCode) {\r\n this.companyDepth = null;\r\n this.isDepthLoading = true;\r\n if (this.isOrder) this.fetchDepthByOrder();\r\n else if (!this.isOrder) this.fetchDepthByPrice();\r\n }\r\n\r\n if (!this.isOrder && this.symbolCode) {\r\n if (this.depthConnection) this.depthConnection.stop();\r\n this.connectSignalR();\r\n }\r\n }\r\n\r\n connectSignalR() {\r\n this.depthConnection = new HubConnectionBuilder()\r\n .withUrl(UrlConstants.newSignalR +\"/bidsAsksHub\", {\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets,\r\n })\r\n .build();\r\n\r\n this.depthConnection\r\n .start()\r\n .then((res) =>\r\n this.depthConnection\r\n .invoke(\"JoinGroup\", this.symbolCode)\r\n .then((value) => {\r\n this.depthConnection.on(\"sendBidsAsksForSymbol\", (depthUpdate) => {\r\n let update = depthUpdate[0][\"MarketDepth\"] as CompanyDepth;\r\n this.companyDepth.asksPerPrice = update.asksPerPrice;\r\n this.companyDepth.bidsPerPrice = update.bidsPerPrice;\r\n this.companyDepth.totalsBidsAndAsks = update.totalsBidsAndAsks;\r\n });\r\n })\r\n )\r\n .catch();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.depthConnection) this.depthConnection.stop();\r\n }\r\n\r\n toggleOrderView(value) {\r\n if (this.symbolCode) this.isDepthLoading = true;\r\n this.isOrder = value;\r\n if (value) this.fetchDepthByOrder();\r\n else this.fetchDepthByPrice();\r\n }\r\n\r\n fetchDepthByOrder() {\r\n this._service.fetchDepthByOrder(this.symbolCode).subscribe((res) => {\r\n this.isDepthLoading = false;\r\n this.companyDepth = res as CompanyDepth;\r\n });\r\n }\r\n fetchDepthByPrice() {\r\n this._service.fetchDepthByPrice(this.symbolCode,10).subscribe((res) => {\r\n this.isDepthLoading = false;\r\n this.companyDepth = res as CompanyDepth;\r\n });\r\n }\r\n ngOnInit() {}\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
No Asks
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{\"select-company-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n \r\n
{{\"price\"|translate}}{{\"qty\"|translate}}
\r\n {{depth.ORDER_PRICE}}{{depth.VOLUME_TRADED | number: \"1.0\":\"en-US\"}}
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
No Asks
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
{{\"select-company-hint\"|translate}}
\r\n
\r\n
\r\n
\r\n \r\n
#{{\"price\"|translate}}{{\"qty\"|translate}}
{{depth.split}}\r\n {{depth.ORDER_PRICE}}\r\n \r\n {{depth.VOLUME_TRADED | number: \"1.0\":\"en-US\"}}\r\n
\r\n
\r\n
\r\n","import { Directive, Input, OnChanges, SimpleChanges } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[appUpdateFlash]\",\r\n})\r\nexport class UpdateFlashDirective implements OnChanges {\r\n @Input() public appHighlight: any;\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n\r\n }\r\n}\r\n","import { InputCommaSepreatedPipe } from \"./input-comma-sepreated.pipe\";\r\nimport { Directive, HostListener } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[appInputCommaSepreated]\",\r\n})\r\nexport class InputCommaSepreatedDirective {\r\n constructor(private formatPipe: InputCommaSepreatedPipe) {}\r\n @HostListener(\"focusout\", [\"$event\"])\r\n onFocus(event: FocusEvent) {\r\n let input = event.target as HTMLInputElement;\r\n let number = parseFloat(input.value.replace(/,/g, \"\"));\r\n if (isNaN(number) || number <= 0) {\r\n input.value = \"\";\r\n } else {\r\n input.value = this.formatPipe.transform(number).toString();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n لتداول الاوراق المالية\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

كشف حساب عميل

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n اسم العميل: \r\n
\r\n
\r\n {{statement.clientName}}\r\n
\r\n
\r\n
\r\n
\r\n كود التداول:\r\n
\r\n
\r\n {{statement.ExchangeCode}}\r\n
\r\n
\r\n
\r\n
\r\n كود العميل:\r\n
\r\n
\r\n {{statement.RelationCode}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n الكود الموحد:\r\n
\r\n
\r\n {{statement.UnifiedCode}}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n العملة: \r\n
\r\n
\r\n {{statement.MasterCurrencyClientStatements[0].CurrencyName}}\r\n
\r\n
\r\n
\r\n
\r\n رصيد اول المدة:\r\n
\r\n
\r\n {{statement.MasterCurrencyClientStatements[0].BeginingBalance}}\r\n {{statement.MasterCurrencyClientStatements[0].BeginingBalanceName}}\r\n
\r\n
\r\n
\r\n
\r\n رصيد اخر المدة:\r\n
\r\n
\r\n {{statement.MasterCurrencyClientStatements[0].EndingBalanceValue}}\r\n {{statement.MasterCurrencyClientStatements[0].EndingBalanceName}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
حق اليومرقم القيدنوع الحركةالوصفمديندائنرصيد
{{statement.BatchDate}}{{statement.PostedSerial}}{{statement.DocumentSource}}{{statement.DetailDescE}}{{statement.DebitAmount}}{{statement.CreditAmount}}{{statement.BalanceValue}}{{statement.BalanceName}}
\r\n
{{'total'|translate}}
\r\n
\r\n
\r\n {{statement.MasterCurrencyClientStatements[0].EndingBalanceValue}}\r\n {{statement.MasterCurrencyClientStatements[0].EndingBalanceName}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n اقر انا الموقع ادناه انني اوافق واصادق علي صحه رصيد حسابي وعلي كافه الاوامر وعمليات البيع والشراء والخصم والاضافه والايداع والسحب سواء نقديه او بشيكات والتحويلات والعمولات والمصروفات والرسوم التي تمت بحسابي طرف شركه الاقصر\r\n لتداول الاوراق المالية بتك العمليات واقر انها تمت بناء علي تعليماتي باوامر شخصيه مباشره مني واقر باستلامي كشوف الحساب واخطارات التنفيذ عن الفتره من بدايه تعاملي مع الشركه حتي تاريخه واوافق علي جميع التسجيلات الهاتفيه والكتابيه لاوامري حتي\r\n تاريخه ولا يحق لي الرجوع علي الشركه باي مستندات او ادله اخري بخلاف هذا الاقرار او مطالبه الشركه بمستندات اخري بخصوص معاملاتي قبل تاريخ هذا الاقرار\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
طبع بواسطة
\r\n
{{profile.SubNameA}}
\r\n
\r\n
\r\n
\r\n
\r\n
تاريخ الطباعة
\r\n
{{today |date:'medium'}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { UserProfile, AccountService } from \"src/app/services/account.service\";\r\n\r\n@Component({\r\n selector: \"app-statement-details\",\r\n templateUrl: \"./statement-details.component.html\",\r\n styleUrls: [\"./statement-details.component.scss\"],\r\n})\r\nexport class StatementDetailsComponent implements OnInit {\r\n today = new Date();\r\n @Input() statement;\r\n profile: UserProfile;\r\n\r\n constructor(private _accService: AccountService) {\r\n this.profile = _accService.getUserProfile();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n get totalStatementComm() {\r\n return true;\r\n // return this.statement.InvoiceComm.reduce(function (a, b) {\r\n // return a + b.CommValue;\r\n // }, 0);\r\n }\r\n}\r\n","import { ConfigService } from \"./../../services/config.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n Renderer2,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { environment } from \"src/environments/environment\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { CompanyNews } from \"src/app/models/company-news\";\r\nimport { SlickCarouselComponent } from \"ngx-slick-carousel\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\ndeclare const TradingView: any;\r\n\r\n@Component({\r\n selector: \"app-global-markets\",\r\n templateUrl: \"./global-markets.component.html\",\r\n styleUrls: [\"./global-markets.component.scss\"],\r\n})\r\nexport class GlobalMarketsComponent implements OnInit, AfterViewInit {\r\n symbolCode: any;\r\n company: CompanyList;\r\n reuters: any;\r\n\r\n news: CompanyNews[];\r\n majorIndexes: any[];\r\n middleEastIndexes: any[];\r\n exchangeRates: any[];\r\n gdrData: any[];\r\n isDarkTheme: boolean;\r\n\r\n @ViewChild(\"slickModal\") slickModal: SlickCarouselComponent;\r\n @ViewChild(\"tradingview\") tradingview?: ElementRef;\r\n metalsData: any[];\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private accService: AccountService,\r\n signalService: SignalRService,\r\n public translate: TranslateService,\r\n private apiService: ApiService,\r\n private _renderer2: Renderer2\r\n ) {\r\n signalService.marketChanges.subscribe((res: any) =>\r\n res.forEach((element) => {\r\n if (element.SymbolCode == this.symbolCode) {\r\n this.company = element;\r\n // this.fetchCompany();\r\n return;\r\n }\r\n })\r\n );\r\n this.apiService.fetchMarketNews().subscribe((res) => {\r\n this.news = res;\r\n });\r\n this.apiService.fetchMajorIndexes().subscribe((res) => {\r\n this.majorIndexes = res;\r\n });\r\n this.apiService.fetchMiddleEastIndexes().subscribe((res) => {\r\n this.middleEastIndexes = res;\r\n });\r\n this.apiService.fetchExchangeRates().subscribe((res) => {\r\n this.exchangeRates = res;\r\n });\r\n this.apiService.fetchGDR().subscribe((res) => {\r\n this.gdrData = res;\r\n this.gdrData.pop();\r\n });\r\n this.apiService.fetchMetals().subscribe((res) => {\r\n this.metalsData = res;\r\n });\r\n }\r\n\r\n metalColor(symbol) {\r\n switch (symbol) {\r\n case \"GOLD\":\r\n return \"#DAA520\";\r\n case \"SILVER\":\r\n return \"#C0C0C0\";\r\n case \"PLATINUM\":\r\n return \"#e5e4e2\";\r\n case \"COPPER\":\r\n return \"#B87333\";\r\n }\r\n }\r\n\r\n slideConfig = {\r\n cssEase: \"linear\",\r\n slidesToShow: 5.5,\r\n slidesToScroll: 1,\r\n dots: true,\r\n width: \"50%\",\r\n };\r\n\r\n ngOnInit(): void {\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false; }\r\n\r\n ngAfterViewInit() {\r\n this.renderIndexData(\"DIA\");\r\n\r\n let script = this._renderer2.createElement(\"script\");\r\n script.type = `text/javascript`;\r\n script.src =\r\n \"https://s3.tradingview.com/external-embedding/embed-widget-forex-heat-map.js\";\r\n script.text = `{\r\n \"width\": \"100%\",\r\n \"height\": \"400\",\r\n \"currencies\": [\r\n \"EUR\",\r\n \"USD\",\r\n \"JPY\",\r\n \"GBP\",\r\n \"CHF\",\r\n \"AUD\",\r\n \"CAD\",\r\n \"NZD\",\r\n \"CNY\"\r\n ],\r\n \"isTransparent\": false,\r\n \"colorTheme\": \"${this.isDarkTheme ? \"dark\" : \"light\"}\",\r\n \"locale\": \"${this.translate.currentLang == \"ar\" ? \"ar_AE\" : \"en\"}\"\r\n }`;\r\n\r\n this.tradingview?.nativeElement.appendChild(script);\r\n }\r\n\r\n renderIndexData(symbol) {\r\n new TradingView.widget({\r\n width: \"100%\",\r\n height: 400,\r\n symbol: symbol,\r\n // interval: \"D\",\r\n timezone: \"Africa/Cairo\",\r\n theme: this.isDarkTheme ? \"Dark\" : \"Light\",\r\n style: \"3\",\r\n locale: this.translate.currentLang == \"ar\" ? \"ar_AE\" : \"en\",\r\n // toolbar_bg: \"#f1f3f6\",\r\n // enable_publishing: false,\r\n // withdateranges: true,\r\n // range: \"ytd\",\r\n hide_side_toolbar: true,\r\n hide_top_toolbar: true,\r\n // allow_symbol_change: true,\r\n // show_popup_button: true,\r\n // popup_width: \"1000\",\r\n // popup_height: \"650\",\r\n // no_referral_id: true,\r\n container_id: \"tradingview_bac65\",\r\n });\r\n }\r\n\r\n fetchCompany() {\r\n this.http\r\n .get(\r\n `${UrlConstants.feedUrl}/api/Feed/GetMarketWatchForSymbol?SYMBOL_CODE=` +\r\n this.symbolCode\r\n )\r\n .subscribe((res) => {\r\n this.company = res as CompanyList;\r\n });\r\n }\r\n}\r\n","\r\n\r\n
\r\n
{{\"global-market\"|translate}}
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{index.Symbol}}\r\n
\r\n
0? 'green' : 'red'\">\r\n {{index.Change | number : '1.2-2'}} ({{index.ChangePer | number : '1.2-2'}}%)\r\n 0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{index.Name}}\r\n
\r\n
\r\n {{index.Close | number}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{index.ENName}}\r\n
\r\n
0? 'green' : 'red'\">\r\n {{index.Indexes[0]?.Change | number : '1.2-2'}} ({{index.Indexes[0]?.ChangePer | number :\r\n '1.2-2'}}%)\r\n 0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{index.Indexes[0]?.Name}}\r\n
\r\n
\r\n {{index.Indexes[0]?.Close | number}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{{item.DATE_STAMP|date:'mediumTime'}}{{item.ARB_HEADING}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
{{\"metals\"|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{rate.Symbol}} {{(rate.Name)}}\r\n
\r\n
0? 'green' : 'red'\">\r\n {{rate.Change | number : '1.2-2'}} ({{rate.ChangePer | number : '1.2-2'}}%)\r\n 0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{rate.Last_Time|date:'MMM d, yy, h:mm:ss a' }}\r\n
\r\n
\r\n {{rate.Close | number}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
{{\"gdr\"|translate}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{index.Symbol}}\r\n
\r\n
0? 'green' : 'red'\">\r\n {{index.Change | number : '1.2-2'}} ({{index.ChangePer | number : '1.2-2'}}%)\r\n 0\">\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{(translate.currentLang=='en')?index.Name:index.Name_AR}}\r\n
\r\n
\r\n {{index.Close | number}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
{{\"exchange-rates\"|translate}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{rate.Currency_Name}}\r\n
\r\n
\r\n {{rate.Last_Refreshed|date:'MMM d, y, h:mm:ss a'\r\n }}\r\n
\r\n
\r\n
\r\n
\r\n {{\"buy\"|translate}}{{rate.Buy_Rate}}\r\n
\r\n
\r\n {{\"sell\"|translate}}\r\n {{rate.Sell_Rate}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n","import { Directive, ElementRef, HostListener, Input } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[appTwoDigitDecimalNumber]\",\r\n})\r\nexport class TwoDigitDecimalNumberDirective {\r\n @Input(\"appTwoDigitDecimalNumber\") isTripleDecimal: boolean;\r\n\r\n private regex: RegExp;\r\n\r\n // private regex: RegExp = new RegExp(/^\\d*\\.?\\d{0,2}$/g);\r\n private specialKeys: Array = [\r\n \"Backspace\",\r\n \"Tab\",\r\n \"End\",\r\n \"Home\",\r\n \"ArrowLeft\",\r\n \"ArrowRight\",\r\n \"Del\",\r\n \"Delete\",\r\n ];\r\n\r\n ngAfterViewInit() {\r\n if (this.isTripleDecimal) {\r\n this.regex = new RegExp(/^\\d*\\.?\\d{0,3}$/g);\r\n } else {\r\n this.regex = new RegExp(/^\\d*\\.?\\d{0,2}$/g);\r\n }\r\n }\r\n constructor(private el: ElementRef) {}\r\n @HostListener(\"keydown\", [\"$event\"])\r\n onKeyDown(event: KeyboardEvent) {\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n let current: string = this.el.nativeElement.value;\r\n const position = this.el.nativeElement.selectionStart;\r\n const next: string = [\r\n current.slice(0, position),\r\n event.key == \"Decimal\" ? \".\" : event.key,\r\n current.slice(position),\r\n ].join(\"\");\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","import { ViewportScroller } from \"@angular/common\";\r\nimport { AfterViewInit, Component, ElementRef, HostListener, OnInit } from \"@angular/core\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { CompanySettings } from \"src/app/models/company-settings\";\r\nimport {\r\n AttachmentDto,\r\n Card,\r\n LandingPageDTO,\r\n PageSection,\r\n} from \"src/app/models/landingPageDTO\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { GridsterService } from \"src/app/services/gridster.service\";\r\n\r\ndeclare const TradingView: any;\r\n\r\n@Component({\r\n selector: \"app-landingpage-home\",\r\n templateUrl: \"./landingpage-home.component.html\",\r\n styleUrls: [\"./landingpage-home.component.scss\"],\r\n})\r\nexport class LandingpageHomeComponent implements OnInit, AfterViewInit {\r\n landingPageDTO: LandingPageDTO;\r\n firstAdPath: string = \"\";\r\n adsPaths: string[] = [];\r\n navbar;\r\n heroSection: PageSection;\r\n aboutSection: PageSection;\r\n marketSummarySection: PageSection;\r\n featureSection: PageSection;\r\n footerSection;\r\n servicesSection: PageSection;\r\n servicecards: Card[] = [];\r\n buttonColor: string = \"#131722\";\r\n activeEgx = \"EGX30\";\r\n langImg: string = \"assets/img/ain.png\";\r\n currentDate = new Date();\r\n currentYear = this.currentDate.getFullYear();\r\n companySettings: CompanySettings;\r\n offersAttachmentsiDS: number[] = [];\r\n servicesSectionAttachmentsiDS: number[] = [];\r\n offersAttachments\r\n servicesSectionAttachments;\r\n currentLang;\r\n offerSection;\r\n toggleBacground = \"#131722\";\r\n constructor(\r\n public translate: TranslateService,\r\n private gridService: GridsterService,\r\n private apiService: ApiService,\r\n private sanitizer: DomSanitizer,\r\n private elementRef: ElementRef,\r\n private viewportScroller: ViewportScroller\r\n ) { }\r\n\r\n navigateToSection(section: string, $event) {\r\n this.viewportScroller.scrollToAnchor(section);\r\n let links = Array.from(document.getElementsByClassName('nav-item') as HTMLCollectionOf);\r\n links.forEach(link => {\r\n link.style.color = '#fff';\r\n if (link.id == $event.target.id) {\r\n link.style.color = this.companySettings?.OtherSettings?.ThemeColor;\r\n }\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n this.translate.setDefaultLang(\"en\");\r\n this.currentLang = this.translate.currentLang;\r\n this.langImg = this.translate.currentLang == \"ar\" ? \"assets/img/english.png\" : \"assets/img/ain.png\";\r\n this.translate.onLangChange.subscribe((lang) => {\r\n this.currentLang = this.translate.currentLang;\r\n // this.getLandingPageData();\r\n });\r\n this.fetchEgx();\r\n this.GetCompanySettings();\r\n this.GetPageItemsByTypesIDs([1]);\r\n this.GetPageItemsByTypesIDs([3]);\r\n this.GetPageItemsByTypesIDs([2, 4, 5]);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.elementRef.nativeElement.ownerDocument\r\n .body.style.backgroundColor = '#131722';\r\n }\r\n\r\n GetPageItemsByTypesIDs(typesIDs: number[]) {\r\n this.apiService.GetPageItemsByTypesIDs(typesIDs)\r\n .subscribe(\r\n (sectionsList: PageSection[]) => {\r\n if (sectionsList) {\r\n if (typesIDs.includes(1)) {\r\n this.heroSection = sectionsList?.find((section: PageSection) => {\r\n return section.ID == 1 ? section : null;\r\n });\r\n }\r\n\r\n if (typesIDs.includes(3)) {\r\n if (sectionsList[0].HasAttachments) {\r\n this.offerSection = sectionsList?.find((section: PageSection) => {\r\n return section.ID == 3 ? section : null;\r\n });\r\n this.offersAttachmentsiDS = sectionsList[0].PageItems.map((item) => {\r\n return item.ID;\r\n })\r\n\r\n this.apiService.GetAttachmentsByItemIDs(this.offersAttachmentsiDS)\r\n .subscribe(\r\n (attachments: any[]) => {\r\n this.offersAttachments = attachments.map((item) => {\r\n return {\r\n ID: item.Attachments[0] ? item.ID : null,\r\n Attachments: item.Attachments[0] ? UrlConstants.backofficeUrl + item.Attachments[0] : null\r\n }\r\n });\r\n if (this.offersAttachments) {\r\n this.firstAdPath = this.offersAttachments[0].Attachments;\r\n this.adsPaths = this.offersAttachments.slice(1);\r\n }\r\n }\r\n )\r\n }\r\n }\r\n\r\n if (typesIDs.includes(2) || typesIDs.includes(4) || typesIDs.includes(5)) {\r\n this.aboutSection = sectionsList?.find((section: PageSection) => {\r\n return section.ID == 2 ? section : null;\r\n });\r\n this.marketSummarySection = sectionsList?.find((section: PageSection) => {\r\n return section.ID == 4 ? section : null;\r\n });;\r\n this.servicesSection = sectionsList?.find((section: PageSection) => {\r\n return section.ID == 5 ? section : null;\r\n });;\r\n }\r\n\r\n if (typesIDs.includes(5)) {\r\n if (sectionsList[2].HasAttachments) {\r\n this.servicesSectionAttachmentsiDS = sectionsList[2].PageItems.map((item) => {\r\n return item.ID;\r\n })\r\n this.apiService.GetAttachmentsByItemIDs(this.servicesSectionAttachmentsiDS)\r\n .subscribe(\r\n (attachments) => {\r\n this.servicesSectionAttachments = attachments;\r\n this.drawServiceCard(this.servicesSection, this.servicesSectionAttachments)\r\n }\r\n )\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n drawServiceCard(serviceSectionData: PageSection, attachment: AttachmentDto[]) {\r\n this.servicecards = this.servicesSection.PageItems.map((item) => {\r\n return {\r\n path: \"assets/img/technical-support.png\",\r\n // path: attachment.find((image)=>image.ID == item.ID).Attachments[0]? UrlConstants.backofficeUrl+ attachment.find((image)=>image.ID == item.ID).Attachments[0]: null,\r\n subtitle: this.currentLang == 'ar' ? item.SubTitleAr : item.SubTitleEn,\r\n content: this.currentLang == 'ar' ? item.ContentAr : item.ContentEn\r\n }\r\n })\r\n }\r\n\r\n GetCompanySettings() {\r\n this.apiService.GetCompanySettings()\r\n .subscribe(\r\n (data: CompanySettings) => {\r\n this.companySettings = data;\r\n }\r\n )\r\n }\r\n\r\n // getLandingPageData() {\r\n // this.apiService.getLandingPageData().subscribe((data: LandingPageDTO) => {\r\n // this.landingPageDTO = data;\r\n // let navItemNumber = 0;\r\n // this.navbar = data.navbar.map((navbarItem) => {\r\n // navItemNumber++;\r\n // if (this.translate.currentLang == \"en\")\r\n // return {\r\n // name: navbarItem?.en_Name,\r\n // id: \"section\" + navItemNumber,\r\n // };\r\n // else\r\n // return {\r\n // name: navbarItem?.ar_Name,\r\n // id: \"section\" + navItemNumber,\r\n // };\r\n // });\r\n // this.firstAdPath = data.adsSection[0];\r\n // this.adsPaths = data.adsSection.slice(1);\r\n // this.heroSection = this.gerCardData(data.heroSection);\r\n // this.tickerSection = data.tickerSection;\r\n // this.marketSummarySection = this.gerCardData(data.marketSummarySection);\r\n // this.servicesSection = this.gerCardData(data.servicesSection);\r\n // this.footerSection = data.footerSection;\r\n // this.buttonColor = data.themeDTO.button;\r\n // });\r\n // }\r\n\r\n // gerCardData(cardData: CardData[]) {\r\n // let data;\r\n // data = cardData.map((cardData) => {\r\n // return {\r\n // title:\r\n // this.translate.currentLang == \"en\"\r\n // ? cardData?.en_Title\r\n // : cardData?.ar_Title,\r\n // description:\r\n // this.translate.currentLang == \"en\"\r\n // ? cardData?.en_description\r\n // : cardData?.ar_description,\r\n // };\r\n // });\r\n // return data;\r\n // }\r\n\r\n switchLang() {\r\n if (this.translate.currentLang == \"ar\") {\r\n this.translate.use(\"en\");\r\n this.translate.setDefaultLang(\"en\");\r\n this.gridService.saveLang(\"en\");\r\n } else {\r\n this.translate.use(\"ar\");\r\n this.translate.setDefaultLang(\"ar\");\r\n this.gridService.saveLang(\"ar\");\r\n }\r\n window.location.reload();\r\n }\r\n\r\n showMenu() {\r\n let width = window.innerWidth;\r\n let tabs = document.getElementById(\"myTabs\");\r\n let btns = document.getElementById(\"myBtn\");\r\n let iconMenu = document.getElementById(\"menu-Icon\")\r\n let navmenu = document.getElementById(\"navmenu\");\r\n if (width >= 360 && width <= 1024) {\r\n if (tabs.style.display === \"none\") {\r\n tabs.style.display = \"flex\";\r\n tabs.style.flexDirection = \"column\";\r\n tabs.style.justifyContent = \"center\";\r\n tabs.style.alignItems = \"center\";\r\n } else {\r\n tabs.style.display = \"none\";\r\n }\r\n\r\n if (btns.style.display === \"none\") {\r\n btns.style.display = \"flex\";\r\n btns.style.flexDirection = \"column\";\r\n btns.style.justifyContent = \"center\";\r\n btns.style.alignItems = \"center\";\r\n btns.style.gap = \"15px\";\r\n iconMenu.classList.replace(\"ion-md-menu\", \"ion-md-close\")\r\n\r\n } else {\r\n btns.style.display = \"none\";\r\n iconMenu.classList.replace(\"ion-md-close\", \"ion-md-menu\")\r\n }\r\n }\r\n if (width >= 360 && width <= 750) {\r\n if (btns.style.display === \"none\") {\r\n navmenu.style.height = \"0vh\";\r\n } else {\r\n navmenu.style.height = \"100vh\";\r\n }\r\n } else {\r\n if (btns.style.display === \"none\") {\r\n navmenu.style.height = \"0vh\";\r\n } else {\r\n navmenu.style.height = \"100vh\";\r\n }\r\n }\r\n }\r\n\r\n fetchEgx() {\r\n new TradingView.widget({\r\n width: \"100%\",\r\n height: 400,\r\n symbol: this.activeEgx,\r\n // interval: \"D\",\r\n timezone: \"Africa/Cairo\",\r\n theme: \"Dark\",\r\n style: \"3\",\r\n locale: this.translate.currentLang == \"ar\" ? \"ar_AE\" : \"en\",\r\n // toolbar_bg: \"#f1f3f6\",\r\n // enable_publishing: false,\r\n // withdateranges: true,\r\n // range: \"ytd\",\r\n hide_side_toolbar: true,\r\n hide_top_toolbar: true,\r\n // allow_symbol_change: true,\r\n // show_popup_button: true,\r\n // popup_width: \"1000\",\r\n // popup_height: \"650\",\r\n // no_referral_id: true,\r\n container_id: \"tradingview_bac65\",\r\n });\r\n }\r\n\r\n showAction() {\r\n let btns = document.getElementById(\"btns-group\");\r\n let styles = getComputedStyle(document.getElementById('btns-group'));\r\n let display = styles.getPropertyValue('display')\r\n if (display == \"none\") {\r\n btns.style.display = \"flex\";\r\n btns.style.flexDirection = \"column\";\r\n } else {\r\n btns.style.display = \"none\";\r\n }\r\n }\r\n\r\n @HostListener(\"window:scroll\", []) onWindowScroll() {\r\n let top_Button = document.getElementById(\"topBtn\");\r\n this.scrollFunction(top_Button);\r\n }\r\n scrollFunction(btn) {\r\n if (\r\n document.body.scrollTop > 20 ||\r\n document.documentElement.scrollTop > 20\r\n ) {\r\n btn.style.display = \"flex\";\r\n } else {\r\n btn.style.display = \"none\";\r\n }\r\n }\r\n\r\n scrollTop() {\r\n window.scrollTo({ top: 0, behavior: \"smooth\" });\r\n }\r\n\r\n mapURL() {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(\r\n `https://maps.google.com/maps?q=${this.companySettings?.CompanyLatitude},${this.companySettings?.CompanyLongitude}&hl=en&z=14&output=embed`\r\n );\r\n }\r\n\r\n changeStyle($event) {\r\n let btn = document.getElementsByClassName(\"btn-3\");\r\n if ($event.type == \"mouseover\") {\r\n (btn[0] as HTMLElement).style.background = this.companySettings?.OtherSettings?.ThemeColor;\r\n (btn[0] as HTMLElement).style.color = 'whitesmoke';\r\n } else {\r\n (btn[0] as HTMLElement).style.background = \"transparent\";\r\n (btn[0] as HTMLElement).style.color = this.companySettings?.OtherSettings?.ThemeColor;\r\n }\r\n }\r\n\r\n get landingNavButtonColor() {\r\n return UrlConstants.landingNavButtonColor;\r\n }\r\n\r\n\r\n\r\n changeLinkedInIcon($event) {\r\n if ($event.id = \"linkedin\") {\r\n let hide_linkedin_icon = document.getElementById(\"hide-linkedin-icon\");\r\n let show_linkedin_colors = document.getElementById(\"show-linkedin-colors\");\r\n if ($event.type == \"mouseover\") {\r\n (hide_linkedin_icon as HTMLElement).style.display = \"none\";\r\n (show_linkedin_colors as HTMLElement).style.display = \"inline-block\";\r\n } else {\r\n (hide_linkedin_icon as HTMLElement).style.display = \"inline-block\";\r\n (show_linkedin_colors as HTMLElement).style.display = \"none\";\r\n }\r\n }\r\n }\r\n changeLinkedInIcon2($event) {\r\n if ($event.id = \"linkedin2\") {\r\n let hide_linkedin_icon = document.getElementById(\"hide-linkedin-icon2\");\r\n let show_linkedin_colors = document.getElementById(\"show-linkedin-colors2\");\r\n if ($event.type == \"mouseover\") {\r\n (hide_linkedin_icon as HTMLElement).style.display = \"none\";\r\n (show_linkedin_colors as HTMLElement).style.display = \"inline-block\";\r\n } else {\r\n (hide_linkedin_icon as HTMLElement).style.display = \"inline-block\";\r\n (show_linkedin_colors as HTMLElement).style.display = \"none\";\r\n }\r\n }\r\n }\r\n changefacebookIcon($event) {\r\n if ($event.id = \"facebook\") {\r\n let hide_facebook_icon = document.getElementById(\"hide-facebook-icon\");\r\n let show_facebook_colors = document.getElementById(\"show-facebook-colors\");\r\n if ($event.type == \"mouseover\") {\r\n (hide_facebook_icon as HTMLElement).style.display = \"none\";\r\n (show_facebook_colors as HTMLElement).style.display = \"inline-block\";\r\n } else {\r\n (hide_facebook_icon as HTMLElement).style.display = \"inline-block\";\r\n (show_facebook_colors as HTMLElement).style.display = \"none\";\r\n }\r\n }\r\n\r\n }\r\n\r\n changeFacebookIcon2($event) {\r\n if ($event.id = \"facebook2\") {\r\n let hide_facebook_icon = document.getElementById(\"hide-facebook-icon2\");\r\n let show_facebook_colors = document.getElementById(\"show-facebook-colors2\");\r\n if ($event.type == \"mouseover\") {\r\n (hide_facebook_icon as HTMLElement).style.display = \"none\";\r\n (show_facebook_colors as HTMLElement).style.display = \"inline-block\";\r\n } else {\r\n (hide_facebook_icon as HTMLElement).style.display = \"inline-block\";\r\n (show_facebook_colors as HTMLElement).style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n changetwitterIcon($event) {\r\n if ($event.id = \"twitter\") {\r\n let hide_twitter_icon = document.getElementById(\"hide-twitter-icon\");\r\n let show_twitter_colors = document.getElementById(\"show-twitter-colors\");\r\n if ($event.type == \"mouseover\") {\r\n (hide_twitter_icon as HTMLElement).style.display = \"none\";\r\n (show_twitter_colors as HTMLElement).style.display = \"inline-block\";\r\n } else {\r\n (hide_twitter_icon as HTMLElement).style.display = \"inline-block\";\r\n (show_twitter_colors as HTMLElement).style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n changeTwitterIcon2($event) {\r\n if ($event.id = \"twitter2\") {\r\n let hide_twitter_icon = document.getElementById(\"hide-twitter-icon2\");\r\n let show_twitter_colors = document.getElementById(\"show-twitter-colors2\");\r\n if ($event.type == \"mouseover\") {\r\n (hide_twitter_icon as HTMLElement).style.display = \"none\";\r\n (show_twitter_colors as HTMLElement).style.display = \"inline-block\";\r\n } else {\r\n (hide_twitter_icon as HTMLElement).style.display = \"inline-block\";\r\n (show_twitter_colors as HTMLElement).style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n changeyoutubeIcon($event) {\r\n if ($event.id = \"youtube\") {\r\n let hide_youtube_icon = document.getElementById(\"hide-youtube-icon\");\r\n let show_youtube_colors = document.getElementById(\"show-youtube-colors\");\r\n if ($event.type == \"mouseover\") {\r\n (hide_youtube_icon as HTMLElement).style.display = \"none\";\r\n (show_youtube_colors as HTMLElement).style.display = \"inline-block\";\r\n } else {\r\n (hide_youtube_icon as HTMLElement).style.display = \"inline-block\";\r\n (show_youtube_colors as HTMLElement).style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n changeYouTubeIcon2($event) {\r\n if ($event.id = \"youtube2\") {\r\n let hide_youtube_icon = document.getElementById(\"hide-youtube-icon2\");\r\n let show_youtube_colors = document.getElementById(\"show-youtube-colors2\");\r\n if ($event.type == \"mouseover\") {\r\n (hide_youtube_icon as HTMLElement).style.display = \"none\";\r\n (show_youtube_colors as HTMLElement).style.display = \"inline-block\";\r\n } else {\r\n (hide_youtube_icon as HTMLElement).style.display = \"inline-block\";\r\n (show_youtube_colors as HTMLElement).style.display = \"none\";\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n \r\n\r\n
\r\n \r\n

\r\n {{ currentLang == 'ar'? heroSection?.PageItems[0]?.SubTitleAr : heroSection?.PageItems[0]?.SubTitleEn }}\r\n

\r\n

\r\n {{ currentLang == 'ar'? heroSection?.PageItems[0]?.ContentAr : heroSection?.PageItems[0]?.ContentEn }}\r\n

\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n

\r\n {{ currentLang == 'ar'? aboutSection?.PageItems[0]?.TitleAr : aboutSection?.PageItems[0]?.TitleEn }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ currentLang == 'ar'? aboutSection?.PageItems[0]?.SubTitleAr : aboutSection?.PageItems[0]?.SubTitleEn }}\r\n

\r\n \r\n {{ currentLang == 'ar'? aboutSection?.PageItems[0]?.ContentAr : aboutSection?.PageItems[0]?.ContentEn }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ currentLang == 'ar'? aboutSection?.PageItems[1]?.SubTitleAr : aboutSection?.PageItems[1]?.SubTitleEn }}\r\n

\r\n

\r\n {{ currentLang == 'ar'? aboutSection?.PageItems[1]?.ContentAr : aboutSection?.PageItems[1]?.ContentEn }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \"First\r\n
\r\n 0\">\r\n
\r\n \r\n
\r\n
\r\n
\r\n 0\"\r\n class=\"carousel-control-prev\"\r\n href=\"#carouselExampleControls\"\r\n role=\"button\"\r\n data-slide=\"prev\"\r\n >\r\n \r\n Previous\r\n \r\n 0\"\r\n class=\"carousel-control-next\"\r\n href=\"#carouselExampleControls\"\r\n role=\"button\"\r\n data-slide=\"next\"\r\n >\r\n \r\n Next\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ currentLang == 'ar'? marketSummarySection?.PageItems[0]?.TitleAr : marketSummarySection?.PageItems[0]?.TitleEn }}\r\n

\r\n
\r\n \r\n
\r\n \r\n EGX30\r\n EGX70\r\n EGX100\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ currentLang == 'ar'? marketSummarySection?.PageItems[0]?.SubTitleAr : marketSummarySection?.PageItems[0]?.SubTitleEn }}\r\n \r\n \r\n {{ currentLang == 'ar'? marketSummarySection?.PageItems[0]?.ContentAr : marketSummarySection?.PageItems[0]?.ContentEn }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ currentLang == 'ar'? servicesSection?.PageItems[0]?.TitleAr : servicesSection?.PageItems[0]?.TitleEn }}\r\n

\r\n
\r\n
\r\n
\r\n \"icon\"\r\n\r\n

{{ card?.subtitle }}

\r\n

\r\n {{ card?.content }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {{ 'socialMediaTitle' | translate }}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n
\r\n
\r\n \r\n

\r\n {{ translate.currentLang == 'ar' ? 'تواصل معنا' : 'Contact Us' }}\r\n

\r\n \r\n
  • \r\n \"\"\r\n {{ companySettings?.CompanyPhone1 }}\r\n
  • \r\n
  • \r\n \"\"\r\n {{ companySettings?.CompanyEmail }}\r\n
  • \r\n
  • \r\n \r\n {{ companySettings?.CompanyAddress }}\r\n
  • \r\n
  • \r\n \r\n {{ companySettings?.OtherSettings?.WhatsappNumber }}\r\n
  • \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n

    © Copyright {{currentYear}} {{ currentLang == 'ar'? companySettings?.OtherSettings?.EnglishCompanyName : companySettings?.OtherSettings?.ArabicCompanyName }} - All Rights Reserved

    \r\n
    \r\n\r\n
    \r\n \r\n \"plus-img\"\r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n keyboard_arrow_up\r\n \r\n\r\n\r\n\r\n","import { UrlConstants } from \"./../../models/urlConstants\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n AsyncValidatorFn,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ReCaptchaV3Service } from \"ng-recaptcha\";\r\nimport { CreateUserObj, ResetPassObj } from \"src/app/models/login\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport Swal from \"sweetalert2\";\r\nimport { CustomValidators } from \"../forget-password/custom-validators\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\n\r\n@Component({\r\n selector: \"app-change-password\",\r\n templateUrl: \"./create-user.component.html\",\r\n styleUrls: [\"./create-user.component.scss\"],\r\n})\r\nexport class CreateUserComponent implements OnInit {\r\n createUserObj: CreateUserObj = {} as CreateUserObj;\r\n resetPassWordForm: FormGroup;\r\n passwordStepper: any;\r\n showPassword1: boolean = false;\r\n showPassword2: boolean = false;\r\n otp;\r\n lang: string;\r\n isDuplicateUserName: boolean;\r\n\r\n constructor(\r\n private recaptchaV3Service: ReCaptchaV3Service,\r\n private translate: TranslateService,\r\n private route: ActivatedRoute,\r\n private _Activatedroute: ActivatedRoute,\r\n private router: Router,\r\n private accService: AccountService,\r\n private apiService: ApiService\r\n ) {\r\n this._Activatedroute.queryParams.subscribe((params) => {\r\n this.createUserObj.Otp = params[\"otp\"];\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.lang = this.translate.currentLang;\r\n this.passwordStepper = 1;\r\n this.resetPassWordForm = new FormGroup(\r\n {\r\n userName : new FormControl(\r\n null,\r\n Validators.compose([\r\n Validators.required,\r\n Validators.pattern(/^[a-zA-Z1-9]+$/) // Regex to allow only a-z and 1-9\r\n ])\r\n ),\r\n firstNewPassword: new FormControl(\r\n null,\r\n Validators.compose([\r\n Validators.required,\r\n // check whether the entered password has a number\r\n CustomValidators.patternValidator(/\\d/, {\r\n hasNumber: true,\r\n }),\r\n // check whether the entered password has upper case letter\r\n CustomValidators.patternValidator(/[A-Z]/, {\r\n hasCapitalCase: true,\r\n }),\r\n // check whether the entered password has a lower case letter\r\n CustomValidators.patternValidator(/[a-z]/, {\r\n hasSmallCase: true,\r\n }),\r\n // check whether the entered password has a special character\r\n CustomValidators.patternValidator(\r\n /[ !@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/,\r\n {\r\n hasSpecialCharacters: true,\r\n }\r\n ),\r\n Validators.minLength(8),\r\n ])\r\n ),\r\n reFirstNewPassword: new FormControl(\r\n null,\r\n Validators.compose([Validators.required])\r\n ),\r\n secondNewPassword: new FormControl(\r\n null,\r\n Validators.compose([\r\n // check whether the entered password numbers Only\r\n\r\n Validators.required,\r\n Validators.pattern(\"^[0-9]{6}$\"),\r\n ])\r\n ),\r\n reSecondNewPassword: new FormControl(\r\n null,\r\n Validators.compose([Validators.required])\r\n ),\r\n },\r\n [\r\n CustomValidators.firstPasswordMatchValidator as AsyncValidatorFn,\r\n CustomValidators.secondPasswordMatchValidator as AsyncValidatorFn,\r\n ]\r\n );\r\n }\r\n\r\n onSubmit() {\r\n this.createUserObj.Username = this.resetPassWordForm.value.userName.toLowerCase();\r\n this.createUserObj.Password = this.resetPassWordForm.value.firstNewPassword;\r\n this.createUserObj.SecondPassword =\r\n this.resetPassWordForm.value.secondNewPassword;\r\n this.recaptchaV3Service\r\n .execute(\"importantAction\")\r\n .subscribe((token: string) => {\r\n this.accService.create(this.createUserObj).subscribe(\r\n (arg) => {\r\n if (arg == true) {\r\n this.router.navigate([\"/login\"]);\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"success\",\r\n title:\r\n this.translate.instant(\"create-user-success-msg\") +\r\n UrlConstants.supportNumber,\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n if (arg == false) {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"create-user-err-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n },\r\n (err) => {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"pass-error-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n );\r\n });\r\n }\r\n removeErrorMsg(){\r\n if(this.resetPassWordForm.value.userName == ''){\r\n this.isDuplicateUserName=false\r\n }\r\n }\r\n next() {\r\n this.apiService.checkUserNameAvailability(this.resetPassWordForm.value.userName.toLowerCase())\r\n .subscribe(\r\n (res: boolean)=>{\r\n if(!res){\r\n this.isDuplicateUserName=true\r\n } else {\r\n this.isDuplicateUserName=false\r\n this.showPassword1 = false;\r\n this.showPassword2 = false;\r\n this.passwordStepper = this.passwordStepper + 1;\r\n }\r\n }\r\n )\r\n }\r\n back() {\r\n this.showPassword1 = false;\r\n this.showPassword2 = false;\r\n this.passwordStepper = this.passwordStepper - 1;\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    {{'create-user' |translate}} | \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{'username'|translate}}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n","import { ChangePasswordComponent } from \"./components/change-password/change-password.component\";\r\nimport { ForgetPasswordComponent } from \"./components/forget-password/forget-password.component\";\r\nimport { DetailedQuotaComponent } from \"./screens/detailed-quota/detailed-quota.component\";\r\nimport { StatementComponent } from \"./screens/user-profile/statement/statement.component\";\r\nimport { PreviewInvoiceComponent } from \"./screens/user-profile/invoice/preview-invoice/preview-invoice.component\";\r\nimport { InvoiceDetailsComponent } from \"./screens/user-profile/invoice/invoice-details/invoice-details.component\";\r\nimport { InvoiceComponent } from \"./screens/user-profile/invoice/invoice.component\";\r\nimport { LocalMarketComponent } from \"./screens/local-market/local-market.component\";\r\nimport { UserProfileComponent } from \"./screens/user-profile/user-profile.component\";\r\nimport { GlobalMarketsComponent } from \"./screens/global-markets/global-markets.component\";\r\nimport { CompanyProfileComponent } from \"./screens/company-profile/company-profile.component\";\r\nimport { LoginComponent } from \"./screens/login/login.component\";\r\nimport { HomeComponent } from \"./screens/home/home.component\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { Routes, RouterModule } from \"@angular/router\";\r\nimport { AuthGuard } from \"./services/auth.guard\";\r\nimport { TradesHistoryComponent } from \"./components/trades-history/trades-history.component\";\r\nimport { ResetPasswordComponent } from \"./components/reset-password/reset-password.component\";\r\nimport { CreateUserComponent } from \"./components/create-user/create-user.component\";\r\nimport { VerifyEmailComponent } from \"./components/verify-email/verify-email.component\";\r\nimport { IsMarketGuard } from \"./services/is-market.guard\";\r\nimport { LandingpageHomeComponent } from \"./screens/LandingPageScreens/landingpage-home/landingpage-home.component\";\r\nimport { TechnicalReportsComponent } from \"./screens/technical-reports/technical-reports.component\";\r\nimport { IPOComponent } from \"./screens/ipo/ipo.component\";\r\nimport { TestComponent } from \"./screens/test/test.component\";\r\nimport { MutualFundComponent } from \"./screens/mutual-fund/mutual-fund.component\";\r\nimport { TestUserProfileComponent } from \"./screens/profile/test-user-profile/test-user-profile.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: TestComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"home\",\r\n component: TestComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n \r\n path: \"IPO\",\r\n component: IPOComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"test\",\r\n component: TestComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"global\",\r\n component: GlobalMarketsComponent,\r\n canActivate: [AuthGuard, IsMarketGuard],\r\n },\r\n {\r\n path: \"local\",\r\n component: LocalMarketComponent,\r\n canActivate: [AuthGuard, IsMarketGuard],\r\n },\r\n {\r\n path: \"invoice\",\r\n component: InvoiceComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"invoice-detail\",\r\n component: InvoiceDetailsComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"company-profile/:symbolCode/:reuters\",\r\n component: CompanyProfileComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"detailed-quota/:symbolCode\",\r\n component: DetailedQuotaComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"profile\",\r\n component: UserProfileComponent,\r\n canActivate: [AuthGuard],\r\n }, \r\n // TODO: When new design of profile is finished SWITCH \"profile-revampe\" route with \"profile\"\r\n {\r\n path: 'profile-revampe',\r\n loadChildren: () => import('./screens/profile/profile.module').then(m => m.ProfileModule),\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: '',\r\n loadChildren: () => import('./shared/shared.module').then(m => m.SharedModule)\r\n },\r\n {\r\n path: \"technical-reports\",\r\n component: TechnicalReportsComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"tradesHistory\",\r\n component: TradesHistoryComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n { path: \"preview-invoice\", component: PreviewInvoiceComponent },\r\n {\r\n path: \"statements\",\r\n component: StatementComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"mutual-fund\",\r\n component: MutualFundComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n {\r\n path: \"changePassword\",\r\n component: ChangePasswordComponent,\r\n canActivate: [AuthGuard],\r\n },\r\n { path: \"login\", component: LoginComponent },\r\n // { path: \"login\", component: NewLoginComponent },\r\n { path: \"ForgetPassword\", component: ForgetPasswordComponent },\r\n { path: \"VerifyEmail\", component: ResetPasswordComponent },\r\n { path: \"CreateOnlineAccount\", component: CreateUserComponent },\r\n { path: \"Verification/EmailVerification\", component: VerifyEmailComponent },\r\n {\r\n path: \"landing\",\r\n component: LandingpageHomeComponent,\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, {\r\n scrollPositionRestoration: \"enabled\",\r\n }),\r\n ],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialog } from \"@angular/material/dialog\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { MarginCalculatorDto, MarginReq } from \"src/app/models/margin-calculator\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\n\r\n@Component({\r\n selector: \"app-margin-calculator\",\r\n templateUrl: \"./margin-calculator.component.html\",\r\n styleUrls: [\"./margin-calculator.component.scss\"],\r\n})\r\nexport class MarginCalculatorComponent implements OnInit {\r\n marginCalculator: MarginCalculatorDto = {} as MarginCalculatorDto;\r\n marginObj: any;\r\n chart: any;\r\n\r\n circleColor :string;\r\n\r\n marginReq: MarginReq = {} as MarginReq;\r\n public tabIndex = 0;\r\n relationCode: string;\r\n requiredBuy = 50;\r\n requiredSell = 50;\r\n textCircle :number;\r\n statusDetctor: any\r\n isDarkTheme: boolean;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: string,\r\n public translate: TranslateService,\r\n private dialog: MatDialog,\r\n private apiService: ApiService\r\n ) {\r\n if (this.data[\"relationCode\"] != null) {\r\n this.relationCode = this.data[\"relationCode\"];\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n this.apiService\r\n .fetchClientsCashPosition(this.relationCode)\r\n .subscribe((res: MarginCalculatorDto) => {\r\n this.marginCalculator = res;\r\n this.statusDetctor = res.marginCalculator.DebtPer;\r\n if(this.statusDetctor < 50){\r\n this.circleColor = '#2E94D3';\r\n this.textCircle = 1;\r\n }\r\n if(this.statusDetctor >= 50 && this.statusDetctor < 61){\r\n this.circleColor = '#28A745'\r\n this.textCircle = 2;\r\n }\r\n if(this.statusDetctor > 60 && this.statusDetctor < 70){\r\n this.circleColor = '#2eced3'\r\n this.textCircle = 3;\r\n }\r\n if(this.statusDetctor >= 70){\r\n this.circleColor = '#d33e2e'\r\n this.textCircle = 4;\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n\r\n resetCalculator() {\r\n this.requiredBuy = 50;\r\n this.requiredSell = 50;\r\n }\r\n\r\n calculateBuy(){\r\n this.marginReq.RelationCode = this.relationCode;\r\n this.marginReq.buy = this.requiredBuy;\r\n\r\n this.apiService\r\n .marginCalculator(this.marginReq)\r\n .subscribe((res) => {\r\n this.marginObj = res;\r\n });\r\n }\r\n calculateSell(){\r\n this.marginReq.RelationCode = this.relationCode;\r\n this.marginReq.sell = this.requiredSell;\r\n\r\n this.apiService\r\n .marginCalculator(this.marginReq)\r\n .subscribe((res) => {\r\n this.marginObj = res;\r\n });\r\n }\r\n}\r\n","
    \r\n
    {{\"margin-calculator\"|translate}}
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    {{\"normal\"|translate}}
    \r\n
    {{\"accepted\"|translate}}
    \r\n
    {{\"margin-call\"|translate}}
    \r\n
    {{\"force-selling\"|translate}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{\"book-balance\"|translate}}

    \r\n
    {{marginCalculator.BookBalance|number: '1.0'}}
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    {{\"portfolio\"|translate}}

    \r\n
    {{marginCalculator.ClientPortfolio|number: '1.0'}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {{'sell-value'|translate}}\r\n
    \r\n
    \r\n {{'deposit-value'|translate}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {{marginCalculator.Sell|number: \"1.0\":\"en-US\"}}\r\n
    \r\n
    \r\n {{marginCalculator.Deposite|number: \"1.0\":\"en-US\"}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {{marginObj.SellValue|number: \"1.0\":\"en-US\"}}\r\n
    \r\n
    \r\n {{marginObj.DepositValue|number: \"1.0\":\"en-US\"}}\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {{\"buy\"|translate}}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    {{\"normal\"|translate}}
    \r\n
    {{\"accepted\"|translate}}
    \r\n
    {{\"margin-call\"|translate}}
    \r\n
    {{\"force-selling\"|translate}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{\"book-balance\"|translate}}

    \r\n
    {{marginCalculator.BookBalance|number: '1.0'}}
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    {{\"portfolio\"|translate}}

    \r\n
    {{marginCalculator.ClientPortfolio|number: '1.0'}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n {{'buy-limit'|translate}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {{marginCalculator.marginCalculator?.BuyLimit |number: \"1.0\":\"en-US\"}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {{marginObj.BuyLimit |number: \"1.0\":\"en-US\"}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { AccountService } from \"src/app/services/account.service\";\r\nimport { ApiService } from \"./../../services/api.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n Renderer2,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { SignalRService } from \"src/app/services/signalr.service\";\r\nimport { FavService } from \"src/app/services/fav.service\";\r\nimport { OrderBuyComponent } from \"src/app/components/order-buy/order-buy.component\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\ndeclare const TradingView: any;\r\n\r\n@Component({\r\n selector: \"app-company-profile\",\r\n templateUrl: \"./company-profile.component.html\",\r\n styleUrls: [\"./company-profile.component.scss\"],\r\n})\r\nexport class CompanyProfileComponent implements OnInit, AfterViewInit {\r\n symbolCode: any;\r\n company: CompanyList;\r\n reuters: any;\r\n @ViewChild(\"tradingTechnical\") tradingTechnical?: ElementRef;\r\n @ViewChild(\"tradingFinancial\") tradingFinancial?: ElementRef;\r\n isMarket: boolean;\r\n sector: string;\r\n tempReuters: string;\r\n isDarkTheme: boolean;\r\n\r\n constructor(\r\n private _service: ApiService,\r\n private route: ActivatedRoute,\r\n private signalService: SignalRService,\r\n private favService: FavService,\r\n public dialog: MatDialog,\r\n public translate: TranslateService,\r\n private _renderer2: Renderer2,\r\n private accService: AccountService\r\n ) {\r\n this.signalService.connectMarketWatch();\r\n this.signalService.marketChanges.subscribe((res: any) =>\r\n res.forEach((element) => {\r\n if (element.SYMBOL_CODE == this.symbolCode) {\r\n this.company = element;\r\n // this._service.fetchCompany(this.symbolCode).subscribe((res) => {\r\n // this.company = res as CompanyList;\r\n // });\r\n }\r\n })\r\n );\r\n\r\n this.accService.isFullMarketUser.subscribe((isMarket) => {\r\n this.isMarket = isMarket;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.signalService.disconnectMwSignalr();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.isDarkTheme =\r\n localStorage.getItem(\"darktheme\") == \"dark\" ? true : false;\r\n this.route.params.subscribe((params) => {\r\n this.symbolCode = params[\"symbolCode\"];\r\n this.reuters = params[\"reuters\"].substring(\r\n 0,\r\n params[\"reuters\"].indexOf(\".\")\r\n );\r\n\r\n this._service.fetchCompany(this.symbolCode).subscribe((res) => {\r\n this.company = res as CompanyList;\r\n this.sector = this.company.ENG_DESC;\r\n this.tempReuters = this.company.Reuters;\r\n });\r\n this.ngAfterViewInit();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n new TradingView.widget({\r\n width: \"100%\",\r\n height: 550,\r\n symbol: \"EGX:\" + this.reuters,\r\n interval: \"D\",\r\n timezone: \"Africa/Cairo\",\r\n theme: this.isDarkTheme ? \"Dark\" : \"Light\",\r\n style: \"1\",\r\n locale: this.translate.currentLang == \"ar\" ? \"ar_AE\" : \"en\",\r\n toolbar_bg: \"#1c1c1c\",\r\n enable_publishing: false,\r\n withdateranges: true,\r\n // range: \"ytd\",\r\n hide_side_toolbar: false,\r\n allow_symbol_change: true,\r\n show_popup_button: true,\r\n popup_width: \"1000\",\r\n popup_height: \"650\",\r\n no_referral_id: true,\r\n container_id: \"tradingview_bac65\",\r\n });\r\n\r\n let script = this._renderer2.createElement(\"script\");\r\n script.type = `text/javascript`;\r\n script.src =\r\n \"https://s3.tradingview.com/external-embedding/embed-widget-technical-analysis.js\";\r\n script.text = ` {\r\n \"interval\": \"1D\",\r\n \"width\": \"100%\",\r\n \"height\":\"500\",\r\n \"isTransparent\": true,\r\n \"symbol\": \"EGX:${this.reuters}\",\r\n \"showIntervalTabs\": true,\r\n \"locale\": \"${this.translate.currentLang == \"ar\" ? \"ar_AE\" : \"en\"}\",\r\n \"colorTheme\": \"${this.isDarkTheme ? \"dark\" : \"light\"}\"\r\n }`;\r\n\r\n let scriptt = this._renderer2.createElement(\"script\");\r\n scriptt.type = `text/javascript`;\r\n scriptt.src =\r\n \"https://s3.tradingview.com/external-embedding/embed-widget-financials.js\";\r\n scriptt.text = ` {\r\n \"width\": \"100%\",\r\n \"height\":\"500\",\r\n \"isTransparent\": true,\r\n \"symbol\": \"EGX:${this.reuters}\",\r\n \"displayMode\": \"regular\",\r\n \"largeChartUrl\": \"\",\r\n \"locale\": \"${this.translate.currentLang == \"ar\" ? \"ar_AE\" : \"en\"}\",\r\n \"colorTheme\": \"${this.isDarkTheme ? \"dark\" : \"light\"}\"\r\n }`;\r\n\r\n const existingTech = this.tradingTechnical?.nativeElement;\r\n const existingFin = this.tradingTechnical?.nativeElement;\r\n if (existingFin || existingTech) {\r\n this.tradingTechnical?.nativeElement.replaceChildren(script);\r\n this.tradingFinancial?.nativeElement.replaceChildren(scriptt);\r\n } else {\r\n this.tradingTechnical?.nativeElement.appendChild(script);\r\n this.tradingFinancial?.nativeElement.appendChild(scriptt);\r\n }\r\n }\r\n isFav(symbol) {\r\n return this.favService.isFav(symbol);\r\n }\r\n\r\n toggleFav(symbol) {\r\n this.favService.toggleFav(symbol,this.favService.selectedMarketWatchId);\r\n }\r\n orderBuy(company, isSell) {\r\n const dialogRef = this.dialog.open(OrderBuyComponent, {\r\n disableClose: true,\r\n panelClass: \"order-dialog-container\",\r\n data: { symbol: company, type: isSell },\r\n direction: this.translate.currentLang == \"ar\" ? \"rtl\" : \"ltr\",\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result) => { });\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n {{tempReuters}}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n 0\">\r\n \r\n \r\n
    \r\n
    0? 'green' : 'red'\">\r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{\"bids\"|translate}}
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    {{\"asks\"|translate}}
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    {{\"high\"|translate}}
    \r\n \r\n
    \r\n
    \r\n
    {{\"low\"|translate}}
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{\"close\" | translate}}
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    {{\"open\"|translate}}
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{\"volume\"|translate}}
    \r\n \r\n
    \r\n
    \r\n
    {{\"turnover\"|translate}}
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    {{\"symbol-info\"|translate}}

    \r\n\r\n
    \r\n
    {{\"last-update\"|translate}}:
    \r\n
    {{company.LAST_TRADE_DATE | date:'d/M/yy, h:mm a'}}
    \r\n
    \r\n
    \r\n
    {{\"market\"|translate}}:
    \r\n
    {{company.MARKET_ID}}
    \r\n
    \r\n
    \r\n
    {{\"sector\"|translate}}:
    \r\n
    \r\n {{sector}}
    \r\n
    \r\n
    \r\n
    {{\"status\"|translate}}:
    \r\n
    Active
    \r\n
    Suspended
    \r\n
    \r\n
    \r\n
    {{\"currency\"|translate}}:
    \r\n
    EGP
    \r\n
    USD
    \r\n
    \r\n
    \r\n
    {{'num-shares'|translate}}:
    \r\n
    {{company.LISTED_SHARES | customNumber}}
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    AAPL Fundamental Data for {{reuters}} by TradingView\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Technical Analysis for {{reuters}} by TradingView
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    ","import { ApiService } from \"./../../services/api.service\";\r\nimport { Component, Input, OnInit, SimpleChanges } from \"@angular/core\";\r\nimport { CompanyDepth } from \"src/app/models/company-depth\";\r\nimport { HubConnection, HubConnectionBuilder } from \"@microsoft/signalr\";\r\nimport * as signalR from \"@microsoft/signalr\";\r\nimport { UrlConstants } from \"src/app/models/urlConstants\";\r\n\r\n@Component({\r\n selector: \"app-market-depth-bids\",\r\n templateUrl: \"./market-depth-bids.component.html\",\r\n styleUrls: [\"./market-depth-bids.component.scss\"],\r\n})\r\nexport class MarketDepthBidsComponent implements OnInit {\r\n @Input() symbolCode: string;\r\n @Input() reuters: string;\r\n @Input() companyName: string;\r\n isDepthLoading: boolean;\r\n companyDepth: CompanyDepth;\r\n isOrder: boolean = false;\r\n\r\n private depthConnection: HubConnection;\r\n\r\n constructor(private _service: ApiService) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes?.reuters) {\r\n this.symbolCode = changes?.symbolCode?.currentValue;\r\n this.reuters = changes.reuters?.currentValue;\r\n }\r\n if (this.symbolCode) {\r\n this.companyDepth = null;\r\n this.isDepthLoading = true;\r\n if (this.isOrder) this.fetchDepthByOrder();\r\n else if (!this.isOrder) this.fetchDepthByPrice();\r\n }\r\n\r\n if (!this.isOrder && this.symbolCode) {\r\n if (this.depthConnection) this.depthConnection.stop();\r\n this.connectSignalR();\r\n }\r\n }\r\n\r\n connectSignalR() {\r\n this.depthConnection = new HubConnectionBuilder()\r\n .withUrl(UrlConstants.newSignalR + \"/bidsAsksHub\", {\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets,\r\n })\r\n .build();\r\n\r\n this.depthConnection\r\n .start()\r\n .then((res) =>\r\n this.depthConnection\r\n .invoke(\"JoinGroup\", this.symbolCode)\r\n .then((value) => {\r\n this.depthConnection.on(\"sendBidsAsksForSymbol\", (depthUpdate) => {\r\n let update = depthUpdate[0][\"MarketDepth\"] as CompanyDepth;\r\n this.companyDepth.asksPerPrice = update.asksPerPrice;\r\n this.companyDepth.bidsPerPrice = update.bidsPerPrice;\r\n this.companyDepth.totalsBidsAndAsks = update.totalsBidsAndAsks;\r\n });\r\n })\r\n )\r\n .catch();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.depthConnection) this.depthConnection.stop();\r\n }\r\n\r\n toggleOrderView(value) {\r\n if (this.symbolCode) this.isDepthLoading = true;\r\n this.isOrder = value;\r\n if (value) this.fetchDepthByOrder();\r\n else this.fetchDepthByPrice();\r\n }\r\n\r\n fetchDepthByOrder() {\r\n this._service.fetchDepthByOrder(this.symbolCode).subscribe((res) => {\r\n this.isDepthLoading = false;\r\n this.companyDepth = res as CompanyDepth;\r\n });\r\n }\r\n fetchDepthByPrice() {\r\n this._service.fetchDepthByPrice(this.symbolCode,10).subscribe((res) => {\r\n this.isDepthLoading = false;\r\n this.companyDepth = res as CompanyDepth;\r\n });\r\n }\r\n ngOnInit() {}\r\n}\r\n","
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    No Bids
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    {{\"select-company-hint\"|translate}}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    {{\"price\"|translate}}{{\"qty\"|translate}}
    {{depth.ORDER_PRICE}}{{depth.VOLUME_TRADED | number: \"1.0\":\"en-US\"}}
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0 && !isDepthLoading\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    {{\"select-company-hint\"|translate}}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    #{{\"price\"|translate}}{{\"qty\"|translate}}
    \r\n {{depth.split}}\r\n \r\n {{depth.ORDER_PRICE}}\r\n \r\n {{depth.VOLUME_TRADED | number: \"1.0\":\"en-US\"}}\r\n
    \r\n
    \r\n
    \r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { DecimalPipe } from \"@angular/common\";\r\n\r\n@Pipe({\r\n name: \"million\",\r\n})\r\nexport class MillionPipe implements PipeTransform {\r\n constructor(private decimalPipe: DecimalPipe) {}\r\n transform(value: any, digits?: any): any {\r\n return this.decimalPipe.transform(value / 1000000, digits) + \"M\";\r\n }\r\n}\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","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 = \"zn8P\";","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n AsyncValidatorFn,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ReCaptchaV3Service } from \"ng-recaptcha\";\r\nimport { error } from \"protractor\";\r\nimport { ResetPassObj } from \"src/app/models/login\";\r\nimport { AccountService } from \"src/app/services/account.service\";\r\nimport { CustomValidators } from \"./custom-validators\";\r\nimport Swal from \"sweetalert2\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"app-forget-password\",\r\n templateUrl: \"./forget-password.component.html\",\r\n styleUrls: [\"./forget-password.component.scss\"],\r\n})\r\nexport class ForgetPasswordComponent implements OnInit {\r\n resetPassObj: ResetPassObj = {} as ResetPassObj;\r\n showPassword1: boolean = false;\r\n showPassword2: boolean = false;\r\n resetPassWordForm: FormGroup;\r\n passwordStepper: any;\r\n lang: string;\r\n constructor(\r\n private recaptchaV3Service: ReCaptchaV3Service,\r\n private translate: TranslateService,\r\n private router: Router,\r\n private accService: AccountService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.lang = this.translate.currentLang\r\n this.passwordStepper = 1;\r\n this.resetPassWordForm = new FormGroup(\r\n {\r\n OTP: new FormControl(\r\n null,\r\n Validators.compose([\r\n // check whether the entered password numbers Only\r\n Validators.required,\r\n ])\r\n ),\r\n firstNewPassword: new FormControl(\r\n null,\r\n Validators.compose([\r\n Validators.required,\r\n // check whether the entered password has a number\r\n CustomValidators.patternValidator(/\\d/, {\r\n hasNumber: true,\r\n }),\r\n // check whether the entered password has upper case letter\r\n CustomValidators.patternValidator(/[A-Z]/, {\r\n hasCapitalCase: true,\r\n }),\r\n // check whether the entered password has a lower case letter\r\n CustomValidators.patternValidator(/[a-z]/, {\r\n hasSmallCase: true,\r\n }),\r\n // check whether the entered password has a special character\r\n CustomValidators.patternValidator(\r\n /[ !@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/,\r\n {\r\n hasSpecialCharacters: true,\r\n }\r\n ),\r\n Validators.minLength(8),\r\n ])\r\n ),\r\n reFirstNewPassword: new FormControl(\r\n null,\r\n Validators.compose([Validators.required])\r\n ),\r\n secondNewPassword: new FormControl(\r\n null,\r\n Validators.compose([\r\n // check whether the entered password numbers Only\r\n\r\n Validators.required,\r\n Validators.pattern(\"^[0-9]{6}$\"),\r\n // Validators.minLength(4),\r\n // Validators.maxLength(6)\r\n ])\r\n ),\r\n reSecondNewPassword: new FormControl(\r\n null,\r\n Validators.compose([Validators.required])\r\n ),\r\n },\r\n [\r\n CustomValidators.firstPasswordMatchValidator as AsyncValidatorFn,\r\n CustomValidators.secondPasswordMatchValidator as AsyncValidatorFn,\r\n ]\r\n );\r\n }\r\n\r\n onSubmit() {\r\n this.resetPassObj.password = this.resetPassWordForm.value.firstNewPassword;\r\n this.resetPassObj.secondPassword =\r\n this.resetPassWordForm.value.secondNewPassword;\r\n this.resetPassObj.otp = this.resetPassWordForm.value.OTP;\r\n this.recaptchaV3Service\r\n .execute(\"importantAction\")\r\n .subscribe((token: string) => {\r\n this.accService.resetPassword(this.resetPassObj).subscribe(\r\n (arg) => {\r\n let resMsg :any;\r\n resMsg = arg\r\n if(resMsg.IsSuccess == true){\r\n this.router.navigate([\"/login\"]);\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"success\",\r\n title: this.translate.instant(\"pass-success-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }else{\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"pass-error-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n },\r\n (err) => {\r\n Swal.fire({\r\n position: \"center\",\r\n icon: \"error\",\r\n title: this.translate.instant(\"pass-error-msg\"),\r\n showConfirmButton: false,\r\n timer: 4500,\r\n });\r\n }\r\n );\r\n });\r\n }\r\n next() {\r\n this.showPassword1 = false;\r\n this.showPassword2 = false;\r\n this.passwordStepper = this.passwordStepper + 1;\r\n }\r\n back() {\r\n this.showPassword1 = false;\r\n this.showPassword2 = false;\r\n this.passwordStepper = this.passwordStepper - 1;\r\n }\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{'OTP'|translate}}
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n","import { Subject } from \"rxjs\";\r\nimport { CompanyList } from \"src/app/models/company-list\";\r\nimport { ApiService } from \"src/app/services/api.service\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class SharedService {\r\n allMarketCompanies: CompanyList[];\r\n isDataLoaded: Subject = new Subject();\r\n\r\n constructor(private apiService: ApiService) {\r\n if (!this.allMarketCompanies)\r\n this.apiService.fetchAllMarketWatch().subscribe((res: CompanyList[]) => {\r\n // let temp = res as CompanyList[];\r\n\r\n this.allMarketCompanies = res.filter((company) => {\r\n return company.MARKET_ID != \"INDX\";\r\n });\r\n\r\n this.isDataLoaded.next(true);\r\n });\r\n }\r\n}\r\n"]}