{"version":3,"sources":["./src/app/components/settings-modal/settings.component.html","./src/app/components/settings-modal/settings.component.ts","./src/app/services/auth.guard.ts","./src/app/services/fav.service.ts","./src/app/pipes/number-format.pipe.ts","./src/app/screens/technical-reports/technical-reports.component.ts","./src/app/screens/technical-reports/technical-reports.component.html","./src/app/components/trades-history/trades-history.component.ts","./src/app/components/trades-history/trades-history.component.html","fs (ignored)","./src/app/components/account-header/account-header.component.ts","./src/app/components/account-header/account-header.component.html","./src/app/components/create-alert/create-alert.component.ts","./src/app/components/create-alert/create-alert.component.html","crypto (ignored)","./src/app/components/order-buy/order-buy.component.ts","./src/app/components/order-buy/order-buy.component.html","./src/app/services/signalr.service.ts","stream (ignored)","./src/app/services/alert.service.ts","./node_modules/docking-egid/dist/esm lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","./src/app/components/ipo-acc-order-modal/ipo-acc-order-modal.component.ts","./src/app/components/ipo-acc-order-modal/ipo-acc-order-modal.component.html","readable-stream (ignored)","./src/app/screens/test/test.component.ts","./src/app/screens/test/test.component.html","min-document (ignored)","./src/app/screens/user-profile/invoice/preview-invoice/preview-invoice.component.ts","./src/app/screens/user-profile/invoice/preview-invoice/preview-invoice.component.html","./src/app/components/new-trade-chart/new-trade-chart.component.ts","./src/app/components/new-trade-chart/new-trade-chart.component.html","./src/app/components/twfa/twfa.component.ts","./src/app/components/twfa/twfa.component.html","./src/app/services/flex-layout.service.ts","./src/app/components/trades/trades.component.html","./src/app/components/trades/trades.component.ts","./src/app/screens/home/search.pipe.ts","./src/app/components/purchase-power-details/purchase-power-details.component.ts","./src/app/components/purchase-power-details/purchase-power-details.component.html","./src/app/services/input-comma-sepreated.pipe.ts","./src/environments/environment.ts","./src/app/screens/home-new/home-new.component.ts","./src/app/screens/home-new/home-new.component.html","./src/app/pipes/check-array.pipe.ts","./src/app/services/api.service.ts","./src/app/models/urlConstants.ts","./src/app/components/user-portfolio/user-portfolio.component.ts","./src/app/components/user-portfolio/user-portfolio.component.html","./src/app/components/password-validation-section/password-validation-section.component.ts","./src/app/components/password-validation-section/password-validation-section.component.html","./src/app/pipes/ordinal.pipe.ts","./src/app/components/confirmation/confirmation.component.ts","./src/app/components/confirmation/confirmation.component.html","./src/assets/js/Chart.bundle.min.js","./src/app/components/trades-order-history/trades-order-history.component.ts","./src/app/components/trades-order-history/trades-order-history.component.html","./src/app/components/quota-trade/quota-trade.component.html","./src/app/components/quota-trade/quota-trade.component.ts","./node_modules/moment-mini/locale sync ^\\.\\/.*$","./src/app/components/market-watch-table/context-menu/context-menu.component.ts","./src/app/components/market-watch-table/context-menu/context-menu.component.html","./src/app/screens/user-profile/user-profile.component.ts","./src/app/screens/user-profile/user-profile.component.html","./src/app/screens/mutual-fund/mutual-fund.component.ts","./src/app/screens/mutual-fund/mutual-fund.component.html","./src/app/components/market-grid-view/market-grid-view.component.ts","./src/app/components/market-grid-view/market-grid-view.component.html","./src/app/components/ipo-selected-symbol-timline-pdf/ipo-selected-symbol-timline-pdf.component.html","./src/app/components/ipo-selected-symbol-timline-pdf/ipo-selected-symbol-timline-pdf.component.ts","./src/app/services/market-watch-detail.service.ts","./src/app/components/quota-bids-asks/quota-bids-asks.component.html","./src/app/components/quota-bids-asks/quota-bids-asks.component.ts","./src/app/shared/shared.module.ts","./src/app/components/market-depth/market-depth.component.ts","./src/app/components/market-depth/market-depth.component.html","./src/app/components/ipo-selected-symbol/ipo-selected-symbol.component.ts","./src/app/components/ipo-selected-symbol/ipo-selected-symbol.component.html","./src/app/components/market-news/market-news.component.ts","./src/app/components/market-news/market-news.component.html","./src/app/components/market-watch-table/market-watch-table.component.ts","./src/app/components/market-watch-table/market-watch-table.component.html","./src/app/screens/home/home.component.ts","./src/app/screens/home/home.component.html","./src/app/components/forget-password/custom-validators.ts","./src/app/components/material-market-watch/material-market-watch.component.ts","./src/app/components/material-market-watch/material-market-watch.component.html","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.ts","./src/app/app.component.html","./src/app/components/verify-email/verify-email.component.ts","./src/app/components/verify-email/verify-email.component.html","./src/app/components/info-Modal/info-modal.component.ts","./src/app/components/info-Modal/info-modal.component.html","./src/app/services/gridster.service.ts","./src/app/services/is-market.guard.ts","./src/app/screens/ipo/ipo.component.ts","./src/app/screens/ipo/ipo.component.html","./src/app/components/news/news.component.ts","./src/app/components/news/news.component.html","./src/app/screens/user-profile/statement/statement.component.ts","./src/app/screens/user-profile/statement/statement.component.html","./src/app/components/selected-order-trade/selected-order-trade.component.ts","./src/app/components/selected-order-trade/selected-order-trade.component.html","./src/app/components/change-password/change-password.component.ts","./src/app/components/change-password/change-password.component.html","./src/app/models/mutualFund.ts","./src/app/services/home-components.service.ts","./src/app/screens/new-login/new-login.component.ts","./src/app/screens/new-login/new-login.component.html","./src/app/components/fund-acc-order-modal/fund-acc-order-modal.component.ts","./src/app/components/fund-acc-order-modal/fund-acc-order-modal.component.html","./src/app/models/alert.ts","./src/app/app.module.ts","./src/app/services/custom-number.pipe.ts","./src/app/components/update-order/update-order.component.ts","./src/app/components/update-order/update-order.component.html","./src/app/screens/local-market/local-market.component.html","./src/app/screens/local-market/local-market.component.ts","./src/app/components/news-details-modal/news-details-modal.component.ts","./src/app/components/news-details-modal/news-details-modal.component.html","./src/app/components/hint-popover/hint-popover.component.html","./src/app/components/hint-popover/hint-popover.component.ts","./src/environments/environment.prod.ts","./src/app/pipes/time-format.pipe.ts","./src/app/services/request-header.interceptor.ts","./src/app/components/market-trades/market-trades.component.ts","./src/app/components/market-trades/market-trades.component.html","./src/app/components/home-market-summary/home-market-summary.component.html","./src/app/components/home-market-summary/home-market-summary.component.ts","./src/app/components/order-history/order-history.component.ts","./src/app/components/order-history/order-history.component.html","./src/app/components/slick-market-watch/slick-market-watch.component.ts","./src/app/components/slick-market-watch/slick-market-watch.component.html","./src/app/services/account.service.ts","./src/app/components/nav-bar/nav-bar.component.ts","./src/app/components/nav-bar/nav-bar.component.html","./src/app/components/invoices-modal/invoices-modal.component.ts","./src/app/components/invoices-modal/invoices-modal.component.html","./src/app/screens/login/login.component.ts","./src/app/screens/login/login.component.html","./src/app/components/selected-symbol-charts/selected-symbol-charts.component.ts","./src/app/components/selected-symbol-charts/selected-symbol-charts.component.html","./src/app/screens/detailed-quota/detailed-quota.component.ts","./src/app/screens/detailed-quota/detailed-quota.component.html","./src/app/components/order-book/order-book.component.ts","./src/app/components/order-book/order-book.component.html","./src/app/components/select-company-modal/select-company-modal.component.html","./src/app/components/select-company-modal/select-company-modal.component.ts","./src/app/components/user-trades-summary/user-trades-summary.component.ts","./src/app/components/user-trades-summary/user-trades-summary.component.html","./src/app/components/historical/historical.component.ts","./src/app/components/historical/historical.component.html","./src/app/screens/user-profile/invoice/invoice.component.ts","./src/app/screens/user-profile/invoice/invoice.component.html","./src/app/components/alert-manager/alert-manager.component.ts","./src/app/components/alert-manager/alert-manager.component.html","./src/app/components/selected-symbol-details-pdfs/selected-symbol-details-pdfs.component.html","./src/app/components/selected-symbol-details-pdfs/selected-symbol-details-pdfs.component.ts","./src/app/services/contentId.service.ts","./src/app/components/select-statement-date/select-statement-date.component.ts","./src/app/components/select-statement-date/select-statement-date.component.html","./src/app/components/reset-password/reset-password.component.ts","./src/app/components/reset-password/reset-password.component.html","./src/app/services/config.service.ts","./src/app/components/slick-market-watch/favorite-menu/favorite-menu.component.ts","./src/app/components/slick-market-watch/favorite-menu/favorite-menu.component.html","./src/app/screens/user-profile/invoice/invoice-details/invoice-details.component.html","./src/app/screens/user-profile/invoice/invoice-details/invoice-details.component.ts","./src/app/components/trading-view-chart/trading-view-chart.component.html","./src/app/components/trading-view-chart/trading-view-chart.component.ts","./src/app/components/animated-text/animated-text.component.ts","./src/app/components/search-symbols-modal/search-symbols-modal.component.html","./src/app/components/search-symbols-modal/search-symbols-modal.component.ts","./src/app/components/not-full-market/not-full-market.component.ts","./src/app/components/not-full-market/not-full-market.component.html","./src/app/components/market-depth-asks/market-depth-asks.component.ts","./src/app/components/market-depth-asks/market-depth-asks.component.html","./src/app/components/market-watch-table/update-flash.directive.ts","./src/app/services/input-comma-sepreated.directive.ts","./src/app/screens/user-profile/statement/statement-details/statement-details.component.html","./src/app/screens/user-profile/statement/statement-details/statement-details.component.ts","./src/app/screens/global-markets/global-markets.component.ts","./src/app/screens/global-markets/global-markets.component.html","./src/app/services/two-digit-decimal-number.directive.ts","./src/app/screens/LandingPageScreens/landingpage-home/landingpage-home.component.ts","./src/app/screens/LandingPageScreens/landingpage-home/landingpage-home.component.html","./src/app/components/create-user/create-user.component.ts","./src/app/components/create-user/create-user.component.html","./src/app/app-routing.module.ts","./src/app/components/margin-calculator/margin-calculator.component.ts","./src/app/components/margin-calculator/margin-calculator.component.html","./src/app/screens/company-profile/company-profile.component.ts","./src/app/screens/company-profile/company-profile.component.html","./src/app/components/market-depth-bids/market-depth-bids.component.ts","./src/app/components/market-depth-bids/market-depth-bids.component.html","./src/app/pipes/million.pipe.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object","./src/app/components/forget-password/forget-password.component.ts","./src/app/components/forget-password/forget-password.component.html","./src/app/services/shared.service.ts"],"names":[],"mappings":"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AAmB,YAAY,EAAE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,cAAc,6BAA6B;AAC3C,cAAc,6BAA6B;AAC3C,cAAc,6BAA6B;AAC3C,cAAc,6BAA6B;AAC3C,eAAe,8BAA8B;AAC7C,cAAc,6BAA6B;AAC3C,cAAc,6BAA6B;AAC3C,cAAc,6BAA6B;AAC3C,cAAc,+BAA+B;AAC7C,kBAAkB,mCAAmC;AACrD,iBAAiB,kCAAkC;AACnD,kBAAkB,mCAAmC;AACrD,cAAc,uCAAuC;AACrD,gBAAgB,6CAA6C;AAC7D,eAAe,gCAAgC;AAC/C,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,WAAW;AAChE,mDAAmD,WAAW;AAC9D;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,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,OAAO;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,iDAAiD,EAAE,UAAU,EAAE;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,0CAA0C,OAAO;AACxE,qBAAqB;AACrB;AACA,OAAO;AACP;AACA,2BAA2B,UAAU;AACrC;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,cAAc;AACd,+CAA+C,uBAAuB;AACtE,6CAA6C,qBAAqB;AAClE;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,oCAAoC,IAAI;AACxC;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA,OAAO,uCAAuC,EAAE,aAAa,EAAE;AAC/D;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,kDAAkD,cAAc;AAChE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,6BAA6B,OAAO;AACpC;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sCAAsC,QAAQ,cAAc;AAC5D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA,OAAO;AACP;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC,0BAA0B,OAAO;AACjC;AACA,sDAAsD,OAAO;AAC7D;AACA,OAAO;AACP;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA,yBAAyB,0CAA0C,OAAO;AAC1E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,6BAA6B,OAAO;AACjE;AACA,wDAAwD,OAAO;AAC/D;AACA;AACA,OAAO;AACP;AACA,8BAA8B,sBAAsB;AACpD,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,6CAA6C;AAC7C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe;AACf,uCAAuC;AACvC;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,8CAA8C,4BAA4B;AAC1E,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,iCAAiC;AACjC,KAAK;AACL;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA,wDAAwD,cAAc;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,yBAAyB,gDAAgD;AACzE,KAAK;AACL;AACA;AACA;AACA,oBAAoB,2DAA2D;AAC/E;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,mBAAmB;AACnB,iBAAiB;AACjB,eAAe;AACf;AACA;AACA,KAAK;AACL;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,0EAA0E;AAC1E;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,aAAa;AACb,uBAAuB;AACvB,iCAAiC,OAAO;AACxC;AACA;AACA,oDAAoD,OAAO;AAC3D;AACA;AACA,KAAK;AACL;AACA,8CAA8C;AAC9C,KAAK;AACL;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,OAAO;AAC5B,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,4CAA4C,aAAa;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,OAAO;AACvB,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,gBAAgB;AAChB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,gBAAgB;AAChB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,gBAAgB;AAChB,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,gBAAgB;AAChB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kCAAkC;AACxD;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,gBAAgB;AAChB,OAAO;AACP,KAAK;AACL,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA,SAAS,2CAA2C,sBAAsB,EAAE;AAC5E;AACA,eAAe,iBAAiB;AAChC,KAAK;AACL,GAAG;AACH;AACA,iBAAiB,OAAO,8CAA8C,EAAE;AACxE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,gEAAgE,OAAO;AACvE;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;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,qBAAqB,iCAAiC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,gBAAgB;AAChB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA,eAAe,qDAAqD;AACpE,eAAe,mDAAmD;AAClE,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,4BAA4B;AAC5B;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,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,6BAA6B;AAC7B;AACA,eAAe;AACf;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,gBAAgB,sCAAsC;AACtD,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA,4BAA4B,OAAO;AACnC;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,YAAY,2BAA2B;AACvC;AACA,eAAe,qCAAqC;AACpD;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C,SAAS;AACT;AACA,KAAK;AACL,eAAe,aAAa,wBAAwB,EAAE;AACtD,eAAe,2BAA2B;AAC1C,GAAG;AACH;AACA;AACA,wBAAwB,8CAA8C;AACtE,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,YAAY,gBAAgB;AAC5B;AACA,eAAe,mCAAmC;AAClD,eAAe,iCAAiC;AAChD,KAAK;AACL,GAAG;AACH;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,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,OAAO;AACP;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;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,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC,kBAAkB,eAAe;AACjC,oBAAoB,cAAc;AAClC,cAAc,kBAAkB;AAChC,KAAK;AACL,gBAAgB,sCAAsC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,qDAAqD,sBAAsB;AAC3E;AACA;AACA;AACA;AACA,YAAY,uBAAuB;AACnC,eAAe,QAAQ,4BAA4B,EAAE;AACrD,GAAG;AACH;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,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;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,8DAA8D,OAAO;AACrE;AACA,KAAK;AACL;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,YAAY,iBAAiB;AAC7B;AACA,eAAe,qDAAqD;AACpE,eAAe,mDAAmD;AAClE,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH,sBAAsB,YAAY,WAAW,eAAe,EAAE,EAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,2BAA2B,gBAAgB;AAC3C,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW,uCAAuC,EAAE;AACjE,GAAG;AACH;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,iBAAiB;AACjB;AACA,aAAa;AACb;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,eAAe,kBAAkB,uCAAuC;AACxE;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,+CAA+C,KAAK,YAAY,GAAG,WAAW,wBAAwB,uCAAuC,gFAAgF,kBAAkB,cAAc,OAAO,MAAM,QAAQ,SAAS,gBAAgB,oBAAoB,kBAAkB,WAAW,iCAAiC,kBAAkB,gBAAgB,iBAAiB,OAAO,MAAM,iCAAiC,kBAAkB,WAAW,YAAY,OAAO,MAAM;AACphB,OAAO;AACP;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,sCAAsC;AACtC;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA,GAAG,QAAQ;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,iBAAiB;AACjB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8BAA8B;AAC9B;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,6BAA6B,eAAe;AAC5C;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,kCAAkC;AAClC,sCAAsC;AACtC,sCAAsC;AACtC,wCAAwC;AACxC,2CAA2C;AAC3C,OAAO;AACP;AACA;AACA,oBAAoB,YAAY,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B,EAAE;AACtD;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,sBAAsB;AACtB,kBAAkB;AAClB;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,sBAAsB;AACtB;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAqC;AACpD,eAAe,iBAAiB;AAChC,eAAe,mCAAmC;AAClD,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;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,eAAe;AACf;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,mBAAmB,mCAAmC;AACtD,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iBAAiB;AACrD;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA,qBAAqB;AACrB;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,qBAAqB;AAClD;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,oBAAoB,0CAA0C;AAC9D;AACA,KAAK;AACL;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,SAAS,IAAI;AACb;AACA;AACA;AACA,oBAAoB;AACpB,WAAW;AACX;AACA,oBAAoB;AACpB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mDAAmD;AAC3E;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kCAAkC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,sDAAsD,OAAO;AAC7D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA,2CAA2C,kCAAkC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA,SAAS,yBAAyB,wBAAwB;AAC1D;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,6BAA6B;AAC/D;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA,KAAK;AACL;AACA,4DAA4D,OAAO;AACnE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,wDAAwD,OAAO;AAC/D;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,eAAe;AACf;AACA;AACA,KAAK;AACL;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,sCAAsC,gBAAgB;AACtD,KAAK;AACL;AACA,0CAA0C,gBAAgB;AAC1D,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,wCAAwC,gBAAgB;AACxD,KAAK;AACL;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA,2DAA2D,OAAO;AAClE;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,sBAAsB;AACtB;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,KAAK;AACL,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,6BAA6B,SAAS,UAAU;AAChD;AACA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,OAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,gBAAgB,oBAAoB;AACpC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,eAAe;AACf,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,qCAAqC;AACrC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uCAAuC;AACtE;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;AACtD,kBAAkB,+BAA+B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,0BAA0B,sBAAsB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,cAAc;AACvD;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA,aAAa;AACb;AACA;AACA,gEAAgE,OAAO;AACvE;AACA;AACA,SAAS;AACT;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;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,eAAe;AACf;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,KAAK;AACL,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;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,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,UAAU,2BAA2B,iCAAiC;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,mBAAmB;AAC9D,OAAO;AACP;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,aAAa;AAClC,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,YAAY,2BAA2B,sCAAsC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,qBAAqB,cAAc;AACnC;AACA,qDAAqD,OAAO;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,eAAe,iCAAiC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,kBAAkB,eAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qDAAqD;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,OAAO;AAChC;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,uBAAuB,kCAAkC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,QAAQ;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;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,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kCAAkC;AACtD,eAAe,mCAAmC;AAClD,eAAe,mCAAmC;AAClD,aAAa,oCAAoC;AACjD,YAAY,qCAAqC;AACjD,aAAa,qCAAqC;AAClD,cAAc,sCAAsC;AACpD,gBAAgB,qCAAqC;AACrD,aAAa,2BAA2B;AACxC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,kBAAkB;AACpE;AACA,oBAAoB;AACpB;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,gBAAgB;AAChB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,eAAe,OAAO;AACtB,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC,uDAAuD,OAAO;AAC9D;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,6CAA6C,OAAO;AACpD;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kCAAkC;AAC9D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,OAAO;AACpC;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,oBAAoB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,gEAAgE,OAAO;AACvE;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4BAA4B;AACtD;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,OAAO;AACP,cAAc,uCAAuC,cAAc,EAAE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,OAAO;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;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,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,sBAAsB;AAC9D;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6KAA6K,IAAI;AACjL,mDAAmD,IAAI;AACvD,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,qBAAqB;AACpD;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE;AACpB,kBAAkB,EAAE;AACpB,uBAAuB,EAAE;AACzB;AACA;AACA;AACA,mBAAmB,IAAI;AACvB,mBAAmB,IAAI;AACvB,wBAAwB,IAAI;AAC5B;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM,wEAAwE,MAAM,mBAAmB,MAAM,qBAAqB,MAAM,EAAE,IAAI;AACjK;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,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA,sDAAsD,QAAQ;AAC9D;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,OAAO;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,wCAAwC,IAAI;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,WAAW;AACX,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,qBAAqB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,cAAc;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,EAAE,IAAI,EAAE;AACpC;AACA,4BAA4B,EAAE,IAAI,EAAE;AACpC;AACA;AACA,qCAAqC,EAAE;AACvC,+BAA+B,EAAE;AACjC,iCAAiC,EAAE;AACnC,+BAA+B,EAAE;AACjC,6BAA6B,EAAE,IAAI,EAAE;AACrC,4BAA4B,EAAE;AAC9B,mCAAmC,GAAG;AACtC,6BAA6B,EAAE;AAC/B,+BAA+B,EAAE,IAAI,EAAE;AACvC,8BAA8B,EAAE,IAAI,EAAE;AACtC,4BAA4B,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,OAAO;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,sDAAsD,IAAI,0DAA0D,IAAI,qEAAqE,EAAE;AAC/L;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,iBAAiB;AACtD;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,sCAAsC;AACtC;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,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,eAAe;AAClD;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gDAAgD;AACtE;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,6BAA6B;AACpD,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,oBAAoB,oBAAoB;AACxC;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,oBAAoB,oBAAoB;AACxC;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,6CAA6C,0BAA0B;AACvE;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,IAAI;AAC1B;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA,wCAAwC,IAAI;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,IAAI;AACrC;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,sBAAsB,WAAW,UAAU,gBAAgB,EAAE,EAAE;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,KAAK;AACL;AACA;AACA;AACA,wBAAwB;AACxB;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,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,iCAAiC;AACjC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,iCAAiC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA,yDAAyD,OAAO;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,QAAQ;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uCAAuC;AAChE;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uCAAuC;AAC9D,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb,aAAa,wDAAwD;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,cAAc;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,cAAc;AAC9C;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA,WAAW;AACX;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,gCAAgC,6BAA6B;AAC7D;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qDAAqD;AAC1E,iBAAiB,qDAAqD;AACtE;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,WAAW;AACX;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA,6BAA6B,qBAAqB;AAClD;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACtsZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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EAC5F;QAAA,4DAAI;QACb,4DAAK;QACP,4DAAK;QACP,4DAAW;QACX,oFAA0D;QACxD,2EAAmB;QACjB,2EAA8C;QAC5C,0EAAQ;QAAA,wDAA2B;;QAAA,4DAAS;QAC9C,4DAAM;QACN,2EAAyE;QAAxD,kLAAsB,gBAAY,IAAC;QAClD,2HAWM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAW;QACb,4DAAM;QACR,4DAAM;QAEN,+EAAqE;QACnE,uEAAK;QACH,6JAAiH;QACnH,4DAAM;QAgCN,iIA8BQ;QAqCR,iIA+BQ;QAER,wFAAkL;QAAhK,iLAAkB,wBAAoB,IAAC,+GAAW,sBAAkB,IAA7B;QACzD,4DAAmB;QACrB,4DAAM;QACR,4DAAM;;;;QAhPgB,0DAAsB;QAAtB,2IAAsB;QAMyE,0DAAoC;QAApC,8JAAoC;QAEzH,0DAA8B;QAA9B,8FAA8B;QAcrB,0DAA0B;QAA1B,kFAA0B;QAG1B,0DAA6B;QAA7B,kFAA6B;QAwDlD,2DAA2B;QAA3B,+IAA2B;QAGd,0DAAU;QAAV,gFAAU;QAoBd,0DAAiE;QAAjE,2IAAiE;QAiClF,0DAAiE;QAAjE,2IAAiE;QAmElD,0DAAyB;QAAzB,2FAAyB;QAiCwC,0DAA4B;QAA5B,yFAA4B;;;;;;;;;;;;;AC/OxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;;;;;;;;;;;;AC5RA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoC;AACiB;;;;;;;;;;ICPjD,4EAGe;;ADWZ,MAAM,YAAY;IAyJvB,YACS,SAA2B,EAC1B,WAA4B,EAC7B,UAA0B,EACzB,UAAsB;QAHvB,cAAS,GAAT,SAAS,CAAkB;QAC1B,gBAAW,GAAX,WAAW,CAAiB;QAC7B,eAAU,GAAV,UAAU,CAAgB;QACzB,eAAU,GAAV,UAAU,CAAY;QA5JhC,UAAK,GAAG,kBAAkB,CAAC;QAC3B,gBAAW,GAAG,iEAAY,CAAC,WAAW,CAAC;QACvC,WAAM,GAAG,iEAAY,CAAC,MAAM,CAAC;QAErB,cAAS,GAA0B;YACzC;gBACE;oBACE,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,aAAa;iBACrB;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,EAAE;oBACL,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,aAAa;iBACpB;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,EAAE;oBACL,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,eAAe;iBACtB;gBACD;oBACE,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,YAAY;iBACnB;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,cAAc;oBACpB,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,YAAY;iBACnB;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,YAAY;iBACnB;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,YAAY;iBACnB;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,EAAE;oBACL,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,MAAM;iBACb;aACF;SACF,CAAC;QACM,uBAAkB,GAA0B;YAClD;gBACE;oBACE,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,aAAa;iBACrB;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,EAAE;oBACL,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,MAAM;iBACb;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,EAAE;oBACL,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,QAAQ;iBACf;gBACD;oBACE,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,YAAY;iBACnB;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,cAAc;oBACpB,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,YAAY;iBACnB;aACF;SACF,CAAC;QASA,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAgB,CAAC;QACjF,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;QAE1C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE;YACtC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1C,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;SACtD;aAAM;YACL,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAChC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACtD,IAAI,QAAQ;oBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBACnD,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,IAAI;YACpC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACtD,IAAI,QAAQ;oBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBACnD,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7C,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI;gBAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAClC,IAAI,KAAK,EAAE;gBACT,IAAI,OAAO,GAAG,0DAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAE3C,IAAI,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEpD,IAAI,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAElD,IAAI,QAAQ,IAAI,GAAG;oBACjB,eAAe;oBACf,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACxC,mBAAmB;qBACd,IAAI,QAAQ,IAAI,GAAG;oBAAE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aAClE;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,WAAW,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG;QACxD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa;aACxC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;IACnC,CAAC;IACD,eAAe;QACb,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,IAAI,EAAE;YACxC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa;iBACxC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa;iBACxC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC;SACzC;IACH,CAAC;IAED,YAAY,CAAC,GAAG;QACd,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;;wEAjOU,YAAY;4FAAZ,YAAY;QCfzB,yEAA2D;QACvD,wHAGe;QACjB,2EAA+B;QACjC,4DAAM;;QAND,kHAAqD;QAGnD,0DAAkC;QAAlC,kGAAkC;;;;;;;;;;;;;;ACAzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;AAQrC;;;;;;;;;AAOxB,MAAM,oBAAoB;IAM/B,YACU,WAAwB,EACxB,KAAqB,EACrB,MAAc,EACd,YAA0B,EAC1B,MAAiB,EACjB,SAA2B,EAC3B,UAA0B,EAC1B,kBAAsC;QAPtC,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAW;QACjB,cAAS,GAAT,SAAS,CAAkB;QAC3B,eAAU,GAAV,UAAU,CAAgB;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAoB;QAbhD,gBAAW,GAAkB,EAAmB,CAAC;IAc9C,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACvC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;SACvD,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,CAAC,kBAAkB;aACpB,OAAO,CAAC,iBAAiB,CAAC;aAC1B,SAAS,CAAC,CAAC,KAAa,EAAE,EAAE;YAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,CAC3D,CAAC,GAAG,EAAE,EAAE;gBACN,kDAAI,CAAC,IAAI,CAAC;oBACR,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBAChD,iBAAiB,EAAE,KAAK;oBACxB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,kDAAI,CAAC,IAAI,CAAC;oBACR,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAC/C,iBAAiB,EAAE,KAAK;oBACxB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IACD,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IACD,WAAW;QACT,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;SAClC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,sBAAsB,CAC7C,kBAAkB,CACnB,CAAC,CAAC,CAAgB,CAAC;QACpB,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;SACrC;IACH,CAAC;;wFA/DU,oBAAoB;oGAApB,oBAAoB;QClBjC,yEAA4B;QAC1B,yEAAiB;QACf,yEAA4B;QAC1B,yEAAgD;QAC9C,yEAAkC;QAChC,yEAA2C;QACzC,oEAA0D;QAE5D,4DAAM;QACN,gEAAI;QACJ,0EAAsD;QAAvB,gJAAY,aAAS,IAAC;QACnD,yEAAmD;QACjD,4EAAmB;QAAA,wDAAuB;;QAAA,4DAAQ;QAClD,wEAAmE;QACrE,4DAAM;QACN,0EAA2C;QACzC,8EAAuF;QACrF,wDACF;;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAO;QACT,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAER,4DAAM;;QAhBU,0DAAwB;QAAxB,qFAAwB;QAEP,0DAAuB;QAAvB,0IAAuB;QAIlC,0DAAsD;QAAtD,uHAAsD;QAC5D,0DACF;QADE,sJACF;;;;;;;;;;;;;;ACjBd;AAAA;AAAA;AAAA;AAAA;AAA2D;;;AAQpD,MAAM,kBAAkB;IAE7B,YACkC,IAAI,EAC7B,SAAuB;QADE,SAAI,GAAJ,IAAI;QAC7B,cAAS,GAAT,SAAS,CAAc;IAC5B,CAAC;IAEL,QAAQ;IACR,CAAC;;oFARU,kBAAkB,kEAGnB,wEAAe;kGAHd,kBAAkB;QCT/B,yEAA2C;QACvC,yEAAsB;QACpB,mEAGM;QACR,4DAAM;QACN,yEAAsB;QACpB,kEAGK;QACP,4DAAM;QACR,4DAAM;;QATA,0DAAmC;QAAnC,qNAAmC;QAMnC,0DAAiE;QAAjE,uPAAiE;;;;;;;;;;;;;;ACRzE;AAAA;AAAA;AAAA;AAA2C;;AAKpC,MAAM,eAAe;IAyF1B;QAxFA,gBAAW,GAAG;YACZ;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,aAAa;aACrB;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,EAAE;gBACL,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,aAAa;aACpB;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,EAAE;gBACL,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,eAAe;aACtB;YACD;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,YAAY;aACnB;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,CAAC;gBACJ,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,CAAC;gBACJ,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,YAAY;aACnB;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,CAAC;gBACJ,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,YAAY;aACnB;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,CAAC;gBACJ,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,YAAY;aACnB;YACD;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,EAAE;gBACL,CAAC,EAAE,EAAE;gBACL,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,MAAM;aACb;SACF,CAAC;QAQM,qBAAgB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAH5C,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAID,UAAU,CAAC,IAAI;QACb,IAAI,IAAI,CAAC;QACT,IAAI,IAAI,IAAI,cAAc;YACxB,IAAI,GAAG;gBACL,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,aAAa;aACrB,CAAC;aACC,IAAI,IAAI,IAAI,OAAO;YACtB,IAAI,GAAG;gBACL,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI;aACf,CAAC;;YAEF,IAAI,GAAG;gBACL,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,CAAC;gBACP,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI;aACf,CAAC;QAEJ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,QAAQ,CAAC,YAAY;QACnB,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,mBAAmB,CAAC,KAAK,EAAE,YAAY;QACrC,IAAI,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,aAAa,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;QACpC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,kBAAkB,CAAC,KAAK,EAAE,YAAY;QACpC,IAAI,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,aAAa,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;QACpC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,eAAe;QACb,IAAI,aAAa,GAA0B,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1D,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QACjE,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;IACD,eAAe,CAAC,KAAK;QACnB,IAAI,aAAa,GAA0B,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1D,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/B,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QACjE,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,QAAQ,CAAC,QAAQ;QACf,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,sBAAsB,CAAC,WAAW;QAChC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,iBAAiB,CAAC,WAAW;QAC3B,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,iBAAiB,CAAC,KAAK;QACrB,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB;QACd,OAAO,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,sBAAsB,CAAC,EAAO,EAAE,QAAQ;QACtC,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,SAAS,EAAE;YACb,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE;gBACjB,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAC1B;SACF;IACH,CAAC;IAED,mBAAmB,CAAC,EAAO;QACzB,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS;QACP,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACpE,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,aAAa;IACb,uBAAuB,CAAC,WAAW;QACjC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,cAAc;IACd,uBAAuB,CAAC,WAAW;QACjC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,WAAW;QACT,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;IACvC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/E,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACvE,QAAQ,CAAC,IAAI,CAAC,YAAY,CACxB,YAAY,EACZ,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACpC,CAAC;IACJ,CAAC;;8EA5PU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;;;;;;;;;;;;;;;;;;;;;ACOb,MAAM,aAAa;IACxB,YAAoB,MAAc,EAAU,cAA8B;QAAtD,WAAM,GAAN,MAAM,CAAQ;QAAU,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAE9E,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACnE,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACrD,QAAQ,GAAG,GAAG,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;;0EAfU,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;;;;;;;;;;;;;ACRpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2D;AAIsD;AAEjF;;;;;;;;;;;;ICsDA,yEAA0E;IAAA,uDAAiB;IAAA,4DAAK;;;IAAtB,0DAAiB;IAAjB,wGAAiB;;;IAC3F,yEAA0E;IAAA,uDAAiB;IAAA,4DAAK;;;IAAtB,0DAAiB;IAAjB,wGAAiB;;;IAMvF,wEAA4D;IACxD,uDACJ;;IAAA,qEAAe;;IADX,0DACJ;IADI,uJACJ;;;IAEI,uDACJ;;;IADI,0JACJ;;;IAOA,wEAA2C;IACvC,uDAKJ;;;IAAA,qEAAe;;;IALX,0DAKJ;IALI,yWAKJ;;;IACA,wEAA2C;IACvC,uDACJ;;;IAAA,qEAAe;;;IADX,0DACJ;IADI,uTACJ;;;IAvBR,0EAA2I;IACvI,0EAAmD;IAC/C,+IAEe;IACf,yNAEc;IACd,uEAAM;IACF,8EACe;IACnB,4DAAO;IACX,4DAAM;IACN,2EAAgE;IAC5D,+IAMe;IACf,+IAEe;IACf,wDACJ;;IAAA,4DAAO;IACX,4DAAM;;;;;IAxBiB,0DAA4B;IAA5B,kHAA4B;IAOzB,0DAAwB;IAAxB,iFAAwB;IAK3B,0DAA0B;IAA1B,kHAA0B;IAO1B,0DAA0B;IAA1B,kHAA0B;IAGzC,0DACJ;IADI,mJACJ;;;IAEJ,0EAAoH;IAChH,0EAAuC;IACnC,uDACA;;IAAA,uEAAM;IACF,8EACwE;IAC5E,4DAAO;IACX,4DAAM;IACN,2EAAgE;IAAA,uDAA2C;IAAA,4DAAO;IACtH,4DAAM;;;;IAPE,0DACA;IADA,sJACA;IACkB,0DAAuB;IAAvB,gFAAuB;IAImB,0DAA2C;IAA3C,qKAA2C;;;IA2BvG,mEAAiF;;;IACjF,sEAGQ;;;;IAXhB,0EAAmG;IAC/F,uDACA;;IAAA,uEAAM;IAAA,6EAIH;IADC,uUAA0B;IAE1B,yHAAiF;IACjF,+HAGQ;IACV,4DAAS;IAAA,4DAAO;IACtB,4DAAM;;;;IAZF,0DACA;IADA,sKACA;IAK4D,0DAAmB;IAAnB,uFAAmB;IAG/B,0DAAkB;IAAlB,sFAAkB;;;IAiBlE,qEAA+H;;;IAC/H,0EAA0C;IACtC,0EAA4E;IACxE,qEAA0C;IAC9C,4DAAM;IACN,0EAAuD;IACnD,2EAAwC;IAAA,uDAA2B;;IAAA,4DAAO;IAC1E,2EAAoD;IAAA,uDAAsC;;IAAA,4DAAO;IACrG,4DAAM;IACV,4DAAM;;;IAH0C,0DAA2B;IAA3B,2IAA2B;IACf,0DAAsC;IAAtC,sLAAsC;;;IAlB1G,wEAAqC;IACjC,0EAAmD;IAC/C,0EAAqB;IACjB,0EAA8E;IAC1E,qEAA2C;IAC/C,4DAAM;IACN,0EAAuD;IACnD,2EAAwC;IAAA,uDAA6B;;IAAA,4DAAO;IAC5E,2EAAoD;IAAA,wDAAwC;;IAAA,4DAAO;IACvG,4DAAM;IACV,4DAAM;IACN,wIAA+H;IAC/H,yIAQM;IACV,4DAAM;IACV,qEAAe;;;IAfyC,0DAA6B;IAA7B,6IAA6B;IACjB,0DAAwC;IAAxC,yLAAwC;IAG9F,0DAAkB;IAAlB,wGAAkB;IAClB,0DAAkB;IAAlB,wGAAkB;;;;IAvGpC,0EAIkD;IAA5B,0XAA2B;IAC7C,0EAC2D;IACvD,uDACJ;IAAA,4DAAM;IACN,0EAAsB;IAClB,0EAA8D;IAC1D,qEAA6C;IACjD,4DAAM;IACN,0EAAuD;IACnD,yEAAkD;IAAA,uDAA2C;IAAA,4DAAK;IAClG,oHAAgG;IAChG,sHAAgG;IACpG,4DAAM;IACV,4DAAM;IACN,2EAA8D;IAC1D,yHA0BM;IACN,wHASM;IACV,4DAAM;IACN,sEAAmC;IACnC,2EAAmC;IAC/B,2EAAwD;IACpD,0EAAyB;IACrB,4EAA2C;IACvC,wDACJ;;IAAA,4DAAO;IACP,wEAAM;IACF,+EACwE;IAC5E,4DAAO;IACX,4DAAK;IACL,4EAC0D;IACtD,wDACJ;;IAAA,4DAAO;IACX,4DAAM;IACN,wHAaM;IACV,4DAAM;IACN,sEAAmC;IACnC,2IAsBe;IACnB,4DAAM;;;;IAhHN,oGAA6C;IAGS,0DAAqD;IAArD,oHAAqD;IAEnG,0DACJ;IADI,yLACJ;IAG6B,0DAAgB;IAAhB,yIAAgB;IAGa,0DAA2C;IAA3C,oKAA2C;IACxF,0DAAmC;IAAnC,kIAAmC;IACnC,0DAAmC;IAAnC,kIAAmC;IAItC,0DAAsC;IAAtC,0JAAsC;IA2BtC,0DAAgC;IAAhC,oJAAgC;IAgB1B,0DACJ;IADI,mKACJ;IAEkB,0DAAmC;IAAnC,4FAAmC;IAKrD,0DAAqD;IAArD,qHAAqD;IACrD,0DACJ;IADI,uKACJ;IAEkE,0DAA2B;IAA3B,4FAA2B;IAgBtF,0DAAoB;IAApB,0GAAoB;;;IA2BnD,0EAAuH;IACnH,yFAAkL;IACtL,4DAAM;;;IADuB,0DAAqB;IAArB,qFAAqB;;;IAElD,yEAAwE;IACpE,qGAAgI;IACpI,4DAAM;;;IADmC,0DAAqB;IAArB,qFAAqB;;;IAzKtE,yEAAuE;IACnE,yEAAuB;IAEnB,yEAAoD;IAChD,yEAA0C;IACtC,yEAA8G;IAC1G,yEAAgD;IAC5C,yEAAoB;IAChB,yEAAuC;IACnC,yEAA4C;IAAA,uDAA4B;;IAAA,4DAAK;IAIjF,4DAAM;IACN,2EAA8B;IAC1B,4EAAoC;IAAA,wDACpC;;IAAA,4DAAO;IACX,4DAAM;IACV,4DAAM;IACN,2EAAwB;IACpB,sEAAwE;IAC5E,4DAAM;IACV,4DAAM;IAsBV,4DAAM;IAEN,uEAAK;IACD,mHAkHM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;IACN,iHAEM;IACN,iHAEM;IACV,4DAAM;IACV,4DAAM;;;IAnKsE,0DAA4B;IAA5B,6IAA4B;IAMpC,0DACpC;IADoC,sJACpC;IAgCI,0DAAW;IAAX,mFAAW;IAqHjC,0DAAiB;IAAjB,oFAAiB;IAGjB,0DAAiB;IAAjB,oFAAiB;;;IAK/B,0EAGC;IACG,qEAAkE;IAClE,0EAA8C;IAAC,uDAAiC;;IAAA,4DAAM;IAC1F,4DAAM;;IAD6C,0DAAiC;IAAjC,+JAAiC;;ADzKpF,mBAAmB;AAMZ,MAAM,YAAY;IAsBvB,YACS,SAA2B,EAC1B,UAAsB,EACtB,SAAuB;QAFxB,cAAS,GAAT,SAAS,CAAkB;QAC1B,eAAU,GAAV,UAAU,CAAY;QACtB,cAAS,GAAT,SAAS,CAAc;QAtBjC,qBAAgB,GAAS,CAAC,CAAC;QAE3B,WAAM,GAAU;YACd,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;YAC1F,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;SAE3F,CAAC;QACF,WAAM,GAAG,wEAAY,CAAC,MAAM,CAAC;QAC7B,YAAO,GAAW,EAAE,CAAC;QAErB,yBAAoB,GAAG,CAAC,CAAC,CAAC;QAM1B,iBAAY,GAAS,KAAK,CAAC;IAOvB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW;YACd,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3D,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAGD,SAAS,CAAC,GAAQ,EAAE,KAAa;QAC/B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,IAAI,CAAC,oBAAoB,KAAK,KAAK,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;YAC7D,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC5D;YACD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,eAAe,CAAC,EAAE;QAChB,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;aAClC,SAAS,CACR,CAAC,GAAG,EAAC,EAAE;YACL,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC1B,CAAC,CACF;IACH,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8HAAyB,EAAE;YAC1C,UAAU,EAAE,aAAa;YACzB,IAAI,EAAC;gBACH,KAAK,EAAG,KAAK;gBACb,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACxC;SACF,CAAC,CAAC;IACL,CAAC;IAGD,oBAAoB;QAGlB,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE;aACrC,SAAS,CACR,CAAC,GAAG,EAAE,EAAE;YACN,IAAG,GAAG,EAAC;gBACL,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;gBAEnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACrD,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;gBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACtC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CACpD,CAAC;gBAEF,qDAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAmB,EAAE,EAAE;oBACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,iCAC3C,GAAG,KACN,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC,EAChC,iBAAiB,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS,CAAC,KAAK,CAAC;4BACpD,CAAC,CAAC,GAAG;4BACL,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAE,GAAG,GAAG,IAC/C,CAAC,CAAC;gBACN,CAAC,CAAC,CAAC;aAEJ;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,0BAA0B;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACtC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CACpD,CAAC;QAEF,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IACD,mBAAmB,CAAC,UAAe;QACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,UAAU,CAAC;iBAC5C,SAAS,CACR,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,GAAG,EAAE;oBAEP,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAC,EAAE,IAAG,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,wCAAwC;iBACzH;qBAAM;oBACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,wBAAwB;oBACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC;iBAChD;YACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,oCAAoC;YACrD,CAAC,CACF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,oBAAoB,CAAC,SAAc,EAAE,aAAkB,EAAE,UAAkB;QAEzE,IAAI,SAAS,IAAI,SAAS,CAAC,WAAW,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE;YAC/E,MAAM,gBAAgB,GAAE,aAAa,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;YAC9D,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;YAE1C,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,GAAC,CAAC,EAAC;gBACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACpC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU;oBAC/B,CAAC,iCAAM,GAAG,KAAE,aAAa,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IACtE,CAAC,CAAC,GAAG,CACR,CAAC;aAED;SAEF;aAEI;YACH,OAAO,IAAI,CAAC,CAAC,0CAA0C;SACxD;IACH,CAAC;IACD,cAAc;QAGd,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC;QACvB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAEnF,0CAA0C;QAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACpC,uEAAuE;YACvE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAChC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChE,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,qCAAqC,CAAC;gBAC1D,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAGrC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACf,IAAI,CAAC,YAAY,GAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC;IAEX,CAAC;;wEA9KU,YAAY;4FAAZ,YAAY;QCfzB,yGA4KM;QACN,wGAMM;;QAnLA,uHAAuB;QA8KxB,0DAAwB;QAAxB,wHAAwB;;;;;;;;;;;;;;AC7K7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiG;;;;;;;;;ICC7F,mEAA+H;;;IAY/H,2EAA2I;IACzI,uDACF;IAAA,4DAAO;;;IAFiF,0FAA0B;IAChH,0DACF;IADE,0FACF;;;IAIA,0EAAoE;IAClE,0EAAuB;IACrB,qEAAwD;IACxD,0EAAuB;IACrB,yEAAuB;IAAC,uDAAoC;;IAAA,4DAAK;IACnE,4DAAM;IACR,4DAAM;IACR,4DAAM;;IAHwB,0DAAoC;IAApC,kKAAoC;;;IAIlE,0EAA4G;IAC1G,0EAAuB;IACrB,qEAAwD;IACxD,0EAAuB;IACrB,yEAAuB;IAAC,uDAA6B;;IAAA,4DAAK;IAC5D,4DAAM;IACR,4DAAM;IACR,4DAAM;;IAHwB,0DAA6B;IAA7B,2JAA6B;;;IAI3D,0EAAiH;IAC/G,0EAAuB;IACrB,qEAAwD;IACxD,0EAAuB;IACrB,yEAAuB;IAAC,uDAA6B;;IAAA,4DAAK;IAC5D,4DAAM;IACR,4DAAM;IACR,4DAAM;;IAHwB,0DAA6B;IAA7B,2JAA6B;;;IAI3D,4EAAmE;IACjE,0EAA8D;IAC5D,sEAA6B;IAC/B,4DAAM;IACR,4DAAQ;;;;IAGJ,yEAA0D;IAAA,wEAA4D;IAAzD,gWAA6B;IACtF,0EAAgD;IAC9C,uDACF;IAAA,4DAAM;IACN,uDACA;IAAA,0EAAiD;IAC/C,uEAAM;IACJ,uDACF;IAAA,4DAAO;IACP,2EAA6E;IAC3E,uDACF;IAAA,4DAAO;IACT,4DAAM;IACR,4DAAI;IAAA,4DAAK;;;;IAXL,0DACF;IADE,wJACF;IACA,0DACA;IADA,8FACA;IAEI,0DACF;IADE,8FACF;IAC2C,0DAAiC;IAAjC,oGAAiC;IAC1E,0DACF;IADE,wJACF;;;IAbV,0EAAmG;IACjG,qEAAI;IACF,gHAaW;IACb,4DAAK;IACP,4DAAM;;;IAfwC,0DAAc;IAAd,uFAAc;;;;IAkBxD,yEAA4D;IAAA,wEAA4D;IAAzD,kWAA6B;IACxF,0EAAgD;IAC9C,uDAA+D;IAAA,4DAAM;IACvE,uDACA;IAAA,uEAAM;IAAA,uDAAmB;IAAA,4DAAO;IAClC,4DAAI;IACN,4DAAK;;;;IAJC,0DAA+D;IAA/D,0JAA+D;IACjE,0DACA;IADA,+FACA;IAAM,0DAAmB;IAAnB,oFAAmB;;;IANjC,0EAAsG;IACpG,qEAAI;IACF,+GAMK;IACP,4DAAK;IACP,4DAAM;;;IARwC,0DAAgB;IAAhB,yFAAgB;;ADxD3D,MAAM,aAAa;IAexB,YACS,MAAiB,EACjB,SAA2B,EAC1B,QAAoB,EAC5B,aAA6B;QAE7B,0CAA0C;QALnC,WAAM,GAAN,MAAM,CAAW;QACjB,cAAS,GAAT,SAAS,CAAkB;QAC1B,aAAQ,GAAR,QAAQ,CAAY;QAT9B,eAAU,GAAG,IAAI,CAAC;QAchB,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC/C,GAAG,CAAC,OAAO,CAAC,CAAC,OAAoB,EAAE,EAAE;;gBACnC,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU;oBACxC,QAAQ,OAAO,CAAC,IAAI,EAAE;wBACpB,KAAK,CAAC;4BACJ,UAAI,CAAC,WAAW,0CAAE,OAAO,CAAC,OAAO,EAAE;wBACrC;4BACE,UAAI,CAAC,aAAa,0CAAE,OAAO,CAAC,OAAO,EAAE;qBACxC;gBACH,4DAA4D;gBAC5D,6DAA6D;YAC/D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAxBD,WAAW,CAAC,KAAK;QACf,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAwBD,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,WAAW,CAAC,OAAsB;;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,cAAO,CAAC,UAAU,0CAAE,YAAY,KAAI,IAAI,CAAC,IAAI,cAAO,CAAC,UAAU,0CAAE,aAAa,KAAI,IAAI,EAAC;YACzH,IAAI,cAAO,CAAC,WAAW,0CAAE,YAAY,KAAI,IAAI,EAAE;gBAC7C,IAAI,cAAO,CAAC,WAAW,0CAAE,YAAY,YAAI,OAAO,CAAC,WAAW,0CAAE,aAAa,GAAE;oBAC3E,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC;iBACrD;aACF;YACD,IAAI,CAAC,OAAO,SAAG,OAAO,CAAC,OAAO,0CAAE,YAAY,CAAC;YAC7C,IAAI,CAAC,WAAW,SAAG,OAAO,CAAC,WAAW,0CAAE,YAAY,CAAC;YACrD,IAAI,CAAC,UAAU,SAAG,OAAO,CAAC,UAAU,0CAAE,YAAY,CAAC;YACnD,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC9C;IACD,CAAC;IAED,aAAa,CAAC,IAAI;QAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0GAAyB,EAAE;YAC1C,UAAU,EAAE,yBAAyB;YACrC,IAAI,EAAE;gBACJ,IAAI;aACL;SACF,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAChE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAE3B,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;aAC3D;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,IAAI;QACX,QAAQ,IAAI,EAAE;YACZ,KAAK,CAAC;gBACJ,OAAO;oBACL,UAAU,EAAE,YAAY;oBACxB,KAAK,EAAE,OAAO;iBACf,CAAC;YACJ,KAAK,CAAC;gBACJ,OAAO;oBACL,UAAU,EAAE,QAAQ;oBACpB,KAAK,EAAE,OAAO;iBACf,CAAC;YACJ,KAAK,CAAC;gBACJ,OAAO;oBACL,UAAU,EAAE,MAAM;oBAClB,KAAK,EAAE,YAAY;iBACpB,CAAC;YACJ,KAAK,CAAC;gBACJ,OAAO;oBACL,UAAU,EAAE,aAAa;oBACzB,KAAK,EAAE,OAAO;iBACf,CAAC;YACJ,KAAK,CAAC;gBACJ,OAAO;oBACL,UAAU,EAAE,gBAAgB;oBAC5B,KAAK,EAAE,OAAO;iBACf,CAAC;YACJ,KAAK,CAAC;gBACJ,OAAO;oBACL,UAAU,EAAE,YAAY;oBACxB,KAAK,EAAE,OAAO;iBACf,CAAC;YACJ,KAAK,CAAC;gBACJ,OAAO;oBACL,UAAU,EAAE,eAAe;oBAC3B,KAAK,EAAE,OAAO;iBACf,CAAC;YACJ,KAAK,CAAC;gBACJ,OAAO;oBACL,UAAU,EAAE,QAAQ;oBACpB,KAAK,EAAE,OAAO;iBACf,CAAC;YACJ,KAAK,CAAC;gBACJ,OAAO;oBACL,UAAU,EAAE,QAAQ;oBACpB,KAAK,EAAE,OAAO;iBACf,CAAC;YACJ,KAAK,EAAE,CAAC,CAAC;gBACP,OAAO;oBACL,UAAU,EAAE,YAAY;oBACxB,KAAK,EAAE,YAAY;iBACpB,CAAC;aACH;YACD,OAAO,CAAC,CAAC;gBACP,OAAO;oBACL,UAAU,EAAE,WAAW;oBACvB,KAAK,EAAE,OAAO;iBACf,CAAC;aACH;SACF;IACH,CAAC;;0EA1IU,aAAa;6FAAb,aAAa;QCb1B,yEAA4B;QAC1B,wEAAyC;QACvC,qGAA+H;QAE/H,wEAAqB;QACnB,uEAAsH;QAA5D,gIAAS,gBAAY,IAAI,CAAC,IAAC;QACnF,qEAAI;QAAA,uDAAoB;;QAAA,4DAAK;QAC/B,4DAAI;QACN,4DAAK;QACL,wEAAqB;QACnB,uEAAqG;QAA9D,gIAAS,gBAAY,KAAK,CAAC,IAAC;QACjE,sEAAI;QAAA,wDAA6B;;QAAA,4DAAK;QACxC,4DAAI;QACN,4DAAK;QACL,6GAEO;QACT,4DAAK;QAEL,0EAAmC;QACjC,2GAOM;QACN,2GAOM;QACN,2GAOM;QACN,+GAIQ;QACR,4GAiBM;QACN,4GAUM;QACR,4DAAM;QACR,4DAAM;;QA7EyG,0DAAc;QAAd,8EAAc;QAIjH,0DAAoB;QAApB,yIAAoB;QAKpB,0DAA6B;QAA7B,mJAA6B;QAG+E,0DAAqB;QAArB,qFAAqB;QAM3G,0DAAoC;QAApC,wGAAoC;QAQpC,0DAA4E;QAA5E,wJAA4E;QAQ5E,0DAAiF;QAAjF,6JAAiF;QAQjE,0DAAmB;QAAnB,mFAAmB;QAK3D,0DAA0D;QAA1D,oIAA0D;QAkB1D,0DAA6D;QAA7D,uIAA6D;;;;;;;;;;;;;;AC9DvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2D;AACA;AAC1B;;;;;;;;;;;;;;;;;ICO/B,kFAAoF;;;IAW9E,gFAAkF;IAChF,uDAAwF;IAAA,4DAAY;;;;IADjD,iGAA4B;IAC/E,0DAAwF;IAAxF,uLAAwF;;ADZ3F,MAAM,kBAAkB;IA8B7B,YACU,IAAgB,EACQ,IAAY,EACrC,SAA2B,EAC1B,cAAiC;QAHjC,SAAI,GAAJ,IAAI,CAAY;QACQ,SAAI,GAAJ,IAAI,CAAQ;QACrC,cAAS,GAAT,SAAS,CAAkB;QAC1B,mBAAc,GAAd,cAAc,CAAmB;QAjC3C,UAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QAGnB,aAAQ,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACxE,WAAM,GAAS,IAAI,IAAI,EAAE,CAAC;QAC1B,iBAAY,GAAG,GAAG,CAAC;QAInB,sBAAiB,GAAY,KAAK,CAAC;QA0BjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAc,CAAC;QACxE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;YACvD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC9C;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;SACpD;IACH,CAAC;IA3BD,WAAW,CAAC,IAAI;QACd,8CAA8C;QAC9C,gDAAgD;QAChD,MAAM;QACN,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAChD,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,aAAa,CAAC,QAAQ;QACpB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IACpC,CAAC;IAgBD,oBAAoB;QAClB,IAAI,IAAI,GAAG,mCAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,EAAE,GAAG,mCAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QAExC,aAAa;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,GAAG,wEAAY,CAAC,aAAa,8CAA8C,IAAI,WAAW,EAAE,aAAa,IAAI,CAAC,YAAY,UAAU,OAAO,SAAS,IAAI,iBAAiB,IAAI,CAAC,cAAc,EAAE,CAC/L,CAAC;IACJ,CAAC;IAED,YAAY;QACV,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5C,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;gBAC1B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;aACnC;YAED,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;gBAC1B,MAAM,CAAC,IAAI,CAAC,wEAAY,CAAC,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;aACpE;YACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,KAAW,CAAC;;oFAzET,kBAAkB,oMAgCnB,wEAAe;kGAhCd,kBAAkB;;QCd/B,yEAA2E;QACzE,sEAAK;QAAA,uDAA6B;;QAAA,4DAAM;QAExC,sEAAK;QACH,4EAA4I;QAC1I,8EAAmC;QAAA,oEAAS;QAAA,4DAAW;QACzD,4DAAS;QACT,4EAA6D;QAC3D,8EAAmC;QAAA,iEAAK;QAAA,4DAAW;QACrD,4DAAS;QACX,4DAAM;QACR,4DAAM;QAEN,2EAAgC;QAC9B,0IAAoF;QACpF,0EAAqE;QACnE,sEAAI;QAAA,wDAA6B;;QAAA,4DAAK;QACxC,4DAAM;QACN,iEAAI;QAGJ,0EAAwD;QACtD,0EAAmB;QACjB,4EAAsD;QAAA,wDAA+B;;QAAA,4DAAQ;QAC7F,iFAAgG;QAArF,mMAA4B;QACrC,6HACsG;QACxG,4DAAY;QAEd,4DAAM;QAEN,2EAAkE;QAChE,mGAAsG;QAAzD,+MAA0B;QACrE,yFAA6B;QAC3B,4EAAuC;QAAA,wDAAmB;;QAAA,4DAAO;QACnE,4DAAoB;QACpB,yFAA6B;QAC3B,4EAAuC;QAAC,wDAAmB;;QAAA,4DAAO;QACpE,4DAAoB;QACpB,yFAA8B;QAC5B,4EAAuC;QAAA,wDAAqB;;QAAA,4DAAO;QACrE,4DAAoB;QACtB,4DAA0B;QAC5B,4DAAM;QACR,4DAAM;QAEN,2EAAmD;QACjD,0EAAmB;QACjB,4EAAuD;QAAA,wDAAyB;;QAAA,4DAAQ;QAExF,6EAAqH;QAA9G,uRAAS,UAAiB,IAAC;QAAlC,4DAAqH;QACrH,uFAA6C;QAC/C,4DAAM;QACN,0EAAmB;QACjB,4EAAsD;QAAA,wDAAuB;;QAAA,4DAAQ;QAErF,6EAA+G;QAAxG,uRAAS,UAAe,IAAC;QAAhC,4DAA+G;QAC/G,uFAA2C;QAC7C,4DAAM;QACR,4DAAM;QACN,iEAAI;QACJ,iEAAI;QACJ,2EAA+C;QAC7C,8EAAwF;QAAxD,2IAAS,kBAAc,IAAC;QACtD,wDACF;;QAAA,4DAAS;QAET,2EAAqD;QACnD,wDACF;QAAA,4DAAM;QAER,4DAAM;QACN,iEAAI;QACN,4DAAO;;;;QAxEA,0DAA6B;QAA7B,kJAA6B;QAaM,2DAAuB;QAAvB,uFAAuB;QAEzD,0DAA6B;QAA7B,mJAA6B;QAOuB,0DAA+B;QAA/B,oJAA+B;QAC1E,0DAA4B;QAA5B,uFAA4B;QACV,0DAAW;QAAX,gFAAW;QAOK,0DAA0B;QAA1B,qFAA0B;QAE5B,0DAAmB;QAAnB,yIAAmB;QAGlB,0DAAmB;QAAnB,mJAAmB;QAGpB,0DAAqB;QAArB,2IAAqB;QAQT,0DAAyB;QAAzB,+IAAyB;QAEf,0DAAsB;QAAtB,iFAAsB;QAIjC,0DAAuB;QAAvB,6IAAuB;QAEd,0DAAoB;QAApB,+EAAoB;QAO5B,0DAA8B;QAA9B,2FAA8B;QACrF,0DACF;QADE,wJACF;QAGE,0DACF;QADE,2FACF;;;;;;;;;;;;;;ACnEJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyE;;;;;;;ICFoB,uEAA2B;IAAA,uDAAwB;IAAA,4DAAO;;;IAA/B,0DAAwB;IAAxB,kIAAwB;;;IAQpI,yEACgD;IAAA,uDAA0B;;IAAA,4DAAK;;IAA/B,0DAA0B;IAA1B,6IAA0B;;;IAC1E,yEACgD;IAAA,uDAA2B;;IAAA,4DAAK;;IAAhC,0DAA2B;IAA3B,8IAA2B;;;IAEzE,2EAAmD;IAAC,uDAAuB;;IAAA,4DAAO;;IAA9B,0DAAuB;IAAvB,oJAAuB;;;IAC5E,uEAAwC;IAAC,uDAAqB;;IAAA,4DAAO;;IAA5B,0DAAqB;IAArB,kJAAqB;;;IAC9D,uEAAqC;IAAC,uDAAyB;;IAAA,4DAAO;;IAAhC,0DAAyB;IAAzB,sJAAyB;;;IAH/D,yEAAmI;IAAA,uDAClI;;IAAA,2IAAkF;IACnF,0IAAqE;IACrE,0IAAsE;IAAA,4DAAK;;;IAHwD,0DAClI;IADkI,sJAClI;IAAO,0DAAiC;IAAjC,gGAAiC;IAClC,0DAA+B;IAA/B,8FAA+B;IAC/B,0DAA4B;IAA5B,2FAA4B;;;IAItC,wEAA+D;IAC/D,uDAAiG;;IAAA,4DAAI;;;;IAArG,0DAAiG;IAAjG,6OAAiG;;;IACjG,wEAAmE;IACnE,uDAA8G;;IAAA,4DAAI;;;;IAAlH,0DAA8G;IAA9G,0PAA8G;;;IAC9G,wEAAiD;IAC/C,uDAAuK;;;IAAA,4DAAI;;;;IAA3K,0DAAuK;IAAvK,kXAAuK;;;IAErK,uEAAwC;IAAA,uDAAsD;;;IAAA,4DAAO;;;IAA7D,0DAAsD;IAAtD,+OAAsD;;;IAC9F,uEAA0C;IAAC,uDAAmD;;IAAA,4DAAO;;;IAA1D,0DAAmD;IAAnD,oLAAmD;;;IAFhG,wEAAiF;IAC/E,0IAAqG;IACrG,0IAAqG;IAAA,4DAAI;;;IADlG,0DAA+B;IAA/B,8FAA+B;IAC/B,0DAAiC;IAAjC,gGAAiC;;;IACxC,wEAAqC;IAAA,uDAA+B;IAAA,4DAAI;;;IAAnC,0DAA+B;IAA/B,0GAA+B;;;IACpE,wEAAmD;IAAA,uDAAiB;IAAA,4DAAI;;;IAArB,0DAAiB;IAAjB,iFAAiB;;;;;IA1B9E,sEAA2D;IACzD,yEAAyG;IACvG,yEAAqB;IAAA,qEAAkG;IAAA,4DAAM;IAC7H,0EAAqB;IACnB,0EAAiD;IAC/C,kIAC+E;IAC/E,kIACgF;IAC/E,kIAG2E;IAC5E,wEAAO;IAAA,wDAA+C;;IAAA,4DAAQ;IAChE,4DAAM;IACN,2EAAkD;IAClD,kIACqG;IACrG,kIACkH;IAClH,kIAC6K;IAC3K,kIAE2G;IACzG,kIAAwE;IACxE,kIAAwE;IAC9E,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;;;;;IA7BmD,0DAAmD;IAAnD,iLAAmD;IAC3E,0DAAqE;IAArE,0LAAqE;IAGvF,0DAAqC;IAArC,wGAAqC;IAErC,0DAA4E;IAA5E,yJAA4E;IAE3E,0DAA6E;IAA7E,0JAA6E;IAI5E,0DAA+C;IAA/C,2KAA+C;IAGpD,0DAA4C;IAA5C,8GAA4C;IAE5C,0DAAgD;IAAhD,kHAAgD;IAEhD,0DAA8B;IAA9B,6FAA8B;IAE5B,0DAA8D;IAA9D,gIAA8D;IAG5D,0DAAkB;IAAlB,iFAAkB;IAClB,0DAAmB;IAAnB,kFAAmB;;;IA5BrC,yEAAgE;IAC9D,yEAA2B;IACzB,+HA8BI;IACR,4DAAM;IACN,4DAAM;;;IAhCqB,0DAAqB;IAArB,wFAAqB;;;IAiChD,0EAAwG;IACtG,0EAA+D;IAC7D,sEAA6B;IAC/B,4DAAM;IACN,4DAAM;;;IACR,0EAAuG;IACrG,0EAA6B;IAC3B,0EAAuB;IAErB,qEAAwD;IAExD,0EAAuB;IACrB,qEAAI;IAAC,uDAAgC;;IAAA,4DAAK;IAC5C,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,4DAAM;;IAJK,0DAAgC;IAAhC,8JAAgC;;ADnCtC,MAAM,2BAA2B;IA4BtC,YACkC,IAAY,EACpC,UAAsB,EACvB,SAAoD,EACpD,SAA2B;QAHF,SAAI,GAAJ,IAAI,CAAQ;QACpC,eAAU,GAAV,UAAU,CAAY;QACvB,cAAS,GAAT,SAAS,CAA2C;QACpD,cAAS,GAAT,SAAS,CAAkB;QA5BpC,WAAM,GAAY,KAAK,CAAC;QACxB,sBAAiB,GAAG,IAAI,GAAG,CAAC;YAC1B,CAAC,GAAG,EAAE,OAAO,CAAC;YACd,CAAC,GAAG,EAAE,SAAS,CAAC;YAChB,CAAC,GAAG,EAAE,WAAW,CAAC;YAClB,CAAC,GAAG,EAAE,QAAQ,CAAC;YACf,CAAC,GAAG,EAAE,SAAS,CAAC;YAChB,CAAC,GAAG,EAAE,SAAS,CAAC;YAChB,CAAC,GAAG,EAAE,QAAQ,CAAC;YACf,CAAC,GAAG,EAAE,SAAS,CAAC;YAChB,CAAC,GAAG,EAAE,MAAM,CAAC;YACb,CAAC,GAAG,EAAE,QAAQ,CAAC;YACf,CAAC,GAAG,EAAE,SAAS,CAAC;YAChB,CAAC,GAAG,EAAE,QAAQ,CAAC;YACf,CAAC,GAAG,EAAE,SAAS,CAAC;YAChB,CAAC,GAAG,EAAE,SAAS,CAAC;YAChB,CAAC,GAAG,EAAE,QAAQ,CAAC;YACf,CAAC,GAAG,EAAE,QAAQ,CAAC;YACf,CAAC,GAAG,EAAE,QAAQ,CAAC;YACf,CAAC,GAAG,EAAE,QAAQ,CAAC;YACf,CAAC,GAAG,EAAE,SAAS,CAAC;YAChB,CAAC,GAAG,EAAE,MAAM,CAAC;SACd,CAAC,CAAC;QAQD,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE;YAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;SACvC;IACH,CAAC;IAED,QAAQ,KAAU,CAAC;IAEnB,YAAY,CAAC,WAAW;QACtB,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YAEnB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YAEjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kBAAkB,CAAC,aAAa;QAC9B,IAAI,aAAa,EAAE;YACjB,IAAI,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAChE,OAAO,eAAe,CAAC;SACxB;IACH,CAAC;IACD,WAAW;QACT,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,gBAAgB,CAAC,MAAM;QACrB,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,IAAI,CAAC,EAAE;YAC9C,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;;sGAlEU,2BAA2B,kEA6B5B,wEAAe;2GA7Bd,2BAA2B;QCbxC,wEAA+D;QAAA,uDAA8B;;QAAA,yHAA0D;QAAA,4DAAK;QAC5J,uHAkCM;QACN,uHAIQ;QACR,uHAWQ;;QApDuD,0DAA8B;QAA9B,2JAA8B;QAAO,0DAAkB;QAAlB,kFAAkB;QAChH,0DAAkB;QAAlB,kFAAkB;QAmCjB,0DAAsC;QAAtC,0GAAsC;QAKtC,0DAAqC;QAArC,yGAAqC;;;;;;;;;;;;;;ACvC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKwB;AAKO;AACyC;;;;;;;;;;;ICHR,4EACpB;IAAA,uDAAiC;;IAAA,4DAAQ;;IAAzC,0DAAiC;IAAjC,oJAAiC;;;IAAQ,4EACvC;IAAA,uDAA+B;;IAAA,4DAAQ;;IAAvC,0DAA+B;IAA/B,kJAA+B;;;IAAQ,4EACvC;IAAA,uDAAgC;;IAAA,4DAAQ;;IAAxC,0DAAgC;IAAhC,mJAAgC;;;;IAiBpD,wEACsC;IADZ,uVAAwC;IAC5B,4DAAI;;;;IAC1C,wEAC4C;IADnB,2VAAwC;IACrB,4DAAI;;;IAGpD,4EACsI;IACpI,uDACF;;IAAA,4DAAQ;;IADN,0DACF;IADE,uKACF;;;;IAlBN,yEAA+C;IAC7C,0EAAsB;IACpB,0EAAoC;IAClC,4EAAqB;IAAA,uDAAiC;;IAAA,4DAAQ;IAC9D,0EAAyB;IACvB,uEAEyD;IACzD,0EAAiC;IAC/B,uHAC0C;IAC1C,yHACgD;IAClD,4DAAM;IACR,4DAAM;IACN,iIAGQ;IACR,iEAAI;IACJ,8EAE8B;IADoD,2TAAgB;IACpE,wDAAqB;;IAAA,oEAC0B;IAAA,4DAAS;IACxF,4DAAM;IACR,4DAAM;IACN,2EAAsB;IACpB,sEAAkF;IACpF,4DAAM;IACR,4DAAM;;;IA1BqB,0DAAiC;IAAjC,oJAAiC;IAE7C,0DAA4C;IAA5C,4GAA4C;IAI7C,0DAAoB;IAApB,uFAAoB;IAEpB,0DAAmB;IAAnB,sFAAmB;IAKxB,0DAAiI;IAAjI,2MAAiI;IAKlI,0DAA+E;IAA/E,+IAA+E;IACnD,0DAAqB;IAArB,oJAAqB;IAC/C,0DAAoE;IAApE,qIAAoE;;;;IAkBlE,wEACsC;IADZ,2VAAwC;IAC5B,4DAAI;;;;IAC1C,wEAC4C;IADnB,2VAAwC;IACrB,4DAAI;;;IAGpD,4EACwI;IACtI,uDACF;;IAAA,4DAAQ;;IADN,0DACF;IADE,gKACF;;;;IASI,wEACsC;IADZ,2VAAwC;IAC5B,4DAAI;;;;IAC1C,wEAC4C;IADnB,2VAAwC;IACrB,4DAAI;;;IAGpD,4EAC4I;IAC1I,uDACF;;IAAA,4DAAQ;;IADN,0DACF;IADE,gKACF;;;IACA,4EACkK;IAChK,uDACF;;IAAA,4DAAQ;;IADN,0DACF;IADE,6JACF;;;;IA1CR,sEAAmC;IACjC,0EAA4C;IAC1C,0EAAsB;IACpB,gEAAI;IACJ,0EAAwC;IACtC,4EAAqB;IAAA,uDAA6B;;IAAA,4DAAQ;IAC1D,0EAAyB;IACvB,uEAEmJ;IACnJ,2EAAiC;IAC/B,yHAC0C;IAC1C,yHACgD;IAClD,4DAAM;IACR,4DAAM;IACN,iIAGQ;IACV,4DAAM;IACN,2EAAwC;IACtC,6EAAoB;IAAA,wDAA4B;;IAAA,4DAAQ;IACxD,2EAAyB;IACvB,wEAE4D;IAC5D,2EAAiC;IAC/B,yHAC0C;IAC1C,yHACgD;IAClD,4DAAM;IACR,4DAAM;IACN,iIAGQ;IACR,iIAGQ;IACV,4DAAM;IACR,4DAAM;IACN,2EAAgD;IAC9C,kGAC+F;IACjG,4DAAM;IACR,4DAAM;IACN,iEAAI;IAEJ,2EAA4C;IAC1C,8EAAiG;IAA3E,2TAAgB;IAA2D,oEACpB;IAAC,wDAAwB;;IAAA,4DAAS;IAC/G,8EAE2C;IAAzC,2TAAgB;IAAyB,wDAAqB;;IAAA,oEACa;IAAA,4DAAS;IACxF,4DAAM;IACR,4DAAM;;;IAvDuB,0DAA6B;IAA7B,iJAA6B;IAEzC,0DAA4C;IAA5C,4GAA4C;IAI7C,0DAAoB;IAApB,uFAAoB;IAEpB,0DAAmB;IAAnB,sFAAmB;IAKxB,0DAAmI;IAAnI,6MAAmI;IAKlH,0DAA4B;IAA5B,iJAA4B;IAEvC,0DAA4C;IAA5C,4GAA4C;IAI7C,0DAAoB;IAApB,uFAAoB;IAEpB,0DAAmB;IAAnB,sFAAmB;IAKxB,0DAAuI;IAAvI,iNAAuI;IAIvI,0DAA6J;IAA7J,uOAA6J;IAOhK,0DAA0D;IAA1D,0HAA0D;IAMvB,0DAAiC;IAAjC,iGAAiC;IACpE,0DAAoE;IAApE,qIAAoE;IAAM,0DAAwB;IAAxB,wJAAwB;IAEpG,0DAAwH;IAAxH,8LAAwH;IAC/E,0DAAqB;IAArB,oJAAqB;IAC5D,0DAAoE;IAApE,qIAAoE;;;;IAalE,wEACsC;IADZ,0VAAwC;IAC5B,4DAAI;;;;IAC1C,wEAC4C;IADnB,2VAAwC;IACrB,4DAAI;;;IAGpD,4EAC0I;IACxI,uDACF;;IAAA,4DAAQ;;IADN,0DACF;IADE,gKACF;;;IACA,4EACyI;IACvI,uDACF;;IAAA,4DAAQ;;IADN,0DACF;IADE,gKACF;;;IACA,4EAC2I;IACzI,uDACF;;IAAA,4DAAQ;;IADN,0DACF;IADE,qJACF;;;IACA,4EAC2I;IACzI,uDACF;;IAAA,4DAAQ;;IADN,0DACF;IADE,qJACF;;;;IASI,wEACsC;IADZ,2VAAwC;IAC5B,4DAAI;;;;IAC1C,wEAC4C;IADnB,2VAAwC;IACrB,4DAAI;;;IAGpD,4EAC8I;IAC5I,uDACF;;IAAA,4DAAQ;;IADN,0DACF;IADE,gKACF;;;IACA,4EAC6I;IAC3I,uDACF;;IAAA,4DAAQ;;IADN,0DACF;IADE,gKACF;;;IACA,4EACoK;IAClK,uDACF;;IAAA,4DAAQ;;IADN,0DACF;IADE,6JACF;;;;IAxDN,yEAA+C;IAC7C,0EAAsB;IACpB,0EAAwC;IACtC,4EAAoB;IAAA,uDAA6B;;IAAA,4DAAQ;IACzD,0EAAyB;IACvB,uEAE2D;IAC3D,0EAAiC;IAC/B,uHAC0C;IAC1C,yHACgD;IAClD,4DAAM;IACR,4DAAM;IACN,iIAGQ;IACR,iIAGQ;IACR,iIAGQ;IACR,iIAGQ;IACV,4DAAM;IACN,2EAAwC;IACtC,6EAAoB;IAAA,wDAA4B;;IAAA,4DAAQ;IACxD,2EAAyB;IACvB,wEAE6D;IAC7D,2EAAiC;IAC/B,yHAC0C;IAC1C,yHACgD;IAClD,4DAAM;IACR,4DAAM;IACN,iIAGQ;IACR,iIAGQ;IACR,iIAGQ;IACV,4DAAM;IACN,iEAAI;IACJ,2EAA4C;IAC1C,8EAA+D;IAAzC,2TAAgB;IAAyB,oEACc;IAAC,wDAAwB;;IAAA,4DAAS;IAC/G,8EAE0B;IAFJ,+TAAoB;IAEhB,wDAAuB;;IAAA,4DAAS;IAC5D,4DAAM;IACR,4DAAM;IACN,2EAAsB;IACpB,sEAAyE;IAC3E,4DAAM;IAER,4DAAM;;;IApEoB,0DAA6B;IAA7B,iJAA6B;IAExC,0DAA4C;IAA5C,4GAA4C;IAI7C,0DAAoB;IAApB,uFAAoB;IAEpB,0DAAmB;IAAnB,sFAAmB;IAKxB,0DAAqI;IAArI,+MAAqI;IAIrI,0DAAoI;IAApI,8MAAoI;IAIpI,0DAAsI;IAAtI,gNAAsI;IAItI,0DAAsI;IAAtI,gNAAsI;IAKrH,0DAA4B;IAA5B,iJAA4B;IAEvC,0DAA4C;IAA5C,4GAA4C;IAI7C,0DAAoB;IAApB,uFAAoB;IAEpB,0DAAmB;IAAnB,sFAAmB;IAKxB,0DAAyI;IAAzI,mNAAyI;IAIzI,0DAAwI;IAAxI,kNAAwI;IAIxI,0DAA+J;IAA/J,yOAA+J;IAO9J,0DAAoE;IAApE,qIAAoE;IAAM,0DAAwB;IAAxB,wJAAwB;IAEpG,0DAAoE;IAApE,2IAAoE;IAC5C,0DAAuB;IAAvB,4IAAuB;;AD3JhE,MAAM,uBAAuB;IAOlC,YACU,kBAAsC,EACtC,SAA2B,EAC3B,UAA0B,EAC1B,KAAqB,EACrB,MAAc,EACd,UAAsB;QALtB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,cAAS,GAAT,SAAS,CAAkB;QAC3B,eAAU,GAAV,UAAU,CAAgB;QAC1B,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAY;QAZhC,kBAAa,GAAkB,EAAmB,CAAC;QAGlD,kBAAa,GAAY,KAAK,CAAC;QAC/B,kBAAa,GAAY,KAAK,CAAC;IAS7B,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW;QACtC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,wDAAS,CACpC;YACE,eAAe,EAAE,IAAI,0DAAW,CAC9B,IAAI,EACJ,yDAAU,CAAC,OAAO,CAAC;gBACjB,kDAAkD;gBAClD,yDAAU,CAAC,QAAQ;aACpB,CAAC,CACH;YACD,gBAAgB,EAAE,IAAI,0DAAW,CAC/B,IAAI,EACJ,yDAAU,CAAC,OAAO,CAAC;gBACjB,yDAAU,CAAC,QAAQ;gBACnB,kDAAkD;gBAClD,mFAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE;oBACtC,SAAS,EAAE,IAAI;iBAChB,CAAC;gBACF,2DAA2D;gBAC3D,mFAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE;oBACzC,cAAc,EAAE,IAAI;iBACrB,CAAC;gBACF,6DAA6D;gBAC7D,mFAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE;oBACzC,YAAY,EAAE,IAAI;iBACnB,CAAC;gBACF,6DAA6D;gBAC7D,mFAAgB,CAAC,gBAAgB,CAC/B,wCAAwC,EACxC;oBACE,oBAAoB,EAAE,IAAI;iBAC3B,CACF;gBACD,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACxB,CAAC,CACH;YACD,kBAAkB,EAAE,IAAI,0DAAW,CACjC,IAAI,EACJ,yDAAU,CAAC,OAAO,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAC1C;YACD,iBAAiB,EAAE,IAAI,0DAAW,CAChC,IAAI,EACJ,yDAAU,CAAC,OAAO,CAAC;gBACjB,kDAAkD;gBAElD,yDAAU,CAAC,QAAQ;gBACnB,yDAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBACpC,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACvB,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACxB,CAAC,CACH;YACD,mBAAmB,EAAE,IAAI,0DAAW,CAClC,IAAI,EACJ,yDAAU,CAAC,OAAO,CAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAC1C;SACF,EACD;YACE,mFAAgB,CAAC,2BAA+C;YAChE,mFAAgB,CAAC,4BAAgD;SAClE,CACF,CAAC;IAEJ,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;QAC/F,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,CAAC;QAClF,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC5E,IAAI,CAAC,aAAa,CAAC,cAAc;YAC/B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACjD,IAAI,CAAC,kBAAkB;aACpB,OAAO,CAAC,iBAAiB,CAAC;aAC1B,SAAS,CAAC,CAAC,KAAa,EAAE,EAAE;YAC3B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAC1D,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,MAAW,CAAC;gBAChB,MAAM,GAAG,GAAG;gBACX,IAAG,MAAM,CAAC,SAAS,IAAI,IAAI,EAAC;oBAE5B,kDAAI,CAAC,IAAI,CAAC;wBACR,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC;wBACjD,iBAAiB,EAAE,KAAK;wBACxB,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAC;oBACH,IAAI,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAClD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;wBAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;wBACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACnC,CAAC,CAAC;iBACD;qBAAI;oBACH,kDAAI,CAAC,IAAI,CAAC;wBACR,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC;wBACpD,iBAAiB,EAAE,KAAK;wBACxB,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAC;iBACJ;YACH,CAAC,EACF,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;gBAC9B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBACzB,kDAAI,CAAC,IAAI,CAAC;oBACR,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAC/C,iBAAiB,EAAE,KAAK;oBACxB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IACD,IAAI;QACF,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,IAAI;QACF,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;IAC5B,CAAC;;8FA9IU,uBAAuB;uGAAvB,uBAAuB;QCnBpC,yEAA4B;QAC1B,yEAAiB;QACf,yEAAwC;QACtC,yEAA0E;QACxE,yEAAkC;QAChC,yEAAiD;QAC/C,oEAA0D;QAC1D,wEAAiB;QAAA,uDAAmC;;QAAA,yHACqB;QAAA,yHACA;QAAA,yHACC;QAC1E,4DAAK;QACP,4DAAM;QACN,iEAAI;QACJ,0EAAiC;QAC/B,4EAAsC;QACpC,2EAAwB;QAEtB,wHA6BM;QACN,wHA4DM;QAEN,wHAuEM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAER,4DAAM;QA7LR,4DAA4B;;QAOC,0DAAmC;QAAnC,+JAAmC;QAAQ,0DAA2B;QAA3B,2FAA2B;QAElF,0DAA2B;QAA3B,2FAA2B;QAC3B,0DAA2B;QAA3B,2FAA2B;QAK1B,0DAA+B;QAA/B,4FAA+B;QAGf,0DAA2B;QAA3B,2FAA2B;QA8BvC,0DAA2B;QAA3B,2FAA2B;QA8Df,0DAA2B;QAA3B,2FAA2B;;;;;;;;;;;;;;ACnD7D;AAAA;AAAA,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,6CAAQ;IACR,+CAAS;IACT,kDAAY;AAChB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;;;;;;;;;;;;;AC3BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2B;AAc8C;AAEnB;AACR;;;;;AAQvC,MAAM,sBAAsB;IAI/B,YAAoB,QAAoB,EAC5B,aAA6B,EAC7B,aAAuC;QAF/B,aAAQ,GAAR,QAAQ,CAAY;QAC5B,kBAAa,GAAb,aAAa,CAAgB;QAC7B,kBAAa,GAAb,aAAa,CAA0B;IAChD,CAAC;IAEJ,gBAAgB,CAAC,UAAkB;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,iBAAiB,CAAC,UAAkB;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,iBAAiB,CAAC,UAAkB;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAC,EAAE,CAAC,CAAC,oCAAmC;IAC3F,CAAC;IAED,cAAc,CAAC,UAAkB;QAC/B,MAAM,eAAe,GAAG,IAAI,uEAAoB,EAAE;aAC/C,OAAO,CAAC,iEAAY,CAAC,UAAU,GAAG,cAAc,EAAE;YACjD,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,oEAAyB,CAAC,UAAU;SAChD,CAAC;aACD,KAAK,EAAE,CAAC;QAEX,OAAO,eAAe,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACvC,OAAO,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC/D,OAAO,eAAe,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,UAAyB;QAC7C,IAAI,UAAU;YAAE,UAAU,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;IACD,iBAAiB;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC3C,CAAC;IAED,uBAAuB,CAAC,cAA6B,EAAE,QAAuC;QAC5F,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAChD,IAAI,cAAc,EAAE;gBAClB,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACpB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;oBAC9C,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,KAAmB,EAAE,cAA6B;QAClE,IAAI,KAAK,IAAI,cAAc,EAAE;YAC3B,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1F,IAAI,aAAa,EAAE;gBACjB,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;gBAChD,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;gBAChD,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;aAC1C;SACF;IACH,CAAC;IAED,cAAc;;QACZ,aAAO,IAAI,CAAC,aAAa,CAAC,WAAW,0CAAE,QAAQ,GAAG;IACpD,CAAC;IAED,sBAAsB,CAAC,QAAwC;QAC7D,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAChD,QAAQ,CAAC,GAAoB,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB,CAAC,UAAkB;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,wBAAwB,CAAC,UAAkB;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED,uBAAuB,CAAC,UAAkB,EAAC,SAAe,EAAE,OAAa;QACvE,IAAI,UAAU,EAAE;YACd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,iEAAY,CAAC,OAAO,GAAG,4BAA4B,EACnD;gBACE,UAAU,EAAE,UAAU;gBACtB,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,OAAO;aAChB,CACF,CAAC;SACH;IACH,CAAC;;4FAjGM,sBAAsB;yGAAtB,sBAAsB,WAAtB,sBAAsB,mBAHnB,MAAM;;;;;;;;;;;;;ACzDtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoE;AAKG;AAGxC;AACiC;AAM3C;AACsC;;;;;;;;;;;;;;;ICLjD,qEAAkH;;;IAClH,qEAAkH;;;IA2BhH,sEAAwC;IAAA,uDAAiC;;IAAA,4DAAM;;IAAvC,0DAAiC;IAAjC,qJAAiC;;;IAD3E,0EAAqE;IACnE,qHAA+E;IACjF,4DAAM;;;IADE,0DAAgC;IAAhC,mGAAgC;;;IAWtC,sEAAwC;IAAA,uDAAiC;;IAAA,4DAAM;;IAAvC,0DAAiC;IAAjC,qJAAiC;;;IAD3E,0EAAqE;IACnE,qHAA+E;IACjF,4DAAM;;;IADE,0DAAgC;IAAhC,mGAAgC;;;IAgBxC,sEAA2E;;;;;ADxC9E,MAAM,iBAAiB;IAkB5B,YACU,WAAwB,EACxB,YAA0B,EAC1B,OAAgB,EAChB,MAAiB,EAClB,SAA2B,EAC1B,UAA0B,EAC1B,kBAAsC,EACtC,WAA4B,EAC5B,UAAsB;QARtB,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAW;QAClB,cAAS,GAAT,SAAS,CAAkB;QAC1B,eAAU,GAAV,UAAU,CAAgB;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,gBAAW,GAAX,WAAW,CAAiB;QAC5B,eAAU,GAAV,UAAU,CAAY;QAvBhC,kBAAa,GAAkB,EAAmB,CAAC;QAGnD,YAAO,GAAG,KAAK,CAAC;QAChB,cAAS,GAAG,KAAK,CAAC;QAClB,eAAU,GAAY,KAAK,CAAC;QAE5B,iBAAY,GAAG,KAAK,CAAC;QACrB,cAAS,GAAG,KAAK,CAAC;QAElB,mBAAc,GAAG,6EAAW,CAAC,OAAO,CAAC;QAGrC,WAAM,GAAG,wEAAY,CAAC,MAAM,CAAC;IAWzB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACjC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACjD,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5B,CAAC;IACD,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,EAAE;YACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACjC;QACD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,yBAAyB;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAE1B,+BAA+B;QAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACrB,OAAO;SACR;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACnB,IAAI,CAAC,kBAAkB;iBACpB,OAAO,CAAC,iBAAiB,CAAC;iBAC1B,SAAS,CAAC,CAAC,KAAa,EAAE,EAAE;gBAC3B,IAAI,CAAC,UAAU;qBACZ,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;qBACvD,SAAS,CACR,CAAC,GAAG,EAAE,EAAE;oBACN,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBAErB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;oBACf,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAE1C,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC1D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;oBACN,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,kDAAI,CAAC,IAAI,CAAC;wBACR,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC;wBACjD,iBAAiB,EAAE,KAAK;wBACxB,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAC;gBACL,CAAC,CACF,CAAC;YACN,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,oBAAoB;QAClB,IAAI,MAAM,GAAyB,IAAI,gEAAoB,EAAE,CAAC;QAC9D,MAAM,CAAC,GAAG,GAAG,wEAAY,CAAC,aAAa,CAAC;QACxC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QAEvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACxB,uBAAuB;YACvB,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CACtB,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,EACxC,QAAQ,CACT,CAAC;YAEF,IAAI,MAAM,GAAG,IAAI,kEAAsB,CAAM,UAAU,CAAC,CAAC;YAEzD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1B,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,SAAS,EAAE;oBACzC,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACnB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,kBAAkB;aACpB,OAAO,CAAC,iBAAiB,CAAC;aAC1B,SAAS,CAAC,CAAC,KAAa,EAAE,EAAE;YAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnE,kDAAI,CAAC,IAAI,CAAC;oBACR,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;oBAC3C,iBAAiB,EAAE,KAAK;oBACxB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACD,cAAc;QACZ,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBACvC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;aACvD,CAAC,CAAC;SACJ;IACH,CAAC;IAED,IAAI,CAAC,IAAI;QACP,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oFAAa,EAAE;YAChD,sBAAsB;YACtB,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;IACD,WAAW;QACT,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;SAClC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,sBAAsB,CAC7C,kBAAkB,CACnB,CAAC,CAAC,CAAgB,CAAC;QACpB,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;SACrC;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE;aACjC,SAAS,CACR,CAAC,IAAqB,EAAE,EAAE;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,CACF;IACL,CAAC;IAED,IAAI,aAAa;QACf,OAAO,wEAAY,CAAC,aAAa,CAAC;IACpC,CAAC;;kFA3LU,iBAAiB;iGAAjB,iBAAiB;QC9B9B,yEAA2B;QAEzB,oEAA8D;QAC9D,yEAA2E;QAKzE,yEAAkD;QAChD,yEAA8C;QAC5C,yEAA6C;QAC3C,uEAAmE;QAAA,kEAA+B;QAAA,4DAAI;QACtG,uEAA8D;QAA3D,oIAAS,oBAAgB,IAAC;QAAiC,gEAAK;QAAA,4DAAI;QACzE,4DAAM;QACN,6EAA+C;QAAvB,0IAAS,gBAAY,IAAC;QAC5C,gHAAkH;QAClH,gHAAkH;QACpH,4DAAS;QACX,4DAAM;QAER,4DAAM;QAEN,2EAA8B;QAC5B,sEAAiC;QACnC,4DAAM;QAEN,2EAAiC;QAI/B,iEAAI;QACJ,4EAAiD;QAAxB,8IAAY,cAAU,IAAC;QAE9C,2EAA8B;QAC5B,2EAAiC;QAE/B,yEAA+C;QAC7C,gFAAwD;QAAA,kEAAM;QAAA,4DAAW;QAC3E,4DAAI;QAEN,4DAAM;QACN,wEAAmL;;QACnL,gHAEM;QACR,4DAAM;QAEN,2EAA8B;QAC5B,yEAA+C;QAC7C,gFAAwD;QAAA,gEAAI;QAAA,4DAAW;QACzE,4DAAI;QAEJ,wEAAqL;;QACrL,gHAEM;QACR,4DAAM;QAEN,2EAAiF;QAC/E,6EAAyD;QACvD,6EAAkG;QAA9E,yLAAuB;QAA3C,4DAAkG;QAClG,wDACF;;QAAA,4DAAQ;QACR,6EAAgC;QAC9B,yEAA4D;QAAA,wDAA+B;;QAAA,4DAAI;QACjG,4DAAQ;QACV,4DAAM;QACN,iEAAI;QAEJ,8EAA8H;QAC5H,kHAA2E;QAC3E,wDACF;;QAAA,4DAAS;QAET,2EAA0D;QACxD,2EAA4E;QAC1E,6EAAyB;QAAA,wDAAyB;;QAAA,4DAAQ;QAC1D,2EAA2C;QACzC,yEAA0E;QACxE,oEACI;QACN,4DAAI;QACJ,yEAAyE;QACvE,oEAA2D;QAC7D,4DAAI;QACJ,yEAAyE;QACvE,oEAA2D;QAC7D,4DAAI;QACN,4DAAM;QACR,4DAAM;QACN,2EAAqH;QACnH,6EAA8E;QAAA,wDAAiB;QAAA,4DAAQ;QACvG,6EAAgC;QAAA,wDAAuB;;QAAA,4DAAQ;QACjE,4DAAM;QAER,4DAAM;QACR,4DAAO;QACP,iEAAI;QAEN,4DAAM;QACR,4DAAM;QACN,2EAAqB;QAAA,wDAAkB;QAAA,4DAAM;QAC/C,4DAAM;;QAvFkF,2DAAkC;QAAlC,mGAAkC;QAClC,0DAAkC;QAAlC,mGAAkC;QAe9G,0DAAkB;QAAlB,+EAAkB;QAUsH,0DAAwC;QAAxC,iKAAwC;QAArG,mLAA4D;QACnI,0DAAoC;QAApC,wGAAoC;QAUoG,0DAAsC;QAAtC,iKAAsC;QAAnG,mLAA4D;QACvI,0DAAoC;QAApC,wGAAoC;QAOpB,0DAAuB;QAAvB,kFAAuB;QAC3C,0DACF;QADE,4JACF;QAE8B,0DAA+B;QAA/B,8IAA+B;QAAC,0DAA+B;QAA/B,qJAA+B;QAKvF,0DAAoB;QAApB,iFAAoB;QACnB,0DAAa;QAAb,6EAAa;QACpB,0DACF;QADE,sJACF;QAI6B,0DAAyB;QAAzB,+IAAyB;QAE7B,0DAAsD;QAAtD,sQAAsD;QAItD,0DAAqD;QAArD,qQAAqD;QAGrD,0DAAqD;QAArD,qQAAqD;QAMI,0DAAiB;QAAjB,kFAAiB;QAC/D,0DAAuB;QAAvB,6IAAuB;QAS5C,0DAAkB;QAAlB,mFAAkB;;;;;;;;;;;;;;ACpGzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoF;AAGH;;;;;;;;;;;;;ICMrE,yEAA2I;IACvI,yEAAiF;IAC7E,yEAAmC;IAAA,uDAAiC;;IAAA,4DAAM;IAC1E,0EAA0B;IAAA,uDAAuC;;IAAA,4DAAM;IAC3E,4DAAM;IACN,0EAA6B;IACzB,qEAA8D;IAClE,4DAAM;IAEN,8EAAmE;IAA5B,qUAA2B;IAAC,wDAA2B;;IAAA,4DAAS;IAC3G,4DAAM;;IARqC,0DAAiC;IAAjC,qJAAiC;IAC1C,0DAAuC;IAAvC,oKAAuC;IAMF,0DAA2B;IAA3B,gJAA2B;;;IAoClF,qEAAsE;;;;IAd1E,wEAA+D;IAC3D,0EAAgI;IAArC,qiBAAoC;IAC3H,0EAAoB;IAChB,0EAA8D;IAC1D,qEAAmE;IACvE,4DAAM;IACN,0EAA6B;IACzB,yEAAwC;IAAA,uDAAoD;IAAA,4DAAK;IACjG,yEAA6D;IAAA,uDAAsB;IAAA,4DAAK;IAC5F,4DAAM;IACV,4DAAM;IACN,4EAA+C;IAAA,wDAAsD;IAAA,4DAAO;IAChH,4DAAM;IAEN,6KAAsE;IAC1E,qEAAe;;;;;IARyC,0DAAoD;IAApD,mIAAoD;IAC/B,0DAAsB;IAAtB,gGAAsB;IAG5C,0DAAsD;IAAtD,qIAAsD;IAGnG,0DAA2B;IAA3B,qGAA2B;;;IAhC7C,+EAAyG;;IACrG,0EAA+D;IAC3D,0EAAiE;IAC7D,0EAAqB;IACjB,0EAAoB;IAChB,qEAAkD;IACtD,4DAAM;IACN,2EAAwC;IACpC,oFACJ;IAAA,4DAAO;IACX,4DAAM;IACN,2EAAgD;IAC5C,sMACJ;IAAA,4DAAO;IACX,4DAAM;IACV,4DAAM;IAEN,2EAAqF;IACjF,gLAee;IACnB,4DAAM;IACV,4DAAW;;;IAnC0B,6FAA6B;IAkB3B,2DAAgB;IAAhB,uFAAgB;;;IAgGnD,0EAAkD;IAC9C,0EAA+B;IAC3B,qEAA2B;IAC/B,4DAAM;IACV,4DAAM;;;IA0BU,wEAA4C;IACxC,2EAAqB;IAAA,uDAA4B;;IAAA,4DAAO;IACxD,2EAA+B;IAAA,wEAAa;IAAA,4DAAO;IACvD,qEAAe;;IAFU,0DAA4B;IAA5B,gJAA4B;;;IAGrD,wEAAkD;IAC9C,2EAAsB;IAAA,4EAAiB;IAAA,4DAAO;IAC9C,2EAA+B;IAAA,8DAAG;IAAA,4DAAO;IAC7C,qEAAe;;;IAInB,0EAA6D;IAAA,qEAAU;IAAA,4DAAO;;;IAC9E,0EAAoE;IAAA,mFAAwB;IAAA,4DAAO;;;IA0I3G,wEAAsC;IAClC,0EAAsG;IAClG,qEAAgE;IACpE,4DAAM;IACN,yEAAiF;IAC7E,yEAA8B;IAAA,wEAAa;IAAA,4DAAM;IACjD,0EAA0B;IAAA,qHAA0D;IAAA,4DAAM;IAC9F,4DAAM;IACV,qEAAe;;;IAGP,qEAAwF;;;IAGxF,yEAAsD;IAAA,uDAAyB;;IAAA,4DAAM;;IAA/B,0DAAyB;IAAzB,yIAAyB;;;IALvF,wEAAsC;IAClC,0EAAsG;IAClG,iKAAwF;IAC5F,4DAAM;IACN,yEAAiF;IAC7E,iKAAqF;IACrF,0EAA0B;IAAA,qHAA0D;IAAA,4DAAM;IAC9F,4DAAM;IACV,qEAAe;;;IAND,0DAAqB;IAArB,2FAAqB;IAGrB,0DAAqB;IAArB,2FAAqB;;;;;;;;;;IArT/C,iGAA4E;IACxE,2JAmCW;IA2EX,+EAGiD;;;IAC7C,gJAIM;IACN,0EAAwC;IACpC,0EAAyK;IACrK,0EAAqB;IACjB,2EAA8D;IAC1D,sEAA2D;IAC/D,4DAAM;IACN,2EAA6B;IACzB,0EAAwC;IACpC,4EAA4E;IACxE,wDACJ;;IAAA,4DAAO;IACP,wDACJ;IAAA,4DAAK;IACL,0EAAwC;IAAA,wDAA4E;IAAA,4DAAK;IAC7H,4DAAM;IACV,4DAAM;IACN,2EAAgC;IAC5B,4EAAoE;IAAA,wDAAkF;IAAA,4DAAO;IAC7J,0EAAuE;IAAA,wDAAmC;IAAA,4DAAK;IACnH,4DAAM;IACV,4DAAM;IACN,2EAAkB;IACd,2EAEmG;IAC3F,oKAGe;IACf,oKAGe;IACvB,4DAAM;IAEN,2EAAgE;IAC5D,oJAA8E;IAC9E,oJAAmG;IACnG,4EAAmH;IAAA,+DAAG;IAAA,4DAAO;IACjI,4DAAM;IACN,2EAA8C;IAC1C,4EAEyC;IACrC,uEACJ;IAAA,4DAAO;IACP,wEAA0F;IAC9F,4DAAM;IAEN,2EAAsB;IAClB,2EAAoE;IAChE,2EAAoB;IAChB,4EAA6B;IAAA,qEAAS;IAAA,4DAAO;IAAC,4EAAqD;IAAC,gEAAG;IAAA,4DAAO;IAClH,4DAAM;IACN,2EAAoB;IAChB,4EAA4B;IAAA,0EAAc;IAAA,4DAAO;IAAC,4EAAqD;IAAC,gFAAqB;IAAA,4DAAO;IACxI,4DAAM;IACV,4DAAM;IACN,2EAAoE;IAChE,2EAAoB;IAChB,4EAA4B;IAAA,uEAAW;IAAA,4DAAO;IAAC,4EAAqD;IAAC,6EAAgB;IAAA,4DAAO;IAChI,4DAAM;IACN,2EAAoB;IAChB,4EAA4B;IAAA,qEAAS;IAAA,4DAAO;IAAC,4EAAqD;IAAC,gEAAG;IAAA,4DAAO;IACjH,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;IAEN,2EAAwD;IACpD,2EAAiE;IAC7D,2EAAqB;IACjB,2EAAoB;IAChB,sEAAqD;IACzD,4DAAM;IACN,4EAAsC;IAClC,oEACJ;IAAA,4DAAO;IACX,4DAAM;IACN,4EAAgD;IAC5C,uKACJ;IAAA,4DAAO;IACX,4DAAM;IACV,4DAAM;IAEN,2EAA8D;IAC1D,8EAAmH;IAA/B,oaAA8B;IAC9G,wDACJ;;IAAA,4DAAS;IACb,4DAAM;IACV,4DAAM;IACV,4DAAW;IAEX,gFAA8C;;IAC1C,2EAAoK;IAChK,2EAAqB;IACjB,2EAA8D;IAC1D,sEAA2D;IAC/D,4DAAM;IACN,2EAA6B;IACzB,0EAAwC;IACpC,4EAA4E;IACxE,wDACJ;;IAAA,4DAAO;IACP,wDACJ;IAAA,4DAAK;IACL,0EAAwC;IAAA,wDAA4E;IAAA,4DAAK;IAC7H,4DAAM;IACV,4DAAM;IACN,2EAAgC;IAC5B,4EAAoE;IAAA,wDAAkF;IAAA,4DAAO;IAC7J,0EAAuE;IAAA,wDAAmC;IAAA,4DAAK;IACnH,4DAAM;IACV,4DAAM;IACN,2EAA6E;IACzE,2EAAqE;IAC7D,2EAAiC;IAAA,kEAAM;IAAA,4DAAO;IAAC,2EAAgC;IAAC,gEAAG;IAAA,4DAAO;IAClG,4DAAM;IACN,2EAAqE;IACjE,4EAAkC;IAAA,qEAAQ;IAAA,4DAAO;IAAC,4EAAgC;IAAC,8EAAgB;IAAA,4DAAO;IAC9G,4DAAM;IACN,4EAAoE;IAC5D,4EAAkC;IAAA,wEAAW;IAAA,4DAAO;IAAC,4EAAgC;IAAC,oEAAM;IAAA,4DAAO;IAC3G,4DAAM;IACN,4EAAoE;IAChE,4EAAkC;IAAA,sEAAS;IAAA,4DAAO;IAAC,4EAAgC;IAAC,kEAAI;IAAA,4DAAO;IACnG,4DAAM;IACN,4EAAoE;IAC5D,4EAAkC;IAAA,wEAAW;IAAA,4DAAO;IAAC,4EAAgC;IAAC,iFAAqB;IAAA,4DAAO;IAC1H,4DAAM;IACN,4EAAoE;IAChE,4EAAkC;IAAA,mEAAM;IAAA,4DAAO;IAAC,4EAAgC;IAAC,iEAAG;IAAA,4DAAO;IAC/F,4DAAM;IACV,4DAAM;IAEN,4EAAqG;IACjG,4EAAyE;IACrE,4EAA0E;IACtE,4EAAqE;IAC7D,4EAAiC;IAAA,uEAAU;IAAA,4DAAO;IAAC,4EAAgC;IAAC,sEAAQ;IAAA,4DAAO;IAC3G,4DAAM;IACV,4DAAM;IACV,4DAAM;IACN,4EAAyE;IACrE,4EAAyE;IACrE,4EAAqE;IACjE,4EAAkC;IAAA,4EAAe;IAAA,4DAAO;IAAC,6EAAqD;IAAC,uEAAS;IAAA,4DAAO;IACnI,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;IAEN,4EAA+D;IAC3D,4EAAiE;IAC7D,4EAAqB;IACjB,4EAAoB;IAChB,uEAA+C;IACnD,4DAAM;IACN,6EAAwC;IACpC,gFACJ;IAAA,4DAAO;IACX,4DAAM;IACN,6EAAgD;IAC5C,+MACJ;IAAA,4DAAO;IACX,4DAAM;IACV,4DAAM;IACN,4EAA8D;IAC1D,+EAA2E;IAA/B,qaAA8B;IACtE,yDACJ;;IAAA,4DAAS;IACb,4DAAM;IACV,4DAAW;IACX,iFAAwC;;IACpC,4EAAwC;IACpC,sKAQe;IACf,sKAQe;IACf,4EAA8D;IAC1D,+EAAuE;IAAxB,uVAAsB;IACjE,yDACJ;;IAAA,4DAAS;IACb,4DAAM;IACV,4DAAM;IACV,4DAAW;IACf,4DAAyB;;;IAhU0B,wEAAe;IACnD,0DAAwB;IAAxB,6FAAwB;IA+G/B,0DAA8B;IAA9B,8FAA8B;IAGG,0DAAe;IAAf,kFAAe;IASX,0DAA6B;IAA7B,8LAA6B;IAIvB,0DAAmD;IAAnD,wKAAmD;IACtE,0DACJ;IADI,oJACJ;IACA,0DACJ;IADI,wZACJ;IACwC,0DAA4E;IAA5E,gPAA4E;IAIpD,0DAAkF;IAAlF,kPAAkF;IAC/E,0DAAmC;IAAnC,uJAAmC;IAK1G,0DAA2G;IAA3G,wKAA2G;IAExF,0DAA0B;IAA1B,+FAA0B;IAI1B,0DAAiC;IAAjC,sGAAiC;IAO7C,0DAA0B;IAA1B,+FAA0B;IAC1B,0DAAiC;IAAjC,sGAAiC;IAClC,0DAA6E;IAA7E,wKAA6E;IAI/E,0DAAwD;IAAxD,wLAAwD;IA4CxD,2DAAiD;IAAjD,wKAAiD;IACrD,0DACJ;IADI,qJACJ;IAKF,0DAAmC;IAAnC,mJAAmC;IAIR,0DAA6B;IAA7B,8LAA6B;IAIvB,0DAAmD;IAAnD,wKAAmD;IACtE,0DACJ;IADI,oJACJ;IACA,0DACJ;IADI,wZACJ;IACwC,0DAA4E;IAA5E,gPAA4E;IAIpD,0DAAkF;IAAlF,kPAAkF;IAC/E,0DAAmC;IAAnC,uJAAmC;IA0D1G,2DACJ;IADI,6JACJ;IAGG,0DAA4B;IAA5B,6IAA4B;IAEhB,0DAAqB;IAArB,0FAAqB;IASrB,0DAAqB;IAArB,0FAAqB;IAW5B,0DACJ;IADI,sJACJ;;ADrUrB,MAAM,0BAA0B;IAgBrC,YACkC,IAAI,EAC7B,SAA2B,EAC3B,SAAmD,EACnD,MAAiB,EAChB,GAAsB,EACtB,UAAsB,EACtB,MAAqB;QANG,SAAI,GAAJ,IAAI;QAC7B,cAAS,GAAT,SAAS,CAAkB;QAC3B,cAAS,GAAT,SAAS,CAA0C;QACnD,WAAM,GAAN,MAAM,CAAW;QAChB,QAAG,GAAH,GAAG,CAAmB;QACtB,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAe;QApB/B,UAAK,GAAS,KAAK,CAAC;QACpB,qBAAgB,GAAS,CAAC,CAAC;QAC3B,oBAAe,GAAU,KAAK,CAAC;QAC/B,iBAAY,GAAS,IAAI,CAAC;QAC1B,SAAI,GAAS,SAAS,CAAC;QAIvB,cAAS,GAAS,KAAK,CAAC;QAGxB,qBAAgB,GAAY,KAAK,CAAC;QAWhC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW;QACtC,IAAI,CAAC,KAAK,GAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,qEAAW,CAAC,IAAI,CAAC,CAAC;QACnH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAC,EAAC,CAAC;QACpE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAC,KAAI,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;QACjF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;IAC7C,CAAC;IAED,QAAQ;IACR,CAAC;IAED,eAAe;QACb,MAAM,QAAQ,GAAG,CAAC;QAClB,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;aACrE,SAAS,CACR,CAAC,GAAG,EAAC,EAAE;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBAC7D,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,qBAAqB;gBACpC,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;QACL,CAAC,EAAE,CAAC,GAAG,EAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACzD,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,qBAAqB;gBACpC,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;QACL,CAAC,CACF;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAID,aAAa,CAAC,OAAgB,EAAC,OAAY;QACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;IAED,UAAU,CAAC,OAAY,EAAC,KAAU,EAAC,IAAY;QAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,CAAC,aAA4B,CAAC;QAClD,IAAI,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QACtD,IAAI,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE;IACzC,CAAC;IAED,WAAW,CAAC,OAAY;QACtB,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;IAED,WAAW,CAAC,OAAY;QACtB,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;IAED,UAAU;QACR,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;;oGAzFU,0BAA0B,kEAiB3B,wEAAe;0GAjBd,0BAA0B;QCZvC,yEAAwH;QACpH,4EAAqF;QACjF,8EAAmC;QAAA,gEAAK;QAAA,4DAAW;QACvD,4DAAS;QACb,4DAAM;QAEN,yEAAwB;QACpB,sEAA0C;QACtC,yEAA6C;QACzC,uHAUM;QAEN,+JAgUyB;QAC7B,4DAAM;QACV,4DAAM;QACV,4DAAM;;QAxVgB,kGAAmC;QAOhD,0DAAmC;QAAnC,kGAAmC;QAE1B,0DAAyB;QAAzB,2FAAyB;QAYN,0DAAwB;QAAxB,0FAAwB;;;;;;;;;;;;;;ACtB7D;AAAA;AAAA;AAAO,MAAM,KAAK;IAQhB,YAAY,IAAqB;QAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,+CAAO;IACP,2CAAK;IACL,yCAAI;IACJ,+CAAO;AACT,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;;;;;;;;;;;;;AClBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+G;AAC/C;AACJ;AACK;AACP;AAMnC;AAKO;AAE0C;AACH;AACb;AACT;AACe;AACG;AACC;AACK;AACN;AACT;AACe;AACiB;AACiB;AAC1B;AAC0B;AAC9C;AACqC;AAC7C;AACA;AACI;AACI;AACA;AACF;AACM;AACR;AACA;AAC+C;AACA;AACjD;AACE;AACE;AACS;AACd;AACa;AAClB;AACc;AAC8C;AACnD;AAC2C;AACR;AACiB;AACd;AACrB;AACP;AACP;AACoB;AACN;AACb;AACY;AACW;AAChB;AACW;AACvB;AACR;AACmC;AACO;AACzB;AACwB;AACG;AACN;AACA;AACS;AAK1D;AACqB;AAC+B;AACG;AACrB;AACwB;AAC1C;AACK;AAC4B;AACD;AAC+B;AACxE;AACuE;AACC;AACpE;AAC2C;AACiC;AACT;AAC5D;AACqC;AACrC;AACmD;AAC9C;AACmC;AACvC;AACe;AAC0B;AACX;AACkB;AACT;AACiB;AACpB;AAC1B;AACP;AACP;AAC8C;AACZ;AACY;AAChB;AACa;AAClC;AAIlB;AACmB;AAC2B;AAC4C;AACjD;AACb;AACyB;AACL;AACV;AACP;AAC/B;AAE1C,8DAA8D;AAC9D,yDAAyD;AACzD,4CAA4C;AAC5C,IAAI;AAE+C;AAC6C;AAE7C;AACwC;AACc;AACM;AAC1D;AACuB;AACkB;AACc;AACS;AACD;AAChB;AAClB;AACvB;AACiD;AACkC;AACpF;AACI;AACgD;AAC5B;AAC4B;AACjD;AACA;AACwD;AACiB;AACvB;AACzD;AACqD;;;;;;;;;;;AAE3G,IAAI,GAAG,CAAC;AACD,SAAS,aAAa,CAAC,cAA6B;IACzD,OAAO,GAAiB,EAAE;QACxB,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC;QAChC,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","file":"main-es2015.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","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
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 { 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","
\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 { 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","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","
\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 { 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","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 {{\"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
","
\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"],"sourceRoot":"webpack:///"}